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

들어가며
3D 프린터는 아이디어를 물리적 객체로 바꾸는 도구입니다. 아두이노 케이스, 드론 부품, 키캡, 피규어 — 상상한 걸 만들 수 있습니다. 이 글에서 모델링부터 출력까지 전 과정을 정리합니다.
3D 프린터 종류
FDM vs SLA vs SLS
| 항목 | FDM | SLA (레진) | SLS |
|---|---|---|---|
| 원리 | 필라멘트 녹여 적층 | UV로 레진 경화 | 레이저로 분말 소결 |
| 해상도 | 100~400μm | 25~100μm | 80~120μm |
| 재료 | PLA, PETG, ABS, TPU | UV 레진 | 나일론, PA12 |
| 가격 (입문) | 20~50만원 | 30~60만원 | 500만원+ |
| 후처리 | 서포트 제거, 사포 | 세척+후경화 필수 | 분말 제거 |
| 용도 | 케이스, 부품, 시제품 | 피규어, 주얼리, 치과 | 산업 부품, 소량 양산 |
| 추천 기종 | Bambu Lab A1 mini | Elegoo Saturn 4 | - (산업용) |
FDM 필라멘트 비교
| 필라멘트 | 온도 | 베드 | 강도 | 특징 |
|---|---|---|---|---|
| PLA | 190~220°C | 60°C | 중간 | 가장 쉬움, 친환경, 냄새 적음 |
| PETG | 220~250°C | 80°C | 높음 | 내화학성, 투명 가능, 실용적 |
| ABS | 230~260°C | 100°C | 높음 | 내열성, 수축 큼, 환기 필수 |
| TPU | 210~230°C | 50°C | 유연 | 고무처럼 유연, 폰 케이스 |
| ASA | 240~260°C | 100°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. Export → STL (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() — A ∩ B (교차)
├── 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/s²)
온도:
├── 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 대비 등방성 강도가 뛰어나고 인쇄 중 진동도 적음||