Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

Je cherche à insérer différents blocs en ligne de commande, les blocs sont choisis en fonction des réponses des utilisateurs.

 

Le choix est restreint (diamètre collecteur : 100 125 150) (diamètre piquage 40 50), mais pour l'instant je ne peux pas afficher à l'utilisateur ces différents choix possibles.

Plus important, j'aimerais que certaines valeurs soient choisie par défaut pour que l'utilisateur puisse faire entrer sans taper le diamètre collecteur (très souvent en 100) et le diamètre du piquage (très souvent en 50).

 

Voici mon début de code

 

;Insertion d'un piquage par le dessus
(defun c:sd ()
(setq diam_plb_sd_coll (getint "Diamètre collecteur :"))

(setq diam_plb_sd_piq (getint "Diamètre piquage : "))

(command "_insert" (strcat "assemblage_PVC_" (itoa diam_plb_sd_coll) "_" (itoa diam_plb_sd_piq) "_c.dwg") pause 1 1 pause)

 

Pouvez-vous m'apporter un peu d'aide ?

ATEGIE - Bureau d'Études Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Posté(e)

Bonjour,

 

Le choix est restreint (diamètre collecteur : 100 125 150) (diamètre piquage 40 50)

 

Pour faire un choix restreint, utilise plutôt (getkword) et tu défini tes choix restreints avec (initget)

Par exemple (avec une valeur par défaut):

(initget "100 125 150")
(setq diam_plb_sd_coll (getkword "\nDiamètre collecteur[100/125/150] <100>: "))
(if (not diam_plb_sd_coll) (setq diam_plb_sd_coll "100"))
(initget "40 50")
(setq diam_plb_sd_piq (getkword "\nDiamètre piquage [40/50] <50>: "))
(if (not diam_plb_sd_piq) (setq diam_plb_sd_piq "50"))
(princ (strcat "assemblage_PVC_" diam_plb_sd_coll "_" diam_plb_sd_piq "_c.dwg"))
(prin1)

En plus de cette manière, tes différents choix seront accessibles avec le click-droit, même pas besoin de taper les caractères (Attention à la variable SHORTCUTMENU si elle n'a pas sa valeur par défaut)

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

Posté(e)

merci, comme je débute vraiment du coup l'adaptation entre mon code est tes améliorations me posent problème :

 

_insert Entrez le nom du bloc ou [?]: ; erreur: une erreur est survenue dans la

fonction *erreur*paramètre de la variable AutoCAD rejeté: "OSMODE" nil

Entrez le nom du bloc ou [?]: *Annuler*

 

 

j'ai essayé ça mais ça marche point :

 

;Insertion d'un piquage par le dessus

(defun c:sd ()
(initget "100 125 150")
(setq diam_plb_sd_coll (getkword "\nDiamètre collecteur[100/125/150] <100>: "))
(if (not diam_plb_sd_coll) (setq diam_plb_sd_coll "100"))
(initget "40 50")
(setq diam_plb_sd_piq (getkword "\nDiamètre piquage [40/50] <50>: "))
(if (not diam_plb_sd_piq) (setq diam_plb_sd_piq "50"))

(prin1)


(command "_insert" (strcat "assemblage_PVC_" (itoa diam_plb_sd_coll) "_" (itoa diam_plb_sd_piq) "_c.dwg") pause 1 1 pause)

(princ)


)
)

ATEGIE - Bureau d'Études Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Posté(e)

Attention (getkword) retourne une clé sous forme de chaine, donc (itoa diam_plb_sd_coll) et (itoa diam_plb_sd_piq) sont incorrects. (Voir le strcat fait dans le code proposé)

 

NB:Une parenthèse fermante en trop dans ton dernier code posté.

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

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é