|
|
| Emplacement du menu |
|---|
| Surface → Créer des sections transversales |
| Ateliers |
| Surface |
| Raccourci par défaut |
| Aucun |
| Introduit dans la version |
| 0.19 |
| Voir aussi |
| Aucun |
L'outil Surface Sections transversales crée une surface à partir d'une série d'arêtes transversales.
À gauche : les arêtes de contrôle (sections transversales).
À droite : la surface produite à partir de ces arêtes.
Un objet Surface Sections (classe Surface::Sections) sont dérivées de la classe de base Part Feature (classe Part::Feature via la sous-classe Part::Spline). Elles partagent donc toutes les propriétés de cette dernière.
Outre les propriétés décrites dans Part Feature, un objet Surface Sections a les propriétés suivantes dans l'éditeur de propriétés.
Sections
LinkSubList) : une liste d'arêtes qui seront utilisées pour construire la surface.
Base
Bool) : par défaut false. Mis à true, elle affichera une superposition avec les points de contrôle de la surface.
La forme de la surface dépend de la direction des arêtes choisies. Si des arêtes sont sélectionnées et que le résultat est une surface qui « se tord » sur elle-même, l'une des arêtes peut avoir besoin de sa liste de sommets dans l'ordre inverse. Voir les informations de Surface Remplir entre les courbes limites pour plus d'explications.
Voir aussi : FreeCAD Script de base.
L'outil Surface Sections peut être utilisé dans des macros et depuis la console Python en ajoutant l'objet Surface::Sections.
NSections de l'objet.import FreeCAD as App
import Draft
doc = App.newDocument()
pl1 = App.Placement()
obj1 = Draft.make_circle(50, placement=pl1, face=False, startangle=0, endangle=180)
pl2 = App.Placement(App.Vector(0, 0, 25), App.Rotation())
obj2 = Draft.make_circle(30, placement=pl2, face=False, startangle=0, endangle=180)
points3 = [App.Vector(18, -10, 50),
App.Vector(12, 10, 50),
App.Vector(-12, 10, 50),
App.Vector(-18, -10, 50)]
obj3 = Draft.make_bspline(points3)
points4 = [App.Vector(15, -20, 100),
App.Vector(0, 6, 100),
App.Vector(-15, -20, 100)]
obj4 = Draft.make_bspline(points4)
doc.recompute()
surf = doc.addObject("Surface::Sections", "Surface")
surf.NSections = [(obj1, "Edge1"),
(obj2, "Edge1"),
(obj3, "Edge1"),
(obj4, "Edge1")]
doc.recompute()