Surface Filling/it: Difference between revisions

From FreeCAD Documentation
(Created page with "La superficie può essere modificata aggiungendo bordi di vincolo e vertici attraverso i quali la superficie deve passare.")
(Updating to match new version of source page)
(43 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{UnfinishedDocu{{#translation:}}}}
{{Docnav/it||[[Surface_GeomFillSurface/it|Fill boundary curves]]|[[Surface_Module/it|Surface]]|IconL=|IconC=Workbench_Surface.svg|IconR=BSplineSurf.svg}}


{{Docnav/it||[[Surface_GeomFillSurface/it|Fill boundary curves]]|[[Surface_Workbench/it|Surface]]|IconL=|IconC=Workbench_Surface.svg|IconR=BSplineSurf.svg}}
{{GuiCommand/it|Name=Surface Filling|Name/it=Surface Filling|MenuLocation=Surface → Riempimento...|Workbenches=[[Surface Module/it|Surface|Version=0.17]]|}}

{{GuiCommand/it|Name=Surface Filling|Name/it=Surface Filling|MenuLocation=Surface → Riempimento...|Workbenches=[[Surface_Workbench/it|Surface|Version=0.17]]|}}


==Descrizione==
==Descrizione==


<div class="mw-translate-fuzzy">
[[File:Surface_Filling.svg|16px]] [[Surface_Filling/it|Surface Filling]] crea una superficie da una serie di bordi collegati.
[[File:Surface_Filling.svg|16px]] [[Surface_Filling/it|Surface Filling]] crea una superficie da una serie di bordi collegati.
</div>


<div class="mw-translate-fuzzy">
La superficie può essere modificata aggiungendo bordi di vincolo e vertici attraverso i quali la superficie deve passare.
Gli spigoli di base che formano il contorno chiuso, così come i vertici e gli spigoli ausiliari, possono appartenere a curve 2D di [[File:Workbench_Draft.svg|16px]] [[Part_Workbench/it|Draft]] o di [[File:Workbench_Sketcher.svg|16px]] [[Sketcher_Workbench/it|Sketcher]], ma possono anche appartenere a oggetti solidi 3D come quelli creati con [[File:Workbench_Part.svg|16px]] [[Part_Workbench/it|Part]] o [[File:Workbench_PartDesign.svg|16px]] [[PartDesign_Workbench/it|PartDesign]].
</div>


[[Image:Surface_Filling_example.png|600px]]
[[Image:Surface_Filling_example.png|600px]]
<div class="mw-translate-fuzzy">

{{Caption|Esempio di una superficie riempita, delimitata da quattro spigoli situati nel piano XY; (a sinistra) solo i quattro bordi e (a destra) una curva aggiunta nello spazio che definisce la curvatura della superficie}}
{{Caption|Esempio di una superficie riempita, delimitata da quattro spigoli situati nel piano XY; (a sinistra) solo i quattro bordi e (a destra) una curva aggiunta nello spazio che definisce la curvatura della superficie}}
</div>


== Utilizzo ==
== Utilizzo ==


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
# Assicurarsi di avere almeno tre bordi o curve nello spazio che formano un contorno chiuso. I bordi possono essere creati con gli strumenti di [[File:Workbench_Draft.svg|16px]] [[Draft_Workbench/it|Draft]] o di [[File:Workbench_Sketcher.svg|16px]] [[Sketcher_Workbench/it|Sketcher]]. L'uso di tre bordi crea una superficie triangolare; quattro bordi una superficie quadrilatera.
# Premere il pulsante {{Button|[[File:Filling.svg|24px]] '''Filling...'''}} dal menu Surface.
#* Se è il caso, all'interno del contorno chiuso possono essere disegnate delle curve. Non è necessario che tocchino i bordi. Queste curve possono essere utilizzate per controllare la curvatura della superficie risultante.
# Passaggi determinati dalle esigenze.
#* Allo stesso modo, è possibile utilizzare un numero di vertici con lo stesso scopo per indicare dove deve passare la superficie.
# Impostare le opzioni e premere {{Button|OK}}.
# Premere il pulsante {{Button|[[File:Surface_Filling.svg|16px]] Surface filling}}.
# Nella sezione {{MenuCommand|Boundary}}, premere {{Button|Add edge}}.
# Usare il puntatore per selezionare i bordi desiderati nella [[3D_view/it|vista 3D]]; viene visualizzata un'anteprima della forma finale dopo aver selezionato i bordi validi che formano un contorno chiuso.
#* Come opzione, andare alla sezione {{MenuCommand|Curvature: non-boundary edges}} (bordi non di confine), premere {{Button|Add edge}}, e selezionare i bordi desiderati nella [[3D_view/it|vista 3D]].
#* Come opzione, andare alla sezione {{MenuCommand|Curvature: non-boundary vertices}} (vertici non di confine), premere {{Button|Add vertex}}, e scegliere i vertici desiderati nella [[3D_view/it|vista 3D]].
# Premere {{Button|OK}} per completare l'operazione.
</div>
</div>

The base edges that form the closed contour, as well as the auxiliary vertices and edges, can belong to 2D curves from [[File:Workbench_Draft.svg|24px]] [[Draft_Module|Draft]] or the [[File:Workbench_Sketcher.svg|24px]] [[Sketcher_Workbench|Sketcher]], but can also belong to 3D solid objects such as those created with the [[File:Workbench_Part.svg|24px]] [[Part_Module|Part]] or [[File:Workbench_PartDesign.svg|24px]] [[PartDesign_Workbench|PartDesign Workbenches]].


== Opzioni ==
== Opzioni ==


<div class="mw-translate-fuzzy">
* {{MenuCommand|Boundary}} section:
* Nella sezione {{MenuCommand|Boundary}}:
** {{Button|Add edge}}: press once to start picking {{MenuCommand|Boundary edges}} in the [[3D_view|3D view]]. Straight edges such as {{Button|[[File:Draft_Wire.svg|16px]] [[Draft_Wire|Draft Wires]]}} and {{Button|[[File:Sketcher_CreatePolyline.svg|16px]] [[Sketcher_CreatePolyline|Sketcher Polylines]]}}, or curved edges such as {{Button|[[File:Draft_BSpline.svg|16px]] [[Draft_BSpline|Draft BSplines]]}} and {{Button|[[File:Sketcher_CreateBSpline.svg|16px]] [[Sketcher_CreateBSpline|Sketcher BSplines]]}} can be chosen, as well as any edge from solid objects, like those of {{Button|[[File:PartDesign_Body.svg|16px]] [[PartDesign_Body|PartDesign Bodies]]}} and {{Button|[[File:Part_Primitives.svg|16px]] [[Part_Primitives|Part Primitives]]}}.
** {{Button|Add edge}}: premere una volta per iniziare a selezionare i bordi {{MenuCommand|Boundary edges}} nella [[3D_view/it|vista 3D]]. Possono essere selezionati i bordi dritti come le [[File:Draft_Wire.svg|16px]] [[Draft_Wire/it|polilinee di Draft]] e le [[File:Sketcher_CreatePolyline.svg|16px]] [[Sketcher_CreatePolyline/it|polilinee di Sketcher]], o i bordi curvi come le [[File:Draft_BSpline.svg|16px]] [[Draft_BSpline/it|BSpline di Draft]] e le [[File:Sketcher_CreateBSpline.svg|16px]] [[Sketcher_CreateBSpline/it|BSpline di Sketcher ]], così come qualsiasi bordo di oggetti solidi, come quelli di un [[File:PartDesign_Body.svg|16px]] [[PartDesign_Body/it|Corpo]] e le [[File:Part_Primitives.svg|16px]] [[Part_Primitives/it|Primitive di Part]].
** {{Button|Remove edge}}: press once to start picking edges in the [[3D_view|3D view]]; these edges must have been previously picked with {{Button|Add edge}}.
** {{Button|Remove edge}}: premere una volta per iniziare a selezionare i bordi nella vista 3D; questi bordi devono essere stati precedentemente selezionati con {{Button|Add edge}}.
** {{KEY|Right mouse button}}: open the context menu and select {{Button|Remove}}, or press {{KEY|Del}} in the keyboard, to remove the currently selected edge in the list.
** {{KEY|Right mouse button}}: aprire il menu contestuale e selezionare {{Button|Remove}}, o premere {{KEY|Del}} sulla tastiera, per rimuovere il bordo attualmente selezionato nell'elenco.
</div>


<div class="mw-translate-fuzzy">
* {{MenuCommand|Curvature: non-boundary edges}} section; the {{Button|Add edge}} button is available to pick auxiliary edges (straight lines or B-Splines) to control the curvature of the surface. The surface will be forced to pass through these auxiliary edges. This works best when the auxiliary edges lie inside the region delimited by the {{MenuCommand|Boundary edges}}.
* Nella sezione {{MenuCommand|Curvature: non-boundary edges}}; il pulsante {{Button|Add edge}} è disponibile per selezionare bordi ausiliari (linee rette o B-Splines) per controllare la curvatura della superficie. La superficie sarà costretta a passare attraverso questi bordi ausiliari. Funziona meglio quando i bordi ausiliari si trovano all'interno della regione delimitata da {{MenuCommand|Boundary edges}}.
* {{MenuCommand|Curvature: non-boundary vertices}} section; similar to the non-boundary edges, the user can pick auxiliary vertices to control the curvature. These vertices may be free standing {{Button|[[File:Draft_Point.svg|16px]] [[Draft_Point|Draft Points]]}} or {{Button|[[File:Part_Point.svg|16px]] [[Part_Point|Part Points]]}}, or may belong to any edge (straight lines or B-Splines), or be a corner vertex in a solid object. In this case, the surface will be constrained to pass through these auxiliary points.
* Nella sezione {{MenuCommand|Curvature: non-boundary vertices}}; simile a non-boundary edges, l'utente può selezionare vertici ausiliari per controllare la curvatura. Questi vertici possono essere indipendenti [[File:Draft_Point.svg|16px]] [[Draft_Point/it| punti di Draft]] o [[File:Part_Point.svg|16px]] [[Part_Point/it|punti di Part]], o possono appartenere a qualsiasi bordo (linee rette o B-Splines) o essere un vertice in un oggetto solido. In questo caso, la superficie sarà vincolata a passare attraverso questi punti ausiliari.
* Press {{Button|Cancel}} or {{KEY|Esc}} to abort the current operation.
* Premere {{Button|Cancel}} o {{KEY|Esc}} per interrompere l'operazione corrente.
</div>


* In the {{MenuCommand|Vertex constraints}} section non-boundary vertices can be specified:
== Proprietà ==
** The selection options are similar to those for boundary edges.


* Press {{KEY|Esc}} or the {{Button|Cancel}} button to abort the operation.
A [[Surface_Filling|Surface Filling]] ({{incode|Surface::Filling}} class) is derived from the basic [[Part_Feature|Part Feature]] ({{incode|Part::Feature}} class, through the {{incode|Part::Spline}} subclass), therefore it shares all the latter's properties.


== Example ==
In addition to the properties described in [[Part_Feature|Part Feature]], the Surface Filling has the following properties in the [[property_editor|property editor]].


The {{MenuCommand|Support surface}} acts as an additional constraint for the surface. The following simple example will give you an idea how this works:
=== Data ===


# In the [[File:Workbench_Part.svg|16px]] [[Part_Workbench|Part Workbench]] create a [[File:Part_Cylinder.svg|16px]][[Part_Cylinder|cylinder]] and set its {{PropertyData|Angle}} to {{Value|180°}}.
{{TitleProperty|Filling}}
# Switch to the [[File:Workbench_Surface.svg|16px]] [[Surface_Workbench|Surface Workbench]] and press the {{Button|[[File:Surface_Filling.svg|16px]] [[Surface_Filling|Filling]]}} button.
# Select the two semi-circular edges and the two straight edges that connect them.
# The result matches the four boundary edges, but the inner shape is quite different from the cylindrical face.
# Edit the Surface object and for the {{MenuCommand|Support surface}} select the cylindrical face.
# The modified shape matches the cylindrical face much more closely.

== Proprietà ==

Una [[Surface_Filling/it|Surface Filling]] (classe {{incode|Surface::Filling}}) è derivato dalla base [[Part_Feature/it|Part Feature]] (classe {{incode|Part::Feature}}, attraverso la sottoclasse {{incode|Part::Spline}}), quindi condivide tutte le proprietà di quest'ultima.


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Oltre alle proprietà descritte in [[Part Feature/it|Part Feature]], Surface Filling ha le seguenti proprietà nell'[[property editor/it|editor delle proprietà]].
* {{PropertyData/it|Property}}: description of the property
* {{PropertyView/it|Property}}: description of the property
</div>
</div>


=== View ===
===Dati===


{{TitleProperty|Base}}
{{TitleProperty|Filling}}


* {{PropertyData|Boundary Edges|LinkSubList}}: bordi di confine; C0 è richiesto per i bordi senza una faccia corrispondente.
* {{PropertyView|Control Points|Bool}}: it defaults to {{FALSE}}; if set to {{TRUE}}, it will show an overlay with the control points of the surface.
* {{PropertyData|Boundary Faces|StringList}}:
* {{PropertyData|Boundary Order|IntegerList}}: ordine di vincolo sulle facce del contorno; sono possibili {{Value|0}}, {{Value|1}}, e {{Value|2}}.
* {{PropertyData|Unbound Edges|LinkSubList}}: bordi di vincoli non legati; C0 è richiesto per i bordi senza una faccia corrispondente.
* {{PropertyData|Unbound Faces|StringList}}:
* {{PropertyData|Unbound Order|IntegerList}}: ordine di vincolo sulle facce non legate; sono possibili {{Value|0}}, {{Value|1}}, e {{Value|2}}.
* {{PropertyData|Free Faces|LinkSubList}}: vincolo su una faccia libera.
* {{PropertyData|Free Order|IntegerList}}: ordine di vincolo sulle facce libere.
* {{PropertyData|Points|LinkSubList}}: punti di vincolo sulla superficie.
* {{PropertyData|Initial Face|LinkSub}}: superficie iniziale da utilizzare.
* {{PropertyData|Degree|Integer}}: grado iniziale, il valore predefinito è {{Value|3}}.
* {{PropertyData|Points On Curve|Integer}}: numero di punti su un bordo per vincolarlo.
* {{PropertyData|Iterations|Integer}}: numero di iterazioni, il valore predefinito è {{Value|2}}.
* {{PropertyData|Anisotropy|Bool}}: il valore predefinito è {{false}}.
* {{PropertyData|Tolerance2d|Float}}: tolleranza 2D, il valore predefinito è {{Value|0.0}}.
* {{PropertyData|Tolerance3d|Float}}: tolleranza 3D, il valore predefinito è {{Value|0.0}}.
* {{PropertyData|Tol Angular|Float}}: tolleranza G1, il valore predefinito è {{Value|0.01}}.
* {{PropertyData|Tol Curvature|Float}}: tolleranza G2, il valore predefinito è {{Value|0.10}}.
* {{PropertyData|Maximum Degree|Integer}}: grado massimo della curva, il valore predefinito è {{Value|8}}.
* {{PropertyData|Maximum Segments|Integer}}: numero massimo di segmenti, il valore predefinito è {{Value|9}}.


===Vista===
== Limitations ==


{{TitleProperty|Base}}
The surface code from the internal [[OpenCASCADE|OpenCASCADE]] modelling kernel is fragile, and cannot handle wrong input properly. The following situations may cause problems, and may crash the program, so they should be avoided:
* Adding {{PropertyData|Boundary Edges}} to that would result in several closed faces. In this case, those edges should be added as {{PropertyData|Unbound Edges}} to control the curvature only.
* Using parametric {{PropertyData|Boundary Edges}} (for example, {{Button|[[File:Draft_BSpline.svg|16px]] [[Draft_BSpline|Draft_BSplines]]}}) that when recomputed fail to produce a closed boundary. That is, the edges to be used as {{PropertyData|Boundary Edges}} must always form a closed shape, even if their internal properties change.


* {{PropertyView|Control Points|Bool}}: il valore predefinito è {{incode|false}}; se impostato su {{incode|true}}, mostrerà una sovrapposizione con i punti di controllo della superficie.
== Scripting ==


==Script==
{{Emphasis|See also:}} [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].


{{Emphasis|Vedere anche:}} [[FreeCAD Scripting Basics/it|Script di base per FreeCAD]]
The Surface Filling tool can be used in [[macros|macros]] and from the [[Python|Python]] console by adding the {{incode|Surface::Filling}} object.

* The edges to be used to define the surface must be assigned as a [[LinkSubList|LinkSubList]] to the {{incode|BoundaryEdges}} property of the object.
<div class="mw-translate-fuzzy">
* Auxiliary edges and vertices must be assigned as a [[LinkSubList|LinkSubLists]] to the {{incode|UnboundEdges}} and {{incode|Points}} properties of the object.
Lo strumento Surface Filling può essere utilizzato nelle [[macros/it|macro]] e dalla console [[Python/it|Python]] aggiungendo l'oggetto {{incode|Surface::Filling}}.
* All objects with edges need to be computed before they can be used as input for the properties of the Filling object.
* I bordi da utilizzare per definire la superficie devono essere assegnati come [[LinkSubList/it|LinkSubList]] alla proprietà {{incode|BoundaryEdges}} dell'oggetto.
* Gli spigoli ausiliari e i vertici devono essere assegnati come [[LinkSubList/it|LinkSubLists]] alle proprietà {{incode|UnboundEdges}} e {{incode|Points}} dell'oggetto.
* Tutti gli oggetti con bordi devono essere calcolati prima di poter essere utilizzati come input per le proprietà dell'oggetto Filling.
</div>


{{Code|code=
{{Code|code=
Line 127: Line 170:
}}
}}



{{Docnav/it||[[Surface_GeomFillSurface/it|Fill boundary curves]]|[[Surface_Module/it|Surface]]|IconL=|IconC=Workbench_Surface.svg|IconR=BSplineSurf.svg}}
{{Docnav/it||[[Surface_GeomFillSurface/it|Fill boundary curves]]|[[Surface_Workbench/it|Surface]]|IconL=|IconC=Workbench_Surface.svg|IconR=BSplineSurf.svg}}


{{Surface Tools navi{{#translation:}}}}
{{Surface Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Revision as of 10:01, 6 May 2022

Other languages:

Surface Filling

Posizione nel menu
Surface → Riempimento...
Ambiente
Surface|Version=0.17
Avvio veloce
Nessuno
Introdotto nella versione
-
Vedere anche
Nessuno

Descrizione

Surface Filling crea una superficie da una serie di bordi collegati.

Gli spigoli di base che formano il contorno chiuso, così come i vertici e gli spigoli ausiliari, possono appartenere a curve 2D di Draft o di Sketcher, ma possono anche appartenere a oggetti solidi 3D come quelli creati con Part o PartDesign.

Esempio di una superficie riempita, delimitata da quattro spigoli situati nel piano XY; (a sinistra) solo i quattro bordi e (a destra) una curva aggiunta nello spazio che definisce la curvatura della superficie

Utilizzo

  1. Assicurarsi di avere almeno tre bordi o curve nello spazio che formano un contorno chiuso. I bordi possono essere creati con gli strumenti di Draft o di Sketcher. L'uso di tre bordi crea una superficie triangolare; quattro bordi una superficie quadrilatera.
    • Se è il caso, all'interno del contorno chiuso possono essere disegnate delle curve. Non è necessario che tocchino i bordi. Queste curve possono essere utilizzate per controllare la curvatura della superficie risultante.
    • Allo stesso modo, è possibile utilizzare un numero di vertici con lo stesso scopo per indicare dove deve passare la superficie.
  2. Premere il pulsante Surface filling.
  3. Nella sezione Boundary, premere Add edge.
  4. Usare il puntatore per selezionare i bordi desiderati nella vista 3D; viene visualizzata un'anteprima della forma finale dopo aver selezionato i bordi validi che formano un contorno chiuso.
    • Come opzione, andare alla sezione Curvature: non-boundary edges (bordi non di confine), premere Add edge, e selezionare i bordi desiderati nella vista 3D.
    • Come opzione, andare alla sezione Curvature: non-boundary vertices (vertici non di confine), premere Add vertex, e scegliere i vertici desiderati nella vista 3D.
  5. Premere OK per completare l'operazione.

Opzioni

  • Nella sezione Boundary:
    • Add edge: premere una volta per iniziare a selezionare i bordi Boundary edges nella vista 3D. Possono essere selezionati i bordi dritti come le polilinee di Draft e le polilinee di Sketcher, o i bordi curvi come le BSpline di Draft e le BSpline di Sketcher , così come qualsiasi bordo di oggetti solidi, come quelli di un Corpo e le Primitive di Part.
    • Remove edge: premere una volta per iniziare a selezionare i bordi nella vista 3D; questi bordi devono essere stati precedentemente selezionati con Add edge.
    • Right mouse button: aprire il menu contestuale e selezionare Remove, o premere Del sulla tastiera, per rimuovere il bordo attualmente selezionato nell'elenco.
  • Nella sezione Curvature: non-boundary edges; il pulsante Add edge è disponibile per selezionare bordi ausiliari (linee rette o B-Splines) per controllare la curvatura della superficie. La superficie sarà costretta a passare attraverso questi bordi ausiliari. Funziona meglio quando i bordi ausiliari si trovano all'interno della regione delimitata da Boundary edges.
  • Nella sezione Curvature: non-boundary vertices; simile a non-boundary edges, l'utente può selezionare vertici ausiliari per controllare la curvatura. Questi vertici possono essere indipendenti punti di Draft o punti di Part, o possono appartenere a qualsiasi bordo (linee rette o B-Splines) o essere un vertice in un oggetto solido. In questo caso, la superficie sarà vincolata a passare attraverso questi punti ausiliari.
  • Premere Cancel o Esc per interrompere l'operazione corrente.
  • In the Vertex constraints section non-boundary vertices can be specified:
    • The selection options are similar to those for boundary edges.
  • Press Esc or the Cancel button to abort the operation.

Example

The Support surface acts as an additional constraint for the surface. The following simple example will give you an idea how this works:

  1. In the Part Workbench create a cylinder and set its DatiAngle to 180°.
  2. Switch to the Surface Workbench and press the Filling button.
  3. Select the two semi-circular edges and the two straight edges that connect them.
  4. The result matches the four boundary edges, but the inner shape is quite different from the cylindrical face.
  5. Edit the Surface object and for the Support surface select the cylindrical face.
  6. The modified shape matches the cylindrical face much more closely.

Proprietà

Una Surface Filling (classe Surface::Filling) è derivato dalla base Part Feature (classe Part::Feature, attraverso la sottoclasse Part::Spline), quindi condivide tutte le proprietà di quest'ultima.

Oltre alle proprietà descritte in Part Feature, Surface Filling ha le seguenti proprietà nell'editor delle proprietà.

Dati

Filling

  • DatiBoundary Edges (LinkSubList): bordi di confine; C0 è richiesto per i bordi senza una faccia corrispondente.
  • DatiBoundary Faces (StringList):
  • DatiBoundary Order (IntegerList): ordine di vincolo sulle facce del contorno; sono possibili 0, 1, e 2.
  • DatiUnbound Edges (LinkSubList): bordi di vincoli non legati; C0 è richiesto per i bordi senza una faccia corrispondente.
  • DatiUnbound Faces (StringList):
  • DatiUnbound Order (IntegerList): ordine di vincolo sulle facce non legate; sono possibili 0, 1, e 2.
  • DatiFree Faces (LinkSubList): vincolo su una faccia libera.
  • DatiFree Order (IntegerList): ordine di vincolo sulle facce libere.
  • DatiPoints (LinkSubList): punti di vincolo sulla superficie.
  • DatiInitial Face (LinkSub): superficie iniziale da utilizzare.
  • DatiDegree (Integer): grado iniziale, il valore predefinito è 3.
  • DatiPoints On Curve (Integer): numero di punti su un bordo per vincolarlo.
  • DatiIterations (Integer): numero di iterazioni, il valore predefinito è 2.
  • DatiAnisotropy (Bool): il valore predefinito è false.
  • DatiTolerance2d (Float): tolleranza 2D, il valore predefinito è 0.0.
  • DatiTolerance3d (Float): tolleranza 3D, il valore predefinito è 0.0.
  • DatiTol Angular (Float): tolleranza G1, il valore predefinito è 0.01.
  • DatiTol Curvature (Float): tolleranza G2, il valore predefinito è 0.10.
  • DatiMaximum Degree (Integer): grado massimo della curva, il valore predefinito è 8.
  • DatiMaximum Segments (Integer): numero massimo di segmenti, il valore predefinito è 9.

Vista

Base

  • VistaControl Points (Bool): il valore predefinito è false; se impostato su true, mostrerà una sovrapposizione con i punti di controllo della superficie.

Script

Vedere anche: Script di base per FreeCAD

Lo strumento Surface Filling può essere utilizzato nelle macro e dalla console Python aggiungendo l'oggetto Surface::Filling.

  • I bordi da utilizzare per definire la superficie devono essere assegnati come LinkSubList alla proprietà BoundaryEdges dell'oggetto.
  • Gli spigoli ausiliari e i vertici devono essere assegnati come LinkSubLists alle proprietà UnboundEdges e Points dell'oggetto.
  • Tutti gli oggetti con bordi devono essere calcolati prima di poter essere utilizzati come input per le proprietà dell'oggetto Filling.
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)

points1 = [a, App.Vector(-20, -8, 0), App.Vector(-17, 7, 0), b]
obj1 = Draft.make_bspline(points1)

points2 = [b, App.Vector(0, 25, 0), c]
obj2 = Draft.make_bspline(points2)

points3 = [c, App.Vector(37, 4, 0), d]
obj3 = Draft.make_bspline(points3)

points4 = [d, App.Vector(-2, -18, 0), a]
obj4 = Draft.make_bspline(points4)
doc.recompute()

surf = doc.addObject("Surface::Filling", "Surface")
surf.BoundaryEdges = [(obj1, "Edge1"),
                      (obj2, "Edge1"),
                      (obj3, "Edge1"),
                      (obj4, "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()

# ---------------------------------------------------------
aux_v1 = Draft.make_line(App.Vector(-13, -12, 5),
                         App.Vector(-13, -12, -5))
aux_v2 = Draft.make_line(App.Vector(-3, 18, 5),
                         App.Vector(-3, 18, -5))
doc.recompute()

surf.Points = [(aux_v1, "Vertex2"),
               (aux_v2, "Vertex1")]
doc.recompute()