OpenSCAD Workbench/it



Il modulo OpenSCAD è in una fase di sviluppo iniziale.

Contiene un importatore che permette di aprire i file .csg di OpenSCAD in FreeCAD.

This workbench contains functions to modify the CSG feature tree and repair models.



OpenSCAD: Linguaggio e formato dei file
Il linguaggio OpenSCAD consente l'utilizzo di variabili e loop. Esso consente di specificare sotto-moduli per riutilizzare la geometria e il codice. Questo alto grado di flessibilità rende l'analisi sintattica molto complessa. Attualmente il modulo OpenSCAD in FreeCAD non in grado di gestire il linguaggio nativo di OpenSCAD. Invece, se OpenSCAD è installato, può essere utilizzato per convertire l'ingresso in un formato di output denominato 'CSG'. È un sottoinsieme del linguaggio OpenSCAD e può essere utilizzato come ingresso di OpenSCAD per una ulteriore elaborazione.

Durante la conversione si perde tutto il comportamento parametrico - tutti i nomi delle variabili vengono eliminati, i loop espansi e le espressioni matematiche valutate.

The OpenSCAD language allows the use of variables and loops. It allows you to specify sub-modules to reuse geometry and code. This high degree of flexibility makes parsing very complex. Currently the OpenSCAD Workbench cannot handle the OpenSCAD language natively. Instead, if OpenSCAD is installed, it can be used to convert the input to the CSG format, which is a subset of the OpenSCAD language, and can be used as the input to OpenSCAD for further processing. During conversion all parametric behavior is lost, meaning that all variable names are discarded, loops expanded, and mathematical expressions evaluated.

Comandi della GUI

 * [[Image:OpenSCAD_ColorCodeShape.png|32px]] Codice Colore Forma: Cambia il colore della forma selezionata o di tutte le forme in base alla loro validità
 * [[Image:OpenSCAD_ReplaceObject.png|32px]] Sostituisci Oggetto: Sostituisce un oggetto nell'albero delle operazioni. Selezionare l'oggetto vecchio, il nuovo e il genitore
 * [[Image:OpenSCAD_RemoveSubtree.png|32px]] Elimina Ramo: Rimuove gli oggetti selezionati e tutti i suoi figli che non sono referenziati da altri oggetti
 * [[Image:OpenSCAD_RefineShapeFeature.png|32px]] Affina Forma: Crea una operazione di affinatura della forma
 * [[Image:OpenSCAD_IncreaseTolerance.png|32px]] Increase Tolerance Feature:
 * [[Image:OpenSCAD_Edgestofaces.png|32px]] Bordi in Facce: Converte i bordi (contorni) in facce. Utile per preparare la geometria DXF importata per essere estrusa.
 * [[Image:OpenSCAD_ExpandPlacements.png|32px]] Espandi Posizioni: Espande tutte le posizioni della struttura delle operazioni verso il basso
 * [[Image:OpenSCAD_ExplodeGroup.png|32px]] Scomponi il gruppo: Separa le primitive delle parti fuse.
 * [[Image:OpenSCAD_AddOpenSCADElement.png|32px]] Aggiungi Elementi OpenSCAD: Aggiunge un elemento OpenSCAD inserendo il codice OpenSCAD nel pannello delle azioni
 * [[Image:OpenSCAD_MeshBoolean.png|32px]] Mesh Boolean...: Crea un nuovo oggetto mesh da un'operazione booleana sulle forme.
 * [[Image:OpenSCAD_Hull.png|32px]] Hull: Applica un inviluppo Hull di forme selezionate.
 * [[Image:OpenSCAD_Minkowski.png|32px]] Minkowski: Applica una somma Minkowski di forme selezionate.

Preferenze

 * [[Image:Std_DlgParameter.png|32px]] Preferenze...: Preferenze disponibili in OpenSCAD.


 * [[Image:OpenSCAD_ColorCodeShape.png|32px]] Color Code Shape: Change the color of selected or all shapes based on their validity.
 * [[Image:OpenSCAD_ReplaceObject.png|32px]] Replace Object: Replace an object in the feature tree.
 * [[Image:OpenSCAD_RemoveSubtree.png|32px]] Remove Subtree: Removes the selected objects and all children that are not referenced from other objects.
 * [[Image:OpenSCAD_RefineShapeFeature.png|32px]] Refine Shape Feature: Create Refine Shape Feature.
 * [[Image:OpenSCAD_IncreaseTolerance.png|32px]] Increase Tolerance Feature: Increases tolerance of edges/faces/vertex of selected object(s).
 * [[Image:OpenSCAD_Edgestofaces.png|32px]] Convert Edges To Faces: Convert edges to faces. Useful to prepare imported DXF geometry for extrusion.
 * [[Image:OpenSCAD_ExpandPlacements.png|32px]] Expand Placements: Expand all placements downwards the FeatureTree.
 * [[Image:OpenSCAD_ExplodeGroup.png|32px]] Explode Group: Explodes fused part primitives.
 * [[Image:OpenSCAD_AddOpenSCADElement.png|32px]] Add OpenSCAD Element: Add an OpenSCAD element by entering OpenSCAD code into the task panel.
 * [[Image:OpenSCAD_MeshBoolean.png|32px]] Mesh Boolean: Creates new mesh object by boolean operation from shapes.
 * [[Image:OpenSCAD_Hull.png|32px]] Hull: Apllies a hull to selected shapes.
 * [[Image:OpenSCAD_Minkowski.png|32px]] Minkowski: Applies a minkowski sum to selected shapes.

Preferences

 * [[Image:Std_DlgParameter.png|32px]] Preferences: preferences available for the OpenSCAD tools.

Limitazioni
OpenSCAD crea una geometria solida costruttiva, importa i file mesh e estrude la geometria 2D (da file dxf). FreeCAD consente anche di creare CSG con primitive. Il kernel di geometria di FreeCAD (OCCT) funziona utilizzando la rappresentazione dei limiti. Pertanto la conversione da CSG a BREP dovrebbe, in teoria, essere possibile, mentre la conversione da BREP a CSG, in generale, non lo è.

OpenSCAD lavora internamente su maglie. Alcune operazioni che sono utili con le maglie non sono significative su un modello BREP e attualmente non possono essere completamente supportate. Tra queste ci sono convex hull, minkowski sum, glide e subdiv. Attualmente si può eseguire il binario OpenSCAD al fine di eseguire le operazioni hull e minkwoski e importare il risultato. Ciò significa che la geometria coinvolta sarà triangolata. In OpenSCAD è spesso usata la scalatura non uniforme, che non crea alcun problema quando si utilizzano mesh. Nel nostro kernel geometrico le primitive geometriche (linee, sezioni circolari, ecc) vengono convertite in BSpline prima di eseguire queste deformazioni. Le bspline sono note per causare problemi nelle successive operazioni booleane. Al momento non è disponibile nessuna soluzione automatica. Non esitate a postare sul forum se si verificano tali problemi. Spesso tali problemi possono essere risolti rimodellamento piccole parti. Una deformazione di un cilindro può sostituita da una estrusione di una ellisse.

Suggerimenti
Quando si importano DXF impostare la precisione del progetto a un valore adeguato, in modo che vengano individuati i bordi connessi.

Per impostare la precisione nell'ambiente Draft: Modifica → Preferenze → Draft → Importa/Esporta → Opzioni del formato DXF → Segmento Spline massimo

Se FreeCAD va in crash durante l'importazione CSG, si consiglia vivamente di attivare 'controllare automaticamente il modello dopo l'operazione booleana' in: Menu → Modifica → Preferenze → Part Design → Impostazione del modello.

Tutorial

 * Importare codice OpenSCAD

Link

 * Open tickets tagged "Openscad" on the FreeCAD bugtracker
 * Elementi etichettati "Openscad" in Thingiverse