Skip to content

Split View: 3D 프린터 모델링 완전 가이드 — Fusion 360부터 슬라이서, 출력까지

|

3D 프린터 모델링 완전 가이드 — Fusion 360부터 슬라이서, 출력까지

3D Printing Guide

들어가며

3D 프린터는 아이디어를 물리적 객체로 바꾸는 도구입니다. 아두이노 케이스, 드론 부품, 키캡, 피규어 — 상상한 걸 만들 수 있습니다. 이 글에서 모델링부터 출력까지 전 과정을 정리합니다.

3D 프린터 종류

FDM vs SLA vs SLS

항목FDMSLA (레진)SLS
원리필라멘트 녹여 적층UV로 레진 경화레이저로 분말 소결
해상도100~400μm25~100μm80~120μm
재료PLA, PETG, ABS, TPUUV 레진나일론, PA12
가격 (입문)20~50만원30~60만원500만원+
후처리서포트 제거, 사포세척+후경화 필수분말 제거
용도케이스, 부품, 시제품피규어, 주얼리, 치과산업 부품, 소량 양산
추천 기종Bambu Lab A1 miniElegoo Saturn 4- (산업용)

FDM 필라멘트 비교

필라멘트온도베드강도특징
PLA190~220°C60°C중간가장 쉬움, 친환경, 냄새 적음
PETG220~250°C80°C높음내화학성, 투명 가능, 실용적
ABS230~260°C100°C높음내열성, 수축 큼, 환기 필수
TPU210~230°C50°C유연고무처럼 유연, 폰 케이스
ASA240~260°C100°C높음자외선 내성, 외부 사용

Part 1: Fusion 360 모델링

기본 워크플로우

1. Sketch (2D 도면)
   ├── Rectangle, Circle, Line
   ├── Dimension (치수 구속)
   └── Constraint (수평, 수직, 대칭)

2. 3D 변환
   ├── Extrude (돌출): 2D → 3D 높이 부여
   ├── Revolve (회전): 2D를 축 중심으로 회전
   ├── Loft (로프트): 두 프로필 사이 연결
   └── Sweep (스윕): 경로를 따라 프로필 이동

3. 수정
   ├── Fillet (필렛): 모서리 둥글게
   ├── Chamfer (챔퍼): 모서리 깎기
   ├── Shell (): 속 비우기
   ├── Mirror (대칭): 반대쪽 복제
   └── Pattern (패턴): 원형/직선 반복

4. 내보내기
   └── STL 또는 3MF (슬라이서용)

아두이노 케이스 만들기 예시

Fusion 360 단계:
1.스케치 (XY 평면)
2. Rectangle: 70mm × 55mm (Arduino Uno 크기 + 여유)
3. Extrude: 25mm 높이
4. Shell: 벽 두께 2mm (윗면 개방)
5. 스케치 (내벽): USB 포트  (12mm × 11mm)
6. Extrude Cut: USB 홀 관통
7. 스케치 (바닥): 마운트 홀 4 (M3, Ø3.2mm)
8. Extrude Cut: 홀 관통
9. Fillet: 외부 모서리 3mm
10. 뚜껑:Body → 스케치 72mm × 57mm → Extrude 2mm
    → 내부 돌출 1.5mm (끼움식)
11. ExportSTL (High Resolution)

3D 프린트 설계 규칙

설계 규칙 (FDM 기준):
├── 최소 벽 두께: 1.2mm (노즐 0.4mm × 3 라인)
├── 최소 홀 지름: 2mm
├── 끼움 공차: +0.2~0.3mm (단단하게: +0.1mm)
├── 나사 홀: -0.2mm (M3 = Ø2.8mm로 모델링)
├── 오버행: 45° 이하 (서포트 불필요)
├── 브릿지: 최대 50mm (서포트 불필요)
├── 최소 디테일: 0.4mm (노즐 지름)
├── 텍스트 돌출: 최소 0.6mm
├── 스냅 핏: 후크 1mm +0.3mm
└── 45° 규칙: 45° 이상 기울기 → 서포트 필요

Part 2: OpenSCAD (코드로 3D 모델링)

// 개발자에게 최적! 코드로 3D 모델 생성

// 아두이노 케이스 (파라메트릭)
board_w = 68.6;  // Arduino Uno 크기
board_h = 53.3;
board_d = 15;    // 부품 높이

wall = 2;        // 벽 두께
clearance = 0.5; // 끼움 공차

// 본체
difference() {
    // 외부 박스
    rounded_box(
        board_w + wall*2 + clearance*2,
        board_h + wall*2 + clearance*2,
        board_d + wall,
        r = 3
    );
    // 내부 공간
    translate([wall, wall, wall])
        cube([board_w + clearance*2, board_h + clearance*2, board_d + 1]);
    // USB 포트 홀
    translate([-1, wall + 10, wall + 3])
        cube([wall + 2, 12, 11]);
    // 전원 잭 홀
    translate([-1, wall + 30, wall + 2])
        cube([wall + 2, 10, 12]);
}

// M3 마운트 홀
mount_positions = [[14, 2.5], [15.3, 50.7], [66.1, 7.6], [66.1, 35.6]];
for (pos = mount_positions) {
    translate([pos[0] + wall + clearance, pos[1] + wall + clearance, 0])
        cylinder(d = 3.2, h = wall, $fn = 20);
}

// 모듈: 둥근 박스
module rounded_box(w, h, d, r) {
    hull() {
        for (x = [r, w-r], y = [r, h-r])
            translate([x, y, 0]) cylinder(r = r, h = d, $fn = 30);
    }
}

// CLI로 STL 생성:
// openscad -o case.stl case.scad
OpenSCAD 핵심 문법:
├── cube([x,y,z])         — 직육면체
├── cylinder(d, h)        — 원기둥
├── sphere(r)             — 구
├── translate([x,y,z])    — 이동
├── rotate([x,y,z])       — 회전
├── scale([x,y,z])        — 스케일
├── difference()A - B (빼기)
├── union()A + B (합치기)
├── intersection()AB (교차)
├── hull()                — 볼록 껍질
├── linear_extrude(h)     — 2D → 3D 돌출
└── rotate_extrude()      — 2D → 3D 회전

Part 3: 슬라이서 설정

핵심 파라미터

Cura / PrusaSlicer 공통 설정:

레이어 높이:
├── 0.12mm: 고품질 (느림, 피규어용)
├── 0.20mm: 표준 (일반 부품)
├── 0.28mm: 초고속 (시제품, 테스트)
└── 규칙: 노즐 지름의 25~75% (0.4mm 노즐 → 0.1~0.3mm)

/상하 두께:
├── 벽 라인 수: 3~4 (1.2~1.6mm)
├── 상/하 레이어: 4~5 (0.8~1.0mm)
└── 강도가 필요하면 벽 늘리기

인필(충전):
├── 10~15%: 장식용 (약함)
├── 20~30%: 일반 부품 (표준)
├── 40~60%: 기계 부품 (강함)
├── 100%: 솔리드 (최강, 느림)
└── 패턴: Grid(표준), Gyroid(강도/유연), Lightning(빠름)

서포트:
├── 오버행 각도: 45° (기본)
├── 서포트 밀도: 10~15% (기본)
├── 서포트 Z 거리: 0.2mm (제거 용이)
└── Tree 서포트: 복잡한 모델에 추천

속도:
├── 외벽: 30~50mm/s (품질)
├── 내벽: 60~80mm/s
├── 인필: 80~150mm/s (속도)
├── 이동: 150~250mm/s
└── Bambu Lab: 300mm/s+ (가속도 20000mm/)

온도:
├── PLA: 노즐 200°C, 베드 60°C
├── PETG: 노즐 235°C, 베드 80°C
├── ABS: 노즐 245°C, 베드 100°C (인클로저 필수!)
└── 첫 레이어: +5°C, 속도 50% (접착력)

G-code 기초

; 3D 프린터의 명령어 = G-code
G28           ; 홈 포지션 (원점)
G29           ; 오토 레벨링
M104 S200     ; 노즐 온도 200°C 설정
M140 S60      ; 베드 온도 60°C 설정
M109 S200     ; 노즐 온도 도달까지 대기
M190 S60      ; 베드 온도 도달까지 대기

G1 X50 Y50 F3000  ; X50 Y50으로 이동 (3000mm/min)
G1 Z0.2 F300      ; Z 0.2mm (첫 레이어 높이)
G1 X100 E10 F1500 ; X100으로 이동하며 10mm 압출
G1 Y100 E20       ; Y100으로 이동하며 추가 압출

M106 S128     ; 팬 50% (0~255)
M84           ; 모터 비활성화
M104 S0       ; 노즐 히터 끄기

트러블슈팅

문제 → 원인 → 해결:

첫 레이어 안 붙음:
  → 베드 레벨링 / 노즐 너무 높음
Z offset 낮추기, 베드 온도↑, 접착제

늘어짐 (Stringing):
  → 리트랙션 부족
  → 리트랙션 거리 6mm↑, 속도 40mm/s↑, 온도↓

레이어 갈라짐 (분리):
  → 레이어 접착 불량
  → 온도↑, 팬 속도↓, 인클로저

코끼리  (Elephant Foot):
  → 첫 레이어 눌림 과다
Z offset 올리기, 첫 레이어 flow 90%

막힘 (Clogging):
  → 히트 크립 / 불순물
  → 콜드 풀, 노즐 교체, PTFE 튜브 점검

📝 퀴즈 — 3D 프린터 모델링 (클릭해서 확인!)

Q1. FDM과 SLA의 핵심 차이는? ||FDM: 필라멘트를 녹여 적층 (100400μm), 저렴, 대형 출력 가능. SLA: UV로 레진 경화 (25100μm), 고해상도, 피규어/치과용. FDM은 기능 부품, SLA는 정밀 모델||

Q2. 레이어 높이 0.12mm와 0.28mm의 트레이드오프는? ||0.12mm: 고품질, 레이어 라인 안 보임, 출력 시간 2.3배. 0.28mm: 빠름, 레이어 라인 보임, 강도는 비슷. 노즐 지름(0.4mm)의 25~75% 범위||

Q3. 오버행 45° 규칙이란? ||45° 이상 기울어진 면은 아래 지지 없이 허공에 출력되어 처짐 발생. 45° 이하면 이전 레이어가 충분히 지지. 45° 초과 시 서포트 필요||

Q4. OpenSCAD의 difference, union, intersection의 차이는? ||difference: A에서 B를 뺌 (구멍). union: A와 B 합침. intersection: A와 B의 교차 부분만 남김. CSG(Constructive Solid Geometry) 방식||

Q5. 인필(Infill) 패턴에서 Gyroid가 좋은 이유는? ||전 방향 균일한 강도, 유연성, 레진/물 배수 가능(비솔리드). Grid 대비 등방성 강도가 뛰어나고 인쇄 중 진동도 적음||

Complete Guide to 3D Printer Modeling — From Fusion 360 to Slicer to Print

3D Printing Guide

Introduction

A 3D printer is a tool that turns ideas into physical objects. Arduino cases, drone parts, keycaps, figurines — you can make anything you can imagine. This guide covers the entire process from modeling to printing.

Types of 3D Printers

FDM vs SLA vs SLS

CategoryFDMSLA (Resin)SLS
PrincipleMelts filament & stacksCures resin with UV lightSinters powder with laser
Resolution100-400um25-100um80-120um
MaterialsPLA, PETG, ABS, TPUUV resinNylon, PA12
Price (Entry)$150-400$200-500$4,000+
Post-processingSupport removal, sandingWashing + post-curing requiredPowder removal
Use CasesCases, parts, prototypesFigurines, jewelry, dentalIndustrial parts, small batch
RecommendedBambu Lab A1 miniElegoo Saturn 4- (Industrial)

FDM Filament Comparison

FilamentTempBedStrengthFeatures
PLA190-220°C60°CMediumEasiest, eco-friendly, low odor
PETG220-250°C80°CHighChemical resistant, transparent option, practical
ABS230-260°C100°CHighHeat resistant, high shrinkage, ventilation required
TPU210-230°C50°CFlexibleRubber-like flexibility, phone cases
ASA240-260°C100°CHighUV resistant, outdoor use

Part 1: Fusion 360 Modeling

Basic Workflow

1. Sketch (2D Drawing)
   ├── Rectangle, Circle, Line
   ├── Dimension (dimensional constraints)
   └── Constraint (horizontal, vertical, symmetric)

2. 3D Conversion
   ├── Extrude: give 2D a 3D height
   ├── Revolve: rotate 2D around an axis
   ├── Loft: connect between two profiles
   └── Sweep: move profile along a path

3. Modification
   ├── Fillet: round edges
   ├── Chamfer: bevel edges
   ├── Shell: hollow out
   ├── Mirror: duplicate to opposite side
   └── Pattern: circular/linear repetition

4. Export
   └── STL or 3MF (for slicer)

Arduino Case Example

Fusion 360 Steps:
1. New Sketch (XY Plane)
2. Rectangle: 70mm x 55mm (Arduino Uno size + clearance)
3. Extrude: 25mm height
4. Shell: 2mm wall thickness (top open)
5. Sketch (inner wall): USB port hole (12mm x 11mm)
6. Extrude Cut: USB hole through
7. Sketch (bottom): 4 mount holes (M3, dia 3.2mm)
8. Extrude Cut: holes through
9. Fillet: exterior edges 3mm
10. Lid: New Body -> Sketch 72mm x 57mm -> Extrude 2mm
    -> Internal protrusion 1.5mm (snap fit)
11. Export -> STL (High Resolution)

3D Print Design Rules

Design Rules (FDM basis):
├── Minimum wall thickness: 1.2mm (0.4mm nozzle x 3 lines)
├── Minimum hole diameter: 2mm
├── Press-fit tolerance: +0.2~0.3mm (tight fit: +0.1mm)
├── Screw hole: -0.2mm (M3 = model at dia 2.8mm)
├── Overhang: 45 degrees or less (no support needed)
├── Bridge: max 50mm (no support needed)
├── Minimum detail: 0.4mm (nozzle diameter)
├── Text protrusion: minimum 0.6mm
├── Snap fit: hook 1mm + gap 0.3mm
└── 45-degree rule: tilt over 45 degrees -> support needed

Part 2: OpenSCAD (3D Modeling with Code)

// Perfect for developers! Create 3D models with code

// Arduino case (parametric)
board_w = 68.6;  // Arduino Uno dimensions
board_h = 53.3;
board_d = 15;    // component height

wall = 2;        // wall thickness
clearance = 0.5; // press-fit tolerance

// Body
difference() {
    // Outer box
    rounded_box(
        board_w + wall*2 + clearance*2,
        board_h + wall*2 + clearance*2,
        board_d + wall,
        r = 3
    );
    // Inner space
    translate([wall, wall, wall])
        cube([board_w + clearance*2, board_h + clearance*2, board_d + 1]);
    // USB port hole
    translate([-1, wall + 10, wall + 3])
        cube([wall + 2, 12, 11]);
    // Power jack hole
    translate([-1, wall + 30, wall + 2])
        cube([wall + 2, 10, 12]);
}

// M3 mount holes
mount_positions = [[14, 2.5], [15.3, 50.7], [66.1, 7.6], [66.1, 35.6]];
for (pos = mount_positions) {
    translate([pos[0] + wall + clearance, pos[1] + wall + clearance, 0])
        cylinder(d = 3.2, h = wall, $fn = 20);
}

// Module: rounded box
module rounded_box(w, h, d, r) {
    hull() {
        for (x = [r, w-r], y = [r, h-r])
            translate([x, y, 0]) cylinder(r = r, h = d, $fn = 30);
    }
}

// Generate STL from CLI:
// openscad -o case.stl case.scad
OpenSCAD Core Syntax:
├── cube([x,y,z])         — rectangular prism
├── cylinder(d, h)        — cylinder
├── sphere(r)             — sphere
├── translate([x,y,z])    — move
├── rotate([x,y,z])       — rotate
├── scale([x,y,z])        — scale
├── difference()A - B (subtract)
├── union()A + B (combine)
├── intersection()AB (intersect)
├── hull()                — convex hull
├── linear_extrude(h)     — 2D -> 3D extrusion
└── rotate_extrude()      — 2D -> 3D revolution

Part 3: Slicer Settings

Key Parameters

Cura / PrusaSlicer Common Settings:

Layer Height:
├── 0.12mm: High quality (slow, for figurines)
├── 0.20mm: Standard (general parts)
├── 0.28mm: Ultra fast (prototypes, testing)
└── Rule: 25-75% of nozzle diameter (0.4mm nozzle -> 0.1-0.3mm)

Walls / Top-Bottom Thickness:
├── Wall line count: 3-4 (1.2-1.6mm)
├── Top/bottom layers: 4-5 (0.8-1.0mm)
└── Increase walls for more strength

Infill:
├── 10-15%: Decorative (weak)
├── 20-30%: General parts (standard)
├── 40-60%: Mechanical parts (strong)
├── 100%: Solid (strongest, slow)
└── Patterns: Grid (standard), Gyroid (strength/flexibility), Lightning (fast)

Support:
├── Overhang angle: 45 degrees (default)
├── Support density: 10-15% (default)
├── Support Z distance: 0.2mm (easy removal)
└── Tree support: recommended for complex models

Speed:
├── Outer wall: 30-50mm/s (quality)
├── Inner wall: 60-80mm/s
├── Infill: 80-150mm/s (speed)
├── Travel: 150-250mm/s
└── Bambu Lab: 300mm/s+ (acceleration 20000mm/)

Temperature:
├── PLA: Nozzle 200°C, Bed 60°C
├── PETG: Nozzle 235°C, Bed 80°C
├── ABS: Nozzle 245°C, Bed 100°C (enclosure required!)
└── First layer: +5°C, speed 50% (for adhesion)

G-code Basics

; 3D printer commands = G-code
G28           ; Home position (origin)
G29           ; Auto leveling
M104 S200     ; Set nozzle temperature to 200°C
M140 S60      ; Set bed temperature to 60°C
M109 S200     ; Wait until nozzle reaches temperature
M190 S60      ; Wait until bed reaches temperature

G1 X50 Y50 F3000  ; Move to X50 Y50 (3000mm/min)
G1 Z0.2 F300      ; Z 0.2mm (first layer height)
G1 X100 E10 F1500 ; Move to X100 while extruding 10mm
G1 Y100 E20       ; Move to Y100 while extruding more

M106 S128     ; Fan 50% (0-255)
M84           ; Disable motors
M104 S0       ; Turn off nozzle heater

Troubleshooting

Problem -> Cause -> Solution:

First layer not sticking:
  -> Bed leveling / nozzle too high
  -> Lower Z offset, increase bed temp, use adhesive

Stringing:
  -> Insufficient retraction
  -> Increase retraction distance to 6mm+, speed to 40mm/s+, lower temp

Layer separation:
  -> Poor layer adhesion
  -> Increase temp, lower fan speed, use enclosure

Elephant foot:
  -> First layer over-squished
  -> Raise Z offset, first layer flow 90%

Clogging:
  -> Heat creep / contaminants
  -> Cold pull, replace nozzle, check PTFE tube

Quiz — 3D Printer Modeling (Click to check!)

Q1. What is the key difference between FDM and SLA? ||FDM: melts filament and stacks layers (100-400um), affordable, large prints possible. SLA: cures resin with UV (25-100um), high resolution, for figurines/dental. FDM is for functional parts, SLA for precision models||

Q2. What is the tradeoff between 0.12mm and 0.28mm layer height? ||0.12mm: high quality, layer lines invisible, 2.3x print time. 0.28mm: fast, visible layer lines, similar strength. Within 25-75% of nozzle diameter (0.4mm)||

Q3. What is the 45-degree overhang rule? ||Surfaces tilted beyond 45 degrees print in mid-air without support below, causing sagging. Below 45 degrees, the previous layer provides adequate support. Beyond 45 degrees, support is needed||

Q4. What is the difference between OpenSCAD's difference, union, and intersection? ||difference: subtracts B from A (holes). union: combines A and B. intersection: keeps only the overlapping part of A and B. This is the CSG (Constructive Solid Geometry) approach||

Q5. Why is the Gyroid infill pattern good? ||Uniform strength in all directions, flexibility, allows resin/water drainage (non-solid). Superior isotropic strength compared to Grid, and less vibration during printing||

Quiz

Q1: What is the main topic covered in "Complete Guide to 3D Printer Modeling — From Fusion 360 to Slicer to Print"?

Everything about 3D printing — Fusion 360 modeling, OpenSCAD parametric design, slicer settings (Cura/PrusaSlicer), FDM vs SLA comparison, and practical printing tips.

Q2: What is Types of 3D Printers? FDM vs SLA vs SLS FDM Filament Comparison

Q3: Explain the core concept of Part 1: Fusion 360 Modeling. Basic Workflow Arduino Case Example 3D Print Design Rules

Q4: What are the key aspects of Part 3: Slicer Settings? Key Parameters G-code Basics

Q5: What approach is recommended for Troubleshooting? Q1. What is the key difference between FDM and SLA? Q2. What is the tradeoff between 0.12mm and 0.28mm layer height? Q3. What is the 45-degree overhang rule? Q4. What is the difference between OpenSCAD's difference, union, and intersection? Q5.