Arch: 3 Viste da mesh

From FreeCAD Documentation
Revision as of 22:45, 9 February 2019 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

3 Viste da mesh

Posizione nel menu
Arch → Utilità → 3 Viste da mesh
Ambiente
Arch
Avvio veloce
Nessuno
Introdotto nella versione
-
Vedere anche
Dividi Mesh, Da Mesh a Forma

Descrizione

Crea le classiche tre viste in proiezioni ortogonali di un oggetto mesh selezionato.

Questo comando non è attualmente in uso. Esso servirà a generare delle viste piatte, di un oggetto Mesh, da usare con lo strumento Arredo.

Utilizzo

  • Selezionare un oggetto mesh
  • Attivare il comando

Notare che le viste prodotte sono degli oggetti indipendenti, non hanno legami tra di loro e neppure con l'oggetto mesh da cui derivano.

  1. Selezionare un oggetto Mesh
  2. Selezionare il menu Arch → Utilità → 3 viste

Script

Vedere anche: Arch API e Nozioni di base sugli script di FreeCAD.

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