Week 5 — 3D scanning and printing
This week’s topic: 3D scanning and printing. For my individual work I physically printed the Week 2 root-style planter on the omni-wheel base—moving from CAD to a long FDM build on a Bambu Lab H2D, with filament prep, slicing in Bambu Studio, a failed first iteration, and a second run after fixing how the root and base join in CAD.
Individual assignment — printing the Week 2 planter assembly
What I expected going in
I already had the planter and omni base in CAD from Week 2; this week was about turning that mesh into a single, trustworthy print. I knew the H2D could handle long jobs, but I did not assume the first export would slice cleanly—the organic shell and the flat ring had lived as separate bodies for a long time, and printers punish that. The failure in the first run was frustrating but useful: it forced me back into Blender to fix the union instead of chasing endless slicer tweaks.
Design context (Week 2)
The detailed Blender workflow—import the open-source root mesh, refine it, scale to the rover, taper, add a printable bottom, drive cuts with mask solids, then union and intersect for export—is documented step-by-step with screenshots on Week 2 — 3D CAD (Blender). On this page, Designed steps & Blender refinement adds the same eight-step framework in “button path” form plus CAD captures with A/B/C callouts. Below that, the story is mostly slicing, filament, and printing on real hardware.
Why Bambu Lab (H2D)
I print on a Bambu Lab H2D because it matches what this project needs: a large, well-integrated FDM workflow, multi-material readiness, and software that is tuned to the machine. The H2D is a dual-toolhead fused-filament printer with an actively heated build chamber (up to about 65 °C), a heated bed (up to about 120 °C), and high-temperature hotends (up to about 350 °C), so it can cover everyday course plastics (PLA, PETG, TPU, ABS family, PA, PC, and filled variants) without fighting the hardware limits of a small open-frame machine. Official figures list a substantial build volume in dual-nozzle mode (the “total” dual-head envelope is about 350 × 320 × 325 mm, with single-nozzle mode using a slightly different width). The printer ships with Bambu Studio for slicing and remote monitor—live camera, job status, and AMS spool telemetry—which makes multi-hour jobs easier to supervise than ad hoc G-code senders.
In practice, I care less about peak marketing speed than about repeatable results: chamber and bed control for warp-prone jobs, filament runout/tangle sensing with the AMS, and a control stack that matches the mechanical limits of the machine. Those are the pragmatic reasons this unit sits in my workflow for Fab Academy prints. Full specifications are on the vendor page: Bambu Lab H2D — technical specifications.
Filament
I ordered Bambu Lab PLA from the official store so material labels, color IDs, and spool handling stay consistent with the AMS and the profiles in Bambu Studio. For this build I picked a metal-finish copper-tone PLA plus a cocoa brown basic PLA for contrast—both suited to a decorative planter while staying in a straightforward PLA process for a first full-size run.
Preparing and supervising the job
Before starting the machine I checked the model on my laptop in the same environment
where I iterate on electronics for the final project (Figure 2). The print job
name visible in Bambu Studio (shapr3d_export_...) reflects an export filename in
the slicing pipeline; the solid matches the planter-and-base assembly finalized in Blender on
Week 2, in a mesh format the H2D stack accepts. On the
printer side, Bambu Studio’s Device tab lists my machine as
H2D-MAPLE with live chamber camera, heatbed and nozzle status, AMS
slots, and the active spool. For this job the slicer estimated on the order of
1000+ layers and a long overnight run with several hundred grams of
filament—reasonable for a hollow organic shell with fine surface detail.
First print iteration — what went wrong
The first full attempt did not stay usable. Before the overhaul, the root mesh and the caster base did not form a single printable solid in the exported file: the organic walls and the flat ring met in slicing as weak islands and long bridges, not as shared perimeters. The failed plate showed heavy stringing and sparse fill at that seam (Figure 5), which points to both slicer limits and CAD that still treated trunk and base as loosely merged surfaces. The path forward was to rework the Blender boolean workflow (especially bottom + union), re-export, then re-slice—rather than only chasing retraction and temperature.
Designed steps & Blender refinement (between print iterations)
Yes—this week’s CAD work followed a designed eight-step pipeline (import →
detail → scale → taper → bottom mass → mask helpers → boolean union (
trunk + bottom) → boolean cuts with masks), the same framework described on
Week 2 — 3D CAD (Blender). What changed
after the first failed plate was not “random tweaking” but going back to that checklist and
fixing the watertight merge at the root–base interface. A one-line-per-step
outline also lives in documents/week05-modeling-process-outline.docx.
Blender operations I used (menus, selection, merge)
Below is the click-and-key path I actually use in Blender 4.x (UI can be English or Chinese; the modifier names are the same). This is the layer of detail Week 2 narrative points to but does not always spell out per click.
- Object vs Edit Mode — Header mode menu or Tab: I block out helpers and operands in Object Mode, then switch to Edit Mode when I need face loops, inset/extrude on the opening, or local mesh cleanup.
- Face / edge / vertex selection — In Edit Mode, 1 / 2 / 3 toggles vertex, edge, face pick. I used face mode for the planter floor and rim work (see CAD captures).
- Taper (Simple Deform) — Select the trunk object → Properties → Modifier Properties (wrench) → Add Modifier → Deform → Simple Deform → Method Taper, pick axis (here Z), tune factor and Limits so only the lower portion of the mesh narrows. Leave it live until booleans are stable, then Apply when you need a frozen stack for export.
- Adding the bottom / routing columns — Add → Mesh → Cylinder (or Cube) in Object Mode, then move/scale with G / S (axis keys XYZ to constrain). These solids overlap the trunk on purpose so a later boolean has real volume to fuse or subtract.
-
Boolean merge (what “合并” means here) — On the trunk
object: Modifier Properties → Add Modifier → Boolean. Set
Operation to Union to fuse two overlapping solids into
one shell. Click the Object eyedropper and pick the bottom / ring operand
(in my scene often a cylinder such as
柱体.003). Enable solver Exact on recent Blender builds for fewer gaps on dense meshes. When the viewport looks right, use the modifier’s down-arrow menu → Apply (or apply from top to bottom if several booleans stack). -
Boolean cuts (holes, pockets) — Same modifier, but set Operation to
Difference (subtract) or Intersect when a mask solid
should carve material. I keep screw-hole cylinders in a
总遮罩/螺丝孔collection so I can enable them one group at a time. - Join (Ctrl+J) vs Union — Ctrl+J merges selected objects into one object with one mesh datablock, but it does not fix internal faces or guarantee a printable solid. For FDM I rely on Boolean Union at the trunk–base junction, not only Join.
- Apply scale before heavy booleans — If the status bar warns about non-uniform scale, select the object → Ctrl+A → Scale. Booleans and taper behave far more predictably after scale is applied (I still iterated modifiers before freezing everything for export).
- Onto-disk annotation in Blender — Toolbar pencil: Annotate draws temporary grease-pencil strokes on the viewport for markup; screenshots for the site use captions below instead so text stays selectable and accessible.
CAD refinement — screenshots with callouts
The following grabs are from the same .blend I sliced after fixing the union. Bullet labels (A, B, …) point at the UI regions that matter for reproducing each step (your interface language may show Chinese strings; modifiers line up 1:1).
- A — Mode: Edit Mode; mesh select mode Face for the planter floor ring.
- B — Modifier stack: Simple Deform → Taper along Z with limited height range (Limits).
- C — Outliner: hidden reference collections (chassis, wheel model) and mask trees for later booleans.
- A — View: Top orthographic (Numpad 7 / View menu) so the footprint matches the rover disc.
- B — Same Simple Deform → Taper settings; tweak Factor / limits before merging the bottom solid.
- C — Screw-hole cylinder bank under 底座遮罩 / 螺丝孔, ready as boolean operands.
- A — Active object: slender cylinder parented under planter-mask collection — transform-only, no modifiers yet.
- B — Item panel: precise location / rotation / scale numerically so the shaft clears the cavity.
- C — Watch for non-uniform scale warnings on operands; apply scale before slicing with booleans.
- A — Visible layers: planter mesh + chassis collection for X/Y/Z placement checks.
- B — Transform shows non-uniform Scale — resolve with Ctrl+A → Scale before final unions.
- C — Modifier stack unchanged here: deformation still stacks above later booleans in the solved order.
- A — Face select ring around the cavity; inset/extrude or scale steps start from this island.
- B — Toolbar: constrained Scale along Z (S then Z) to deepen the sump without drifting in XY.
- C — Taper modifier still influencing global silhouette — coordinate mesh edits with limits so walls stay printable.
- A — Operation: Add → Mesh → Cylinder; adjust Vertices / Radius / Depth in the operator redo panel.
- B — Placement: elevate on Z until the cylinder intersects both trunk shell and upcoming base ring.
- C — Operand has clean (1,1,1) scale — good practice before it enters a Union boolean.
- A — Selected region scaled along Z — local thickness control before freezing modifiers.
- B — Modifier order: deform first, then Boolean Union so fused volume matches the tweaked shell.
- C — Operand field on the Boolean points at the bridging solid that locks trunk to printable base ring.
- A — Isolate 柱体.xxx instances inside 螺丝孔 → 下 / 上 groups.
- B — Edit numeric Dimensions so each pillar matches bracket spacing.
- C — Next ops: Difference booleans from the fused base OR keep as cutters until union pass is finalized.
- A — Boolean: Operation Union, Operand Object, solver Exact.
- B — Operand picker targets the intersecting ring mesh (here
柱体.003). - C — Status bar: fix non-uniform scale on the active mesh when this warning appears.
- A — Wheel wells / clearance volumes resolved as manifold cuts rather than loose shells.
- B — Inspect with Viewport Overlays → Face Orientation (optional) to catch flipped normals post-boolean.
- C — Export: File → Export → STL, selection “Selected Only” if the scene holds reference parts.
Second print — corrected build
After the union/intersection pass gave a single solid interface, I re-exported, re-sliced in Bambu Studio, and ran a second full-height job on the same H2D. Figure 16 looks straight down through the lid during that run: the wheel ring and outer rim adhere cleanly to the textured PEI sheet, rectilinear infill reads inside the plate, and extrusion at the old trouble zone is continuous instead of the first plate’s tangled bridges. Same filament profile as before—the improvement is primarily geometry, not exotic slicer tweaks.
Print process — progression on the bed
Four in situ photos from the corrected run show FDM stacking on the textured PEI plate: skirt/brim and perimeters, then thickening walls and infill, then the root shell rising above the wheel platform with a printable seam between trunk and base—the behavior the boolean-heavy CAD workflow was meant to produce.
Finished print — short clip
After the job finished, I recorded a quick look at the part off the machine: the copper-tone shell sitting on the omni-wheel base so the junction from the CAD iteration is visible in hand rather than only through the chamber window.
Summary
Week 5 closes the loop from the Week 2 story: the root planter on the rover base is now a real Bambu Lab H2D build, with filament sourcing, slicer and on-machine UI documented, a failed first plate called out honestly, and the second print showing what changes when the mesh is rebuilt—the same eight-step CAD sequence on Week 2, with tooling detail and annotated captures in Figures 6–15 on this page, before STL export. Takeaway for later weeks: scan-ready or sculpt-heavy meshes still need manufacturing-grade joints—rendering fidelity alone does not equal print reliability.
Group assignment
Guangzhou (Chaihuo) — group documentation: design-rules testing for the lab’s 3D printer (FDM).
Abstract
The group runs a deliberate design-rules campaign on the specific printer(s) available at the site: overhangs and bridging, clearances and gaps, wall thickness, and angles (supported versus marginal versus unsupported surfaces), aligned with Fab Academy “Testing Design Rules” guidance. The outcome is a short, evidence-backed design-rules sheet—slicer settings, nozzle/layer height, filament, and pass/fail or measured limits—so future work on that machine starts from documented capabilities instead of guesswork.
1. Printer, filament, and slicer baseline
Record machine model, nozzle, bed, filament type/brand, and the baseline slicer profile used for all tests.
Several FDM machine form factors were visible in the lab; the documented tests refer to the specific printer and slicer profile your group selected.
2. Test geometry and procedure
Describe the test print(s) or calibration suite (e.g. overhang tower, bridge span sweep, clearance pins, thin walls, angle chips) and what each probe measures.
3. Results
Present photos and a compact table: what worked, what failed, and any measured dimensions versus nominal.
A source capture was also saved as
3d-print-test-parts.heic; the JPEG3d-print-test-parts.jpgis used here for broad browser compatibility.
4. Recommended design rules
Summarize actionable limits (min wall, max unsupported angle, minimum gap for moving parts, etc.) for classmates.