Surface ExtendFace

From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page Surface ExtendFace and the translation is 19% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎français • ‎hrvatski • ‎italiano • ‎polski
Arrow-left.svg Pagina precedente: Surface Sections.svg Sections
Pagina successiva: CurveOnMesh Surface CurveOnMesh.svg Arrow-right.svg

Surface ExtendFace.svg Surface ExtendFace

Posizione nel menu
Surface → Extend face
Ambiente
Surface
Avvio veloce
Nessuno
Introdotto nella versione
0.17
Vedere anche
Nessuno

Descrizione

Surface ExtendFace.svg Surface ExtendFace estrapola una faccia o una superficie esistente dai bordi con i suoi parametri U e V locali.

Surface ExtendFace base example.png Surface ExtendFace example.png

Left: original face. Right: extended face.

Usage

  1. Make sure you have an object that has faces. The object could be created with the Workbench Surface.svg Surface Workbench but it could also be any other object, for example, created with Workbench Part.svg Part or Workbench PartDesign.svg PartDesign.
  2. Select the face to extend by clicking on it on the 3D view.
  3. Press Surface ExtendFace.svg Extend face.

Options

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

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

View

Base

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


Arrow-left.svg Pagina precedente: Surface Sections.svg Sections
Pagina successiva: CurveOnMesh Surface CurveOnMesh.svg Arrow-right.svg