Arch RemoveShape: Difference between revisions

From FreeCAD Documentation
m (Added {{Button}} templates)
mNo edit summary
Line 20: Line 20:


<!--T:5-->
<!--T:5-->
# Select an [[Arch Wall]] or [[Arch Structure]].
# Select an {{Button|[[Image:Arch_Wall.svg|16px]] [[Arch Wall]]}} or {{Button|[[Image:Arch_Structure.svg|16px]] [[Arch Structure]]}}
# Press the {{Button|[[Image:Arch RemoveShape.svg|16px]] [[Arch RemoveShape|Remove Shape]]}} entry in {{MenuCommand|Arch → Utilities → Remove Shape}}.
# Press the {{Button|[[Image:Arch RemoveShape.svg|16px]]}} button or use {{KEY|Arch}} {{KEY|Utilities}}{{KEY|[[Image:Arch RemoveShape.svg|16px]] [[Arch RemoveShape|Remove Shape]]}} from the top menu.


==Scripting== <!--T:6-->
==Scripting== <!--T:6-->

Revision as of 18:19, 20 January 2020

Arch RemoveShape

Menu location
Arch → Utilities → Remove Shape
Workbenches
Arch
Default shortcut
None
Introduced in version
-
See also
Arch SplitMesh, Arch MeshToShape

Description

This tool attempts at removing the inner cubic shape of an Arch Wall or Arch Structure, and adjusting its properties, making it totally parametric. This tool will only work if the underlying shape is cubic (exactly 6 faces, all corners have only right angles).

How to use

  1. Select an Arch Wall or Arch Structure
  2. Press the button or use ArchUtilities Remove Shape from the top menu.

Scripting

See also: Arch API and FreeCAD Scripting Basics.

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

removeShape(objs, mark=True)
  • Takes a list of Arch objects (objs) built on a cubic shape, and removes the inner shape, keeping the length, width and height as properties of the Arch object.
  • If mark is True, objects that cannot be processed by this function will become red.
import FreeCAD, Draft, Arch

Box = FreeCAD.ActiveDocument.addObject("Part::Box", "Box")
Box.Length = 1000
Box.Width = 2000
Box.Height = 1000
FreeCAD.ActiveDocument.recompute()

Structure = Arch.makeStructure(Box)
FreeCAD.ActiveDocument.recompute()

Arch.removeShape(Structure)
FreeCAD.ActiveDocument.recompute()