vcad.
Back to App
App

Materials

Apply realistic PBR materials to parts for visualization

Materials give parts realistic appearance using physically based rendering (PBR). Each material defines visual properties like color, metallic reflection, and surface roughness, plus optional physical data for mass calculations.

Material Properties

Every material has these core properties:

PropertyTypeRangeDescription
color[r, g, b]0.0 - 1.0Base color in RGB
metallicnumber0.0 - 1.00 = plastic/dielectric, 1 = metal
roughnessnumber0.0 - 1.00 = mirror smooth, 1 = fully rough
densitynumberoptionalkg/m^3 for mass calculations

The metallic property controls how the material reflects light. Metals reflect the environment with their base color tinting the reflection. Non-metals (plastics, wood) have white specular highlights.

Roughness Examples

ValueAppearance
0.0 - 0.1Mirror-like, sharp reflections (chrome, polished glass)
0.2 - 0.4Glossy finish (polished metal, lacquered wood)
0.5 - 0.7Satin/matte finish (brushed metal, plastic)
0.8 - 1.0Fully diffuse (rubber, concrete, foam)

Built-in Materials

vcad includes 31 preset materials organized by category.

Metals

KeyNameDensity (kg/m^3)
aluminumAluminum2700
steelSteel8000
brassBrass8500
copperCopper8960
titaniumTitanium4500
chromeChrome7190
goldGold19300
silverSilver10490

Plastics

KeyNameDensity (kg/m^3)
abs-whiteABS White1050
abs-blackABS Black1050
abs-redABS Red1050
abs-blueABS Blue1050
plaPLA1240
petgPETG1270
nylonNylon1150
resinResin1200
acrylicAcrylic1180
rubberRubber1100

Organic

KeyNameDensity (kg/m^3)
oakOak750
walnutWalnut650
leatherLeather900
corkCork200
bambooBamboo400

Glass

KeyNameDensity (kg/m^3)
glassGlass2500
glass-tintedTinted Glass2500

Composites

KeyNameDensity (kg/m^3)
carbon-fiberCarbon Fiber1600
fiberglassFiberglass1800
kevlarKevlar1440

Other

KeyNameDensity (kg/m^3)
concreteConcrete2400
ceramicCeramic2300
foamFoam50

Custom Materials

Define custom materials in your document's materials dictionary:

{
  "materials": {
    "my-purple-plastic": {
      "name": "my-purple-plastic",
      "color": [0.5, 0.2, 0.8],
      "metallic": 0.0,
      "roughness": 0.5,
      "density": 1100
    }
  }
}
namestringrequired

Unique identifier for the material. Use lowercase with hyphens.

color[number, number, number]required

RGB color values from 0.0 to 1.0.

metallicnumberrequired

Set to 0.0 for plastics, wood, and most non-metals. Set to 0.8-1.0 for metals.

roughnessnumberrequired

Surface roughness from 0.0 (mirror) to 1.0 (matte).

densitynumberrequired

Optional. Density in kg/m^3 for mass calculations.

Assigning Materials to Parts

In the UI

  1. Select a part in the viewport or feature tree
  2. Open the Material Selector in the properties panel
  3. Click a material to apply it

The material selector provides:

  • Live preview: Hover over a material to preview it on the selected part
  • Recent materials: Your last 6 used materials appear at the top
  • Favorites: Star materials to pin them for quick access

In Code (MCP)

When creating parts via the MCP server, specify the material key:

{
  "parts": [
    {
      "name": "bracket",
      "material": "aluminum",
      "primitive": {
        "type": "cube",
        "size": { "x": 50, "y": 30, "z": 5 }
      }
    }
  ]
}

In .vcad Files

Materials are assigned per-part in the document's roots array:

{
  "roots": [
    { "root": "op-001", "material": "steel" },
    { "root": "op-002", "material": "abs-black" }
  ]
}

Mass Calculations

When a material has a density value, vcad can calculate part mass:

mass = volume * density

Volume is computed from the part geometry. The Inspect panel displays mass when a material with density is assigned.

For assemblies, total mass is the sum of all instance masses, accounting for each instance's material assignment.