Powierzchnia 3D: Rozszerz powierzchnię

From FreeCAD Documentation
Revision as of 12:36, 23 January 2024 by Kaktus (talk | contribs) (Created page with "Obiekt '''Rozszerz powierzchnię''' ''(klasa {{incode|Surface::Extend}})'' jest pochodną podstawowej klasy Część: Cecha ''(klasa {{incode|Part::Feature}}, poprzez klasę podrzędną {{incode|Part::Spline}})'', dlatego też dzieli z nią wszystkie jej właściwości.")
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.

In addition to the properties described in Part Feature, the Surface Filling has the following properties in the property editor.

Data

Base

  • DANEFace (LinkSub): the subelement from an object that will be extended; it must be a face.
  • DANETolerance (FloatConstraint): it defaults to 0.1.
  • DANEExtend UNeg (FloatConstraint): it defaults to 0.05. The ratio of the local U parameter that will be extended in the negative direction.
  • DANEExtend UPos (FloatConstraint): it defaults to 0.05. The ratio of the local U parameter that will be extended in the positive direction.
  • DANEExtend USymetric (Bool): it defaults to true, in which case DANEExtend UNeg and DANEExtend UPos will have the same value.
  • DANEExtend VNeg (FloatConstraint): it defaults to 0.05. The ratio of the local V that will be extended in the negative direction.
  • DANEExtend VPos (FloatConstraint): it defaults to 0.05. The ratio of the local V direction that will be extended in the positive direction.
  • DANEExtend VSymetric (Bool): it defaults to true, in which case DANEExtend VNeg and DANEExtend VPos will have the same value.
  • DANESampleU (IntegerConstraint): it defaults to 32.
  • DANESampleV (IntegerConstraint): it defaults to 32.

View

Base

  • WIDOKControl Points (Bool): it defaults to false; if set to true, it will show an overlay with the control points of the surface.

Scripting

See also: FreeCAD Scripting Basics.

The Surface Extend tool can be used in macros and from the Python console by adding the Surface::Extend object.

  • The face to extend must be assigned as a LinkSub to the Face property of the object. It must contain only a single face.
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()