Macro Texture
| Descrizione |
|---|
| Crea una immagine 3D partendo da una immagine BMP. Versione macro: 0.14c Ultima modifica: 2021/01/16 Versione FreeCAD: 0.18 e superiore Download: ToolBar Icon, Macro Loft Autore: Mario52 |
| Autore |
| Mario52 |
| Download |
| ToolBar Icon, Macro Loft |
| Link |
| Raccolta di macro Come installare le macro Personalizzare la toolbar |
| Versione macro |
| 0.14c |
| Data ultima modifica |
| 2021/01/16 |
| Versioni di FreeCAD |
| 0.18 e superiore |
| Scorciatoia |
| Nessuna |
| Vedere anche |
Descrizione
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")
Texture 004 Honda
Utilizzo
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

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 X 0,00 mm
: restringimento o ingrandimento della X (lunghezza) dell'oggetto (predefinito: 0)
- Stretching Y 0,00 mm
: restringimento o ingrandimento della Y (altezza) dell'oggetto (predefinito: 0)
- Stretching Z 0,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
- __Passo globale su spinBox:__
- Parametro utente:BaseApp/Preferenze/Macro/FCMmacros/FCTexture → SingleStep
- Regola il valore desiderato (1.0 per impostazione predefinita)
- __Per verificare se la macro è stata aggiornata:__
- Parametro utente:BaseApp/Preferenze/Macro/FCMmacros/FCTexture → switchVesionMacroSearch
- Imposta switchVesionMacroSearch su
true(falseper impostazione predefinita)
- Quit: esce dalla funzione.
Script
Icone barra degli strumenti .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.
-
Honda
-
Here with option contour
-
Ecco un esempio di immagine bmp convertita in punti e ripristinata in foto larga 6.5 nm
Grazie a Yorik per l'autorizzazione -
Questo è un esempio di immagine bmp convertita in oggetto 3D largo 6.7 nm.
Grazie a Yorik per l'autorizzazione
-
Il logo di FreeCAD.
-
Una parte dello sfondo di FreeCAD. Il file.
-
Una porzione di una tovaglia.
-
Una lastra zigrinata.
-
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 strumentoo 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
-
Converte solidi in mesh con GmshMesh.
Link
Link
La discussione sul forum per esprimere le proprie impressioni e contattare l'autore.
La macro
Macro Loft serve per automatizzare il multi loft.
How to handle pdf import properly and feasibly?
Revisioni
- ver 0.15 2025/01/04 elimina tutti i riferimenti a PySide e QtWidgets, chrono di chrisb
- Ver 0.14c : 15-01-2021 include Gui.SendMsgToActiveView("ViewFit")
- Ver 0.14b : 15-01-2021 Create Tab Coordinate and Tab Stretching for diminish the height of the macro and accepted in 15" screen
- ver 0.14 : 06/01/2021 change the search path procedure and adding preference option: search the new macro upgraded
####new2
pathFile = os.path.dirname(SaveName) + "/" #= C:/Provisoire400/
formatFichier = os.path.splitext(SaveName)[1] #= .png
SaveName = os.path.splitext(SaveName)[0] #= /home/kubuntu/.FreeCAD/Macro/Texture_007_H #= C:/Provisoire400/image3D
SaveNameformatFichier = SaveName + formatFichier #= C:/Provisoire400/image3D.png
####new2
FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Macros/FCMmacros/FCTexture").SetString("Path",pathFile)
####new
- 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

