Aller au contenu

Messages recommandés

Posté(e)

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 1

Hauteur de l'appareil (dans dialogue)

Direction de l'origine (clic à l'écran) retour dans dialogue 1

Validation: 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 1

Hauteur 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 saisi

retour en zone graphique pour saisi d'un nouveau point avec numéro précédent+valeur d'incrément

si option C : changement de la valeur de hauteur de canne courante

si 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 canne

retour en zone graphique pour saisi d'un nouveau point avec numéro précédent+valeur d'incrément

si option C : changement de la valeur de hauteur de canne courante

si 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

Posté(e)

Salut

C'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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

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 pas

je 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

Posté(e)

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

Posté(e)

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...

Posté(e)

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

Posté(e)
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...

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité