Arch Add: Difference between revisions

From FreeCAD Documentation
(API and scripting links)
(Code more complete)
Line 37: Line 37:
</translate>
</translate>
{{Code|code=
{{Code|code=
addComponents (objectsList,hostObject)
addComponents(objectsList, host)
}}
}}
<translate>
<translate>

<!--T:8-->
<!--T:8-->
* 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.
* Adds the given objects in {{incode|objectsList}} to the given {{incode|host}} object.
** {{incode|objectsList}} can be a single object or a list of objects.
* Returns nothing.


<!--T:9-->
<!--T:9-->
Line 49: Line 50:
{{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)])
p1 = FreeCAD.Vector(0, 0, 0)
wall = Arch.makeWall(line)
box = Part.makeBox(1,1,1)
p2 = FreeCAD.Vector(2000, 2000, 0)

Arch.addComponents(box,wall)
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>

Revision as of 18:09, 1 December 2018

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:

In the above image, a box is being added to a wall.

How to use

  1. Select the object(s) to be added, then the "host" object (the host object must be the last one you selected).
  2. Press the Add button.

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)
  • Adds the given objects in objectsList to the given host object.
    • 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()