Material Workbench/it

L'icona dell'ambiente Material

Introduzione

disponibile dalla versione 1.0

L'Ambiente Material gestisce il sistema dei materiali di FreeCAD.

Strumenti

Strumenti correlati

Sebbene non siano forniti dall'ambiente Material, questi strumenti relativi a Material sono inclusi nel core di FreeCAD e possono essere utilizzati senza caricare questo ambiente:

Preferenze

Lavorare con i materiali

Questa guida spiega i concetti fondamentali e i flussi di lavoro per l'utilizzo del sistema dei materiali in FreeCAD. Illustra i diversi strumenti, le proprietà e i dettagli tecnici chiave per l'uso sia interattivo che tramite script.

Strumenti di Material

Editor del Materiale

Selettore del materiale

Proprietà fisiche vs. aspetto

In FreeCAD un materiale è definito da due distinti insiemi di proprietà:

Non è necessario che un materiale abbia entrambe le caratteristiche. Alcuni materiali potrebbero essere definiti solo per l'analisi (con le sole proprietà fisiche), mentre altri potrebbero essere definiti solo per la visualizzazione (con le sole proprietà estetiche).

Sostituire l'aspetto del materiale

L'aspetto finale di un oggetto è determinato da una gerarchia. Le proprietà visive impostate in un materiale possono essere sovrascritte dalle impostazioni locali dell'oggetto stesso.

Proprietà

Quando si assegna un materiale, FreeCAD collega i dati all'oggetto e al suo provider di visualizzazione utilizzando due proprietà.

Espressioni

È possibile accedere ai valori delle proprietà dei materiali tramite espressioni, una funzionalità particolarmente utile in Spreadsheet. Per assicurarsi di ottenere una quantità numerica utilizzabile anziché una stringa di testo, è necessario utilizzare il dizionario PropertyObjects.

=<<MyBody>>.ShapeMaterial.PhysicalProperties[<<Density>>]
→ Restituisce "7850 kg/m^3"
=<<MyBody>>.ShapeMaterial.PropertyObjects[<<Density>>].Value
→ Restituisce un oggetto Quantità che il foglio di calcolo può utilizzare numericamente.
Se questo valore si trova nella cella A1 del foglio di calcolo, si può scrivere una formula nella cella A2 come = A1 * 10 e funzionerà correttamente.

Scripting

È possibile leggere e impostare le proprietà dei materiali utilizzando script Python. I metodi principali sono .getPhysicalValue() e .setPhysicalValue().

import FreeCAD
import FreeCADGui

# Get a reference to your object (e.g., a PartDesign Body)
obj = App.ActiveDocument.getObject("Body")

# --- Check for and get a property ---
if obj.ShapeMaterial.hasPhysicalProperty("Density"):
    
    # Get the value. This returns a FreeCAD.Quantity object.
    density_quantity = obj.ShapeMaterial.getPhysicalValue("Density")
    
    print(f"The material is: {obj.ShapeMaterial.Name}")
    print(f"The density is: {density_quantity}")
    print(f"Numerical value: {density_quantity.Value}")

else:
    print("The selected material does not have a 'Density' property.")


# --- Set a property ---
# The value can be a string with units or a FreeCAD.Quantity object.
try:
    obj.ShapeMaterial.setPhysicalValue("Density", "8000 kg/m^3")
    App.ActiveDocument.recompute()
    print("Density successfully updated.")

except Exception as e:
    print(f"Failed to set property: {e}")