The desktop-3D-printer plastic. Made from corn or sugarcane, biodegradable in industrial composting, brittle in sunlight. The default for first prints, casual prototypes, and anything that doesn't need to stay strong outdoors. Smells faintly sweet when extruded.
Bio-derived polyester from fermented plant starches. Semicrystalline in slow-cooled state, amorphous in fast-cooled (printed) state. Tg ~60 °C — softens in a hot car. Compostable under industrial conditions (60 °C + microbial inoculum); persists for years in ambient soil.
Suppliers have gradually acknowledged the urgent need to look at alternative, rapidly renewable resources. Nowhere is this more obvious than in the plastics industry, which is looking for alternatives to petroleum-based polymers.
Principled BSDF defaults derived from the sphere glossy finish. Reasonable seed for Blender, Substance, Keyshot, Rhino — tune per material. Or grab the whole library at once: ForMaterials library →
# finish: glossy albedo #d8d8b8 metallic 0.00 roughness 0.25 ior 1.45 transmission 0.00 clearcoat 0.40 sheen 0.00 anisotropic 0.00
{
"albedo": "#d8d8b8",
"metallic": 0.0,
"roughness": 0.25,
"ior": 1.45,
"transmission": 0.0,
"clearcoat": 0.4,
"sheen": 0.0,
"anisotropic": 0.0
}
# Blender 4.x — Principled BSDF
# PLA (Polylactic Acid) · finish: glossy
import bpy
mat = bpy.data.materials.new(name="mat_pla")
mat.use_nodes = True
bsdf = mat.node_tree.nodes["Principled BSDF"]
bsdf.inputs["Base Color"].default_value = (0.6867, 0.6867, 0.4793, 1.0)
bsdf.inputs["Metallic"].default_value = 0.000
bsdf.inputs["Roughness"].default_value = 0.250
bsdf.inputs["IOR"].default_value = 1.450
bsdf.inputs["Transmission Weight"].default_value = 0.000
bsdf.inputs["Coat Weight"].default_value = 0.400
bsdf.inputs["Sheen Weight"].default_value = 0.000
bsdf.inputs["Anisotropic"].default_value = 0.000
# KeyShot 11+ — lux Python API, Generic material
# PLA (Polylactic Acid) · finish: glossy
# Run from Window → Scripting Console
import lux
mat = lux.createMaterial(name="mat_pla", materialType="Generic")
mat.setProperty("diffuse", (216, 216, 184)) # 8-bit sRGB
mat.setProperty("metallic", 0.000)
mat.setProperty("roughness", 0.250)
mat.setProperty("indexOfRefraction", 1.450)
mat.setProperty("transparency", 0.000)
mat.setProperty("coatingWeight", 0.400)
{
"_format": "Substance Designer / Painter \u2014 pbrMetalRough constants",
"_about": "PLA (Polylactic Acid) \u00b7 finish: glossy",
"baseColor": {
"r": 0.6867,
"g": 0.6867,
"b": 0.4793
},
"metallic": 0.0,
"roughness": 0.25,
"ior": 1.45,
"opacity": 1.0,
"anisotropyLevel": 0.0,
"_notes": "Channels listed are the standard Substance pbrMetalRough output. Drop into a Uniform Color node per channel, or as the constant input on a layered stack."
}
{
"asset": {
"version": "2.0",
"generator": "ForMatter"
},
"materials": [
{
"name": "mat_pla",
"pbrMetallicRoughness": {
"baseColorFactor": [
0.6867,
0.6867,
0.4793,
1.0
],
"metallicFactor": 0.0,
"roughnessFactor": 0.25
},
"extensions": {
"KHR_materials_ior": {
"ior": 1.45
},
"KHR_materials_clearcoat": {
"clearcoatFactor": 0.4
}
}
}
]
}
# USD Preview Surface — UsdShade.MaterialLook prim attributes
# PLA (Polylactic Acid) · finish: glossy
def Material "mat_pla" {
token outputs:surface.connect = </mat_pla/PreviewSurface.outputs:surface>
def Shader "PreviewSurface" {
uniform token info:id = "UsdPreviewSurface"
color3f inputs:diffuseColor = (0.6867, 0.6867, 0.4793)
float inputs:metallic = 0.000
float inputs:roughness = 0.250
float inputs:ior = 1.450
float inputs:opacity = 1.000
float inputs:clearcoat = 0.400
token outputs:surface
}
}
SPI / PLASTICS recycling guide; NatureWorks Ingeo PLA technical literature; ASTM D6400 industrial-compostable plastic standard.
House vocabulary — terms ForMatter uses with intent.
Materials and processes for people who design and make things.
A local-first library of materials, processes, applications, and finishes — equal weight, citable everywhere, so a student can move from "what is this" toward "what's actually buildable here, now, by me." Part of the renato.design ecosystem — sibling of Plenum, Specimen, Ingenue, gesture, graf, and the Renato Rhino plug-ins. Form and matter, inseparable.
Half of teaching materials is teaching how the material is made into the thing. The standard subscription library was always light on that half. The wedge here isn't better samples or a prettier interface — it's treating Process as a peer entity, not a footnote.
Conway, Lefteri, Forty, Sparke, ASM, GIA. Every voice: Voices.
Local to this browser. No telemetry.