Arch CutPlane: Difference between revisions

From FreeCAD Documentation
m (Changed section to 'Usage')
No edit summary
(6 intermediate revisions by 4 users not shown)
Line 2: Line 2:
<translate>
<translate>
<!--T:13-->
<!--T:13-->
{{Docnav
{{docnav|[[Arch_Schedule|Schedule]]|[[Arch_Add|Add component]]|[[Arch_Module|Arch]]|IconL=Arch_Schedule.svg |IconC=Workbench_Arch.svg |IconR=Arch_Add.svg}}
|[[Arch_CutLine|Cut with a line]]
|[[Arch_Add|Add component]]
|[[Arch_Module|Arch]]
|IconL=Arch_CutLine.svg
|IconR=Arch_Add.svg
|IconC=Workbench_Arch.svg
}}


<!--T:1-->
<!--T:1-->
Line 8: Line 15:
|Name=Arch CutPlane
|Name=Arch CutPlane
|MenuLocation=Arch → Cut Plane
|MenuLocation=Arch → Cut Plane
|Workbenches=[[Arch Module|Arch]]
|Workbenches=[[Arch_Module|Arch]]
|SeeAlso=[[Arch Remove|Arch Remove]]
|SeeAlso=[[Arch_CutLine|Arch CutLine]], [[Arch_Remove|Arch Remove]]
}}
}}


Line 15: Line 22:


<!--T:2-->
<!--T:2-->
The Cut Plane tool allows you to cut an Arch object according to a plan:
The Cut Plane tool allows you to cut an Arch object according to a plane:
* You can cut an Arch object with the selected face, normal or opposite of the face plan.
* You can cut an Arch object with the selected face, normal or opposite of the face plane.
* This add a substraction component CutVolume to the Arch object
* This add a subtraction component CutVolume to the Arch object


<!--T:11-->
<!--T:11-->
Line 23: Line 30:


<!--T:3-->
<!--T:3-->
{{Caption|Left: Before applying the CutPlane tool. Middle: resulting wall after the cut is done. Right: yet another optional result}}
''In the above image, two Arch Structure are cut with respective plane.''


==Usage== <!--T:4-->
==Usage== <!--T:4-->


<!--T:5-->
<!--T:5-->
# Select the object to be cut, then the face (the face must be the last one you selected, and must be selected in the 3D-View).
# Select the object to be cut, then the face (the face must be the last one you selected, and must be selected in the [[3D View]]).
# Press the {{Button|[[Image:Arch_CutPlane.svg|16px]] [[Arch CutPlane|Cut Plane]]}} button.
# Press the {{Button|[[Image:Arch_CutPlane.svg|24px]] [[Arch CutPlane|Cut Plane]]}} button.
# Choose if the object is cut '''behind''' the normale face or '''front''' of the normal face.
# Choose if the object is cut '''behind''' the normal face or in'''front''' of the normal face.
# Click the {{Button|OK}} button.
# Click the {{Button|OK}} button.


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


<!--T:7-->
<!--T:7-->
The CutPlane tool can be used in [[macros]] and from the [[Python]] console by using the following function:
The CutPlane tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:
</translate>
</translate>
{{Code|code=
{{Code|code=
Line 96: Line 103:
<translate>
<translate>
<!--T:15-->
<!--T:15-->
{{Docnav
{{docnav|[[Arch_Schedule|Schedule]]|[[Arch_Add|Add component]]|[[Arch_Module|Arch]]|IconL=Arch_Schedule.svg |IconC=Workbench_Arch.svg |IconR=Arch_Add.svg}}
|[[Arch_CutLine|Cut with a line]]

|[[Arch_Add|Add component]]
<!--T:16-->
|[[Arch_Module|Arch]]
{{Arch Tools navi}}
|IconL=Arch_CutLine.svg
|IconR=Arch_Add.svg
|IconC=Workbench_Arch.svg
}}


<!--T:17-->
{{Userdocnavi}}
</translate>
</translate>
{{Arch Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Revision as of 14:34, 29 November 2020

Arch CutPlane

Menu location
Arch → Cut Plane
Workbenches
Arch
Default shortcut
None
Introduced in version
-
See also
Arch CutLine, Arch Remove

Description

The Cut Plane tool allows you to cut an Arch object according to a plane:

  • You can cut an Arch object with the selected face, normal or opposite of the face plane.
  • This add a subtraction component CutVolume to the Arch object

Left: Before applying the CutPlane tool. Middle: resulting wall after the cut is done. Right: yet another optional result

Usage

  1. Select the object to be cut, then the face (the face must be the last one you selected, and must be selected in the 3D View).
  2. Press the Cut Plane button.
  3. Choose if the object is cut behind the normal face or infront of the normal face.
  4. Click the OK button.

Scripting

See also: Arch API and FreeCAD Scripting Basics.

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

cutObj = cutComponentwithPlane(archObject, cutPlane, sideFace)
  • Creates a cutObj object from the given archObject, which is cut by cutPlane, which is the face of another object.
    • archObject should be a SelectionObject obtained from FreeCADGui.Selection.SelectionEx()[0].
    • cutPlane should be a FaceObject obtained from FreeCADGui.Selection.SelectionEx()[0].SubObjects[0].
  • sideFace specifies on which side of the FaceObject a volume will be created; this volume will then be used to subtract from the archObject. If sideFace is 0 it will create a volume in the rear of the face, otherwise it create it in front of the face.

Example:

import FreeCAD, FreeCADGui, Draft, Arch

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

# Select the Wall
main_object = FreeCADGui.Selection.getSelectionEx()[0]

# Select the face of Wall2
selection = FreeCADGui.Selection.getSelectionEx()[0]
cut_face = selection.SubObjects[0]

cutObj = Arch.cutComponentwithPlane(main_object, cut_face, 0)
FreeCAD.ActiveDocument.recompute()

Wall3 = Draft.move(Wall, FreeCAD.Vector(-4000, 0, 0), copy=True)
Wall4 = Draft.move(Wall2, FreeCAD.Vector(-4000, 0, 0), copy=True)
FreeCAD.ActiveDocument.recompute()

# Select the Wall3
main_object2 = FreeCADGui.Selection.getSelectionEx()[0]

# Select the face of Wall4
selection2 = FreeCADGui.Selection.getSelectionEx()[0]
cut_face2 = selection2.SubObjects[0]

cutObj2 = Arch.cutComponentwithPlane(main_object2, cut_face2, 1)
FreeCAD.ActiveDocument.recompute()