Aller au contenu

Continuer l\'éxécution d\'un programme après la création d\'un polyligne


Messages recommandés

Posté(e)

Bonsoir

Comment faire pour continuer l'éxécution d'un programme après la création d'une polyligne ne sachant pas à l'avance combien de sommet ma polyligne aura.

J'ai bien pensée a faire choisir les points à l'utilisateur avant et les enregister dans un fichier mais au niveau visuel il ne peut se rendre compte de ce que cela donnera.

Y - a - t il une autre solution ?

Posté(e)

en utilisant la pause dans une boucle while.

 

Ci dessous une fonction mycmd qui permet d'entrer en paramètre une liste (une commande avec ses paramètres éventuels) et qui renvoie la liste des entités créées par cette fonction.

 

 

 

;;;

;;; lancer une commande autocad

 

(defun mycmd (LCMD / CMD ETL LELEM RES OLDCMDECHO)

(setq ETL (entlast))

(setq OLDCMDECHO (getvar "CMDECHO"))

(setvar "CMDECHO" 1)

(foreach CMD LCMD

(command CMD)

)

(while (not (zerop (getvar "cmdactive")))

(command pause)

)

(setvar "CMDECHO" OLDCMDECHO)

(setq LELEM nil)

(if (not ETL)

(setq ETL (entnext))

(setq ETL (entnext ETL))

)

(while ETL

(setq LELEM (cons ETL LELEM))

(setq ETL (entnext ETL))

)

(setq RES LELEM)

)

 

(defun c:myfunction ()

(setq LE1 (mycmd '("_.pline")))

(setq LE2 (mycmd '("_.circle" "_3P")))

(setq LE3 (mycmd '("_.line")))

)

 

 

LE1 sera une liste d'un élément contenant la polyligne créée

LE2 sera une liste d'un élément contenant le cercle créé

LE3 sera une liste de n éléments contanant les lignes créées par l'utilisateur.

 

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Posté(e)

Le truc, c'est surtout :

(while (not (zerop (getvar "cmdactive")))

 

...mon comentaire : c'est dommage que ce sujet ne soit pas posté dans le bon forum ;)

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Merci

 

J'ai regardé dans l'aide Autocad a propos de la variable système CMDACTIVE et j'ai une question a ce sujet

 

Qu'est ce qu'il appelle commande transparente ?

Posté(e)

Bonsoir,

 

une commande Transparente est une commande

qui peut être appelée pendant l'execution d'une autre commande,

 

à la ligne de commande, il faut la faire précéder du signe apostrophe

(touche 4 du pavé numérique au dessus des touches alphabétiques)

 

exemple :

ligne, Enter

du point 'zoom Enter

(zoomer sur la zone)

cliquer le point

au point 'zoom Enter

p Enter

cliquer sur le deuxième point.

En effet la commande Zoom est transparente.

CQFD

 

à tes souhaits

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é