Architektura: Trzy widoki

From FreeCAD Documentation
Revision as of 18:41, 6 May 2024 by Kaktus (talk | contribs) (Created page with "* Tworzy płaski {{incode|shape}}, który jest rzutem danego obiektu siatki ({{incode|obj}}) w danym {{incode|direction}}. * Jeśli {{incode|outeronly}} ma wartość {{incode|True}}, tylko zewnętrzny kontur jest brany pod uwagę, odrzucając wewnętrzne otwory. * Jeśli {{incode|largestonly}} ma wartość {{incode|True}}, użyty zostanie tylko największy segment danej siatki.")

Architektura: Trzy widoki

Lokalizacja w menu
Architektura → Narzędzia → Trzy widoki
Środowisko pracy
Architektura
Domyślny skrót
brak
Wprowadzono w wersji
-
Zobacz także
Podziel siatkę, Kształt z siatki

Opis

Polecenie to nie jest obecnie używane. Służy do generowania płaskich, opartych na kształtach widoków z obiektu opartego na siatce, do wykorzystania przez narzędzie Wyposażenie.

Użycie

  1. Wybierz obiekt siatki.
  2. Wybierz przycisk lub Architektura → Narzędzia → Trzy widoki z menu głównego.

Tworzenie skryptów

Zobacz również: API: Architektura i Podstawy tworzenia skryptów FreeCAD.

Narzędzie Kształt z siatki może być używane w makrodefinicjach i z konsoli Python za pomocą następującej funkcji:

shape = createMeshView(obj, direction=FreeCAD.Vector(0, 0, -1), outeronly=False, largestonly=False)
  • Tworzy płaski shape, który jest rzutem danego obiektu siatki (obj) w danym direction.
  • Jeśli outeronly ma wartość True, tylko zewnętrzny kontur jest brany pod uwagę, odrzucając wewnętrzne otwory.
  • Jeśli largestonly ma wartość True, użyty zostanie tylko największy segment danej siatki.

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