Sketcher: Oggetto schizzo

From FreeCAD Documentation
Revision as of 20:30, 10 June 2020 by Renatorivo (talk | contribs)
Other languages:

Introduzione

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, anche SketchObject può essere collegato a piani e facce. Inoltre, SketchObject è in grado di gestire i vincoli geometrici delle linee e delle curve disegnate al suo interno.

Diagramma semplificato delle relazioni tra gli oggetti principali in FreeCAD. La classe Sketcher::SketchObject è specializzata per le forme 2D e inoltre può gestire i vincoli.

Utilizzo

  1. Passare all'ambiente Sketcher.
  2. Premere Nuovo schizzo.
  3. Selezionare un orientamento: piano XY, piano XZ o piano YZ. Opzionalmente scegliere anche Direzione inversa, e assegnare un valore di Offset.
  4. Premere OK.

Sebbene SketchObject possa essere utilizzato da solo per disegnare su un piano, viene comunemente utilizzato insieme a PartDesign per creare solidi estrusi.

  1. Passare in PartDesign.
  2. Premere Crea un corpo.
  3. Premere Crea uno schizzo.
  4. Selezione della funzione: piano XY (piano base), piano XZ (piano base) o piano YZ (piano base).
  5. Premere OK.

Proprietà

Vedere Proprietà per tutti i tipi di proprietà che possono avere gli oggetti con script.

Un Sketcher SketchObject (classe Sketcher::SketchObject) deriva da un Part Part2DObject (Part::Part2DObject), quindi condivide tutte le proprietà di quest'ultimo.

Oltre alle proprietà descritte in Part Part2DObject, il corpo di PartDesign ha le seguenti proprietà nell'editor delle proprietà.

Dati

Attachment

  • DatiMap Mode: vedere Part Attachment per ulteriori informazioni su tutte le modalità di associazione.

Sketch

  • DatiConstraints: vincoli atribuiti, se esistono; altrimenti è un elenco [] vuoto.

Hidden properties Data

See Part Part2DObject for the rest of the hidden properties.

Base

  • DatiProxy (PythonObject): a custom class associated with this object. This only exists for the Python version. See Scripting.

Sketch

  • DatiGeometry (GeometryList): a list of Part geometries that exist inside the sketch.
  • DatiExternal Geometry (LinkSubList): a list of Part geometries outside this Sketch that are used for reference.

Vista

Auto Constraints

  • VistaAutoconstraints: se è true prova ad impostare i vincoli quando viene disegnata la geometria.

Visibility automation

  • VistaEditing Workbench: normalmente SketcherWorkbench, è il nome dell'ambiente da attivare durante la modifica dello schizzo.
  • VistaHide Dependent: se è true tutti gli oggetti che dipendono dallo schizzo vengono nascosti quando si apre lo schizzo.
  • VistaRestore Camera: se è true la posizione della telecamera viene salvata prima di aprire lo schizzo e viene ripristinata quando lo si chiude.
  • VistaShow Links: se è true tutti gli oggetti utilizzati nei collegamenti alla geometria esterna vengono visualizzati quando si apre lo schizzo.
  • VistaShow Support: se è true tutti gli oggetti a cui è associato questo schizzo vengono mostrati quando si apre lo schizzo.

Hidden properties View

Base

  • VistaProxy (PythonObject): a custom view provider class associated with this object. This only exists for the Python version. See Scripting.

Visibility automation

  • VistaTempo Vis (PythonObject): a custom class associated with this object, that handles hiding and showing other objects when opening and closing the sketch.

All other view properties, including hidden properties, are those of the base Part Feature object.

Script

Vedere anche: Script di base per FreeCAD, e script di oggetti.

Vedere Part Feature per le informazioni generali.

Un oggetto Sketcher 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"

This basic Sketcher::SketchObject doesn't have a Proxy object so it can't be fully used for sub-classing.

Therefore, for Python subclassing, you should create the Sketcher::SketchObjectPython object.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("Sketcher::SketchObjectPython", "CustomSketch")
obj.Label = "Custom label"