Questa piccola macro permette di realizzare un progetto 3D in modo molto semplice a partire da un'immagine bitmap con 256 sfumature di grigio.
Spero che questa macro rivoluzionerà il nostro modo di pensare quando modelliamo con CAD e CNC, convertendo gli oggetti in 3D con un intervento minimo o nullo.
Tutto diventa possibile, indipendentemente dalla complessità dell'immagine!
La Macro Loft viene utilizzata per automatizzare l'operazione multi loft.
Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager. Link for optional manual installation: Macro
# This code is copied instead of the original macro code
# to guide the user to the online download page.
# Use it if the code of the macro is larger than 64 KB and cannot be included in the wiki
# or if the RAW code URL is somewhere else in the wiki.
from PySide import QtGui, QtCore
diag = QtGui.QMessageBox(QtGui.QMessageBox.Information,
"Information",
"This macro must be downloaded from this link\n"
"\n"
"https://gist.githubusercontent.com/mario52a/262317bc7d8555885b0e/raw/f18613c8bfd142e644ba79fc8dd34a5f72282f18/Macro%2520FCTexture.FCMacro" + "\n"
"\n"
"Quit this window to access the download page")
diag.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
diag.setWindowModality(QtCore.Qt.ApplicationModal)
diag.exec_()
import webbrowser
webbrowser.open("https://gist.githubusercontent.com/mario52a/262317bc7d8555885b0e/raw/f18613c8bfd142e644ba79fc8dd34a5f72282f18/Macro%2520FCTexture.FCMacro")
Questa macro richiede un'immagine con 256 sfumature di grigio (0-255), quindi prima di eseguirla, convertire l'immagine in scala di grigi (bianco e nero). All'avvio della macro, il numero di colori viene rilevato automaticamente. Nota: se l'immagine ha più di 256 colori, è prevista un'altra funzione (in fase di sviluppo). Ogni colore (livello di grigio) è considerato profondo, il bianco (255) il livello più alto e il nero (0) il livello più basso (profondo).
La configurazione si esegue prima di aprire il file, i valori predefiniti producono un disegno con le seguenti dimensioni:
la coordinata X è la larghezza dell'immagine in punti,
la coordinata Y è l'altezza dell'immagine in punti,
la coordinata Z è la profondità o spessore del disegno adattato a 10 mm (256 mm in modo raw).
In FreeCAD il file dell'immagine si sviluppa come in una scansione x1 x2 x3 ... con incrementi del valore y di 1 mm per volta. Il valore di z è determinato dal valore del colore. Questi valori sono configurabili nell'interfaccia della macro.
Nota importante: a seconda delle dimensioni dell'immagine, il progetto può diventare molto grande! Ad esempio, una semplice immagine di (100px x 100px) larghezza/altezza sarebbe: 100 x 100 = 10000 punti'. Ciascuno dei 10.000 punti corrisponde a una coordinata, quindi in realtà si tratta di 10000 coordinate X, 10000 Y e 10000 Z.
Interfaccia
Texture 002
Coordinate
Coordinate X 0,00 mm : Posizione della coordinata X dell'oggetto (predefinito: 0)
Coordinate Y 0,00 mm : Posizione della coordinata Y dell'oggetto (predefinito: 0)
Coordinate Z 0,00 mm : Posizione della coordinata Z dell'oggetto (predefinito: 0)
Stretching
Stretching X0,00 mm : restringimento o ingrandimento della X (lunghezza) dell'oggetto (predefinito: 0)
Stretching Y0,00 mm : restringimento o ingrandimento della Y (altezza) dell'oggetto (predefinito: 0)
Stretching Z0,00 mm : restringimento o ingrandimento della Z (profondità) dell'oggetto (predefinito: 0)
Inversion
Axis X: inverte le coordinate X dell'immagine.
Axis Y: inverte le coordinate Y dell'immagine.
Axis Z: inverte le coordinate Z dell'immagine.
8 bit Mode
Il valore iniziale dell'operazione si adegua automaticamente alla funzione selezionata: 0 se l'impostazione è su Nero (Black), oppure 255 o 20 se l'impostazione è Bianco (White)
Wire: crea la linea (vettore) in forma di wire.
Bspline: crea la linea (vettore) in forma di Bspline.
Cloud: crea i vettori dei punti in una nuvola di punti.
Point: crea un punto per ogni pixel (vettore) (Nota: questa procedura richiede un elevato utilizzo della CPU).
Nuance: se l'opzione "Nuance" è selezionata, il colore del punto viene rappresentato come un'immagine.
32 bit Mode
Photo: la modalità foto si attiva automaticamente quando viene rilevata unimmagine a 32 bit. (Nota: questa procedura richiede un uso intensivo della CPU)
Plan: consente di importare unimmagine a 32 bit e ignorare lo sfondo del piano. Per impostazione predefinita, lo sfondo della mappa è nero; i colori ignorati sono regolabili con il comando Capping. Se si seleziona Bianco, la parte inferiore della mappa sarà bianca. (Nota: questa procedura richiede un uso intensivo della CPU)
File
.pcd: se selezionato, un file (originalName.bmp.pcd) viene salvato nella stessa cartella del file (pcd v0.7).
.asc: se selezionato, un file (originalName.bmp.asc) viene salvato nella stessa cartella del file. Questo file può essere utilizzato come nuvola di punti (formato: X Y Z).
Capping (10mm)
Slider: Inserire l'altezza della forma. L'altezza verrà visualizzata nella cornice del titolo.
0 height : Inserire l'altezza della forma. L'altezza verrà visualizzata nella cornice del titolo.
Raw mode 20: Per regolare il numero di colori (profondità). La modalità predefinita è 0-20 (che costituisce un filtro e permette di ottenere maggiori dettagli a seconda della complessità dell'immagine), una volta selezionata la modalità è 0-255 (l'intera gamma di colori).
: questa opzione consente di accedere alla casella di selezione Contour
0/2 Contour : Questa casella di selezione genera la linea di contorno. Non utilizzare (es: 0 per la base).
Capping White: Questa funzione può essere realizzata scegliendo i colori, bianco (predefinito) o nero. I gradi di capping sono regolati da 20 a 0 (o da 255 a 0) se la casella di controllo è impostata su W (non selezionata) o da 0 a 20 (o da 0 a 255) se la casella di controllo è impostata su B (selezionata).
20 Capping : questa casella di selezione fornisce i gradi di capping.
Command
File and launch: apre il file immagine e avvia la conversione.
Help:
Visualizza la pagina Wiki nel browser di FreeCAD
Per modificare il parametro disponibile: andare su Strumenti → Modifica parametri
Modo Plan: nell'immagine a sinistra è stato ignorato lo sfondo bianco, nell'immagine a destra è stato ignorato il colore nero (uno esempio su il foro)
Esempio con un'immagine topografica di un Terrill dove ogni gradino corrisponde ad un diverso livello di colore.
Immagine convertita in carattere ASCII (non ancora in funzione).
Procedura per creare il solido: 1: Creare un loft con lo strumento o con la Macro Loft 2: Selezionare tutto e estrudere con lo strumento 3A: Per Linux Download GMSHMesh (autore psicofil) Pagina del wiki Macro GMSH 3B: Per Windows Download GmshMesh2.zip decomprimere il file e installarlo nella propria directory Mod (autore ulrich1a) 4: Creare il proprio file Mesh e utilizzarlo
ver 0.13b: 30/12/2020 add try for time.clock() and time.process_time() for Python 3xyz...
ver 0.13 : 17/04/2020 Layout and PySide2 Qt5
ver 0.12 : 04/08/2019 add spinbox button for height
ver 0.11 :03/07/2019 adapted to Python 3
ver 0.10 : 28/12/2016 add save point in .pcd, .asc display a points cloud, height form, contour
ver 0.9 : 12/12/2016 adding save file .asc for cloud point
ver 0.8 : 16/03/2016 adding progressBar
ver 0.7 : 03/09/2014 Delete "translate" forgotten and bug fix discovered by the passage of PyQt to Pyside !
ver 0.6 : 26/08/2014 Delete all "_translate"
ver 0.5 : 25/08/2014 Delete "_translate (" MainWindow "," Stretching X ", None)" that prevented the display of tooltip with PySide (Windows Vista)
ver 0.4 : 08/08/2014 PyQt4 PySide
ver 0.3 : 28/03/2014 :commentata la riga "# self.checkBox_5.setAccessibleName(_fromUtf8(""))"
che causa un errore con la seguente versione di FreeCAD : 0.14.3343 (Git), Python version: 2.7.6, Qt version: 4.8.5