prepare-print-model
О программе
Этот навык подготавливает 3D-модели для FDM/SLA печати, выполняя экспорт, ремонт сетки и анализ пригодности к печати. Он проверяет толщину стенок, генерирует поддержки и оптимизирует ориентацию детали для обеспечения успешного слайсинга. Используйте его при экспорте из CAD-программ, устранении ошибок слайсинга или конвертации форматов моделей для печати.
Быстрая установка
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/prepare-print-modelСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
備齊列印模型
為加成製造匯出並最佳化 3D 模型。本技能涵蓋自 CAD/建模軟體匯出,至網格修補、可列印性分析、支撐生成與切片設定之完整流程。確保模型流形、壁厚足、方向正確以利強度與品質。
適用時機
- 自 CAD 軟體(Fusion 360、SolidWorks、Onshape)或 3D 建模工具(Blender、Maya)為 3D 列印匯出
- 切片前先驗證既有 STL/3MF 是否可印
- 排除無法正確切片或列印之模型
- 為強度、表面或最少支撐而最佳化擺向
- 為具特定強度或公差需求之機械件作準備
- 在保留可列印性下於格式間轉換(STL、3MF、OBJ)
輸入
- source_model:CAD 檔或 3D 模型檔之路徑(STEP、F3D、STL、OBJ、3MF)
- target_process:列印製程類型(
fdm、sla、sls) - material:擬用列印材料(如
pla、petg、abs、standard-resin) - functional_requirements:受力方向、公差需求、表面要求
- printer_specs:成形體積、噴嘴直徑(FDM)、層高能力
- slicer_tool:目標切片軟體(
cura、prusaslicer、orcaslicer、chitubox)
步驟
1. 自來源軟體匯出模型
以適合列印之格式匯出 3D 模型:
FDM/SLA 用:
# If starting from CAD (Fusion 360, SolidWorks)
# Export as: STL (binary) or 3MF
# Resolution: High (triangle count sufficient for detail)
# Units: mm (verify scale)
# Example export settings:
# STL: Binary format, refinement 0.1mm
# 3MF: Include color/material data if using multi-material printer
預期: 以適切解析度匯出之模型檔(機械件用 0.1mm 弦容差,有機形用 0.05mm)。
失敗時: 檢查模型是否完整定義(無構造幾何)、無遺面、所有元件皆可見。
2. 驗證網格完整性
檢查網格是否流形且可印:
# Install mesh repair tools if needed
# sudo apt install meshlab admesh
# Check STL file for errors
admesh --check model.stl
# Look for:
# - Non-manifold edges: 0 (every edge connects exactly 2 faces)
# - Holes: 0
# - Backwards/inverted normals: 0
# - Degenerate facets: 0
常見問題:
- 非流形邊:多面共享一邊,或邊僅連一面
- 洞:表面有縫
- 法線反向:模型內外顛倒
- 相交面:自交幾何
預期: 報告顯示 0 錯,或錯可修。
失敗時: 自動或手動修補網格:
# Automatic repair with admesh
admesh --write-binary-stl=model_fixed.stl \
--exact \
--nearby \
--remove-unconnected \
--fill-holes \
--normal-directions \
model.stl
# Or use meshlab GUI for manual inspection/repair
meshlab model.stl
# Filters → Cleaning and Repairing → Remove Duplicate Vertices
# Filters → Cleaning and Repairing → Remove Duplicate Faces
# Filters → Normals → Re-Orient all faces coherently
若自動修補失敗,回到來源軟體修建模錯(重合頂點、開邊、重疊本體)。
3. 檢查壁厚
驗證所擇製程之最小壁厚:
各製程之最小壁厚:
| Process | Min Wall | Recommended Min | Structural Parts |
|---|---|---|---|
| FDM (0.4mm nozzle) | 0.8mm | 1.2mm | 2.4mm+ |
| FDM (0.6mm nozzle) | 1.2mm | 1.8mm | 3.6mm+ |
| SLA (standard) | 0.4mm | 0.8mm | 2.0mm+ |
| SLA (engineering) | 0.6mm | 1.2mm | 2.5mm+ |
| SLS (nylon) | 0.7mm | 1.0mm | 2.0mm+ |
# Check wall thickness visually in slicer:
# - Import model
# - Enable "Thin walls" detection
# - Slice with 0 infill to see wall structure
# For precise measurement, use CAD software:
# - Measure distance between parallel surfaces
# - Check in critical load-bearing areas
預期: 各壁皆達所擇製程之最小厚。薄壁標記以便檢視。
失敗時: 回 CAD 加厚壁,或:
- 改用較小噴嘴(FDM)
- 啟用切片之「detect thin walls」
- 對原型接受較弱之強度
4. 判定列印擺向
擇擺向以最佳化強度、表面與支撐用量:
擺向決策矩陣:
為強度:
- 使層線垂直於主受力方向
- 例:受拉之托架→直立列印,使層沿受力軸堆疊
為表面:
- 使最大/最顯眼之面平於床(最少階梯)
- 關鍵尺寸對齊 X/Y 平面(精度高於 Z)
為最少支撐:
- 將懸垂 >45°(FDM)或 >30°(SLA)最小化
- 可能時將平面置於床上
受力方向分析:
If part experiences:
- Tensile load along axis → print with layers perpendicular to axis
- Compressive load → layers can be parallel (less critical)
- Bending moment → layers perpendicular to neutral axis
- Shear → avoid layer interfaces parallel to shear direction
預期: 已擇擺向並明示為強度、表面或支撐取捨之理由。
失敗時: 若無單一擺向滿足所有需求,依序排優:功能強度→尺寸精度→表面→最少支撐。
5. 生成支撐結構
為懸垂配置自動或手動支撐:
支撐角門檻:
- FDM:垂直 45°(部分搭橋可至 60°)
- SLA:垂直 30°(搭橋能力較弱)
- SLS:無需支撐(粉床支撐)
支撐類型:
樹狀支撐(FDM,建議):
- 與模型接點較少
- 易拆
- 有機形佳
- 設定:分支角 40-50°、密度中
線性支撐(FDM,傳統):
- 對大懸垂較穩
- 接點較多(拆較難)
- 設定:格紋、密度 15-20%、介面層 2-3
重支撐(SLA):
- 重件用厚接點
- 表面留痕之風險
- 設定:接觸直徑 0.5-0.8mm、密度依重量
介面層:
- 於支撐與模型間加 2-3 介面層
- 減少表面痕
- 略易拆
# In slicer (PrusaSlicer example):
# Print Settings → Support material
# - Generate support material: Yes
# - Overhang threshold: 45° (FDM) / 30° (SLA)
# - Pattern: Rectilinear / Tree (auto)
# - Interface layers: 3
# - Interface pattern spacing: 0.2mm
預期: 已為超出門檻之懸垂生成支撐,預覽顯示無浮空幾何。
失敗時: 若自動支撐不足:
- 於關鍵區加手動支撐強制器
- 於薄懸垂附近增支撐密度
- 切分模型分節列印(若無法支撐)
6. 設定切片設定檔
設製程適當之參數:
FDM 層高:
- 草稿:0.28-0.32mm(快、層紋顯)
- 標準:0.16-0.20mm(質速兼顧)
- 精細:0.08-0.12mm(順、慢)
- 規則:層高 = 噴嘴直徑之 25-75%
SLA 層高:
- 標準:0.05mm(兼顧)
- 精細:0.025mm(小件、高細)
- 快:0.1mm(原型)
各製程關鍵參數:
FDM:
layer_height: 0.2mm
line_width: 0.4mm (= nozzle diameter)
perimeters: 3-4 (structural), 2 (cosmetic)
top_bottom_layers: 5 (0.2mm layers = 1mm solid)
infill_percentage: 20% (cosmetic), 40-60% (functional)
infill_pattern: gyroid (FDM), grid (basic)
print_speed: 50mm/s perimeter, 80mm/s infill
temperature: material-specific (see select-print-material skill)
SLA:
layer_height: 0.05mm
bottom_layers: 6-8 (strong bed adhesion)
exposure_time: material-specific (2-8s per layer)
bottom_exposure_time: 30-60s
lift_speed: 60-80mm/min
retract_speed: 150-180mm/min
預期: 設定檔以製程適當之預設配置,並依特定材料/模型需求微調。
失敗時: 若不確定參數,先用切片之「Standard Quality」預設,再迭代。
7. 逐層預覽切片
檢視切片之 G-code:
# In slicer:
# - Slice model
# - Use layer preview slider to inspect each layer
# - Check for:
# * Gaps in perimeters (indicates thin walls)
# * Floating regions (missing supports)
# * Excessive stringing paths (reduce travel)
# * First layer: proper squish and adhesion
# * Top layers: sufficient solid infill
預覽中之警訊:
- 實體區出現白色縫隙:壁過薄不及當前線寬
- 長距離移動:增回抽或加 z-hop
- 首層未壓實:將 Z-offset 下調 0.05mm
- 頂層稀薄:將頂層加至 5+
預期: 預覽顯示連續之周線、適切之填充、乾淨之移動,無顯著缺陷。
失敗時: 調整切片參數重切。常見修補:
- 薄壁縫→啟用「Detect thin walls」或減線寬
- 搭橋差→將搭橋速降至 30mm/s、增冷卻
- 拉絲→回抽距離 +1mm、溫度 -5°C
8. 匯出 G-code 並驗證
以描述性名稱儲存切片之 G-code:
# Naming convention:
# <part_name>_<material>_<layer_height>_<profile>.gcode
# Example: bracket_petg_0.2mm_standard.gcode
# Verify G-code:
grep "^;PRINT_TIME:" model.gcode # Check estimated time
grep "^;Filament used:" model.gcode # Check material usage
head -n 50 model.gcode | grep "^M104\|^M140" # Verify temperatures
# Expected first layer temp:
# M140 S85 (bed temp for PETG)
# M104 S245 (hotend temp for PETG)
列印前查核表:
- 床已平整且潔淨
- 已載正確且乾燥之材料
- 溫度與材料需求相符
- 首層 Z-offset 已校正
- 線材/樹脂量足
- 列印時間於監控計畫內可承
預期: G-code 檔已儲存並含中繼資料、溫度已驗證、列印時間/材料估值合理。
失敗時: 若列印時間過長(>12 小時),可考慮:
- 增層高(0.2 → 0.28mm 約省 30% 時間)
- 減周線(4 → 3)
- 減填充(40% → 20%,非結構件)
- 若尺寸非關鍵,縮小模型
驗證
- 模型已自來源軟體以正確單位(mm)與比例匯出
- 網格完整性已驗:流形、無洞、法線正確
- 壁厚達所擇製程之最低(FDM ≥0.8mm、SLA ≥0.4mm)
- 列印擺向已為強度、表面或支撐取捨而最佳化
- 已為所有 >45°(FDM)或 >30°(SLA)之懸垂生成支撐
- 切片設定檔已配適當之層高與參數
- 已逐層預覽,無縫隙或浮空
- G-code 已匯出,溫度已驗、列印時間合理
- 列印前查核表已完成(床整、料載入等)
常見陷阱
- 跳過網格修補:非流形網格雖能切片,但會以縫隙或畸層失印
- 忽略壁厚:壁過薄會出現縫隙,強度大減
- 強度擺向錯:將受拉件以層平行於受力方向列印,造成弱層分離面
- 支撐不足:低估懸垂角致下塌、拉絲或全敗
- 疏忽首層:90% 失印起於首層——Z-offset 與床附著至關緊要
- 網路上抓溫度:每組印機/材料皆獨特;務必以塔測校正
- 細節過於層高:小於 2 倍層高之精細特徵無法正解
- 未預覽切片:切片可能作出意外決策(薄壁縫、奇填充);列印前務必預覽
- 材料吸濕:濕線材(尤其 Nylon、TPU、PETG)致層附差、拉絲、易脆
- 過信支撐:含大懸垂之重件即便有支撐仍可能下塌——先以小件試之
相關技能
- select-print-material:依機械、熱、化學需求擇適切材料
- troubleshoot-print-issues:若已備齊之模型仍失印,診斷並修
- Model with Blender(未來技能):自零起建可印之 3D 模型
- Calibrate 3D Printer(未來技能):E-steps、流量、溫度塔、回抽調校
GitHub репозиторий
Похожие навыки
content-collections
МетаЭтот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.
polymarket
МетаЭтот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.
creating-opencode-plugins
МетаЭтот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.
sglang
МетаSGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.
