Aller au contenu

cone et tangente


Messages recommandés

Invité ingoenius
Posté(e)

bonjour, je voudrai creer un cône en sélectionnant 2 point (3d) et donnant l' angle d'ouverture en degré de la pente du cône

j'ai un calcul qui fonctionne en (excel) mais je ne sais pas faire en autolisp

 

en exel

 

(TAN(((PI()/180))*Hauteur))*Angle  

 

en Lisp j'ai commencée cela, mais la fonction atan ne dois pas être la bonne

il existe pas la fonction tangente? ou je me suis trompé dans la transformation en radiant?

 

 
(defun c:ccone ()

(setq DTR (/ PI 180))		;fattore di moltiplicazione x gradi verso radianti  pi é Pi greco!

(SETQ PT (getpoint "\nCentre de la base du cone ?"))  
(SETQ P2 (getpoint "\nhauteur du cone ? : "))
(setq alt (distance PT P2 ))
(setq ang (getreal "\nOuverture Angle? : ")); in gradi
(setq angR (* DTR ang))
(setq R (atan angR))

 
(command "_cone" PT R alt "")  

)

 

merci pour l'aide ;-)

 

 

[Edité le 6/3/2008 par ingoenius]

Posté(e)

Bonjour,

 

Si la fonction Tangente n'existe pas en lisp, il est facile de l'obtenir en connaissant l'égalité mathématique:

 

Tangente (x) = sinus (x) / cos (x)

 

Traduit en lisp cela pourrait donner (pour x exprimé en radians)

 

(defun tan (x)

(if (equal (cos x) 0.0 1E-16)

(princ "\nInfini")

(/ (sin x) (cos x))

)

)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Invité ingoenius
Posté(e)

merci

je suis en train de travailler sur cela, par contre si la routine fonctionne en orthogonale je ne sais pas l'adapter pour pouvoir sélectionner 2 point en 3d quelqu'un est intéressé?

 

 

 
(defun c:ccone ()

(setq DTR (/ PI 180))		;fattore di moltiplicazione x gradi verso radianti  pi é Pi greco!

(SETQ PT (getpoint "\ncentre de la base?"))  
(SETQ P2 (getpoint "\nhauteur ? : "))
(setq alt (distance PT P2 ))
(setq ang (getreal "\nOuverture Angle? : ")); in degres
(setq angR (* DTR ang));tranforme en radians
(setq R (sin  angR))
(setq S (cos  angR));tangente
(setq Z (/  R S) )
(setq R2(/ (* alt Z) 2.0));
 
(command "_cone" PT R2 alt "")  

)

Posté(e)

Salut,

 

Bonuscad,

 

AutoCAD semble avoir prévu le risque de division par 0, cos 90° ne retourne pas 0 mais 6.12323e-017

  Citation
_$ (cos (/ pi 2))

6.12323e-017

_$ (/ (sin (/ pi 2)) (cos (/ pi 2)))

1.63312e+016

 

 

ingoenius,

 

Une proposition en changeant de SCU (option axeZ), il faut traduire les coordonnées des points dans le nouveau SCU.

L'utilisation de getangle à la place de getreal traduit automatiquement laes angles de l'unité courante en radians.

 

(defun c:ccone (/ pT P2 alt angR R S Z R2 zdir vec)

 (setq DTR (/ PI 180))			;fattore di moltiplicazione x gradi verso radianti pi é Pi greco!

 (SETQ PT (getpoint "\ncentre de la base?"))
 (SETQ P2 (getpoint "\nhauteur ? : "))
 (setq alt (distance PT P2))
 (setq angR (getangle "\nOuverture Angle? : ")) 
 (setq R (sin angR))
 (setq S (cos angR))			;tangente
 (setq Z (/ R S))
 (setq R2 (/ (* alt Z) 2.0))		;

 (setq zdir (trans '(0 0 1) 1 0 T)) ; vecteur normal du SCU courant

 (command "_.UCS" "_za" PT P2) ; changement de SCU
 
 (setq PT (trans PT zdir 1) ; traduction des points dans le nouveau SCU
P2 (trans P2 zdir 1)
)
 
 (command "_cone" PT R2 alt "")
 
 (command "_.UCS" "_p") ; restauration du SCU

) 

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

Posté(e)

  Citation
AutoCAD semble avoir prévu le risque de division par 0, cos 90° ne retourne pas 0 mais 6.12323e-017

 

Ah oui ! :P Sur une 2008 c'est vrai. Je n'ai plus de version tel que 2000/2002 pour vérifier si c'était déjà le cas aussi.

 

Cela évitera des "divide by zero" en retour... c'est pas plus mal !

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Invité ingoenius
Posté(e)

merci pour les aide, maintenat pour effectuer des modif sur les cones cree j'ai besoin de savoir comme acceder et modifier les info du cone rayon hauteur et rayon 2

c'est faisable ?

Invité ingoenius
Posté(e)

merci pour les aide, maintenat pour effectuer des motif sur les cones cree j'ai besoin de savoir comme acceder et modifier les info du cone rayon hauteur et rayon 2

c'est faisable ?

 

cra j'ai cela

 

 

(setq OBJ (ssget))		
(setq ent (ssname Obj 0))	 
(setq EL (entget ent)) 	
(setq Q (cdr (assoc 0 EL)))	

 

mais comment accéder aux autres info?

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é