Powierzchnia 3D: Rozszerz powierzchnię

From FreeCAD Documentation
Revision as of 12:31, 23 January 2024 by Kaktus (talk | contribs) (Created page with "==Opcje==")
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

This command doesn't have any options. Either it works with the selection or not.

Properties

A Surface Extend object (Surface::Extend class) is derived from the basic Part Feature (Part::Feature class, through the Part::Spline subclass), therefore it shares all the latter's properties.

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()