Aller au contenu

Messages recommandés

Posté(e)

bonjour, j'ai créé une palette avec des types de polylignes differentes (type de ligne , calque , couleur etc). hors des que j'insere une de ces polylignes, a la fin, le calque courant devient celui de la derniere polyligne insérée. j'aimerai repasser automatiquement sur le calque 0.

 

pour la chaine de commande , j'étais parti sur quelquechose comme ^C^C_plinewid;0.04;_pline-pl;ch;0; mais ça marche pas. désolé je suis pas tres bon en prog

 

si quelqu'un a la solution merci d'avance :)

 

[Edité le 23/4/2009 par jackobul]

  • 2 semaines après...
Posté(e)

Si le nombre de points à introduire est FIXE, c'est possible en Diesel pour des versions LT.

 

Si le nombre de sommets et différent à chaque utilisation, cela n'est pas possible avec une LT en une seule macro.

 

Cependant sur une version pleine cela devient possible en insérant une boucle lisp consultant la variable "CMDACTIVE" lors de la commande "_.pline" dans la macro.

 

Alors version LT ou complète?

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Ne pas oublier

_-layer

Etablir crée le calque s'il n'existe pas et le rend courant

CHoisir le rend courant s'il existe

envisager le cas ou le calque est Geler donc faire un Libérer dans la macro

:cool:

Posté(e)

Alors avec une version complète tu peux, par exemple, coller ce qui suit dans un bouton macro:

 

^C^C((lambda (/) (setvar "plinewid" 0.04) (command "_.-layer" "_make" "NOMDECALQUE" "") (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause))) (setvar "plinewid" 0.0) (command "_.-layer" "_set" "0" ""))) 

 

NB: Tu peux encore rajouter des actions, cependant tu ne peux mixer les expression classiques et lisp, par exemple:

^C^C_.-layer;_make;TOTO;;(expresion lisp)_change;_last;ect... NE FONCTIONNERA PAS

Il faut que tout soit contenu dans la fonction anonyme ((lambda ....))

 

Tu es aussi limité en longueur pour une fonction dans une macro. Ne pas chercher a faire un programme complexe dans un bouton. Pour ce cas il vaut mieux passer par une fonction (load) pour charger celui-ci et ensuite lancer le nom de la fonction correspondante.

exemple:

^C^C(if (not c:ma_fonction) (load"ma_fonction.lsp")) ma_fonction

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

bon pour etre honnête j'ai pas tout compris dans le dernier message :)

 

mais la fonction que tu as ecris fonctionne comme je voulais alors merci ;)

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é