Architektura: Usuń komponent

From FreeCAD Documentation
Revision as of 15:19, 5 May 2024 by Kaktus (talk | contribs) (Created page with "* Usuwa podane obiekty w {{incode|objectsList}} z ich obiektów nadrzędnych. * Jeśli podano obiekt {{incode|host}}, funkcja ta spróbuje dodać obiekty w {{incode|objectsList}} jako otwory do {{incode|host}}.")

Architektura: Usuń komponent

Lokalizacja w menu
Architektura → Usuń komponent
Środowisko pracy
Architektura
Domyślny skrót
brak
Wprowadzono w wersji
-
Zobacz także
Linia cięcia, Przetnij płaszczyzną, Połącz obiekty

Opis

Narzędzia Remove pozwalają na wykonanie 2 rodzajów operacji:

  • Usunięcie komponentu podrzędnego z obiektu Architektury, na przykład usunięcie prostopadłościanu, który został dodany do ściany, jak w Połącz obiekty.
  • Odjęcie obiektu opartego na kształcie od komponentu Architektury, takiego jak ściana lub konstrukcja.

Odpowiednikiem tego narzędzia jest Połącz obiekty.

Prostopadłościan odjęty od ściany, pozostawiający w niej dziurę.

Użycie

  1. Wybierz komponent podrzędny wewnątrz obiektu Architektury.
  2. Naciśnij przycisk lub Architektura → Połącz obiekty z menu głównego.

lub

  1. Wybierz obiekty do odjęcia, ostatni wybrany obiekt musi być obiektem Architektury, od którego zostaną odjęte pozostałe obiekty.
  2. Naciśnij przycisk lub Architektura → Usuń komponent z menu głównego.

Tworzenie skryptów

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

Narzędzie Usuń komponent może być używane w makrodefinicjach i z konsoli Python za pomocą następującej funkcji:

removeComponents(objectsList, host=None)
  • Usuwa podane obiekty w objectsList z ich obiektów nadrzędnych.
  • Jeśli podano obiekt host, funkcja ta spróbuje dodać obiekty w objectsList jako otwory do host.

Przykład:

import FreeCAD, Draft, Arch

Line = Draft.makeWire([FreeCAD.Vector(0, 0, 0),FreeCAD.Vector(2000, 2000, 0)])
Wall = Arch.makeWall(Line, width=150, height=3000)

Box = FreeCAD.ActiveDocument.addObject("Part::Box", "Box")
Box.Length = 900
Box.Width = 450
Box.Height = 2000
FreeCAD.ActiveDocument.recompute()

Draft.rotate(Box, 45)
Draft.move(Box, FreeCAD.Vector(1000, 700, 0))

Arch.removeComponents(Box, Wall)
FreeCAD.ActiveDocument.recompute()