|
Lokalizacja w menu |
---|
Modyfikacja → Przetnij płaszczyzną |
Środowisko pracy |
BIM |
Domyślny skrót |
brak |
Wprowadzono w wersji |
- |
Zobacz także |
brak |
Narzędzie Przytnij płaszczyzną tnie bryłę obiektu Architektury, taką jak ścianę lub konstrukcję za pomocą płaskiej płaszczyzny.
Po lewej: Przed zastosowaniem narzędzia Przetnij płaszczyzną. Środek: wynikowa ściana po zakończeniu cięcia. Po prawej: kolejny opcjonalny wynik.
Zobacz również: API: Architektura i Podstawy tworzenia skryptów FreeCAD.
Narzędzie Przetnij płaszczyzną może być używane w makrodefinicjach i z konsoli Python za pomocą następujących funkcji:
cutObj = cutComponentwithPlane(archObject, cutPlane, sideFace)
cutObj
z podanego archObject
, który jest przecinany przez cutPlane
, która jest powierzchnią innego obiektu.
archObject
powinien być SelectionObject
uzyskanym z FreeCADGui.Selection.SelectionEx()[0]
.cutPlane
powinien być FaceObject
uzyskanym z FreeCADGui.Selection.SelectionEx()[0].SubObjects[0]
.sideFace
określa, po której stronie FaceObject
zostanie utworzona objętość; objętość ta zostanie następnie użyta do odjęcia od archObject
. Jeśli sideFace
to 0
, zostanie utworzona objętość z tyłu obiektu, w przeciwnym razie zostanie ona utworzona z przodu obiektu.Przykład:
import FreeCAD, FreeCADGui, Draft, Arch
p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(2000, 2000, 0)
Line = Draft.makeWire([p1, p2])
Wall = Arch.makeWall(Line, width=150, height=2000)
p3 = FreeCAD.Vector(0, 2000, 0)
p4 = FreeCAD.Vector(3000, 0, 0)
Line2 = Draft.makeWire([p3, p4])
Wall2 = Arch.makeWall(Line2, width=150, height=2000)
FreeCAD.ActiveDocument.recompute()
# Select the Wall
main_object = FreeCADGui.Selection.getSelectionEx()[0]
# Select the face of Wall2
selection = FreeCADGui.Selection.getSelectionEx()[0]
cut_face = selection.SubObjects[0]
cutObj = Arch.cutComponentwithPlane(main_object, cut_face, 0)
FreeCAD.ActiveDocument.recompute()
Wall3 = Draft.move(Wall, FreeCAD.Vector(-4000, 0, 0), copy=True)
Wall4 = Draft.move(Wall2, FreeCAD.Vector(-4000, 0, 0), copy=True)
FreeCAD.ActiveDocument.recompute()
# Select the Wall3
main_object2 = FreeCADGui.Selection.getSelectionEx()[0]
# Select the face of Wall4
selection2 = FreeCADGui.Selection.getSelectionEx()[0]
cut_face2 = selection2.SubObjects[0]
cutObj2 = Arch.cutComponentwithPlane(main_object2, cut_face2, 1)
FreeCAD.ActiveDocument.recompute()