Aller au contenu

Messages recommandés

Posté(e)

Bonjour tout le monde.

 

Voilà je suis à la recherche d'un petit lisp pour me trouver le centre d'une polyligne fermée.

 

Actuellement je transforme la polyligne en région puis j'utilise la commade PROPMECA puis sélectionne la région, là une liste m'affiche les coordonnée de cette pièce et on retrouve le centre de gravité x;y d'ont je reprend ces valeurs pour placer une croix.

 

J'aurai bien aimé avoir un lisp qui m'automatiserait ceci, car je trouve que ça fait beaucoup ne manip pour chaque fois trouver le centre.

Posté(e)

Salut

 

Pour faire au plus simple

 

(defun cenpoly(ent / doc reg res)
 (vl-load-com)
 (setq doc (vla-get-activedocument (vlax-get-acad-object)))
 (and (eq (type ent) 'ENAME) (setq ent (vlax-ename->vla-object ent)))
 (and (eq (vla-get-objectname ent) "AcDbPolyline")
      (eq (vla-get-closed ent) :vlax-true)
   (setq reg (vlax-invoke (if (eq (getvar "cvport") 1)
		     (vla-get-paperspace doc)
		     (vla-get-modelspace doc)
		   )
		   'addregion
		   (list ent)
      )
res (trans (vlax-get (car reg) 'centroid) 1 0)
   )
   (vla-delete (car reg))
 )
 res
)

 

(cenpoly (car (entsel)))

 

@+

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é