Un Sketcher SketchObject, o formalmente un Sketcher::SketchObject
, è l'elemento base per creare oggetti 2D con l'ambiente Sketcher.
Sketcher::SketchObject
deriva da Part Part2DObject, il che significa che è un oggetto Part Feature specializzato per la geometria 2D. Come Part2DObject, SketchObject può essere collegato a piani e facce. Inoltre, SketchObject può gestire vincoli geometrici.
Diagramma semplificato delle relazioni tra gli oggetti principali in FreeCAD
Vedere Sketcher NewSketch.
Vedere Proprietà per tutti i tipi di proprietà che possono avere gli oggetti con script.
La classe Sketcher SketchObject (classe Sketcher::SketchObject
) deriva dalla classe Part Part2DObject (classe Part::Part2DObject
) e ne eredita tutte le proprietà.
SketchObject di Sketcher ha anche le seguenti proprietà aggiuntive nella Property View. Le proprietà nascoste possono essere visualizzate utilizzando il comando Mostra nascoste nel menu contestuale della Vista proprietà.
Base
PartShape
): TBD.Internal Geometry
Bool
): se true i bordi intersecanti vengono divisi (non sembra funzionare).Sketch
GeometryList
): un elenco delle geometrie delle parti presenti all'interno dello schizzo.[]
.LinkSubList
): un elenco di geometrie di parti esterne a questo schizzo che vengono utilizzate come riferimento.IntegerList
): tipo di geometria esterna dello schizzo: 0
(proiezione), 1
(intersezione) o 2
(entrambi), disponibile dalla versione 1.1.Bool
): se è true lo schizzo è completamente vincolato.LinkListHidden
): geometria di esportazione dello schizzo.GeometryList
): schizzo della geometria esterna.Precision
): tolleranza per l'adattamento della proiezione degli archi della geometria esterna.
Auto Constraints
Bool
): se impostato su true, i vincoli vengono aggiunti automaticamente durante il disegno della geometria.Bool
): se impostato su true, i vincoli ridondanti vengono automaticamente evitati.Grid
Bool
): se impostato su true, la griglia viene ridimensionata in base al riquadro di delimitazione della geometria dello schizzo.Length
): la dimensione della spaziatura delle linee della griglia locale nella Vista 3D; il valore predefinito è 10 mm
.Bool
): se impostato su true, nella Vista 3D verrà visualizzata una griglia locale all'oggetto. Questa griglia è indipendente dalla Griglia di Draft.Layers
BadType
):Object Style
Bool
): se true, l'oggetto verrà colorato in base alle preferenze dell'utente. Impostare su false
per specificare il colore in modo esplicito.Visibility automation
String
): nome dell'ambiente da attivare durante la modifica dello schizzo; il valore predefinito è SketcherWorkbench
.Bool
): se è true, la telecamera verrà forzata alla modalità di visualizzazione ortografica quando lo schizzo viene aperto.Bool
): se è true, tutti gli oggetti che dipendono dallo schizzo vengono nascosti quando lo schizzo viene aperto.Bool
): se è true, la posizione della telecamera viene salvata prima di aprire lo schizzo e viene ripristinata dopo averlo chiuso.Bool
): se è true, solo (parti di) oggetti dietro il piano dello schizzo sono visibili mentre lo schizzo viene modificato.Bool
): se è true, tutti gli oggetti utilizzati nei collegamenti alla geometria esterna vengono mostrati quando si apre lo schizzo.Bool
): se è true, tutti gli oggetti a cui è allegato questo schizzo vengono mostrati quando lo schizzo viene aperto.PythonObject
): una classe personalizzata associata a questo oggetto, che gestisce l'occultamento e la visualizzazione di altri oggetti durante l'apertura e la chiusura dello schizzo.
Vedere anche: Nozioni di base sullo scripting di FreeCAD e script di oggetti.
Per informazioni generali sull'aggiunta di oggetti al documento, vedere Part Feature.
Uno SketchObject viene creato con il metodo addObject()
del documento.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("Sketcher::SketchObject", "Sketch")
obj.Label = "Custom label"
Per la sottoclasse in Python si deve creare l'oggetto Sketcher::SketchObjectPython
.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("Sketcher::SketchObjectPython", "CustomSketch")
obj.Label = "Custom label"