Macro Line Length: Difference between revisions
m (code) |
m (minor) |
||
Line 4: | Line 4: | ||
<!--T:2--> |
<!--T:2--> |
||
==Desciption== |
|||
This small macro create a line giving as an argument the XYZ coordinates, length, and angle |
This small macro create a line giving as an argument the XYZ coordinates, length, and angle |
||
==Use== <!--T:3--> |
|||
Can be used from the Freecad macro editor. |
Can be used from the Freecad macro editor. |
||
Line 32: | Line 33: | ||
the default values are : x1 = 0, y1 = 0, z1 = 0, length = 10, angle = 0 |
the default values are : x1 = 0, y1 = 0, z1 = 0, length = 10, angle = 0 |
||
==Script== <!--T:7--> |
|||
Macro Line_Length.py |
Macro Line_Length.py |
||
</translate> |
</translate> |
Revision as of 21:35, 20 March 2015
File:Text-x-python Macro Line Length |
Description |
---|
Creates a line giving as an argument the XYZ coordinates, length, and angle. Author: mario52 |
Author |
mario52 |
Download |
None |
Links |
Macros recipes How to install macros How to customize toolbars |
Macro Version |
1.0 |
Date last modified |
None |
FreeCAD Version(s) |
None |
Default shortcut |
None |
See also |
None |
Desciption
This small macro create a line giving as an argument the XYZ coordinates, length, and angle
Use
Can be used from the Freecad macro editor.
If the macro is copied in the Python console, you can you can use it by:
>>> line_length(x1 = 0, y1 = 0, z1 = 0, length = 10, angle = 45)
or choice
>>> line_length(x1 = 10, y1 = 10, z1 = 0, length = 50)
>>> line_length(length = 50, angle = 45)
the default values are : x1 = 0, y1 = 0, z1 = 0, length = 10, angle = 0
Script
Macro Line_Length.py
# -*- coding: utf-8 -*-
# créer une ligne avec une coordonnée une longueur et un angle sur le plan X Y
# create line with coordinate length and angle to plane X Y
import FreeCAD, FreeCADGui, Draft
from math import cos, sin, radians
#from FreeCAD import Base
def line_length(x1 = 0.0, y1 = 0.0, z1 = 0.0, length = 10.0, angle = 0.0):
x2 = x1 + (length * cos(radians(angle)))
y2 = y1 + (length * sin(radians(angle)))
z2 = z1 #+ ()
Draft.makeWire([FreeCAD.Vector(x1,y1,z1),FreeCAD.Vector(x2,y2,z2)])
x1 = 0.0 # Edit coordinate x1 origin
y1 = 0.0 # Edit coordinate y1 origin
z1 = 0.0 # Edit coordinate z1 origin
length = 50.0 # Edit length
angle = 45.0 # Edit angle plane XY
line_length(x1, y1, z1, length, angle)