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 |
![]() |
Description
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"
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/3ec2ab127d8ad01a6b657aa5df9a6127ff07c7c0/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/3ec2ab127d8ad01a6b657aa5df9a6127ff07c7c0/Macro%2520FCTexture.FCMacro")
Usage
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.
L'interfaccia
Coordinates
Coordinate
Stretching
Stetching
Inversion
Inversion
8 bit Mode
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)
Wire : Costruisce la linea (i vettori) in forma di Wire.
Bspline : Costruisce la linea (i vettori) in forma di Bspline.
Cloud : Crea i vettori dei punti nella nuvola di punti.
Point : Crea un punto per ogni pixel (vettoriale). (La procedura può essere lunga)
Nuance : Se Nuance è attivato i colori dei punti sono restituiti come se fosse una foto.
32 bit Mode
Mode 32 Bits
Photo : Il modo Photo è attivato automaticamente quando viene rilevata una immagine di 32 bit. (La procedura può essere lunga)
Plan : 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)
File
Files
Capping (10mm)
Capping (10mm)
- Slider : Definisce l'altezza della forma, l'altezza viene visualizzata nel riquadro del titolo.
- 0 height
: Definisce l'altezza della forma, l'altezza viene visualizzata nel riquadro del titolo.
- Raw mode
20 : 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.
- 0/2 Contour
: Questa casella numerica determina il colore che deve essere rimosso per ottenere il contorno dell'oggetto (ad esempio 0 per rimuovere lo sfondo).
- Capping
White : 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.
- 20 Capping
: Questa casella numerica determina il grado di Capping
Command
Command
- File and launch : Apre il file immagine e avvia la conversione.
- Help : Apre la pagina del wiki dentro il FreeCAD webBrowser
- Visualizza la pagina Wiki nel browser di FreeCAD
- Per modificare il parametro disponibile: vai su 'Strumenti → Modifica parametro ...'
- __ Il passaggio globale su spinBox: __
- User parameter:BaseApp/Preferences/Macros/FCMmacros/FCTexture → SingleStep
- Regola il valore desiderato (1.0 per impostazione predefinita)
- __ Per la ricerca se la macro è aggiornata: __
- User parameter:BaseApp/Preferences/Macros/FCMmacros/FCTexture → switchVesionMacroSearch
- Regola switchVesionMacroSearch su
true
(false
per impostazione predefinita)
- Quit : 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.
-
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.
Links
Link
La discussione sul forum per esprimere le proprie impressioni e contattare l'autore.
La Macro Loft che permette di automatizzare il "multi loft"
How to handle pdf import properly and feasibly?
Revisioni
- 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 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