Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

Un petit renseignement, lorsque je tape au clavier :

Commande: _layer

j'ai bien la boîte de layer qui s'ouvre, mais lorsque j'utilise cette command dans un lisp, la boîte ne s'ouvre pas !!

Commande: (if (= (getvar "layermanagerstate") 0)(command "_layer"))

_layer

Calque courant: "02 P - Egouttage eaux pluviales"

Entrez une option [?/Etablir/CHoisir/Nouv/Renommer/ACtif/INactif/COuleur/TLigne/EPaisseurl/TRANsparence/MAtériau/Tracé/Geler/Libérer/Verrouiller/Déverrouiller/étAt/deScription/RApprocher/Xréf]:

 

Quelqu'un peu m'expliquer !

Posté(e)

Salut,

 

La fonction AutoLISP command appelle toujours la version 'ligne de commande' de la commande (quand elle existe). Pour forcer la version 'boite de dialogue', if faut appeler la fonction initdia avant l'appel à command.

 

(initdia)
(command "_layer")

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

Posté(e)

Salut,

Lorsque j'utile la command directement au clavier, ça fonctionne nickel, mais lorsque je l'inclue dans ligne du type

if (= (getvar "layermanagerstate") 0)((initdia)(command "_layer")))

Là, ça ne fonctionne plus !!

Bàt

Posté(e)

Salut,

Lorsque j'utile la command directement au clavier, ça fonctionne nickel, mais lorsque je l'inclue dans ligne du type

if (= (getvar "layermanagerstate") 0)((initdia)(command "_layer")))

Là, ça ne fonctionne plus !!

Bàt

 

Et si tu mettait un progn à ta fonction if, parce que là il exécute soit l'un, soit l'autre

(if (= (getvar "layermanagerstate") 0)(progn (initdia)(command "_.layer")))

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

Posté(e)

Et si tu mettait un progn à ta fonction if, parce que là il exécute soit l'un, soit l'autre

(if (= (getvar "layermanagerstate") 0)(progn (initdia)(command "_.layer")))

 

 

Nickel, merci

Posté(e)

Et si tu mettait un progn à ta fonction if, parce que là il exécute soit l'un, soit l'autre

(if (= (getvar "layermanagerstate") 0)(progn (initdia)(command "_.layer")))

Ou en incluant initdia dans l'appel de la fonction command (histoire d'économiser un progn :rolleyes:)

(if (= (getvar "layermanagerstate") 0) (command (initdia) "_.layer"))

Apprendre => Prendre => Rendre

Posté(e)

Ou en incluant initdia dans l'appel de la fonction command (histoire d'économiser un progn :rolleyes:)

(if (= (getvar "layermanagerstate") 0) (command (initdia) "_.layer"))

 

C'est bon aussi. Un grand merci

Posté(e)

C'est bon aussi. Un grand merci

Oui, et l'occasion de préciser que c'est la commande AutoCAD (et non la fonction command d'AutoLISP) qui à besoin d'être précédé d'un appel à (initdia) pour forcer l'affichage de la BD.

  • Upvote 1

Apprendre => Prendre => Rendre

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é