A voir également:
- Télécharger lisp autocad gratuit
- Telecharger ccleaner gratuit - Télécharger - Nettoyage
- Telecharger autocad - Télécharger - CAO-DAO
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Télécharger music mp3 gratuit download pc - Télécharger - Conversion & Extraction
- Wetransfer gratuit sans inscription - Guide
1 réponse
Bonjour,
Voila ton Lisp corrigé. Pour l'executer, il faut dabord le charger.
Pendant la phase de mise au point, va dans le menu Outils/Autolisp/charger une application...
Si ça s'est bien passé, tapes sur la ligne de commande le nom de ta fonction (ici Nom sans le "c:")
Si tu fais des modifs, il faudra recharger le lisp à chaque fois.
Voila ton Lisp corrigé. Pour l'executer, il faut dabord le charger.
Pendant la phase de mise au point, va dans le menu Outils/Autolisp/charger une application...
Si ça s'est bien passé, tapes sur la ligne de commande le nom de ta fonction (ici Nom sans le "c:")
Si tu fais des modifs, il faudra recharger le lisp à chaque fois.
(defun c:Nom () (setvar "cmdecho" 0) (setq P1 (Getpoint "\nDonner le point d'insertion de la nomenclature:")) (setq N (getstring "\nTaper 1 pour Nom1, taper 2 pour2.")) (if (= N "1") (progn (Setq Y (getstring "\nDonner le Nom:")) (Setq R (getstring "\nDonner le numéro:")) (Setq NB (getstring "\nDonner le nombre:")) (Setq D (getstring "\nDonner la distance:")) (Setq L (getstring "\nDonner la largeur:")) (command "-inserer" "Cadre1" p1 1 1 0 "") (command "-inserer" "Nom1" p1 1 1 0 (strcat "Y " (rtos Y 2 2)) (strcat "R " (rtos R 2 2)) (strcat "NB " (rtos NB 2 2)) (strcat "D " (rtos D 2 2)) (strcat "L " (rtos L 2 2)) " ");command );progn (progn (Setq Y (getstring "\nDonner le nom:")) (Setq N (getstring "\nDonner la quantité:")) (Setq R (getstring "\nDonner le numéro:")) (Setq NB (getstring "\nDonner le nombre:")) (Setq D (getstring "\nDonner le distance:")) (Setq L (getstring "\nDonner la largeur:")) (command "-inserer" "Cadre2" p1 1 1 0 "") (command "-inserer" "Nom2" p1 1 1 0 (strcat "Y " (rtos Y 2 2)) (strcat "T " (rtos Y 2 2)) (strcat "N " (rtos N 2 2)) (strcat "R " (rtos R 2 2)) (strcat "NB " (rtos NB 2 2)) (strcat "D " (rtos D 2 2)) (strcat "L " (rtos L 2 2)) " ");command );progn );if );defun
7 avril 2012 à 19:25
7 avril 2012 à 20:15
ça m'insère aussi les blocs Nom1 et Nom2
mais ça ne me remplis pas mes attributs
7 avril 2012 à 20:34
(Setq Y (getstring "\nDonner le Nom:")) ; tu demande à saisir un string
et ensuite
(strcat "Y " (rtos Y 2 2)); tu demande de convertir un réèl en string, or Y est un déja un string.
Tu dois changer tous les getstring par des getreal, sauf le tout premier ( le N ).
Dis moi si c'est mieux.
7 avril 2012 à 20:49
Merci encor
10 avril 2012 à 08:35
j'ai simplifier l'exemple avec moins d'attribut pour comprendre
Le problème que j'avais est qu'après avoir renseigné ce que l'on me demandait dans le programme, la boite de dialogue des attribut des blocs'affichait, alors qu'il ne le faudrait pas.
(defun c:Nom ()
(setvar "cmdecho" 0)
(setq P1 (Getpoint "\nDonner le point d'insertion de la nomenclature:"))
(setq N (getstring "\nTaper 1 pour Nom1, taper 2 pour2."))
(if (= N "1")
(progn
(Setq A (getstring "\nDonner A :")) ;Avec A une chaine de caractère et non un nombre
(Setq B (getstring "\nDonner B:"))
(command "-inserer" "Cadre1" p1 1 1 0 "")
(command "-inserer" "Nom1" p1 1 1 0
(A 2 2) ; rempli l'attribut A avec la donner de A
(B 2 2) ;rempli l'attribut B avec la donner de B
" ");command
);progn
(progn
(Setq E (getstring "\nDonner E:"))
(C (= E))
(D ( = E))
(command "-inserer" "Cadre2" p1 1 1 0 "")
(command "-inserer" "Nom2" p1 1 1 0
( C 2 2) ; rempli l'attribut C avec la donner de E
( D 2 2) ; rempli l'attribut D avec la donner de E
" ");command
);progn
);if
);defun