Questa è la guida ai comandi di FreeCAD. Comprende le pagine del Wiki della documentazione di FreeCAD che si riferiscono ai comandi. Questa versione è stata creata principalmente per essere stampata come un unico grande documento o per consentire una panoramica veloce sulle pagine dei comandi. Se si sta leggendo questo online, si consiglia di andare direttamente alla Guida in linea, che è più facile da esplorare.
L'ambiente Disegno (Drawing) consente di trasferire su carta il lavoro realizzato in 3D.
Permette di produrre delle viste (proiezioni sul piano) del modello, di posizionarle in una finestra 2D e di inserire la finestra in una tavola, ad esempio, in un foglio con il bordo, il titolo e il logo e, infine, di stampare la tavola.
Questi strumenti permettono di creare, configurare e esportare le proiezioni dei solidi come disegni 2D.
Nota. Lo strumento Disegno è utilizzato principalmente per posizionare gli oggetti Draft sulla carta. Possiede alcune funzionalità aggiuntive rispetto agli strumenti standard di Drawing, e supporta degli oggetti specifici come le dimensioni di Draft.
Nella schermata precedente si vedono i componenti principali del modulo Drawing. Il documento contiene l'oggetto (Schenkel) da cui si vuole estrarre un disegno (una proiezione). Viene perciò creata una Pagina. La pagina viene creata tramite un modello, in questo caso il modello è A3_Landscape.
Il modello della pagina è un documento SVG che può contenere la consueta cornice e un logo oppure conformarsi a una presentazione standard personalizzata.
I modelli, di default, nei sistemi Windows si trovano in C:/Program Files/FreeCAD0.13/data/Mod/Drawing/Templates/A3_Landscape.svg, e nei sistemi Linux in /usr/share/freecad/Mod/Drawing/Templates/A3_Landscape.svg.
Nella pagina si possono inserire una o più viste.
Ogni vista ha una posizione nella pagina (Proprietà X, Y), un fattore di scala (proprietà di scala) e delle proprietà aggiuntive.
Ogni volta che la pagina, la vista o l'oggetto a cui si fa riferimento subiscono delle modifiche, la pagina viene rigenerata e viene anche aggiornata la sua visualizzazione.
Per ora le funzioni offerte dall'interfaccia grafica (GUI) sono molto limitate, quindi gli script API sono più interessanti. Ecco alcuni esempi su come utilizzare gli script API del modulo Disegno.
Lo script Macro_CartoucheFC permette di compilare agevolmente la tabella del modello di tavola FreeCAD A3_Landscape.
Prima di tutto è necessario caricare i moduli Part e Disegno:
import FreeCAD, Part, Drawing
Creare una Parte campione
Part.show(Part.makeBox(100,100,100).cut(Part.makeCylinder(80,100)).cut(Part.makeBox(90,40,100)).cut(Part.makeBox(20,85,100)))
Proiezione diretta. G0 significa bordo rigido, G1 è una tangente continua.
Shape = App.ActiveDocument.Shape.Shape [visibleG0,visibleG1,hiddenG0,hiddenG1] = Drawing.project(Shape) print "visible edges:", len(visibleG0.Edges) print "hidden edges:", len(hiddenG0.Edges)
Tutto viene proiettato sul piano Z:
print "Bnd Box shape: X=",Shape.BoundBox.XLength," Y=",Shape.BoundBox.YLength," Z=",Shape.BoundBox.ZLength print "Bnd Box project: X=",visibleG0.BoundBox.XLength," Y=",visibleG0.BoundBox.YLength," Z=",visibleG0.BoundBox.ZLength
Proiezione con un vettore diverso
[visibleG0,visibleG1,hiddenG0,hiddenG1] = Drawing.project(Shape,App.Vector(1,1,1))
Proiezione in SVG
resultSVG = Drawing.projectToSVG(Shape,App.Vector(1,1,1)) print resultSVG
Creare il corpo
import FreeCAD import Part import Drawing # Create three boxes and a cylinder App.ActiveDocument.addObject("Part::Box","Box") App.ActiveDocument.Box.Length=100.00 App.ActiveDocument.Box.Width=100.00 App.ActiveDocument.Box.Height=100.00 App.ActiveDocument.addObject("Part::Box","Box1") App.ActiveDocument.Box1.Length=90.00 App.ActiveDocument.Box1.Width=40.00 App.ActiveDocument.Box1.Height=100.00 App.ActiveDocument.addObject("Part::Box","Box2") App.ActiveDocument.Box2.Length=20.00 App.ActiveDocument.Box2.Width=85.00 App.ActiveDocument.Box2.Height=100.00 App.ActiveDocument.addObject("Part::Cylinder","Cylinder") App.ActiveDocument.Cylinder.Radius=80.00 App.ActiveDocument.Cylinder.Height=100.00 App.ActiveDocument.Cylinder.Angle=360.00 # Fuse two boxes and the cylinder App.ActiveDocument.addObject("Part::Fuse","Fusion") App.ActiveDocument.Fusion.Base = App.ActiveDocument.Cylinder App.ActiveDocument.Fusion.Tool = App.ActiveDocument.Box1 App.ActiveDocument.addObject("Part::Fuse","Fusion1") App.ActiveDocument.Fusion1.Base = App.ActiveDocument.Box2 App.ActiveDocument.Fusion1.Tool = App.ActiveDocument.Fusion # Cut the fused shapes from the first box App.ActiveDocument.addObject("Part::Cut","Shape") App.ActiveDocument.Shape.Base = App.ActiveDocument.Box App.ActiveDocument.Shape.Tool = App.ActiveDocument.Fusion1 # Hide all the intermediate shapes Gui.ActiveDocument.Box.Visibility=False Gui.ActiveDocument.Box1.Visibility=False Gui.ActiveDocument.Box2.Visibility=False Gui.ActiveDocument.Cylinder.Visibility=False Gui.ActiveDocument.Fusion.Visibility=False Gui.ActiveDocument.Fusion1.Visibility=False
Inserire un oggetto Page e assegnargli un modello
App.ActiveDocument.addObject('Drawing::FeaturePage','Page') App.ActiveDocument.Page.Template = App.getResourceDir()+'Mod/Drawing/Templates/A3_Landscape.svg'
Creare una vista dell'oggetto "Shape", definirne la posizione e la scala e assegnare la vista a una pagina
App.ActiveDocument.addObject('Drawing::FeatureViewPart','View') App.ActiveDocument.View.Source = App.ActiveDocument.Shape App.ActiveDocument.View.Direction = (0.0,0.0,1.0) App.ActiveDocument.View.X = 10.0 App.ActiveDocument.View.Y = 10.0 App.ActiveDocument.Page.addObject(App.ActiveDocument.View)
Creare una seconda vista, ruotata di 90 gradi, dello stesso oggetto.
App.ActiveDocument.addObject('Drawing::FeatureViewPart','ViewRot') App.ActiveDocument.ViewRot.Source = App.ActiveDocument.Shape App.ActiveDocument.ViewRot.Direction = (0.0,0.0,1.0) App.ActiveDocument.ViewRot.X = 290.0 App.ActiveDocument.ViewRot.Y = 30.0 App.ActiveDocument.ViewRot.Scale = 1.0 App.ActiveDocument.ViewRot.Rotation = 90.0 App.ActiveDocument.Page.addObject(App.ActiveDocument.ViewRot)
Creare una terza vista, con direzione isometrica, dello stesso oggetto. Anche le linee nascoste sono attivate.
App.ActiveDocument.addObject('Drawing::FeatureViewPart','ViewIso') App.ActiveDocument.ViewIso.Source = App.ActiveDocument.Shape App.ActiveDocument.ViewIso.Direction = (1.0,1.0,1.0) App.ActiveDocument.ViewIso.X = 335.0 App.ActiveDocument.ViewIso.Y = 140.0 App.ActiveDocument.ViewIso.ShowHiddenLines = True App.ActiveDocument.Page.addObject(App.ActiveDocument.ViewIso)
Modificare qualche parametro e aggiornare. Il processo di aggiornamento modifica la visualizzazione e aggiorna la pagina.
App.ActiveDocument.View.X = 30.0 App.ActiveDocument.View.Y = 30.0 App.ActiveDocument.View.Scale = 1.5 App.ActiveDocument.recompute()
Ottenere il frammento SVG di una singola vista
ViewSVG = App.ActiveDocument.View.ViewResult print ViewSVG
Ottenere l'intera pagina risultante (contenuta in un file nella directory temporanea del documento, con il permesso di sola lettura)
print "Resulting SVG document: ",App.ActiveDocument.Page.PageResult file = open(App.ActiveDocument.Page.PageResult,"r") print "Result page is ",len(file.readlines())," lines long"
Importante: liberare il file!
del file
Inserire una vista con un contenuto personalizzato:
App.ActiveDocument.addObject('Drawing::FeatureView','ViewSelf') App.ActiveDocument.ViewSelf.ViewResult = """<g id="ViewSelf" stroke="rgb(0, 0, 0)" stroke-width="0.35" stroke-linecap="butt" stroke-linejoin="miter" transform="translate(30,30)" fill="#00cc00" > <ellipse cx="40" cy="40" rx="30" ry="15"/> </g>""" App.ActiveDocument.Page.addObject(App.ActiveDocument.ViewSelf) App.ActiveDocument.recompute() del ViewSVG
Si ottiene il seguente risultato:
Il disegno delle dimensioni e delle tolleranze sono ancora in fase di sviluppo, ma, con un po' di lavoro, è già possibile ottenere alcune funzionalità di base.
Prima di tutto bisogna scaricare il modulo gdtsvg python da
https://github.com/jcc242/FreeCAD (ATTENZIONE: Questo link potrebbe essere interrotto in qualsiasi momento)
Per ottenere un riquadro per l'indicazione delle caratteristiche (una griglia in cui inserire i parametri), provare quanto segue:
import gdtsvg as g # Import the module, I like to give it an easy handle ourFrame = g.ControlFrame("0","0", g.Perpendicularity(), ".5", g.Diameter(), g.ModifyingSymbols("M"), "A", g.ModifyingSymbols("F"), "B", g.ModifyingSymbols("L"), "C", g.ModifyingSymbols("I"))
Ecco un esempio di buona ripartizione del contenuto di una griglia di controllo della geometria: [1]
I parametri da passare a ControlFrame sono:
La funzione ControlFrame restituisce un testo che contiene (stringa svg, larghezza totale del riquadro, altezza complessiva del riquadro)
Per ottenere una dimensione, provare quanto segue:
import gdtsvg ourDimension = linearDimension(point1, point2, textpoint, dimensiontext, linestyle=getStyle("visible"), arrowstyle=getStyle("filled"), textstyle=getStyle("text")
Gli input per ottenere una dimensione lineare sono:
Con la quotatura e l'indicazione delle tolleranze, si può procedere come sopra per visualizzarle nella pagina di disegno.
Questo modulo è provvisorio e può essere interrotto in qualsiasi momento, segnalazioni di bug per ora sono benvenute nella pagina github, oppure contattare jcc242 sul forum se si registra un bug da qualche altra parte.
FreeCAD viene fornito con una serie di modelli di pagina predefiniti, ma si possono trovare altri modelli in Modelli di squadrature.
Alcune ulteriori note sulla programmazione del Modulo Disegno sono contenute nella pagina Drawing Documentation (en) Drawing Documentation (it). Dette note aiutano a capire rapidamente come lavora questo modulo e permettono ai programmatori di avviare rapidamente la programmazione per esso.
Questo strumento apre un foglio di disegno salvato in precedenza come file SVG (Scalable Vector Graphics). Può anche essere utilizzato per visualizzare qualsiasi altro file SVG.
|
Posizione nel menu |
---|
Disegno → Nuovo disegno → A3 Orizzontale |
Ambiente |
Disegno, Completo |
Avvio veloce |
Nessuno |
Vedere anche |
Nessuno |
Questo strumento crea un nuovo foglio di disegno utilizzando modelli di squadrature già installati.
Alla struttura del progetto viene aggiunto un oggetto Pagina, sotto forma di icona di cartella. Le Viste create in seguito sono poste in questa cartella.
Per aprire il visualizzatore del disegno e visualizzare la pagina, è sufficiente fare doppio clic sull'oggetto Pagina, oppure fare clic destro e poi selezionare Mostra disegno. La pagina viene aperta in una nuova scheda. Nello stesso modo, è possibile chiudere e riaprire la scheda in qualsiasi momento.
Se la pagina non viene visualizzata, fare clic sull'icona Aggiorna nella barra principale degli strumenti, oppure nel menu Modifica → Aggiorna, oppure usare la combinazione di tasti CTRL+R.
DatiBase
Drawing View
VistaBase
|
|
Posizione nel menu |
---|
Disegno → Inserisci Vista |
Ambiente |
Disegno, Completo |
Avvio veloce |
Nessuno |
Vedere anche |
Disegno A3 |
Questo strumento crea una nuova vista dell'oggetto selezionato e la posiziona nel foglio di disegno attivo.
Selezionare un oggetto nella vista 3D o nella struttura del progetto, quindi fare clic sullo strumento Inserisci vista del disegno. Per impostazione predefinita, viene inserita una vista dall'alto in scala 1:1 (scala reale), posizionata in alto a sinistra della pagina. Se la vista è troppo piccola o troppo grande per la pagina, può risultare non visibile.
Nell'albero del progetto viene aggiunto un oggetto View sotto l'oggetto Page. Per le viste successive, viene aggiunto al nome un numero a tre cifre. Fare clic sulla freccia davanti all'oggetto Page per dispiegarla e visualizzarne il contenuto.
Se nella struttura ad albero del progetto viene selezionato solo l'oggetto, la vista viene aggiunta alla prima pagina del progetto. Quando il progetto è composto da più pagine si deve selezionare l'oggetto e la pagina in cui deve essere aggiunto, poi fare clic sull'icona per aggiungere la vista alla pagina selezionata.
Dispiegare l'oggetto Page nella struttura del Progetto, quindi selezionare la vista da modificare. I suoi parametri possono essere modificati nella scheda Dati della finestra Proprietà di visualizzazione.
Per generare automaticamente un foglio di disegno con viste standard, utilizzare la Macro vista automatica.
|
Posizione nel menu |
---|
Drawing → Annotazione |
Ambiente |
Drawing, Completo |
Avvio veloce |
Nessuno |
Vedere anche |
Nessuno |
Questo comando consente di posizionare un blocco di testo in una pagina di disegno.
|
Posizione nel menu |
---|
Drawing → Inserto |
Ambiente |
Drawing, Completo |
Avvio veloce |
none |
Vedere anche |
Nessuno |
Questo comando consente di inserire e posizionare un riquadro rettangolare, denominato clip, in una pagina di disegno. Dopo, gli oggetti della Proiezione possono essere inseriti in tale riquadro e sono visibili fino ai limiti del rettangolo.
|
Posizione nel menu |
---|
Drawing → Apri Browser |
Ambiente |
Drawing, Complete |
Avvio veloce |
none |
Vedere anche |
Nessuno |
Questo comando consente di visualizzare una pagina di disegno selezionata utilizzando il browser web interno di FreeCAD. Il normale visualizzatore di una pagina di disegno di FreeCAD si basa sul modulo interno di rendering SVG di Qt, che supporta solo un piccolo sottoinsieme di tutte le specificazioni SVG. Per questo, alcune funzionalità SVG più avanzate, come il riempimenti a motivo o i testi multilinea non sono supportati da questo visualizzatore. Il browser web interno di FreeCAD, invece, è costruito su webkit, che è uno dei migliori render SVG disponibili e visualizza correttamente la pagina con tutte le sue caratteristiche.
This documentation is not finished. Please help and contribute documentation.
See Draft ShapeString for good documented Command. Gui Command gives an overview over commands. And see List of Commands for other commands.
Go to Help FreeCAD to contribute.
|
Posizione nel menu |
---|
Drawing → Inserisci viste ortogonali |
Ambiente |
Drawing, Complete |
Avvio veloce |
none |
Vedere anche |
Nuovo disegno |
Lo strumento Viste ortogonali inserisce una serie di proiezioni ortografiche dell'oggetto selezionato nel foglio di disegno attivo. Notare che non crea un singolo oggetto vista sulla pagina. Crea invece una proiezione ortografica separata per ciascuna delle viste selezionate nelle opzioni.
Lo strumento Viste ortogonali crea tutte le proiezioni ortografiche è lo strumento ideale per fornire la vista principale.
A seconda delle selezioni effettuate, alcune opzioni potrebbero non essere disponibili.
Non ci sono proprietà per questo comando; il comando crea le proprietà per ciascuna delle singole viste.
Viste ortogonali di Drawing non è richiamabile negli script. Negli script, con il comando Viste ortogonali si possono creare solo le singole viste.
Da fare
Da fare
|
Posizione nel menu |
---|
Disegno → Esporta pagina... |
Ambiente |
Disegno, Completo |
Avvio veloce |
Nessuno |
Vedere anche |
Apri SVG |
Questo strumento consente di salvare il foglio di disegno corrente come file SVG (Scalable Vector Graphics). Tale file può essere modificato con un programma di grafica vettoriale scalabile come Inkscape.
I file SVG sono comuni e possono essere visualizzati nei browser più moderni e nei visualizzatori di immagini. Questo è utile per condividere un progetto con chi non ha FreeCAD installato sul proprio PC.
|
Posizione nel menu |
---|
Drawing → Proietta le forme |
Ambiente |
Drawing, Completo |
Avvio veloce |
Vedere anche |
Questo strumento crea una proiezione dell'oggetto selezionato, l'oggetto sorgente, nella vista 3D.
I parametri della proiezione possono essere modificati nella scheda Dati della vista combinata.
|
Questa sezione elenca una serie di comandi che non sono ancora inclusi in questo documento. Alcuni di questi strumenti sono recenti o sono in fase di sviluppo. Per avere maggiori informazioni consultare la Guida in linea o visitare il forum
Creare dei nuovi modelli di fogli per il modulo di disegno di proiezione Drawing è molto semplice. Oltre a questa pagina consultare anche il tutorial Creare dei modelli. I modelli sono dei file SVG creati con qualsiasi applicazione in grado di esportare file SVG, ad esempio Inkscape. Si devono seguire solo due regole:
width="1067mm" height="762mm"
oppure
width="1067" height = "762"
Anche se svg supporta i pollici ("42 in"), questi non sono attualmente supportati da FreeCAD, quindi è sempre meglio avere le dimensioni della pagina SVG specificata in millimetri. L'attributo "viewBox" deve avere lo stesso valore, ad esempio:
viewBox="0 0 1067 762"
<!-- DrawingContent -->
Questo testo sopra (che è in realtà un commento XML) deve essere su una riga separata, e non incorporato nel mezzo di altri pezzi di testo. Attenzione che se si riapre e si salva il modello in Inkscape, dopo aver aggiunto la riga sopra, Inkscape mantiene la riga, ma aggiunge altri elementi XML sulla stessa riga, e di coseguenza il modello non funziona più. È necessario modificarlo con un editor di testo e isolare di nuovo il commento di cui sopra sulla propria riga.
xmlns:freecad="http://www.freecadweb.org/wiki/index.php?title=Svg_Namespace"
Oltre a queste due regole, a partire da FreeCAD 0.14, al modello possono essere aggiunte le informazioni sul bordo e sul cartiglio. Esse sono usate dallo strumento di proiezione ortogonale e definiscono dove FreeCAD può, e non può effettuare le proiezioni.
Per definire il bordo dell'area utilizzata, prima del tag <metadata nel file svg, deve apparire la seguente riga:
<!-- Working space X1 Y1 X2 Y2 -->
Dove X1, Y1, X2, Y2 sono definiti in questo modo:
Per definire l'area della tabella, prima del tag <metadata e dopo il tag dell'area di lavoro, si deve inserire la seguente riga:
<!-- Title block X1a Y1a X2a Y2a -->
Dove X1a, Y1a, X2a, Y2a sono definiti come:
Il seguente è un esempio del codice che deve essere inserito prima del tag <metadata per definire l'area di lavoro e l'area della tabella. Non è obbligatorio definire una tabella, ma quando si fa la tabella deve essere definita nella riga successiva a quella della definizione dello spazio di lavoro:
<!-- Working space X1 Y1 X2 Y2 -->
<!-- Title block X1a Y1a X2a Y2a -->
Per scalare la stampa, la dimensione effettiva deve essere data negli attributi width e height del tag SVG. Le dimensioni del documento, nelle unità utilizzate (px), deve essere fornita nell'attributo Viewbox.
In questo caso deve essere formattato come nell'esempio sottostante dove:
width="xxxmm"
height="yyymm"
viewBox="0 0 xxx yyy"
Dalla versione 0.15, FreeCAD può esportare in modo affidabile una pagina Drawing nel formato DXF. Questo sistema utilizza anche i modelli. Se nella stessa cartella del modello SVG utilizzata per una pagina si trova anche un file dxf con lo stesso nome, esso viene utilizzato per l'esportazione. In caso contrario, viene creato al volo un modello vuoto predefinito.
Di conseguenza, se si crea i propri modelli SVG, e si vuole essere in grado di esportare in DXF le pagine create con Drawing, è sufficiente creare un modello DXF corrispondente, e salvarlo con lo stesso nome nella stessa cartella.
I modelli DXF possono essere creati con qualsiasi applicazione che produce dei file DXF, come LibreCAD. È quindi necessario modificarli con un editor di testo, e aggiungere due ulteriori righe, una all'inizio o alla fine della sezione BLOCKS, e un'altra all'inizio o alla fine della sezione ENTITIES, che sono il posto dove FreeCAD aggiungerà i propri blocchi e entità.
Un modello molto semplice si presenta così:
999 FreeCAD DXF exporter v0.15 0 SECTION 2 HEADER 9 $ACADVER 1 AC1009 0 ENDSEC 0 SECTION 2 BLOCKS $blocks 0 ENDSEC 0 SECTION 2 ENTITIES $entities 0 ENDSEC 0 EOF
Il modello precedente non contiene alcuna entità. Se si crea il file DXF con un'applicazione CAD, ci sarà probabilmente molto più contenuto all'interno delle sezioni HEADER, BLOCKS e ENTITIES.
Le due righe cercate da FreeCAD sono "$blocks" e "$entities". Esse devono essere esistenti nel modello, e devono essere posizionate sulla loro riga. Si può scegliere di metterle subito dopo le righe BLOCKS o ENTITIES, che è più facile (basta utilizzare la funzione "cerca" del vostro editor di testo per trovarle), o alla fine, prima delle righe "0 ENDSEC" (fate attenzione che ce n'è una per ogni sezione, assicurarsi di usare quella relativa a BLOCKS e ENTITIES). Quest'ultimo metodo mette gli oggetti di FreeCAD dopo gli oggetti definiti nel modello, che potrebbe essere più logico.