Aller au contenu

Messages recommandés

Posté(e)

Bonjour a tous...

 

J'ai une question sans avoir la réponse:

 

Je souhaite obtenir un angle avec la fonction ANGTOS mais je souhaite un

résultat en grade sans le petit "g" apres le résultat, comme pour les degres

ou il affiche rien.

 

 

 
(setq angl1 (angle pt4 pt5))
(angtos angl1 2 4)

 

Le 2 corresponds au format d'édition en grades

Le 4 corresponds bien au nombre de chiffre

 

Merci de me répondre si vous connaissez la réponse a ma question.

Posté(e)

Salut,

 

Regarde la fonction vl-string-right-trim

 

Tu peux aussi utiliser des routines de conversion de radians en grades (et inversement).

 

;; G2R Convertit les grades en radians
(defun g2r (a) (* a (/ pi 200)))

;; R2G Convertit les radians en grades
(defun r2g (a) (* a (/ 200 pi)))

 

(r2g 1.23456) retourne 78.5945

 

Et si tu as besoin d'un résultat de type STR (chaîne), tu peux utiliser rtos

 

(rtos (r2g 1.23456) 2 4) retourne "78.5945"

(vl-string-right-trim "g" (angtos 1.23456 2 4)) retourne "78.5945"

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Je dois pas etre tres loin mais apres avoir tourner tout les elements

dans tout les sens rien ne marche a part que tout disparait.

 

(strcat (vl-string-right-trim (angtos angl1 2 4) "g")) 

 

un peu d'aide me remonterai le moral .

 

Merci

Posté(e)

coucou

 

j'avais pas compris et je croyais que tu le voulais ce "g"

 

 
(setq p1 (getpoint)
     p2 (getpoint)
     AngleEnRadians (angle p1 p2)
     AngleEnGradesAvecG (angtos AngleEnRadians 2 4)
     AngleEnGradesSansG (substr AngleEnGradesAvecG 1 ( - (strlen AngleEnGradesAvecG) 1))
     )
     )

 

maintenant il n'y est plus

 

amicalement

 

[Edité le 11/4/2009 par didier]

Posté(e)

willy95,

 

Tu fais :

(strcat (vl-string-right-trim (angtos angl1 2 4) "g")) 

 

Le strcat est inutile (il n'y a pas de concaténation).

 

La fonction angtos convertit un angle exprimé en radians (nombre réel) en une chaîne exprimant l'angle dans l'unité spécifiée. Suivant l'unité, le formatage de la chaîne est différent :

 

(angtos pi 0 4) --> "180.0000" (degrés décimaux)

(angtos pi 1 4) -- > "180d0'0\"" (degrés minutes secondes)

(angtos pi 2 4) --> "200.0000g" (grades)

(angtos pi 3 4) --> "3.1416r" (radians)

 

La fonction vl-string-right-trim supprime les caractères spécifiés à la fin de la chaîne. Les arguments sont, dans l'ordre : les caractères à supprimer et la chaîne à traiter.

 

Pour supprimer le "g" à la fin de l'angle exprimé en grades, il faut écrire (comme dit plus haut) :

 

(vl-string-right-trim "g" (angtos angl1 2 4))

 

N'hésite pas à consulter l'aide aux développeurs ou aidacad (si tu es vraiment allergique à l'anglais, mais toutes les fonctions n'y sont pas)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

MERCI

 

je pensai bien que j'étais pas loin et comme toujours

ca parrait tellement plus simple quand on a la réponse

et pourtant j'ai vraiment buché dessus.

 

MERCI

Posté(e)

hello

 

je viens pousser un cri qui va déchirer les nuages de ce dimanche pluvieux

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah

 

je me retrouve sur "débuter en lisp" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah

 

non je blague vous commencez à cerner le garçon !

 

tu as bien raison et ça prouve, si besoin est, que tu suis les choses comme il faut,

merci (Gile)

 

amicalement

 

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é