sosun38 Posté(e) le 19 février 2008 Posté(e) le 19 février 2008 Bonjour,j'aurrais voulu savoir si l'on peut utiliser le nom du calque dans lequel se trouve des polylignes sectionnés pour nomer automatiquement le fichier (.txt) d'exportation des sommets d'une polyligne (avec la routine: SOMPOLY.LSP) par le nom de ce calque même. Exemple:la polyligne selectionnée se trouve dans le calque " poly-01", le fichier txt des sommets de la polyligne doit etre automatiquement nommé " poly-01.txt".Actuellement avec sompoly il faut rentrer le nom du fichier au clavier. Sachant que si j'ai p de polylignes selectionnées dans n calques; il faudrait que l'exportation se fasse automatiquement dans n fichiers .txt ( un fichier par calque).Chaque fichier prennant le nom du calque dont les polylignes sont issues. Merci d'avance.sosun38. Ps: le lisp sompoly.********************************************************************************; SOMPOLY.LSP; ------------------------------------------------------; determination des points des sommets; d'une polyligne; ---------------------------------------------------- (defun c:sompoly () (setq poly (entsel "\nSelectionnez la polyligne: "))(setq poly (car poly)) (setq cl 1) (setq fic (getstring "\nNom du fichier (l'extention TXT sera ajoutee automatiquement): "))(setq f (open (strcat fic ".txt") "w")) (setq ent (entnext poly))(while (/= "SEQEND" (cdr (assoc 0 (entget ent))))(setq som (cdr (assoc 10 (entget ent))))(setq som_x (rtos (car som) 2 (getvar "luprec")))(setq som_y (rtos (cadr som) 2 (getvar "luprec")))(setq som_z (rtos (caddr som) 2 (getvar "luprec"))) (princ (list som_x som_y som_z ) f) (princ "\n" f)(terpri)(princ "SOMMET" ) (princ CL ) (princ " " ) (princ som ) (princ "\n")(setq ent (entnext ent))(setq cl (+ cl 1)) )(close f) (princ)) (princ "\n==> SOMPOLY")(princ)******************************************************************************** à chacun son pas, qui rythme son avenir...
(gile) Posté(e) le 19 février 2008 Posté(e) le 19 février 2008 Salut, Remplace: (setq fic (getstring "\nNom du fichier (l'extention TXT sera ajoutee automatiquement): ")) (setq f (open (strcat fic ".txt") "w")) par (setq f (open (strcat (cdr (assoc 8 (entget poly))) ".txt") "w")) NOTA : l'option "w" (write) écrasera le fichier précédent du même nom si plusieurs polylignes sur le même calque sont sélectionnées, tu peux le remplacer par "a" (append) et la liste des sommets s'ajoutera à la suite de la précedente. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
sosun38 Posté(e) le 19 février 2008 Auteur Posté(e) le 19 février 2008 merci Gile.je test ceci des Lundi. Sosun38. à chacun son pas, qui rythme son avenir...
Patrick_35 Posté(e) le 19 février 2008 Posté(e) le 19 février 2008 Salut regarde ce sujet @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
(gile) Posté(e) le 19 février 2008 Posté(e) le 19 février 2008 Patrick_35, Je suppose qu'il s'agit de polylignes 3d (d'où la boucle avec entnext). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Patrick_35 Posté(e) le 20 février 2008 Posté(e) le 20 février 2008 Ah oui.Comme je n'utilise pas de poly 3D, je viens donc de dire une grosse bêtise.Je voulais juste indiquer comment récupérer les coordonnées d'une poly, mais en 3D, raté :red: @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
sosun38 Posté(e) le 25 février 2008 Auteur Posté(e) le 25 février 2008 Merci à tous les deux.La réponse de gile vas très bien. à+sosun38 à chacun son pas, qui rythme son avenir...
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