- GuiCommand: Name:Arch 3Views MenuLocation:Arch → Utilities → 3 Views from mesh Workbenches:Arch SeeAlso:Arch SplitMesh, Arch MeshToShape
This command is currently not in use.
It will serve to generate flat, shape-based views from a Mesh based object, to be used by the Arch Equipment tool.
- Select a Mesh object.
- Select the button, or Arch → Utilities → 3Views from the top menu.
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:
shape = createMeshView(obj, direction=FreeCAD.Vector(0, 0, -1), outeronly=False, largestonly=False)
- Creates a flat
shape
that is the projection of the given mesh object (obj
) in the givendirection
. - If
outeronly
isTrue
only the outer contour is taken into consideration, discarding the inner holes. - If
largestonly
isTrue
only the largest segment of the given mesh will be used.
Use Part.show()
to display the resulting flat shape.
Example:
import FreeCAD, Draft, Arch, Mesh, MeshPart
Line = Draft.makeWire([FreeCAD.Vector(0, 0, 0), FreeCAD.Vector(2000, 2000, 0)])
Wall = Arch.makeWall(Line, width=150, height=3000)
FreeCAD.ActiveDocument.recompute()
Shape = Wall.Shape.copy(False)
Shape.Placement = Wall.getGlobalPlacement()
mesh_obj = FreeCAD.ActiveDocument.addObject("Mesh::Feature", "Mesh")
mesh_obj.Mesh = MeshPart.meshFromShape(Shape=Shape, MaxLength=520)
mesh_obj.ViewObject.DisplayMode = "Flat Lines"
FreeCAD.ActiveDocument.recompute()
XAxis = FreeCAD.Vector(1, 0, 0)
YAxis = FreeCAD.Vector(0, 1, 0)
ZAxis = FreeCAD.Vector(0, 0, -1)
s1 = Arch.createMeshView(mesh_obj, ZAxis)
s2 = Arch.createMeshView(mesh_obj, XAxis)
s3 = Arch.createMeshView(mesh_obj, YAxis)
Part.show(s1)
Part.show(s2)
Part.show(s3)
Wall.ViewObject.Visibility = False
mesh_obj.ViewObject.Visibility = False
documentation index > Arch > Arch 3Views