Aller au contenu

Messages recommandés

Posté(e)

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 :)

Posté(e)

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:

Posté(e)

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

Posté(e)

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 "")

)

Posté(e)

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 "")

)

 

;)

Posté(e)

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

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é