Aller au contenu

Appliquer un facteur 10000 aux valeurs d\'un lisp


Messages recommandés

Posté(e)

Re-bonjour forum !

 

J'ai un autre problème aujourd'hui.

J'utilise fréquemment en ce moment un lisp super (trouvé il y a longtemps sur ce forum)qui permet de dessiner automatiquement un rectangle quand on a spécifié la longueur d'un de ses côtés, puis sa surface.

 

Problème : je dessine en cm, et je dois donc donner à Autocad des valeurs en cm², ce qui finit par être pénible (toutes proportions gardées).

Pour simplifier l'usage de ce lisp, pour la beauté du geste et pour utiliser au mieux les ressources d'Autolisp, quelqu'un pourrait-il me dire comment modifier le lisp (ci-dessous) pour ne plus avoir à multiplier toutes les surfaces par 10000 pour obtenir le résultat souhaité ?

 

Merci !!!

 

(defun c:rcc ( / p1 p2 surf p3 p4)

(initget 9)

(setq p1 (getpoint "\n1er coin: "))

(initget 41)

(setq p2 (getpoint p1 "\n2ème coin adjacent: "))

(grdraw p1 p2 7)

(initget 7)

(setq

surf (getreal "\nSurface souhaitée: ")

p3 (polar p2 (+ (angle p1 p2) (/ pi 2)) (/ surf (distance p1 p2)))

p4 (polar p3 (angle p2 p1) (distance p2 p1))

)

(redraw)

(setvar "cmdecho" 0)

(command "_.PLINE" "_none" p1 "_none" p2 "_none" p3 "_none" p4 "_CLOSE")

(setvar "cmdecho" 1)

(prin1)

)

Posté(e)

 

Hello

 

Commande RECTANGLE puis clic le 1er point puis option AIRE puis ...

 

par contre si tu es dans un dessin en CM tu donnes une surface en cm2 !

 

Le Decapode

 

Autodesk Expert Elite Team

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é