Strumenti Utente



tutorial_freecad:tutorial_04

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
tutorial_freecad:tutorial_04 [2014/11/04 13:35]
mickele [Cos'è python?!?]
tutorial_freecad:tutorial_04 [2015/05/03 10:39] (versione attuale)
mickele77
Linea 1: Linea 1:
-====== Tutorial FreeCAD #4 ======+====== Tutorial FreeCAD #4 - Python e la riga di comando ======
  
 In questo quarto tutorial vedremo come creare oggetti tridimensionali da linea di comando. Questo ci consentirà, con un po' di lavoro, di capire meglio come funziona FreeCAD ma soprattutto di aumentare la nostra produttività mediante la creazione di script personalizzati. Se ci limitassimo alla sola interfaccia grafica, FreeCAD avrebbe ben poco da offrirci rispetto ad analoghi CAD parametrici. E' proprio la linea di comando che ne fa un programma già pronto per "il mondo reale". In questo quarto tutorial vedremo come creare oggetti tridimensionali da linea di comando. Questo ci consentirà, con un po' di lavoro, di capire meglio come funziona FreeCAD ma soprattutto di aumentare la nostra produttività mediante la creazione di script personalizzati. Se ci limitassimo alla sola interfaccia grafica, FreeCAD avrebbe ben poco da offrirci rispetto ad analoghi CAD parametrici. E' proprio la linea di comando che ne fa un programma già pronto per "il mondo reale".
Linea 5: Linea 5:
 Nei precedenti tutorial abbiamo modellato alcuni solidi tridimensionali utilizzando la GUI. Per chi se ne fosse perso qualcuno riporto di seguito i relativi link link: Nei precedenti tutorial abbiamo modellato alcuni solidi tridimensionali utilizzando la GUI. Per chi se ne fosse perso qualcuno riporto di seguito i relativi link link:
  
 +~~READMORE~~
 +
 +  * [[tutorial_freecad:tutorial_00|Tutorial FreeCAD #0]]
   * [[tutorial_freecad:tutorial_01|Tutorial FreeCAD #1]]   * [[tutorial_freecad:tutorial_01|Tutorial FreeCAD #1]]
   * [[tutorial_freecad:tutorial_02|Tutorial FreeCAD #2]]   * [[tutorial_freecad:tutorial_02|Tutorial FreeCAD #2]]
Linea 48: Linea 51:
 ===== Alcuni oggetti python presenti in FreeCAD ===== ===== Alcuni oggetti python presenti in FreeCAD =====
  
-Per questo tutorial ci necessari due moduli di FreeCAD: FreeCAD e Part. Per attivare tali moduli dobbiamo digitare dalla console python di FreeCAD+Per questo tutorial ci necessari due moduli: FreeCAD e Part. Per attivare tali moduli dalla console python di FreeCAD digitiamo
  
   >>> import Part, FreeCAD   >>> import Part, FreeCAD
Linea 58: Linea 61:
 Ora siamo pronti per la modellazione vera e propria! Ora siamo pronti per la modellazione vera e propria!
  
-Modellando solidi ci fa comodo definire variabili di modo da render il codice più leggibile e facilitare eventuali modifiche. Sulla base di quanto visto al paragrafo precedente potremmo definire le coordinate di un punto con tre variabili, ma sarebbe abbastanza scomodo. FreeCAD ci mette a disposizione la classe Vector definita nel modulo Base. Per definire un oggetto Vector scriviamo+Modellando solidi ci fa comodo definire uno o più variabili di modo da rendere il codice più leggibile e facilitare eventuali modifiche. Sulla base di quanto visto al paragrafo precedente potremmo definire le coordinate di un punto con tre variabili, ma sarebbe abbastanza scomodo. Il modulo Base ci mette a disposizione la classe Vector. Per definire un oggetto Vector scriviamo
  
   >>> Vert = Base.Vector(0,0,0)   >>> Vert = Base.Vector(0,0,0)
  
-Possiamo rappresentare il segmento che unisce due vertici con un oggetto di tipo Line, contenuto nel modulo Part. Per definire un oggetto Line, dopo aver definito i relativi vertici, scriviamo+Il segmento che unisce due punti può essere invece rappresentato con un oggetto di tipo Line, contenuto nel modulo Part. Per definire un oggetto Line scriviamo
  
   >>> V1 = Base.Vector(0,0,0)   >>> V1 = Base.Vector(0,0,0)
Linea 68: Linea 71:
   >>> L1 = Part.Line(V1,V2)   >>> L1 = Part.Line(V1,V2)
  
-I tipi di oggetti definibili in Python sono molti ed in questa sede è prefrebile introdurne solo alcuni. In particolare citiamo alcuni degli oggetti nel modulo Part:+Le prime due linee ne definiscono i vertici, la terza crea l'oggetto Line. 
 + 
 +I tipi di oggetti definibili in Python sono molti ed in questa sede cominceremo a vederne una piccola parte. In particolare citiamo alcuni degli oggetti del modulo Part:
  
   * Shape: è un oggetto generico, che può essere impiegato per riferirsi a qualsiasi oggetto di questa lista   * Shape: è un oggetto generico, che può essere impiegato per riferirsi a qualsiasi oggetto di questa lista
Linea 77: Linea 82:
   * Shell: un insieme di oggetti Face connessi tramite i rispettivi Edge; anche questi oggetti possono essere aperti o chiusi   * Shell: un insieme di oggetti Face connessi tramite i rispettivi Edge; anche questi oggetti possono essere aperti o chiusi
   * Solid: una parte di spazio delimitata da oggetti di tipo Shell   * Solid: una parte di spazio delimitata da oggetti di tipo Shell
-  * Compsolid: un insieme di oggetti Solid connessi tramite le rispettve facce+  * Compsolid: un insieme di oggetti Solid connessi tramite le rispettive facce
  
 Per approfondire questi aspetti vi consiglio di dare un'occhiata alla pagina dal wiki di FreeCAD sul [[http://www.freecadweb.org/wiki/index.php?title=Topological_data_scripting/it|Topological data scripting]]. Per approfondire questi aspetti vi consiglio di dare un'occhiata alla pagina dal wiki di FreeCAD sul [[http://www.freecadweb.org/wiki/index.php?title=Topological_data_scripting/it|Topological data scripting]].
Linea 104: Linea 109:
   >>> Vert4 = Base.Vector(0,h,0)   >>> Vert4 = Base.Vector(0,h,0)
  
-Disegniamo ora due linee usnado l'oggetto Line del modulo Part+Disegniamo ora due linee usando l'oggetto Line del modulo Part
  
   >>> Line1 = Part.Line(Vert1,Vert2)   >>> Line1 = Part.Line(Vert1,Vert2)
   >>> Line2 = Part.Line(Vert3,Vert4)   >>> Line2 = Part.Line(Vert3,Vert4)
-   
  
-Passiamo quindi ai due archi di cerchio. In generale, per definire un arco dobbiamo indicarne tre punti. Creiamo quindi un oggetto Arc1 che va da Vert2 a Vert3, passando per il punto intermedio VertC1+Passiamo quindi ai due archi di cerchio. Per definire un arco dobbiamo indicarne tre punti. Creiamo quindi un oggetto Arc1 che va da Vert2 a Vert3, passando per il punto intermedio VertC1
  
   >>> VertC1 = Base.Vector(b+h/2,h/2,0)   >>> VertC1 = Base.Vector(b+h/2,h/2,0)
Linea 129: Linea 133:
   >>> Face1 = Part.Face(Wire1)   >>> Face1 = Part.Face(Wire1)
  
-Infine creiamo il solido finale estrudendo la faccia creata; utilizziamo il comando+Il primo comando crea un oggetto Wire dagli oggeti Edge associati a Shape1. Il secondo crea l'oggetto Face. 
 + 
 +Infine creiamo il solido estrudendo la faccia creata; utilizziamo il comando
      
   >>> Solid1 = Face1.extrude(Base.Vector(0,0,l))   >>> Solid1 = Face1.extrude(Base.Vector(0,0,l))
  
-A video non abbiamo visto ancora nulla di quanto fatto. Questo accade perché gli oggetti definiti nella console python non sono stati inseriti in FreeCAD. Per inserire Solid1 in FreeCAD ricorriamo alla funzione show() del modulo Part+A video non abbiamo visto ancora nulla di quanto fatto. Questo accade perché gli oggetti definiti nella console non sono stati inseriti in FreeCAD. Per inserire Solid1 in FreeCAD ricorriamo alla funzione show() del modulo Part
  
   >>> Part.show(Solid1)   >>> Part.show(Solid1)
 +
 +Nel prossimo tutorial ritorneremo su quest'ultimo passaggio per approfondirlo.
  
 Per vedere meglio il risultato del nostro lavoro digitiamo infine i comandi Per vedere meglio il risultato del nostro lavoro digitiamo infine i comandi
Linea 144: Linea 152:
 Il primo imposta una vista assonometrica, il secondo modifica lo zoom per farci vedere tutto il solido creato. Se tutto è andato bene dovremmo avere la seguente vista Il primo imposta una vista assonometrica, il secondo modifica lo zoom per farci vedere tutto il solido creato. Se tutto è andato bene dovremmo avere la seguente vista
  
-{{ :tutorial_freecad:tut04-02.png?600 |IL solido finale}}+{{ :tutorial_freecad:tut04-02.png?600 |Il solido finale modellato in questo tutorial}}
  
 ===== Riepilogo ===== ===== Riepilogo =====
Linea 185: Linea 193:
   * [[http://www.freecadweb.org/wiki/index.php?title=Topological_data_scripting]]   * [[http://www.freecadweb.org/wiki/index.php?title=Topological_data_scripting]]
   * [[http://www.cardanco.com/blog/basic-designs-with-freecad-python.html]]   * [[http://www.cardanco.com/blog/basic-designs-with-freecad-python.html]]
 +
 +====== Lista completa tutorial ======
 +
 +Vi riporto la lista completa dei tutorial su FreeCAD che trovate su IngegneriaLibera:
 +
 +<blog related>
 +
 +</blog>
  

tutorial_freecad/tutorial_04.1415104545.txt.gz · Ultima modifica: 2014/11/04 13:35 da mickele

Facebook Twitter Google+ Digg Reddit LinkedIn StumbleUpon Email