thierry.garré Posté(e) le 16 décembre 2006 Posté(e) le 16 décembre 2006 Voila, j'ai décidé de ma lancer dans mon premier Lisp+DCL. Et comme je ne doute de rien voici mon projet: Je souhaiterais générer des fichiers de type txt, à partir de points saisis sur l'interface graphique d'Autocad. En fait mon but et de reproduire la démarche inverse d'un géomètre. C'est à dire partir d'un plan topo réalisé, et reproduire le carnet de terrain comme si le relevé avait était fait sur le terrain Le but de cette application est purement éducative ..... Voila les données que j'aurai à saisir Boite de dialogue 1 1ere zone Numéro du point de station (dans un dialogue)Position du point de station (clic à l'écran) retour dans dialogue 1Hauteur de l'appareil (dans dialogue)Direction de l'origine (clic à l'écran) retour dans dialogue 1Validation: génération de la première ligne du fichier txt avec un code(1)-numéro saisie-hauteur de l'appareil saisie.Dans autocad génération d'un symbole1 sur le point saisie du type cercle+attribut (numéro saisi) 2eme zone Numéro du point de référence (dans dialogue)Position du point de référence (clic à l'écran) retour dans dialogue 1Hauteur de la canne (dans dialogue)Validation:génération de la deuxième ligne du fichier txt avec un code(2)-numéro du point de référence, angle horizontal formé par point cliqué origine/point cliqué station/point cliqué référence-distance horizontale station référence.Dans autocad génération d'un symbole2 sur le point saisie du type cercle+attribut (numéro saisi) 3eme zone (option à cocher codification oui/non) saisie du numéro du premier point de détail(dans dialogue)saisie de l'incrément de numérotation(dans dialogue)saisie de la hauteur de canne(dans dialogue) si option oui position du point (clic à l'écran)(option a la ligne de commande (Changer hauteur canne/Fin station))des que la saisie du point à l'écran est validée ouverture d'un dialogue 2 avec saisie d'un code puis validation:génération de la ligne suivante du fichier txt avec:code(3)-numéro saisie-angle horizontal formé par point cliqué origine/point cliqué station/point de détail cliqué point-distance horizontale station point de détail-hauteur de canne-code saisiretour en zone graphique pour saisi d'un nouveau point avec numéro précédent+valeur d'incrémentsi option C : changement de la valeur de hauteur de canne courantesi option F retour au dialogue 1 si option non position du point (clic à l'écran)(option a la ligne de commande (Changer hauteur canne/Fin station))validation automatique:génération de la ligne suivante du fichier txt avec:code(3)-numéro saisie-angle horizontal formé par point cliqué origine/point cliqué station/point de détail cliqué point-distance horizontale station point de détail-hauteur de canneretour en zone graphique pour saisi d'un nouveau point avec numéro précédent+valeur d'incrémentsi option C : changement de la valeur de hauteur de canne courantesi option F retour au dialogue 1 voila à la fin de la saisie en retour dans dialogue 1 bouton enregistrer sous le fichier au format txt Voila le principe. je suis en train de finir les deux boites de dialogue sous Object Dcl, mais par contre pour le code la je nage complètement. Si quelqu'un a réussi à arrivé jusqu'ici sans s'endormir et à asses de bon coeur pour m'aider à faire ce code (au moins des pistes et des corrections) alors il aura ma gratitude la plus éternelle..... Par contre si vous juger que mon projet et pure utopie alors prévenez moi tout de suite.... Bonne fin de week end Thierry Garré Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap
Patrick_35 Posté(e) le 16 décembre 2006 Posté(e) le 16 décembre 2006 SalutC'est super de se lancer, mais ça fait pas un peu beaucoup lisp+dcl pour un début ?Il n'est pas plus simple de dessiner des points topo pour ensuite les exporter dans un fichier texte ? (je ne suis pas géomète et je dis peut-être une grosse c......e)Mais si tu as des questions, plusieurs personnes sur ce site se feront un plaisir de t'aider @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
thierry.garré Posté(e) le 16 décembre 2006 Auteur Posté(e) le 16 décembre 2006 Merci de ta réponse Patrick. Pour exporter des points topos dans un fichier pas de soucis j'ai tout ce qu'il faut pour cela. Non je cherche vraiment à monter ce petit applicatif pour recréer des carnets de mesures topo terrain dans le but d'élaborer des exercices pour des formations. Alors je cherche petit à petits, et je pense voir à peu près comment saisir les points , entrer les variables avec getpoint, getreal etc, mais pour la suite... re-balancer les valeurs saisie dans un fichier txt je vois pasje vois pas trops non plus comment réinitialiser la variable d'un numéro de point pour une nouvelle saisie.... et surement encore plein d'autres choses en tout cas j'essaye. Sinon n'est-il pas possible de d'abord construire le code uniquement en lisp, pour l'enrichir par la suite de quelques boites de dialogues ???? Merci de ton aide en tout cas Thierry Garré Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap
(gile) Posté(e) le 17 décembre 2006 Posté(e) le 17 décembre 2006 Salut, Sinon n'est-il pas possible de d'abord construire le code uniquement en lisp, pour l'enrichir par la suite de quelques boites de dialogues ???? Bien sûr, les boites dialogues servant essentiellement à récupérer des entrées spécifiées par l'utilisateur, tu peux faire comme j'ai fait pour Res_hel ou Helicoide. Tu peux faire dans un premier temps une fonction d'appel à la ligne de commande (defun c:-MonLisp ...) qui sert juste à récupérer les entrées utilisateurs (ce que fera la future boite de dialogue) et à lancer la (ou les) fonction qui utilisera ces données (defun Make_MonLisp ...). Ceci permet de déjà tester si tout fonctionne bien. Par la suite tu pourras faire la boite dialogue avec unfichier DCL et un LISP (defun c:MonLisp ...) qui fera la même chose que -MonLisp (entrées utilisateurs et lancement de Make_MonLisp). au final tu auras ainsi deux commandes : avec ou sans boite de dialogue pour faire la même chose. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bred Posté(e) le 17 décembre 2006 Posté(e) le 17 décembre 2006 Pour la récupération des valeurs d'une boite dcl, je te laisse voir l'exemple de (gile)... Personnellement, pour les boites de dialogues, je les faits en vba, et je transmet les valeurs dans un code lisp (houuu! j'entends déjà certains crier au sacrilège !!!) Par contre, j'ai l'impression que tu butes un peu sur l'écriture d'un fichier txt.C'est assez simple : tu peux aller dans l'aide du visual Lisp "file", et tu trouveras ton bonheur !!! Exemples :(setq fichier (open "c:\\test.txt" "w")) ;récup données.... (write-line "1 - Test1" fichier) ;récup données.... (write-line "2 - Test2" fichier) (close fichier) Mais ne saurait tu pas plus intérresser par une écriture directement dans Excel ? Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
thierry.garré Posté(e) le 17 décembre 2006 Auteur Posté(e) le 17 décembre 2006 Merci à vous... Bred merci c'est exactement ce qu'il me faut est-il possible de remplacér 1 - Test1 & 2- test2 par une série de variables ??? par contre non merci l'écriture dans un fichier txt me vas très bien (format facilement récupérable dans une géobase COVADIS) j'avance sur le code et dès que j'ai de nouveau soucis j'apelle au secour :cool: Thierry Garré Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap
Bred Posté(e) le 17 décembre 2006 Posté(e) le 17 décembre 2006 est-il possible de remplacér 1 - Test1 & 2- test2 par une série de variables ??? Tout à fait, ce qui est important c'est que ces variables soit en format texte (ou "string") : Exemples (détaillé - possibilité de le raccourcir):(setq indice 1) (setq niv 3.253) (setq texte "Niveau : ") (setq Texte_Assemble ([b]strcat[/b] ([b]itoa[/b] indice) " - " texte ([b]rtos[/b] niv))) (setq fichier (open "c:\\test.txt" "w")) (write-line Texte_Assemble fichier) (close fichier) Dans l'aide, je te conseil d'aller voir "Conversion Functions".(la fonction "angtof" devrait t'interresser aussi ! ;) ) [Edité le 21/12/2006 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant