Aller au contenu

utiliser le nom du calque....


Messages recommandés

Posté(e)

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

Posté(e)

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

Posté(e)

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 Patrick

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

Joseph Joubert, 1754-1824

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é