Aller au contenu

Messages recommandés

Posté(e)

Salut,

 

Les fonctions définies en LISP avec le préfixe c: peuvent être appelées directement depuis la ligne de commande, mais, de ce fait, ne peuvent pas accepter d'arguments.

 

La solution est de définir 2 fonctions LISP, par exemple : circle2pl qui requiert un argument de type jeu de sélection et une fonction c:circle2pl qui laisse la main à l'utilisateur pour sélectionner les objets et appelle circle2pl en lui passant le jeu de sélection.

 

Un exemple avec une fonction circle2pl (très) sommaire :

(defun circle2pl (ss / n)
 (repeat (setq n (sslength ss))
   (setq ent  (ssname ss (setq n (1- n)))
  elst (entget ent)
   )
   (command "_.polygon"
     16
     "_cen"
     (cdr (assoc 10 elst))
     "_i"
     (cdr (assoc 40 elst))
   )
 )
 (command "_erase" ss "")
)

 

La fonction c:circle2pl appelable en ligne de commande

(defun c:circle2pl (/ ss)
 (if (setq ss (ssget '((0 . "CIRCLE"))))
   (circle2pl ss)
 )
 (princ)
)

 

Si tu veux appeler circle2pl depuis une autre fonction en sélectionnant tous les cercles :

(circle2pl (ssget "_X" '((0 . "CIRCLE"))))

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

Posté(e)

Bonjour Didier,

 

Circle2pl n'etait qu'un exemple de lisp que j'appel souvent.

 

Mais pas moyen de l'integrer a un autre lisp en enchainant les arguments car enregistrer en .vlx

 

Apres, la finalité de transformer un cercle en polyligne n'a pa vraiment d'importance dans ce post et meme tout cours je le reconnais............

 

Mais quand on a un client qui ne veux que des polylignes................ :P

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é