Macro Line Length: Difference between revisions

From FreeCAD Documentation
(Marked this version for translation)
No edit summary
Line 1: Line 1:
<languages/>
<translate>
<translate>
<!--T:1-->
<!--T:1-->
Line 62: Line 63:
>>> line_length(length = 50, angle = 45)
>>> line_length(length = 50, angle = 45)
</syntaxhighlight>
</syntaxhighlight>

<translate>
</translate>

<languages/>

Revision as of 22:10, 5 August 2018

Other languages:

File:Text-x-python Macro Line Length

Description
Creates a line giving as an argument the XYZ coordinates, length, and angle.

Macro version: 02.00
Last modified: 2014-08-08
Author: mario52
Author
mario52
Download
None
Links
Macro Version
02.00
Date last modified
2014-08-08
FreeCAD Version(s)
None
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)])
 
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 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)