Jump to content

Macro Texture

From FreeCAD Documentation
This page is a translated version of the page Macro Texture and the translation is 100% complete.

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 FCCreaLoft
Autore: Mario52
Autore
Mario52
Download
ToolBar Icon, Macro Loft FCCreaLoft
Link
Versione macro
0.14c
Data ultima modifica
2021/01/16
Versioni di FreeCAD
0.18 e superiore
Scorciatoia
Nessuna
Vedere anche
FCCreaLoft Macro Loft

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 FCCreaLoft 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

Texture 002
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 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 (false per 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.











Link

Link

La discussione sul forum per esprimere le proprie impressioni e contattare l'autore.

La macro FCCreaLoft Macro Loft serve per automatizzare il multi loft.

apply hair cell texture

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