ForMatter/Materials/polymer/Polypropylene Homopolymer (PP)
mat_polypropylene_pp_homopolymer

Polypropylene Homopolymer (PP)

semi-crystalline thermoplastic, polyolefin, fatigue-resistant · PP, polypropylene, homopolymer PP, PP-H
metallic 0.00
hue shift +0°

The cheapest reasonable engineering thermoplastic — yogurt-cup tubs, prescription-pill bottles, automobile bumper covers, the living-hinge box that snaps closed and stays closed for ten thousand openings. Polypropylene's defining trick is that it accepts repeated bending at thin sections without cracking — the integrated-hinge geometry that almost every food-storage container relies on.

Semi-crystalline thermoplastic homopolymer, isotactic stereoregularity standard. Tm ~165 °C, Tg -10 °C. Density 0.905 g/cm³ (the lowest of any common engineering thermoplastic — PP floats in water). Tensile 35 MPa, fatigue endurance limit ~14 MPa over 10⁷ cycles. UV-degrades unless pigmented or stabilized. Joins by ultrasonic welding cleanly; surface energy too low for most adhesives without flame or corona pretreatment.

mechanical

  • tensile_strength_mpa35
  • yield_strength_mpa33
  • elastic_modulus_gpa1.5
  • elongation_pct_at_break600
  • density_kg_m3905
source: MakeItFrom; SABIC PP datasheet

thermal

  • melting_point_c165
  • service_max_c100
source: SABIC datasheet

Sustainability

  • embodied carbon kg co2e per kg2.0
  • sourceEditorial estimate from ICE / Granta CES EduPack class databases — industry mean, with cradle-to-gate boundary unless otherwise noted. Embodied carbon for any specific product depends on supplier mix, recycled content, and energy grid; verify against a primary source before using these numbers in a sustainability claim.
  • embodied carbon recycled kg co2e per kg0.5
  • recyclabilityhigh — RIC #5 stream, mature secondary processing
  • biodegradableFalse
  • certificationsFDA 21 CFR 177.1520 (food contact)
visual
natural translucent off-white; pigments easily; slight waxy gloss on injection-molded surface
tactile
warm to the touch (low thermal conductivity), waxy, light

PBR starter values

Principled BSDF defaults derived from the sphere matte finish. Reasonable seed for Blender, Substance, Keyshot, Rhino — tune per material.

# finish:      matte
albedo        #dee0e2
metallic      0.00
roughness     0.75
ior           1.45
transmission  0.00
clearcoat     0.00
sheen         0.00
anisotropic   0.00
copy as JSON
{
  "albedo": "#dee0e2",
  "metallic": 0.0,
  "roughness": 0.75,
  "ior": 1.45,
  "transmission": 0.0,
  "clearcoat": 0.0,
  "sheen": 0.0,
  "anisotropic": 0.0
}
Blender 4.x Python
# Blender 4.x — Principled BSDF
# Polypropylene Homopolymer (PP) · finish: matte
import bpy
mat = bpy.data.materials.new(name="mat_polypropylene_pp_homopolymer")
mat.use_nodes = True
bsdf = mat.node_tree.nodes["Principled BSDF"]
bsdf.inputs["Base Color"].default_value         = (0.7305, 0.7454, 0.7605, 1.0)
bsdf.inputs["Metallic"].default_value           = 0.000
bsdf.inputs["Roughness"].default_value          = 0.750
bsdf.inputs["IOR"].default_value                = 1.450
bsdf.inputs["Transmission Weight"].default_value = 0.000
bsdf.inputs["Coat Weight"].default_value        = 0.000
bsdf.inputs["Sheen Weight"].default_value       = 0.000
bsdf.inputs["Anisotropic"].default_value        = 0.000
KeyShot Python (lux)
# KeyShot 11+ — lux Python API, Generic material
# Polypropylene Homopolymer (PP) · finish: matte
# Run from Window → Scripting Console
import lux
mat = lux.createMaterial(name="mat_polypropylene_pp_homopolymer", materialType="Generic")
mat.setProperty("diffuse",      (222, 224, 226))   # 8-bit sRGB
mat.setProperty("metallic",     0.000)
mat.setProperty("roughness",    0.750)
mat.setProperty("indexOfRefraction", 1.450)
mat.setProperty("transparency", 0.000)
mat.setProperty("coatingWeight", 0.000)
Substance pbrMetalRough
{
  "_format": "Substance Designer / Painter \u2014 pbrMetalRough constants",
  "_about": "Polypropylene Homopolymer (PP) \u00b7 finish: matte",
  "baseColor": {
    "r": 0.7305,
    "g": 0.7454,
    "b": 0.7605
  },
  "metallic": 0.0,
  "roughness": 0.75,
  "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."
}
glTF 2.0 Metallic-Roughness
{
  "asset": {
    "version": "2.0",
    "generator": "ForMatter"
  },
  "materials": [
    {
      "name": "mat_polypropylene_pp_homopolymer",
      "pbrMetallicRoughness": {
        "baseColorFactor": [
          0.7305,
          0.7454,
          0.7605,
          1.0
        ],
        "metallicFactor": 0.0,
        "roughnessFactor": 0.75
      },
      "extensions": {
        "KHR_materials_ior": {
          "ior": 1.45
        }
      }
    }
  ]
}
USD Preview Surface
# USD Preview Surface — UsdShade.MaterialLook prim attributes
# Polypropylene Homopolymer (PP) · finish: matte
def Material "mat_polypropylene_pp_homopolymer" {
    token outputs:surface.connect = </mat_polypropylene_pp_homopolymer/PreviewSurface.outputs:surface>

    def Shader "PreviewSurface" {
        uniform token info:id = "UsdPreviewSurface"
        color3f inputs:diffuseColor = (0.7305, 0.7454, 0.7605)
        float   inputs:metallic     = 0.000
        float   inputs:roughness    = 0.750
        float   inputs:ior          = 1.450
        float   inputs:opacity      = 1.000
        float   inputs:clearcoat    = 0.000
        token   outputs:surface
    }
}
↓ download glTF material

Citations