Arch Add: Difference between revisions

From FreeCAD Documentation
(Vertical GuiCommand)
No edit summary
(22 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>
<!--T:14-->
{{Docnav
|[[Arch_CutPlane|Cut with plane]]
|[[Arch_Remove|Remove component]]
|[[Arch_Module|Arch]]
|IconL=Arch_CutPlane.svg
|IconC=Workbench_Arch.svg
|IconR=Arch_Remove.svg
}}

<!--T:1-->
<!--T:1-->
{{GuiCommand
{{GuiCommand
Line 13: Line 23:
<!--T:2-->
<!--T:2-->
The Add tool allows you to do 4 kinds of operations:
The Add tool allows you to do 4 kinds of operations:
* Add [[Part Module|shape]]-based objects to an Arch component, such as a [[Arch Wall|wall]] or [[Arch Structure|structure]]. These objects make then part of the Arch component, and allow you to modify its shape but keeping its base properties such as width and height
* Add [[Part Module|shape]]-based objects to an Arch component, such as a {{KEY|[[Image:Arch_Wall.svg|16px]] [[Arch Wall|wall]]}} or {{KEY|[[Image:Arch_Structure.svg|16px]] [[Arch Structure|structure]]}}. These objects make then part of the Arch component, and allow you to modify its shape but keeping its base properties such as width and height
* Add Arch components, such as a [[Arch Wall|walls]] or [[Arch Structure|structures]], to a group-based arch object such as [[Arch Floor|floors]].
* Add Arch components, such as a {{KEY|[[Image:Arch_Wall.svg|16px]] [[Arch Wall|Arch Walls]]}} or {{KEY|[[Image:Arch_Structure.svg|16px]] [[Arch Structure|Arch Structures]]}}, to a group-based arch object such as {{KEY|[[Image:Arch_Floor.svg|16px]] [[Arch Floor|Arch Floors]]}}.
* Add [[Arch Axis|axis systems]] to [[Arch Structure|structural objects]]
* Add {{KEY|[[Image:Arch_Axis.svg|16px]] [[Arch Axis|Axis systems]]}} to {{KEY|[[Image:Arch_Structure.svg|16px]] [[Arch Structure|structural objects]]}}
* Add objects to [[Arch SectionPlane|section planes]]
* Add objects to {{KEY|[[Image:Arch_SectionPlane.svg|16px]] [[Arch SectionPlane|section planes]]}}


<!--T:11-->
<!--T:13-->
The counterpart of this tool is the {{Button|[[Image:Arch_Remove.svg|16px]] [[Arch Remove|Arch Remove]]}} tool.
[[Image:Arch Add example.jpg|640px]]


</translate>
[[Image:Arch Add example.jpg|640px]]
<translate>
<!--T:3-->
<!--T:3-->
{{Caption|A box added to a wall as a component.}}
''In the above image, a box is being added to a wall.''


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


<!--T:5-->
<!--T:5-->
# Select the object(s) to be added, then the "host" object (the host object must be the last one you selected)
# Select the objects to be added together. The last object selected will be the host Arch object.
# Press the {{KEY|[[Image:Arch Add.png|16px]] '''Add'''}} button
# Press the {{Button|[[Image:Arch Add.svg|16px]]}} button, or use {{KEY|Arch}} → {{KEY|[[Image:Arch Add.svg|16px]] [[Arch Add|Add]]}} from the top menu.


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


<!--T:7-->
<!--T:7-->
The Add tool can by used in [[macros]] and from the python console by using the following function:
The Add tool can be used in [[macros]] and from the [[Python]] console by using the following function:
</translate>
</translate>
{{Code|code=
:{{Code|code=
addComponents (objectsList,hostObject)
addComponents(objectsList, host)
}}
}}
<translate>
<translate>

<!--T:8-->
<!--T:8-->
: The above code snippet adds the given objects in {{incode|objectsList}} to the given {{incode|host}} object.
* Adds the given object or the objects from the given list as components to the given host Object. Use this for example to add windows to a wall, or to add walls to a floor.
: '''Note:''' {{incode|objectsList}} can be a single object or a list of objects.
* Returns nothing.


<!--T:9-->
<!--T:9-->
Example:
Example:

</translate>
</translate>
{{Code|code=
{{Code|code=
import FreeCAD, Arch, Draft, Part
import FreeCAD, Arch, Draft, Part
line = Draft.makeWire([FreeCAD.Vector(0,0,0),FreeCAD.Vector(2,2,0)])
wall = Arch.makeWall(line)
box = Part.makeBox(1,1,1)
Arch.addComponents(box,wall)
}}


p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(2000, 2000, 0)

Line = Draft.makeWire([p1, p2])
Wall = Arch.makeWall(Line, width=150, height=2000)

p3 = FreeCAD.Vector(0, 2000, 0)
p4 = FreeCAD.Vector(3000, 0, 0)

Line2 = Draft.makeWire([p3, p4])
Wall2 = Arch.makeWall(Line2, width=150, height=2000)
FreeCAD.ActiveDocument.recompute()

Arch.addComponents(Wall2, Wall)
FreeCAD.ActiveDocument.recompute()
}}
<translate>
<translate>

<!--T:12-->
<!--T:15-->
[[Category:Arch]]
{{Docnav
|[[Arch_CutPlane|Cut with plane]]
|[[Arch_Remove|Remove component]]
|[[Arch_Module|Arch]]
|IconL=Arch_CutPlane.svg
|IconC=Workbench_Arch.svg
|IconR=Arch_Remove.svg
}}

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

{{Userdocnavi{{#translation:}}}}

Revision as of 18:14, 19 February 2020

Arch Add

Menu location
Arch → Add
Workbenches
Arch
Default shortcut
None
Introduced in version
-
See also
Arch Remove

Description

The Add tool allows you to do 4 kinds of operations:

The counterpart of this tool is the Arch Remove tool.

A box added to a wall as a component.

Usage

  1. Select the objects to be added together. The last object selected will be the host Arch object.
  2. Press the button, or use Arch Add from the top menu.

Scripting

See also: Arch API and FreeCAD Scripting Basics.

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

addComponents(objectsList, host)
The above code snippet adds the given objects in objectsList to the given host object.
Note: objectsList can be a single object or a list of objects.

Example:

import FreeCAD, Arch, Draft, Part

p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(2000, 2000, 0)

Line = Draft.makeWire([p1, p2])
Wall = Arch.makeWall(Line, width=150, height=2000)

p3 = FreeCAD.Vector(0, 2000, 0)
p4 = FreeCAD.Vector(3000, 0, 0)

Line2 = Draft.makeWire([p3, p4])
Wall2 = Arch.makeWall(Line2, width=150, height=2000)
FreeCAD.ActiveDocument.recompute()

Arch.addComponents(Wall2, Wall)
FreeCAD.ActiveDocument.recompute()