autovaba Posté(e) le 14 février 2007 Posté(e) le 14 février 2007 BonjourJe souhaiterais tracer une ligne avec un angle, et je n’ai pas trouvé la variable de "inverse tangente" J’ai la cote adjacente "40" et opposée "30", je voudrais l'angle en degrés, et ce là ou je coince, impossible d'avoir un angle correct. Si vous avez une solution, je vous remercie par avance. ;)
x_all Posté(e) le 14 février 2007 Posté(e) le 14 février 2007 oups... en vba... auccune idée... [Edité le 14/2/2007 par x_all] quelques trucs sur autocad
nazemrap Posté(e) le 15 février 2007 Posté(e) le 15 février 2007 Bonjour, je pense qu'il s'agit de la fonction [surligneur]ATN [/surligneur] atn(30/40)
ASTERIXII Posté(e) le 15 février 2007 Posté(e) le 15 février 2007 Effectivement ATN est l'inverse de TAN, mais en radians pour toutes les fonctions trigo sous VBAPour convertir des radians en degrés, multipliez-les par 180/pi.
autovaba Posté(e) le 15 février 2007 Auteur Posté(e) le 15 février 2007 merci, pour les solutions. ;) mais j'ai un petit soucis de mise en forme pour avoir un angle correct. Sub ESSAI() Dim lineobj As AcadLine Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double pi = 4 * Atn(1) endPoint(0) = 40 endPoint(1) = Atn(30 / 40) * 180 / pi Set lineobj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint) End Sub je pense qu'il doit avoir une variable, comme ACAD_ANGLE, si quelque un a une solution, je vous remercie par avance. :)
ASTERIXII Posté(e) le 16 février 2007 Posté(e) le 16 février 2007 La je ne comprends plus, si tu connais 30 et 40 ou 30 est la hauteur, donc Yremplace 'endPoint(1) = Atn(30 / 40) * 180 / piparendPoint(1) = 30Rappel tan(angle)=coté opposé/coté adjacentet atn(30/40) donne un angle et non pas une longueurQue cherches tu ?
autovaba Posté(e) le 18 février 2007 Auteur Posté(e) le 18 février 2007 Bonjour,Merci pour ta réponse, mais ce moi qui a pris la mauvaise formule. :( :( Connaître l'angle et la longueur de hypo est [surligneur] important[/surligneur], ainsi je peux projeté les droites sur le trait oblique est déterminé les points intersections entre la droite et trait oblique. En fonction de la hauteur l'angle change et les points intersections aussi. Donc trouvé une formule qui me détermine pour ça. Sub ESSAI6()'TRAIT OBLIQUE Dim polarPnt As Variant Dim basePnt(0 To 2) As Double Dim angle As Double Dim distance As Double ADJ = 40 OPP = 30 basePnt(0) = 0 basePnt(1) = 0 basePnt(2) = 0 HYPO = Sqr(OPP * OPP + ADJ * ADJ) angle = Atn(OPP / ADJ) distance = HYPO polarPnt = ThisDrawing.Utility.PolarPoint(basePnt, angle, distance) Dim lineObj As AcadLine Set lineObj = ThisDrawing.ModelSpace.AddLine(basePnt, polarPnt) ThisDrawing.Application.ZoomExtents End Sub :cool:
ASTERIXII Posté(e) le 19 février 2007 Posté(e) le 19 février 2007 Ta fonction essai(6) fonctionne bien, ou est le problème ?tu trace bien une ligne en fonction d'un angleLe seul problème, est que pour le moment tu traces avec une base en 0,0si le premier point se deplace, ta fonction ne marche plus, il faut soustraire au point final le point de base.(Xend-Xbase),(Yend-Ybase)
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant