troubleshoot-print-issues
关于
This Claude Skill systematically diagnoses and fixes common 3D printing failures like adhesion problems, stringing, and layer shifts. It is designed for use when prints fail mid-process, exhibit quality defects, or after hardware/material changes. The skill provides actionable troubleshooting through symptom analysis for FDM and SLA printers.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/troubleshoot-print-issues在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
Troubleshoot Print Issues
Diag + fix 3D print failures via systematic symptom analysis. Covers FDM + SLA: bed adhesion, stringing, layer shifts, warping, under-extrusion, over-extrusion, quality defects. Structured: ID symptom → root cause → iterative fix.
Use When
- Print fails first layer|midway
- Quality defects (stringing, blobs, gaps, rough surfaces)
- Dim accuracy (over/undersized, warping, elephant foot)
- Layer adhesion (delamination, splitting)
- Support removal damages|supports fail
- Prints differ from slicer preview
- Material inconsistent across prints
- New material|printer|env causing issues
In
- failure_description: What went wrong (failed first layer, stringing, warping, etc.)
- failure_timing: When (first layer, midprint, height, top)
- material: Filament|resin type, brand, age, storage
- printer: Make/model, nozzle size, bed type, enclosure
- recent_changes: New material, slicer settings, hw mods, env
- print_history: Model usually works? Material worked before?
Do
1. Collect Symptoms
Doc observable symptoms specifically:
Visual:
- Photos (overall, close-up, defect)
- Failure location (first layer, height, top)
- Defect: gaps, blobs, strings, shifts, cracks
Env:
- Ambient temp during print
- Humidity
- Drafts|AC
- Time of day (temp changes)
Print params:
# Extract from G-code metadata
grep "^;MAXX\|^;MINX\|^;MAXZ" failed_print.gcode # Print dimensions
grep "^;PRINT_TIME:" failed_print.gcode # Estimated time
grep "^M104\|^M140" failed_print.gcode | head -5 # Temperatures
grep "^;generated by" failed_print.gcode # Slicer version
Got: Detailed symptom desc w/ photos, params, env ctx.
If err: Symptoms unclear → print calibration test (temp tower, stringing test, benchy) → reproduce + observe systematically.
2. Classify by Pattern
Match symptoms → common failure modes:
Diagnostic Reference Table
| Symptom | Likely Causes | Quick Check | Priority Fix |
|---|---|---|---|
| Poor bed adhesion | Dirty bed, wrong temp, too high Z | Wipe bed, level bed | Clean bed, adjust Z-offset down 0.05mm |
| Stringing | Too hot, insufficient retraction | Check nozzle temp | Lower temp 5°C, increase retraction +0.5mm |
| Layer shifts | Loose belts, too fast, collision | Check belt tension | Tighten belts, reduce speed 20% |
| Warping | Poor adhesion, fast cooling | Check corners lifting | Add brim, enclose printer, increase bed temp |
| Under-extrusion | Clog, low temp, wrong flow | Check extrusion consistency | Clean nozzle, increase temp 5°C, calibrate e-steps |
| Over-extrusion | High flow rate, wrong e-steps | Check blob formation | Reduce flow 2-5%, calibrate e-steps |
| Elephant foot | First layer squish, bed too hot | Measure base width | Raise Z-offset +0.05mm, lower bed temp 5°C |
| Gaps in walls | Thin walls, under-extrusion | Check wall thickness | Enable thin wall detection, increase flow |
| Layer delamination | Low temp, poor cooling, contamination | Check layer lines | Increase temp 5-10°C, check wet filament |
| Blobs/zits | Retraction, coast settings | Check seam alignment | Tune retraction, enable coasting |
| Rough top surface | Insufficient top layers, ironing | Count solid top layers | Add 2 top layers, enable ironing |
| Sagging overhangs | Insufficient cooling, too hot | Check part cooling fan | Increase cooling, lower temp, add supports |
Got: Failure → 1-3 most likely categories.
If err: Multi categories → prioritize by failure timing (first layer first → midprint → top surface).
3. Root Cause Analysis
Investigate underlying cause, not just symptoms:
5 Whys:
Symptom: Print warping and lifting from bed
Why? → Poor bed adhesion in corners
Why? → Corners cooling faster than center
Why? → Room draft from AC vent
Why? → No enclosure to maintain stable temperature
Why? → ABS requires heated chamber for uniform cooling
Root cause: Material choice (ABS) incompatible with open printer in drafty room
Common root causes by category:
Mechanical:
- Loose belts, pulleys, set screws
- Worn|dirty linear bearings|rods
- Z-axis binding|misalign
- Extruder gear worn|skipping
Thermal:
- Temp sensor drift|fail
- Inadequate heated bed power|insulation
- Insufficient part cooling
- Env temp swings
Material:
- Wet filament (hygroscopic)
- Old|degraded
- Contaminated (dust, oils)
- Wrong material for app
Config:
- Incorrect e-steps cal
- Wrong flow rate multiplier
- Slicer bug|wrong profile
- Firmware accel|jerk too high
Got: Root cause ID'd w/ supporting evidence (measured temps, belt tension, visual).
If err: Root cause unclear → elimination: fix most likely → re-test → repeat.
4. First-Level Fixes
Poor Bed Adhesion
Immediate:
# 1. Clean bed thoroughly
# Glass/PEI: Isopropyl alcohol 90%+
# BuildTak: Warm water and dish soap
# 2. Level bed (paper test at 4 corners + center)
# Paper should drag slightly
# 3. Adjust Z-offset down (squish first layer more)
# Start: -0.05mm increments until lines fuse
# 4. Increase bed temperature +5°C
# 5. Add adhesion aid:
# - Glue stick (PLA/PETG)
# - Hairspray (ABS)
# - ABS juice (ABS) - ABS dissolved in acetone
# - Magigoo/3D printing adhesive
Slicer:
- First layer height: 0.2-0.3mm (thicker = better squish)
- First layer speed: 20mm/s (slower = better adhesion)
- Brim: 8-10mm small footprint
- Raft: difficult materials (TPU, Nylon)
Got: First layer adheres no lifting.
If err: Check bed flatness w/ feeler gauge|mesh level → warped bed needs glass/PEI or mesh comp.
Stringing
Temp-first:
1. Print temperature tower (180-220°C in 5° steps for PLA)
2. Identify lowest temperature that extrudes cleanly
3. Use that temperature -5°C to minimize stringing
Retraction:
# Direct drive extruder:
retraction_distance: 1.0-2.0mm
retraction_speed: 40-50mm/s
# Bowden extruder:
retraction_distance: 4.0-6.0mm
retraction_speed: 40-60mm/s
# If stringing persists:
- Enable z-hop: 0.2-0.4mm (lifts nozzle during travel)
- Reduce travel speed (paradoxically helps)
- Enable combing mode (travels within infill)
Got: Minimal stringing, thin strings hand-removable.
If err: Check nozzle partial clog|wet filament (both cause oozing).
Layer Shifts
Mech checks:
# 1. Check belt tension (should twang like guitar string)
# Tighten if loose
# 2. Check pulley set screws (motor shafts)
# Must align with flat on motor shaft
# 3. Check for mechanical resistance
# Manually move X/Y axes - should glide smoothly
# Binding indicates dirty rods, worn bearings, or misalignment
# 4. Check stepper motor current (advanced)
# Too low → skipping; too high → overheating
Speed reduction:
# Reduce these speeds:
perimeter_speed: 40mm/s (from 50)
travel_speed: 120mm/s (from 150)
acceleration: 500mm/s² (from 1000)
jerk: 8mm/s (from 15)
Got: No shifts in re-print w/ tightened belts + reduced speeds.
If err: Slicer-gen collisions (cooling fan hitting model)|electrical (stepper driver overheating).
Warping
Thermal:
# Increase bed temperature:
PLA: 60°C → 65°C
PETG: 80°C → 85°C
ABS: 100°C → 110°C
# Disable/reduce part cooling:
first_layer_fan: 0%
regular_fan: 25% max (ABS), 50% (PETG), 100% (PLA)
# Enclose printer (critical for ABS/ASA):
- Cardboard box (temporary)
- Acrylic panels (permanent)
- Target chamber temp: 40-50°C
Adhesion enhancement:
- Brim: 10-15mm corners
- "Mouse ears": 15mm discs at sharp corners
- Chamfer bottom edges (45° × 1mm removes stress concentrator)
Got: Part stays flat, no corner lifting.
If err: Material unsuitable for printer (ABS unenclosed) → switch PETG|ASA.
Under-Extrusion
Quick:
# 1. Check for nozzle clog
# Heat to print temp, manually push filament
# Should extrude smoothly
# 2. Cold pull cleaning (if partial clog)
# Heat to 220°C, push cleaning filament through
# Cool to 90°C, pull sharply - should remove debris
# 3. Increase temperature +5-10°C
# Higher temp = better flow
# 4. Increase flow rate 2-5%
# Slicer: Filament settings → Flow → 102-105%
E-steps cal:
# 1. Mark filament 120mm above extruder
# 2. Extrude 100mm: G1 E100 F100
# 3. Measure remaining distance to mark
# 4. Calculate: new_steps = current_steps × (100 / actual_extruded)
# 5. Set: M92 E<new_steps>; M500 (save to EEPROM)
Got: Consistent extrusion, no gaps in perimeters|infill.
If err: Heat creep (cooling fan fail)|worn extruder gear|cracked extruder arm.
Over-Extrusion
Flow reduction:
# Reduce flow in 2% increments:
extrusion_multiplier: 0.98 → 0.96 → 0.94
# Signs of correct flow:
- Smooth top surface (not overstuffed)
- Perimeters don't bulge outward
- Infill doesn't overfill and push layers apart
Dim accuracy test:
# Print 20mm calibration cube
# Measure with calipers:
# X/Y dimensions should be 20.0mm ± 0.1mm
# If consistently oversized → reduce flow
# If undersized → increase flow
Got: Accurate dims, smooth surfaces, no bulging.
If err: Re-cal e-steps (may be too high).
5. Verify w/ Test Print
Confirm before full print:
Test selection:
- Adhesion: 20mm sq × 5 layers (fast first layer test)
- Stringing: Stringing test model (dual towers w/ travels)
- Layer shifts: Tall thin (stress mechanical)
- Warping: Large flat (200mm × 200mm × 0.4mm)
- Extrusion: 20mm cal cube (dim accuracy)
Got: Test succeeds, issue resolved.
If err: Test fails → not fully resolved or multi issues → repeat diagnosis on remaining symptoms.
6. Doc Solution
Issue log template:
date: 2026-02-16
issue: "Layer shifts at 50mm height"
symptoms: "X-axis shifts 10mm, happens consistently at same height"
printer: "Ender 3 V2"
material: "PETG, PolyMaker PolyLite"
root_cause: "Loose X-axis belt, pulley set screw not on flat"
solution:
- "Tightened X-axis belt to 120Hz resonance"
- "Realigned pulley set screw on motor shaft flat"
- "Reduced print speed to 40mm/s perimeter"
verification: "Printed 100mm test cylinder - no shifts"
notes: "Check belt tension monthly, pulley tends to slip"
Got: Issue documented w/ root cause + solution → knowledge base.
If err: Even unsuccessful attempts logged → avoid repeating failed solutions.
Check
- Symptoms documented w/ photos + observations
- Issue classified via diagnostic table
- Root cause ID'd (mechanical, thermal, material, config)
- Fix applied per root cause category
- Fix verified w/ test print before full
- Solution documented in issue log w/ date, cause, resolution
- Env factors recorded (temp, humidity, drafts)
- Material condition checked (dry, contamination-free, stored)
Traps
- Multi vars at once: One param at a time → otherwise won't know what fixed
- Ignore wet filament: Hygroscopic (Nylon, TPU, PETG) absorb moisture → bubbling, stringing, poor adhesion → suspect first
- Skip mech checks: Loose belts + worn parts cause issues no slicer tuning can fix
- Temp from internet: Every printer/material combo unique → run own temp tower
- Over-tighten belts: Too tight → premature bearing wear → guitar string tension, not steel cable
- Blame slicer: Bugs rare → 95% mechanical|thermal|material
- No clean nozzle: Partial clogs → intermittent under-extrusion looks like flow/e-step
- Assume bed level: Beds warp, springs compress, adjustments slip → re-level weekly
- Wrong Z-offset: Most first-layer fails = Z too high (no squish) or too low (scraping)
- Env neglect: ABS/ASA in 15°C garage w/ drafts won't print → needs stable warm
→
- prepare-print-model: Properly prepared model → avoid printability issues
- select-print-material: Material appropriate for printer + env
- Calibrate 3D Printer (future): E-steps, flow rate, temp towers, PID tuning, bed mesh
- Maintain 3D Printer (future): Belt tensioning, bearing lube, nozzle replace, preventive maint
GitHub 仓库
相关推荐技能
executing-plans
设计该Skill用于当开发者提供完整实施计划时,以受控批次方式执行代码实现。它会先审阅计划并提出疑问,然后分批次执行任务(默认每批3个任务),并在批次间暂停等待审查。关键特性包括分批次执行、内置检查点和架构师审查机制,确保复杂系统实现的可控性。
requesting-code-review
设计该Skill可在完成任务、实现主要功能或合并代码前自动调度代码审查子代理,确保实现符合需求和计划。它支持通过指定git SHA范围进行精准的代码变更审查,帮助开发者在关键节点及时发现潜在问题。核心原则是"早审查、勤审查",适用于开发流程的各个关键阶段。
connect-mcp-server
设计这个Skill指导开发者如何将MCP服务器连接到Claude Code,支持HTTP、stdio和SSE三种传输协议。它涵盖了从安装配置到认证安全的完整流程,适用于集成GitHub、Notion、数据库等外部服务。当开发者需要添加集成、配置外部工具或提及MCP相关功能时,这个Skill能提供实用的操作指南。
web-cli-teleport
设计该Skill帮助开发者根据任务特性选择Claude Code的Web或CLI界面,并指导如何在两种环境间无缝迁移会话。它能分析任务复杂度、迭代需求等要素,推荐最优工作界面和工作流。关键特性包括会话状态管理、环境切换指导和上下文优化建议。
