mateus Posté(e) le 14 juillet 2013 Posté(e) le 14 juillet 2013 Bonjour à tous voilà je voulais créer une fonction simple pour mon programme qui dessine une entité en forme de "I" pour créer un assistant. Et je me retrouve avec deux soucis : le premier : quand je désire mettre dans la variable p1 le point d'origine "0,0,0" du scu général cela me renvoit à la ligne de commande autocad et je dois alors appuyer sur la touche "entrer" pour valider ma sélection. Pourtant j'ai essayer avec les deux guillemets ("") pour valider la sélection et avec l'espace. Rien n'y fait ... Le deuxième soucis est que pour le point p2 il me met : ; erreur: type d'argument incorrect: point 2D/3D: nil J'ai cru que pour mon point p1 était en 3d et celui de p2 était en 2d donc j'ai volontairement mis à la place de "0,0,0" "0,0" pour le point p1 mais rien n'a changé .. (defun c:ASSISTANT (/ decal p1 p2 p3 p4 p5 p6 p7);decal est l'argument qui provient de "decalageCandelabre et p1 à p7 sont les variables locales. (command "zoom" "f" "-5,15,0" "-5,-15,0" "") (command "ortho" "a" "") (setq p1 (getpoint "0,0" ) decal(getdist"\n Décalage des candélabres? ") p2 (getpoint(polar p1 (/ pi 2) decal)) p3 (getpoint(polar p2 pi 2)) p4 (getpoint(polar p2 0 2)) p5 (getpoint(polar p1 (-(/ pi 2)) decal)) p6 (getpoint(polar p5 pi 2)) p7 (getpoint(polar p5 0 2)) ) (command "polylign" p1 p2 p3 p4 p5 p6 p7 "") (command "zoom" "et" "") ) Merci par avance :)
mateus Posté(e) le 14 juillet 2013 Auteur Posté(e) le 14 juillet 2013 déjà j'ai repéré une erreur, pour les points p3 p4 p6 et p7 les valeurs de "2" en vert sont des mètres donc il me semble que cela s'écrit plutôt comme ça "2" ... Mais je suis toujours bloqué :huh:
mateus Posté(e) le 14 juillet 2013 Auteur Posté(e) le 14 juillet 2013 En essayant à nouveau j'ai réussi à dessiner ma forme en "I" voici le code : (defun c:ASSISTANT (/ decal p1 p2 p3 p4 p5 p6 p7);decal est l'argument qui provient de "decalageCandelabre et p1 à p7 sont les variables locales. (command "zoom" "f" "-5,15,0" "-5,-15,0" "") (command "ortho" "a" "") (setq p1 '(0 0 0) decal(getdist "\nDécalage des candélabres? ") p2 (polar p1 (/ pi 2) decal) p3 (polar p2 pi 2) p4 (polar p2 0 2) p5 (polar p1 (-(/ pi 2)) decal) p6 (polar p5 pi 2) p7 (polar p5 0 2) ) (command "polylign" p1 p2 p3 p4 "") (command "polylign" p1 p5 p6 p7 "") (command "zoom" "et" "") (command "ortho" "i" "") ) Bon dimanche à tous et toutes
mateus Posté(e) le 15 juillet 2013 Auteur Posté(e) le 15 juillet 2013 Bonsoir à tous voilà j'ai un soucis dans la création de mon block. Je m'explique si je relance le code une deuxième fois, on me pose alors la question "voulez vous redéfinir le block" pourtant j'ai utilité la fonction qui aurait du permettre au programme de ne pas créer le block s'il existe déjà... Est ce que quelqu'un aurait une idée. Merci :) (if (not (tblsearch "BLOCK" "assistant")) (command "zoom" "f" "-5,15,0" "-5,-15,0" "") (command "ortho" "a" "") (setq p1 '(0 0 0) p2 (polar p1 (/ pi 2) decal) p3 (polar p2 pi 2) p4 (polar p2 0 2) p5 (polar p1 (- (/ pi 2)) decal) p6 (polar p5 pi 2) p7 (polar p5 0 2) ) (command "polylign" p1 p2 p3 p4 p2 p1 p5 p6 p7 "") (setq ent (entlast)) (command "zoom" "et" "") (command "ortho" "i" "") (command "_block" "assistant" p1 ent "") (command "inserer" "assistant" 1erCandelabre 1 1 gis "") )
bryce Posté(e) le 15 juillet 2013 Posté(e) le 15 juillet 2013 Bonjour, (if (not (tblsearch "BLOCK" "assistant")) (progn (command "zoom" "f" "-5,15,0" "-5,-15,0" "") (command "ortho" "a" "") (setq p1 '(0 0 0) p2 (polar p1 (/ pi 2) decal) p3 (polar p2 pi 2) p4 (polar p2 0 2) p5 (polar p1 (- (/ pi 2)) decal) p6 (polar p5 pi 2) p7 (polar p5 0 2) ) (command "polylign" p1 p2 p3 p4 p2 p1 p5 p6 p7 "") (setq ent (entlast)) (command "zoom" "et" "") (command "ortho" "i" "") (command "_block" "assistant" p1 ent "") );progn (command "inserer" "assistant" 1erCandelabre 1 1 gis "") ) ;) Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
mateus Posté(e) le 15 juillet 2013 Auteur Posté(e) le 15 juillet 2013 Merci beaucoup Bryce :) Et justement tu tombes bien car j'ai du mal à comprendre cette fonction, j'aimerai bien savoir à quel moment doit t-on l'utiliser et en savoir plus sur cette fonction , tu pouvais pas tomber mieux :) Merci
(gile) Posté(e) le 15 juillet 2013 Posté(e) le 15 juillet 2013 Salut, Introduction à AutoLISP, chapitre 12 "Décisions conditionnelles (if cond progn)". Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
mateus Posté(e) le 16 juillet 2013 Auteur Posté(e) le 16 juillet 2013 Merci beaucoup Giles, ton cours de lisp est vraiment bien fait ! :) Bonne journée !
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant