Arch: 3Views/3 D Просмотры

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

Arch 3Views.svg Arch: 3Views/3 D Просмотры

Расположение в меню
Архитектура → Утилиты → 3 Views from mesh
Быстрые клавиши
Представлено в версии
См. также
Arch SplitMesh, Arch MeshToShape


Эта команда в настоящее время не используется. Она служит для создания плоских, базирующихся на форме видов из полигональных объектов, для использования инструментами Arch Equipment.


  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