Arch 3Views/hr

From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page Arch 3Views and the translation is 15% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎hrvatski • ‎italiano • ‎polski • ‎português do Brasil • ‎română • ‎русский

Arch 3Views.svg Arch 3Views

Lokacija izbornika
Arch → Utilities → 3 Views from mesh
Radni stolovi
Zadani prečac
Egyik sem
Bemutatták verzióban
Vidi također
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.svg Arch Equipment tool.


  1. Select a Mesh object.
  2. Select the Arch 3Views.svg button, or ArchUtilitiesArch 3Views.svg 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 given direction.
  • If outeronly is True only the outer contour is taken into consideration, discarding the inner holes.
  • If largestonly is True only the largest segment of the given mesh will be used.

Use to display the resulting flat shape.


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)

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"

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)

Wall.ViewObject.Visibility = False
mesh_obj.ViewObject.Visibility = False