Powierzchnia 3D: Rozszerz powierzchnię

From FreeCAD Documentation
This page is a translated version of the page Surface ExtendFace and the translation is 100% complete.
Other languages:

Powierzchnia 3D: Rozszerz powierzchnię

Lokalizacja w menu
Surface → Extend face
Środowisko pracy
Powierzchnia 3D
Domyślny skrót
brak
Wprowadzono w wersji
0.17
Zobacz także
brak

Opis

Polecenie Rozszerz powierzchnię ekstrapoluje istniejącą ścianę lub powierzchnię na jej granicach za pomocą lokalnych parametrów U i V.

Po lewej: oryginalna powierzchnia. Po prawej: powierzchnia powiększona.

Użycie

  1. Upewnij się, że masz obiekt, który ma powierzchnie. Obiekt może być utworzony w środowisku pracy . Powierzchnia 3D, ale może to być również dowolny inny obiekt, na przykład utworzony za pomocą środowisk Część lub . Projekt Części.
  2. Wybierz ścianę do rozszerzenia, klikając ją w oknie widoku 3D.
  3. Naciśnij przycisk . Rozszerz powierzchnię.

Opcje

To polecenie nie ma żadnych opcji. Może działać z zaznaczeniem wstępnym lub jego brakiem.

Właściwości

Obiekt Rozszerz powierzchnię (klasa Surface::Extend) jest pochodną podstawowej klasy Część: Cecha (klasa Part::Feature, poprzez klasę podrzędną Part::Spline), dlatego też dzieli z nią wszystkie jej właściwości.

Oprócz właściwości opisanych na stronie Cecha części, obiekt Rozszerz powierzchnię, posiada następujące właściwości w edytorze właściwości.

Dane

Podstawa

  • DANEŚciana (LinkSub): element podrzędny obiektu, który zostanie rozszerzony. Musi to być powierzchnia.
  • DANETolerancja (FloatConstraint): wartość domyślna to 0.1.
  • DANEExtend UNeg (FloatConstraint): Wartość domyślna to 0.05. Stosunek lokalnego parametru U, który zostanie rozszerzony w kierunku ujemnym.
  • DANEExtend UPos (FloatConstraint): Wartość domyślna to 0.05. Stosunek lokalnego parametru U, który zostanie rozszerzony w kierunku dodatnim.
  • DANEExtend USymetric (Bool): Wartość domyślna to PRAWDA, w którym to przypadku DANEExtend UNeg i DANEExtend UPos będą miały tę samą wartość.
  • DANEExtend VNeg (FloatConstraint): Wartość domyślna to 0.05. Stosunek lokalnego V, który zostanie rozszerzony w kierunku ujemnym.
  • DANEExtend VPos (FloatConstraint): Wartość domyślna to 0.05. Stosunek lokalnego kierunku V, który zostanie rozszerzony w kierunku dodatnim.
  • DANEExtend VSymetric (Bool): Wartość domyślna to PRAWDA, w którym to przypadku DANEExtend VNeg i DANEExtend VPos będą miały tę samą wartość.
  • DANESampleU (IntegerConstraint): Wartość domyślna to 32.
  • DANESampleV (IntegerConstraint): Wartość domyślna to 32.

Widok

Podstawa

  • WIDOKPunkty kontrolne (Bool): wartość domyślna to FAŁSZ, Jeśli ustawiono PRAWDA, wyświetlona zostanie nakładka z punktami kontrolnymi krzywej.

Tworzenie skryptów

Zobacz również: FreeCAD podstawy tworzenia skryptów.

Narzędzie Surface Extend może być używane w makrodefinicjach i z konsoli Python poprzez dodanie obiektu Surface::Extend.

  • Powierzchnia do rozszerzenia musi być przypisana jako struktura danych LinkSub do właściwości Face obiektu. Musi ona zawierać tylko jedną powierzchnię.
import FreeCAD as App
import Draft

doc = App.newDocument()

a = App.Vector(-20, -20, 0)
b = App.Vector(-18, 25, 0)
c = App.Vector(60, 26, 0)
d = App.Vector(33, -20, 0)

points = [a, App.Vector(-20, -8, 0), b, c,
          App.Vector(37, 4, 0), d,
          App.Vector(-2, -18, 0), a]
obj = Draft.make_bspline(points)
doc.recompute()

if App.GuiUp:
    obj.ViewObject.Visibility = False

surf = doc.addObject("Surface::Filling", "Surface")
surf.BoundaryEdges = [(obj, "Edge1")]
doc.recompute()

# ---------------------------------------------------------
points_spl = [App.Vector(-10, 0, 2),
              App.Vector(4, 0, 7),
              App.Vector(18, 0, -5),
              App.Vector(25, 0, 0),
              App.Vector(30, 0, 0)]
aux_edge = Draft.make_bspline(points_spl)
doc.recompute()

surf.UnboundEdges = [(aux_edge, "Edge1")]
doc.recompute()

# ---------------------------------------------------------
surf_extended = doc.addObject("Surface::Extend", "Surface")
surf_extended.Face = [surf, "Face1"]
doc.recompute()