Arch AxisSystem: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
(21 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>
<!--T:16-->
{{Docnav
|[[Arch_Axis|Axis]]
|[[Arch_Grid|Grid]]
|[[Arch_Module|Arch]]
|IconL=Arch_Axis.svg
|IconR=Arch_Grid.svg
|IconC=Workbench_Arch.svg
}}

<!--T:1-->
<!--T:1-->
{{GuiCommand
{{GuiCommand|Name=Arch AxisSystem|Workbenches=[[Arch Module|Arch]]|MenuLocation=Arch → Axis System|SeeAlso=[[Arch Axis|Arch Axis]]}}
|Name=Arch AxisSystem
|MenuLocation=Arch → Axis System
|Workbenches=[[Arch_Module|Arch]]
|SeeAlso=[[Arch_Axis|Arch Axis]], [[Arch_Grid|Arch Grid]]
}}


==Description== <!--T:2-->
==Description== <!--T:2-->


<!--T:3-->
<!--T:3-->
The [[Arch AxisSystem|AxisSystem]] tool allows you to combine two or three [[Arch Axis|Arch Axis]] objects.
The Axis System tool allows you to combine 2 or 3 [[Arch Axis]] objects. The main function of this tool is to calculate intersection points between the different axes included in this system. Arch objects can then use this system to duplicate their shape on the different intersection points.


<!--T:4-->
<!--T:15-->
This is useful to define the intersection points between the different axes. Arch objects can then use this system to duplicate their shape on the different intersection points.
[[Image:Arch AxisSystem example.jpg|600px]]


</translate>
[[Image:Arch AxisSystem example.jpg|600px]]
<translate>
<!--T:5-->
<!--T:5-->
The above image shows three [[Arch Axis]] objects combined into one Axis System. A column object then uses this system as its '''Axis''' property, to have its shape duplicated at each intersection point.
{{Caption|Three [[Arch Axis]] objects combined into one [[Arch AxisSystem|Arch AxisSystem]]. An [[Arch Structure|Arch Structure]] object uses this system as its {{PropertyData|Axis}} property, to have its shape duplicated at each intersection point.}}


==How to use== <!--T:6-->
==Usage== <!--T:6-->


<!--T:7-->
<!--T:7-->
# Optionally, select the [[Arch Axis]] objects you wish to include in this system
# Optionally, select the [[Arch Axis]] objects you wish to include in this system.
# Press the {{KEY|[[Image:Arch AxisSystem.png|16px]] [[Arch AxisSystem]]}} button
# Press the {{Button|[[Image:Arch Axis_System.svg|16px]] [[Arch AxisSystem]]}} button.
# Right-click the newly created axes system object in the tree view to add/edit the [[Arch Axis]] objects included in this system
# Right-click the newly created axes system object in the tree view to add/edit the [[Arch Axis]] objects included in this system.
# Select any existing [[Arch Axis]] and press Add or Delete buttons to add or remove it to/from this system
# Select any existing [[Arch Axis]] and press {{Button|[[Image:Arch Add.svg|16px]] [[Arch Add]]}} or {{Button|[[Image:Arch Remove.svg|16px]] [[Arch Remove]]}} buttons to add or remove it to/from this system.
# Set the '''Axis''' property of any Arch object to point to this system, to have its shape duplicated to the intersection points of this system
# Set the {{PropertyData|Axis}} property of any Arch object to point to this system, to have its shape duplicated to the intersection points of this system.


==Options== <!--T:8-->
==Options== <!--T:8-->
Line 31: Line 49:


==Scripting== <!--T:10-->
==Scripting== <!--T:10-->
{{Emphasis|See also:}} [[Arch API|Arch API]] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].


<!--T:11-->
<!--T:11-->
The Axis System tool can by used in [[macros]] and from the python console by using the following function:
The AxisSystem tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:
</translate>
</translate>
{{Code|code=
{{Code|code=
AxisSystem = makeAxisSystem(axes, name="Axis System")
makeAxisSystem ([axes])
}}
}}
<translate>
<translate>


<!--T:12-->
<!--T:12-->
Makes an Axis System based on the given list of [[Arch Axis]]
* Creates an {{incode|AxisSystem}} object from the given {{incode|axes}}, which is a single [[Arch Axis]], or a list of them.


<!--T:13-->
<!--T:13-->
Line 47: Line 66:
</translate>
</translate>
{{Code|code=
{{Code|code=
import Arch
import Draft, Arch

a = Arch.makeAxis(5,2)
Axes = Arch.makeAxis(5, 1000)
Arch.makeAxisSystem([a])

Axes.ViewObject.LineWidth = 3
Axes.ViewObject.BubbleSize = 200
Axes.ViewObject.FontSize = 150

Axes2 = Arch.makeAxis(6, 500)

Axes2.ViewObject.LineWidth = 2
Axes2.ViewObject.BubbleSize = 200
Axes2.ViewObject.FontSize = 150
Axes2.ViewObject.NumberingStyle = "A,B,C"
FreeCAD.ActiveDocument.recompute()

Axes2.Length = 6000
Draft.rotate(Axes2, -90)
Draft.move(Axes2, FreeCAD.Vector(-1000, 2500, 0))
FreeCAD.ActiveDocument.recompute()

AxisSystem = Arch.makeAxisSystem([Axes, Axes2])

Structure = Arch.makeStructure(length=200, width=200, height=100)
Draft.move(Structure, FreeCAD.Vector(-100, 0, 0))
Structure.Axis = AxisSystem
FreeCAD.ActiveDocument.recompute()
}}
}}

<translate>
<!--T:14-->
{{Docnav
|[[Arch_Axis|Axis]]
|[[Arch_Grid|Grid]]
|[[Arch_Module|Arch]]
|IconL=Arch_Axis.svg
|IconR=Arch_Grid.svg
|IconC=Workbench_Arch.svg
}}

</translate>
{{Arch Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Revision as of 14:19, 29 November 2020

Arch AxisSystem

Menu location
Arch → Axis System
Workbenches
Arch
Default shortcut
None
Introduced in version
-
See also
Arch Axis, Arch Grid

Description

The AxisSystem tool allows you to combine two or three Arch Axis objects.

This is useful to define the intersection points between the different axes. Arch objects can then use this system to duplicate their shape on the different intersection points.

Three Arch Axis objects combined into one Arch AxisSystem. An Arch Structure object uses this system as its DataAxis property, to have its shape duplicated at each intersection point.

Usage

  1. Optionally, select the Arch Axis objects you wish to include in this system.
  2. Press the Arch AxisSystem button.
  3. Right-click the newly created axes system object in the tree view to add/edit the Arch Axis objects included in this system.
  4. Select any existing Arch Axis and press Arch Add or Arch Remove buttons to add or remove it to/from this system.
  5. Set the DataAxis property of any Arch object to point to this system, to have its shape duplicated to the intersection points of this system.

Options

  • A same Arch Axis object can be part of more than one system
  • Any shape-based object can also be used as the Axis property of Arch objects. In this case, the object shape will be duplicated along the vertices of the Axis object

Scripting

See also: Arch API and FreeCAD Scripting Basics.

The AxisSystem tool can be used in macros and from the Python console by using the following function:

AxisSystem = makeAxisSystem(axes, name="Axis System")
  • Creates an AxisSystem object from the given axes, which is a single Arch Axis, or a list of them.

Example:

import Draft, Arch

Axes = Arch.makeAxis(5, 1000)

Axes.ViewObject.LineWidth = 3
Axes.ViewObject.BubbleSize = 200
Axes.ViewObject.FontSize = 150

Axes2 = Arch.makeAxis(6, 500)

Axes2.ViewObject.LineWidth = 2
Axes2.ViewObject.BubbleSize = 200
Axes2.ViewObject.FontSize = 150
Axes2.ViewObject.NumberingStyle = "A,B,C"
FreeCAD.ActiveDocument.recompute()

Axes2.Length = 6000
Draft.rotate(Axes2, -90)
Draft.move(Axes2, FreeCAD.Vector(-1000, 2500, 0))
FreeCAD.ActiveDocument.recompute()

AxisSystem = Arch.makeAxisSystem([Axes, Axes2])

Structure = Arch.makeStructure(length=200, width=200, height=100)
Draft.move(Structure, FreeCAD.Vector(-100, 0, 0))
Structure.Axis = AxisSystem
FreeCAD.ActiveDocument.recompute()