Symbol3D.Material Property
Gets or sets a material used to override some properties of the 3D symbol.
Syntax
public AttributeVariable< Material > Material { get; set; }
Property Value
Default: null
A material used to override some properties of the 3D symbol, possibly null.
Remarks
If this property is set to a Material instance, each value of this material that is explicitly specified will replace the corresponding material property read from the 3D model file. Properties that are not specified and have their default values will not modify the model.
This can be used to adjust material properties such as colors, double-sidedness, crease angle etc. of individual models. Textures can not be changed though, the Material.Map and Material.MapApplier values are not used. This can for example be used to create one or more tinted versions of the same base model, see the next image. It works best for models without textures, but can look good also for textured models, if the texture colors are not too bright.
![]() |
The default values of the Material class does not always match the default values in the models. For instance, Material.Lighting defaults to False, but the models read by Symbol3D will always set this to True.
Overriding a property to a value that matches its default value is a little problematic, but you can do it in Carmenta Studio, by creating a named instance of a value and specify that instance as the property value. E.g. to override lighting to False, create a Bool instance with the value False, and use that for Material.Lighting.
Platforms
Windows, Linux, Android