Macro Triangle AH
File:Text-x-python Macro triangleAH |
Description |
---|
Cette macro crée un triangle isocèle en donnant comme argument , l'angle de tête et la hauteur du triangle. Auteur: mario52 |
Auteur |
mario52 |
Téléchargement |
None |
Liens |
Page des macros Comment installer une macro Comment créer une barre d'outils |
Version Macro |
1.0 |
Dernière modification |
None |
Version(s) FreeCAD |
None |
Raccourci clavier |
None |
Voir aussi |
None |
Description
Cette macro crée un triangle isocèle en donnant comme argument , l'angle de tête et la hauteur du triangle. La tête du triangle est positionnée aux coordonnées XYZ 0,0,0.
Utilisation
Copiez la macro triangleAH complète dans la console Python de FreeCAD et tapez :
triangleAH(angle=90, height=10)
# or
triangleAH(90, 10)
Script
Macro_triangleAH.FCMacro
__title__= "triangleAH"
__author__= "Mario52"
__version__= "00.01"
__date__= "20/03/2015"
from math import cos, sin, tan, degrees, radians, sqrt
import Draft, Part
def triangleAH(angle, height):
def line_length(x1 = 0.0, y1 = 0.0, z1 = 0.0, length = 10.0, angle2 = 0.0): # search coordinates
x2 = x1 + (length * cos(radians(angle2)))
y2 = y1 + (length * sin(radians(angle2)))
z2 = z1 #+ ()
return x2,y2,z2 # return coordinates (xyz) to point
x0 = y0 = z0 = 0.0
a0 = line_length(x1=x0,y1=y0,z1=z0,length=height,angle2=0 ) #
hypo = height / cos(radians(angle/2))
a0 = line_length(x1=x0,y1=y0,z1=z0,length=0, angle2 = angle ) # point 0 (depart sommet)
a = line_length(x1=a0[0],y1=a0[1],z1=a0[2],length= hypo, angle2=-(angle/2)) #
b = line_length(a[0],a[1],a[2],length= (abs(a[1])*2), angle2=90.0) # base du triangle
return Draft.makeWire([FreeCAD.Vector(a0),FreeCAD.Vector(a),FreeCAD.Vector(b)],closed=True,face=False,support=None) # create triangle
Version
ver 00.01 20/03/2015 :