Aller au contenu

Tracer une ligne avec certain info


Messages recommandés

Posté(e)

Bonjour à tous

 

J'ai 3 étapes dans le programme que j'essais de coder.

 

Je saisi une coordonnée

 (setq ptj1 (getpoint "Piquer le Point de Départ:"))

 

Je saisi une angle (ca me donne un angle en raidan)

 (setq AngleRad (Jeff2Rad AngleDMS))

(defun Jeff2Rad (a / p)
 (setq p (vl-string-position 46 a))
 (* (/ pi 180.)
    (+ (atoi (substr a 1 p))
       (/ (atoi (substr a (+ 2 p) 2)) 60.)
       (/ (atoi (substr a (+ 4 p) 2)) 3600.)
    )
 )
)

 

Je saisi un distance:

 (setq Dist (getdist "\n Entrez une Distance: ")) 

 

 

Ma question: Comment utiliser la command Line afin de tracer une ligne à partir de la coordonnée de départ en utilisant l'angle et la distance ??

 

  (command "LINE" ptj1 AngleRad "")

 

Meric de votre aide

Posté(e)

HELLO

 

 

( polar point angle distance )

 

donc pour toi

 

 (command "LINE" ptj1 (polar ptj1 AngleRad dist) )

 

ca devrait marcher

 

 

[Edité le 16/10/2009 par PHILPHIL]

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Salut

Je saisi une angle (ca me donne un angle en raidan)

(setq AngleRad (Jeff2Rad AngleDMS))

Je suis peut être déjà endormi , mais je ne pige pas le truc car "getangle" retourne aussi un angle en radian .

J'aurai vu un truc tout simple avec polar comme a indiqué Philphil

 

(defun c:pad   (/ p a d)
 (setq
     p (getpoint "\n point de départ :")
     a (getangle "\n Angle :")
     d (getdist "\n Distance  :")
 )
(command "_line" "_non" p "_non" (polar p a d) "")
(princ)
)

Posté(e)

Bonjour usegomme

 

Je suis loin d'être un Pro en Lisp donc je ne sais pas si tu as raison.... Mais le "Bug" que j'avais c'est que je ne veux pas taper un angle en inscrivant <12d11'12" mais 12.1112 et j'ai donc du faire une convertion en Lisp afin de convertir mon angle 12.1112 en <12d11'12.

 

Dis moi si c'est ok ??? tu peux aller voir le code que j'utlise ici

 

http:// http://www.cadxp.com/sujetXForum-25486.htm

 

merci

 

P.S. Je ne susi pas au bureau, j'essais ca lundi matin et je vous redonne des nouvelles...

 

A+

Posté(e)

Escuse-moi mais j' étais vraiment endormi et je ne me suis même plus rappellé de ton post

sur les degrés , minutes etc.. que j'avais pourtant lu !

Je m'en suis souvenu ce matin dans le lit .

Pour la peine j'ai arrangé le lisp avec le code que t'avait fait (gile).

 

(defun Jeff2Rad (a / p)
 (setq p (vl-string-position 46 a))
 (* (/ pi 180.)
    (+ (atoi (substr a 1 p))
       (/ (atoi (substr a (+ 2 p) 2)) 60.)
       (/ (atoi (substr a (+ 4 p) 2)) 3600.)
    )
 )
)

(defun c:pad   (/ pt AngleDMS AngleRad d)
 (setq
     pt (getpoint "\n point de départ :")
     AngleDMS (getstring "\n Entrez une Angle DD.MMSS: ")
     AngleRad (Jeff2Rad AngleDMS)
     d (getdist "\n Distance  :")
 )
(command "_line" "_non" pt "_non" (polar pt AngleRad d) "")
(princ)
)

 

 

Tu peux remplacer

d (getdist "\n Distance :")

par

d (getdist pt "\n Distance :")

pour avoir " l élastique".

 

Sinon j'ai noté un petit problème :

si on veut par exemple un angle de 45° tout rond , il faut taper 45.entrée

si on ne met pas le point après 45 , il se produit une erreur qu'on a également

avec le lisp "jeff".

 

 

 

[Edité le 17/10/2009 par usegomme]

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é