Aller au contenu

Messages recommandés

Posté(e)

bonjour,

 

j'essaye de créer un rectangle centré par rapport a un point, avec comme longueur et largeur des dimensions saisi

ca doit etre simple , mais j'y arrive pas

ci joint mon code

 

(defun c:rc ()
(setq a(getreal "\largeur : "))
(setq b(getreal "\longueur : "))
(setq a1(/ a 2))
(setq b1(/ b 2))
(setq a2(* -1 a1))
(setq b2(* -1 b1))
(setq pt(getpoint "\npoint d'insertion : "))
(setq pt1 (polar a2 b2 0))
(setq pt2 (polar a2 b1 0))
(setq pt3 (polar a1 b1 0))
(setq pt4 (polar a2 b1 0))
(command "scu" pt "")
(command "_pline" pt1 pt2 pt3 pt4)
(princ)
)

 

merci d'avance

Posté(e)

ok pigé je ne connaissait pas

car renvoi la 1er valeur d'une liste (donc la valeur x de mon point d'insertion)

et card la 2e valeur d'une liste (donc la valeur y de mon point d'insertion)

facile et tres pratique

 

 

merci bien

pour polar c'etait un de mes nombreux essais infructueux

Posté(e)

Bonsoir,

 

Je sais que didier à répondu à ton besoin, je te propose tout de même une petite variante avec la commande _rectang et la mémorisation des demi-valeurs pour te simplifier les calculs par la suite..

 

(defun c:rc1 (/ demi-larg demi-long pt)
 (setq	demi-larg (/ (getreal "\nLargeur : ") 2)
demi-long (/ (getreal "\nLongueur : ") 2)
pt	  (getpoint "\npoint d'insertion : ")
 )
 (command "_rectang"
   (list (- (car pt) demi-long) (- (cadr pt) demi-larg))
   (list (+ (car pt) demi-long) (+ (cadr pt) demi-larg))
 )
 (princ)
)

 

 

Une autre variante possible est de laisser la possibilité à l’utilisateur d’orienter son rectangle..

(defun c:rc2 (/ demi-larg demi-long pt)
 (setq	demi-larg (/ (getreal "\nLargeur : ") 2)
demi-long (/ (getreal "\nLongueur : ") 2)
pt	  (getpoint "\npoint d'insertion : ")
 )
 (command "_rectang"
   (list (- (car pt) demi-long) (- (cadr pt) demi-larg))
   (list (+ (car pt) demi-long) (+ (cadr pt) demi-larg))
 )
 (command "_rotate" (entlast) "" pt "pause")
 (princ)
)

 

A+

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é