Enclosure Detail, PBR Materials and Presentation Renders
Companion videos
Watch on YouTube (opens in a new tab)
-
ตอนที่ 1 - การสร้าง 3D Model ด้วยโปรแกรม onshape Thai Embedded Systems Association (TESA)
Videos by Thai Embedded Systems Association (TESA) · The whole series in the playlist AIoT Foundation
Course 3 · Module 2 Suggested time: about 4 hours — develop the rough block from M01 into detailed shape, add PBR materials, set up lighting, and render a presentation image Format: a hands-on lesson — read it and follow along directly in Blender; the lid-opening animation goes to M03
Lab · Look-dev sheet · ← Table of Contents · ← M01 · M03 →
Objectives (Learning Outcomes)
Section titled “Objectives (Learning Outcomes)”By the end of this lesson you should be able to:
- Develop a more complex shape from the block model (hard-surface / port openings / wall thickness)
- Define materials, surfaces, and surface detail in a PBR approach
- Light the scene and render a high-quality presentation image
- Produce a product visualization suited to industry and teaching material
Key phrase In M02, add detail without breaking the size locked in M01 — a beautifully cut port opening that the board no longer fits into = not a pass yet
Read alongside this chapter
Section titled “Read alongside this chapter”| Document | Use when |
|---|---|
| M01 — Industrial Design Fundamentals | The block model + the mm units you must keep |
| Boolean Modifier | Cutting port / sensor openings |
| Solidify Modifier | Setting wall thickness |
| Bevel (edit) / Bevel Modifier | Rounded edges the user touches |
| Mirror Modifier | Symmetric parts |
| Apply Scale | Ctrl+A before Boolean / Bevel |
| Principled BSDF | The main PBR material |
| Materials introduction | Creating and assigning a material |
| EEVEE | Fast rendering to check results |
| Cycles | Higher-quality rendering (if your machine can handle it) |
| Light objects | Area / Point / Sun |
| World & Environment | HDRI / a studio backdrop |
| Cameras | Presentation camera angles |
| glTF materials | Preparing materials so they can be sent to the Twin in M04 |
| Blender Fundamentals — Modeling | Official video |
| INC111-2021 (Thai) | Thai-language tutorial |
| ternion-3d-assets-free | Sample materials/models for reference (reference only) |
| Look-dev sheet | Recording material values, lighting, and render files |
1. From Block to Product Detail (Keep Scale)
Section titled “1. From Block to Product Detail (Keep Scale)”In M01 you have at least:
PCB_placeholderat the true sizeEnclosure_blockthat covers it
In M02, you will:
- Give the box wall thickness (not just a solid block)
- Cut openings for ports / LEDs / sensors, at least 2 of them
- Round the edges the user handles
- Split the top lid–base into separate objects (preparing for M03 / printing in M06)
- Add materials + lighting + render a presentation image
M01 block (solid sizes locked) → Solidify / shell thickness → Boolean cutouts → Bevel edges → Split lid / base → Materials (Principled BSDF) → Lights + camera → Render PNGDo not change the PCB’s Dimensions without noting why — if the box must grow, adjust it per the clearance formula from M01, and update the checklist.
2. Modeling Techniques You Will Use
Section titled “2. Modeling Techniques You Will Use”2.1 Always Apply Scale first
Section titled “2.1 Always Apply Scale first”Before Boolean / Bevel / Solidify:
- Object Mode → select the object
Ctrl+A→ Scale
If you forget and Scale is not 1,1,1, bevels and cut holes tend to come out wrong — read Apply
2.2 Solidify — wall thickness
Section titled “2.2 Solidify — wall thickness”The Solidify Modifier adds thickness to a mesh surface.
Approach used in the lab (continuing from M01):
| Step | What to do |
|---|---|
| 1 | Start from a solid box, or remove the inner faces later, depending on the workflow you choose |
| 2 | Add Solidify · Thickness ≈ 2.0 mm (the default from the 3D-printing guidance in M01) |
| 3 | Turn on Even Thickness if the option exists and the result looks consistent |
| 4 | Check that the PCB is still inside and does not collide with the wall |
For beginners: either a solid box + Boolean to hollow out the inside, or Solidify from a shell, both work — what matters is a wall thickness of around 2 mm, and that the PCB still fits.
2.3 Boolean — cutting port and sensor openings
Section titled “2.3 Boolean — cutting port and sensor openings”The Boolean Modifier:
| Operation | Use in this lab |
|---|---|
| Difference | Cutting a hole out of the box (a USB port, a sensor opening, an LED window) |
| Union / Intersect | Used less in M02 — save these for when parts are combined |
Short steps:
- Create a Cube/Cylinder as a
Cutter_USBsized to the opening (allowing clearance around the connector) - Position the cutter so it overlaps the wall at the port’s location
- On the enclosure: Add Modifier → Boolean → Operation Difference → Object = the cutter
- If the result looks odd, try the Exact solver
- Once satisfied, apply the modifier · hide or delete the cutter
Do at least 2 openings (for example USB + a sensor opening, or an LED)
2.4 Bevel — rounded edges
Section titled “2.4 Bevel — rounded edges”Edges that are too sharp are uncomfortable to hold and hard to print — use Bevel:
- Edit Mode: select an edge →
Ctrl+B, drag the mouse - Or a Bevel Modifier on the whole part (be careful not to round it so much the port openings deform)
Starting radius in the lab: about 0.5–1.5 mm on the outer edges the hand touches
2.5 Mirror — symmetric parts (if any)
Section titled “2.5 Mirror — symmetric parts (if any)”The Mirror Modifier is useful when a lid or button is left–right symmetric — it reduces duplicate work.
2.6 Split lid and base
Section titled “2.6 Split lid and base”From M02 onward, split at least:
| Object name | Role |
|---|---|
Enclosure_base |
The base / lower part |
Enclosure_lid |
The top lid |
An easy way: in Edit Mode, select the top faces → P → Selection to make it a new object · or cut with a plane + Boolean and then separate the parts.
Why: M03 rotates the lid · M06 prints the parts separately.
3. Materials with Principled BSDF (PBR)
Section titled “3. Materials with Principled BSDF (PBR)”PBR = Physically Based Rendering — a material responds to light in a near-realistic way as the lighting angle changes.
In Blender, the main node used is Principled BSDF (which works well with glTF in M04)
3.1 Create a material
Section titled “3.1 Create a material”- Select the object → the Material Properties tab
- New → name it, for example
Plastic_matte_body - Open the Shader Editor if you want to see the nodes (Materials intro)
3.2 Parameters you must understand
Section titled “3.2 Parameters you must understand”| Parameter | Meaning | Lab tip |
|---|---|---|
| Base Color | The base colour | Enclosure plastic: light grey / muted white |
| Roughness | Matte ↔ glossy (0 = very glossy, 1 = matte) | Matte plastic ≈ 0.45–0.7 |
| Metallic | 0 = not metal, 1 = metal | Plastic = 0 · a metal button/port = 1 |
| Specular / IOR (depending on version) | The reflectiveness of an insulator | Use the default first, then adjust |
| Emission (optional) | Light emitted from the surface | Simulating an LED — keep the intensity low |
3.3 Two materials minimum (lab presets)
Section titled “3.3 Two materials minimum (lab presets)”Copy these starting values and adjust them — record the real values in the look-dev sheet
A — Matte plastic (the body)
| Parameter | Starting value |
|---|---|
| Base Color | RGB ≈ 0.75, 0.75, 0.78 |
| Roughness | 0.55 |
| Metallic | 0.0 |
B — Contrast accent (rubber feet / metal port / buttons)
| Parameter | Rubber feet | Brushed metal accent |
|---|---|---|
| Base Color | 0.05, 0.05, 0.05 | 0.7, 0.7, 0.72 |
| Roughness | 0.7 | 0.35 |
| Metallic | 0.0 | 1.0 |
Assign the material to a separate part, or use several material slots on the same mesh (Edit Mode → Assign)
4. Lighting and Camera for Product Shots
Section titled “4. Lighting and Camera for Product Shots”4.1 Render engine
Section titled “4.1 Render engine”| Engine | Use when | Manual |
|---|---|---|
| EEVEE | Checking results quickly · most of the lab | EEVEE |
| Cycles | The final presentation image, if your machine can handle it | Cycles |
Set at Render Properties → Render Engine
4.2 Simple three-point light (the recommended starting point)
Section titled “4.2 Simple three-point light (the recommended starting point)”Referencing the studio-lighting concept + Light objects:
| Light | Role | Starting idea |
|---|---|---|
| Key | The main light | An Area Light from the front-side · Power just enough to see the edges |
| Fill | Reduces dark shadows | A weaker Area light on the opposite side |
| Rim / back | Separates the object from the background | A thin light from behind |
Or use a World HDRI (World) as ambient light, adding one Area light to bring out the piece’s edges.
Background: a light grey colour or a plain plane — don’t let a pattern get in the way of reading the shape.
4.3 Camera
Section titled “4.3 Camera”Add → Camera- Recommended angle: three-quarter, or something isometric-ish that shows both the lid and a side port
Ctrl+Alt+Numpad0aligns the camera to the current view (if your system supports it)- Turn on Lock Camera to View temporarily while framing the shot, then turn it off before rendering
Capture at least:
- 1 beauty shot (communicates the shape/material)
- (Recommended) 1 technical shot that clearly shows the port openings or the PCB’s position
5. Render Output
Section titled “5. Render Output”- Output Properties → Resolution, for example 1920 × 1080
- File Format = PNG
- Set the Output path inside the project folder
F12or Render → Render Image- Image → Save As…
Record the engine, samples/quality, and file name in material-lighting-sheet.md
6. Quality Gate Before M03
Section titled “6. Quality Gate Before M03”| Check | Pass means |
|---|---|
| Scale from M01 still valid | The PCB still fits, checked in Wireframe |
| Openings ≥ 2 | Ports/sensors/LEDs are clear |
| Lid and base are separate objects | Ready to animate in M03 |
| Materials ≥ 2 | Principled BSDF · values recorded in the sheet |
| At least one render | A PNG in the deliverables folder |
| Apply Scale done | No leftover odd Scale before the modifiers |
Next Steps
Section titled “Next Steps”- Do the lab: Lab
- Fill in material-lighting-sheet.md
- When ready, continue to M03 — Motion and Interaction
References and Further Reading
Section titled “References and Further Reading”Blender modeling
Section titled “Blender modeling”- Boolean Modifier (4.5 LTS)
- Solidify Modifier
- Bevel Modifier
- Mirror Modifier
- Apply Scale
- Fundamentals — Modeling
Materials, lights, render
Section titled “Materials, lights, render”Course portals
Section titled “Course portals”Check your understanding
Section titled “Check your understanding”Three short questions in quiz.yaml, one per objective of this lesson. Try answering them yourself first, then compare with the answer key and explanations in the file.
Continue hands-on at Lab: refine the model, add PBR materials, and render
Lab · Look-dev sheet · ← TOC · ← M01 · M03 →
Review questions
Answer on your own first, then open the answer.
-
ก่อนใช้ Boolean / Bevel / Solidify ต้องทำอะไรก่อนเสมอ (Objective 1)
- เพิ่ม Subdivision Surface
- `Ctrl+A` → Apply Scale
- Export เป็น GLB
- ใส่วัสดุ Principled BSDF
Show answer
Answer: B. `Ctrl+A` → Apply Scale
หัวข้อ 2.1: ถ้า Scale ไม่เป็น 1,1,1 ขอบมนและรูเจาะมักเพี้ยน
-
ค่า Metallic ที่เหมาะกับพลาสติกตัวเครื่อง (Objective 2)
- 1
- 0.5
- ขึ้นกับสีของพลาสติก
- 0
Show answer
Answer: D. 0
ตารางในหัวข้อ 3.2: พลาสติก = 0 ส่วนโลหะของปุ่มหรือพอร์ต = 1
-
Render engine ที่บทเรียนแนะนำเมื่อต้องการดูผลเร็วในแล็บส่วนใหญ่ (Objective 3)
- Physics
- EEVEE
- Cycles
- Workbench
Show answer
Answer: B. EEVEE
ตารางในหัวข้อ 4.1: EEVEE สำหรับดูผลเร็ว ส่วน Cycles สำหรับภาพสุดท้ายถ้าเครื่องไหว
Cite this lesson
If you teach from this lesson or reuse it in slides or documents, credit it with the text below. If you changed it, add (adapted) after the title.
"Enclosure Detail, PBR Materials and Presentation Renders" from TESA Open Knowledge by the Thai Embedded Systems Association (TESA), https://github.com/tesaiot/tesa-qualification-program, licensed under CC BY-NC 4.0
Thai attribution: "รายละเอียดกล่อง วัสดุ PBR และภาพนำเสนอ" จาก TESA Open Knowledge โดยสมาคมสมองกลฝังตัวไทย (Thai Embedded Systems Association: TESA) https://github.com/tesaiot/tesa-qualification-program สัญญาอนุญาต CC BY-NC 4.0
This lesson adapts the source below; keep its credit too.
https://github.com/drsanti/TESAIoT-Courses/blob/287c21814ba8c75f693136616dcd270349a15966/C3/M02/README.md · Original content by Asst. Prof. Dr. Santi Nuratch (ผศ.ดร.สันติ นุราช), KMUTT. Course 3 (C3/) of drsanti/TESAIoT-Courses. TESA funded the work and holds the rights; published here under CC BY-NC 4.0. The upstream repository carries no licence file. Text kept faithful; structure, front matter, quizzes and notes added by TESA Open Knowledge.
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0
Content is licensed CC BY-NC 4.0. Reuse it non-commercially and credit the Thai Embedded Systems Association (TESA) every time. · How to cite TESA