Macro Texture/it

Descrizione
Questa macro permette di creare facilmente un modello 3D partendo da una immagine bitmap con 256 livelli di grigio.

Siccome con questa macro si può convertire qualsiasi immagine in oggetti 3D senza alcun intervento, spero che questo cambi il modo di concepire il CAD e il CNC.

Tutto diventa possibile indipendentemente dalla complessità dell'immagine!

La macro Macro Loft permette di automatizzare il "multi loft"



Uso
Questo macro ha bisogno di una immagine con 256 livelli di grigio (0-255) (8 bit) pertanto prima di utilizzare la macro è necessario convertire l'immagine in scala di grigi. Il numero di colori viene rilevato automaticamente. Ogni colore viene trattato come un livello di grigio, il bianco (255) è il livello più alto e il nero (0) è il livello più basso. Se l'immagine ha più di 256 colori (32 bit) viene attivato il modo Plan. (Il tempo di esecuzione delle funzioni di visualizzazione dei punti può essere molto lungo)

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.

Attenzione: secondo le dimensioni dell'immagine, il file del disegno può diventare molto grande! Tenere presente che un'immagine di 100 px di larghezza e 100 px di altezza produce 100 x 100 = 10000 punti e quindi, siccome a ogni punto corrisponde una coordinata, ci sono 10000 coordinate XYZ o vettori.

Coordinate

 * Coordinate X: [[Image:Std_CoordinateSystem.svg|24px]] : Coordinata X della posizione dell'oggetto, di default : 0.
 * Coordinate Y: [[Image:Std_CoordinateSystem.svg|24px]] : Coordinata Y della posizione dell'oggetto, di default : 0.
 * Coordinate Z: [[Image:Std_CoordinateSystem.svg|24px]] : Coordinata Z della posizione dell'oggetto, di default : 0.

Stetching

 * Stetching X : diminuisce o aumenta la lunghezza dell'oggetto, di default : 0.
 * Stetching Y : aumenta l'altezza dell'oggetto, di default : 0.
 * Stetching Z : diminuisce o aumenta la profondità dell'oggetto, di default : 0.

Inversion

 * : Inverte le coordinate X dell'immagine.
 * : Inverte le coordinate Y dell'immagine.
 * : Inverte le coordinate Z dell'immagine.

Mode 8 Bits
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)


 * : Costruisce la linea (i vettori) in forma di Wire.
 * : Costruisce la linea (i vettori) in forma di Bspline.
 * : Crea i vettori dei punti nella nuvola di punti.
 * : Crea un punto per ogni pixel (vettoriale). (La procedura può essere lunga)
 * : Se Nuance è attivato i colori dei punti sono restituiti come se fosse una foto.

Mode 32 Bits

 * : Il modo Photo è attivato automaticamente quando viene rilevata una immagine di 32 bit. (La procedura può essere lunga)
 * : Il modo Plan consente di importare una immagine di 32 bit e ignorare lo sfondo del piano. Il colore predefinito dello sfondo del piano è il nero, per ignorare più colori regolare il Capping. Se è selezionato il bianco, ignora il bianco e lascia passare tutti gli altri colori. (La procedura può essere lunga)

Files

 * : Se è selezionato viene salvato un file originalName.bmp.pcd nella stessa directory del file (pcd v0.7).
 * : Se è selezionato viene salvato un file originalName.bmp.asc nella stessa directory del file. Questo file può essere usato come una nuvola di punti (formato: X Y Z).

Capping (10mm)

 * Slider : Definisce l'altezza della forma, l'altezza viene visualizzata nel riquadro del titolo.
 * : Definisce l'altezza della forma, l'altezza viene visualizzata nel riquadro del titolo.
 * Raw mode : Serve a regolare il numero di colori (livelli). La modalità predefinita è 0-19 (che costituisce un filtro e permette di ottenere maggiori dettagli, secondo la complessità dell'immagine). Quando viene selezionata questa opzione la modalità passa a 0-255 (tutta la scala di colori).
 * : Questo checkBox abilita lo spinbox.
 * : Questa casella numerica determina il colore che deve essere rimosso per ottenere il contorno dell'oggetto (ad esempio 0 per rimuovere lo sfondo).
 * Capping : L'operazione di tappatura può essere eseguita su colori a scelta, bianco (impostazione predefinita) o nero. Il grado di tappatura si regola da 19 a 0 (o da 255 a 0) se la casella di controllo è impostata su White, oppure da 0 a 19 (o da 0 a 255) se la casella di controllo è impostata su Black.
 * : Questa casella numerica determina il grado di Capping

Command

 * : Apre il file immagine e avvia la conversione.
 * : Apre la pagina del wiki dentro il FreeCAD webBrowser
 * : Esce dalla funzione.

Script
Le icone in formato .png e .svg

Macro_Texture.FCMacro

Scaricare la macro da Gist Macro FCTexture.FCMacro

Esempio
Le immagini sono state inclinate per esaltare l'effetto 3D.

Link
La discussione sul forum per esprimere le proprie impressioni e

La Macro Loft che permette di automatizzare il "multi loft"

apply hair cell texture

How to handle pdf import properly and feasibly?

Revisioni

 * 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 adapt 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