Macro Line Length

From FreeCAD Documentation
Revision as of 09:01, 17 June 2019 by Mario52 (talk | contribs) (icon)
Other languages:

Macro Line Length

Description
Creates a line in command line (Paste in the Console Python) giving as an argument the XYZ coordinates, length, and angle.

Macro version: 02.00
Last modified: 2014-08-08
FreeCAD version: All
Author: mario52
Author
mario52
Download
None
Links
Macro Version
02.00
Date last modified
2014-08-08
FreeCAD Version(s)
All
Default shortcut
None
See also
None

Description

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.

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)])

#Example:
#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)

Example

If the macro is copied in the Python console, 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)