Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

je souhate extraire les propriétés de polyligne 3D, surtout la position en X, Y et Z des noeuds.

Avec les blocs cela fonctionne très bien, mais comment faire avec des pllylignes.

Merci d'avance

Posté(e)

Salut,

 

Peut tu préciser, extraire vers où ? la fenêtre de texte, un fichier texte, un fichier Excel ?

 

Pour avoir les coordonnées d'une poly 3D dans la fenêtre de texte, charge ce petit LISP et tape 3dpoly2lst à la ligne de commande.

 

(defun 3dpoly_pts (ent / pt pts)
 (while (setq pt (cdr (assoc 10 (entget (entnext ent)))))
   (setq ent (entnext ent)
  pts (cons pt pts)
   )
 )
 (reverse pts)
)

(defun c:3dpoly2lst(/ ss)
 (if (setq ss (ssget "_:S:E" '((0 . "POLYLINE") (-4 . "&") (70 . 8))))
   (mapcar 'print (3dpoly_pts (ssname ss 0)))
 )
 (textscr)
 (princ)
) 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Re,

 

Pour une extraction vers un fichier Excel :

 

(defun c:3dpoly2Xl (/ ss file ent pts)
 (if (and
(setq ss (ssget "_:S:E" '((0 . "POLYLINE") (-4 . "&") (70 . 8))))
(setq file (getfiled "Choisir ou créer un fichier" "" "xls" 1))
     )
   (progn
     (setq ent	 (ssname ss 0)
    desc (open file "a")
     )
     (while (setq pt (cdr (assoc 10 (entget (entnext ent)))))
(setq ent (entnext ent)
      pts (cons pt pts)
)
     )
     (princ "X\tY\tZ\n" desc)
     (repeat (setq n (length pts))
(setq n (1- n))
(mapcar '(lambda (x) (princ x desc) (nth n pts)))
(princ "\n" desc)
     )
     (close desc)
   )
 )
 (princ)
)

 

PS : si tu veux mettre les coordonnées de plusieurs polylignes dans le même fichier à la question "bla-bla.xls existe déjà. Voulez vous le remplacer ?" réponds "oui" et les coordonnées de la nouvelle polyligne seront rajoutées à la suite.[Edité le 9/11/2006 par (gile)]

 

[Edité le 9/11/2006 par (gile)]

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

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é