OpenSCAD 온라인 — 브라우저에서 .scad 파일을 보고 편집하세요

코드를 붙여넣거나 .scad 파일, 프로젝트 폴더 전체를 끌어다 놓으세요. 진짜 OpenSCAD가 브라우저에서 실행되어, 입력을 멈추고 0.5초 뒤에 모델을 렌더링합니다. color(), % 배경, # 강조는 데스크톱에서 F5를 눌렀을 때와 똑같이 보입니다. 설치도 로그인도 필요 없고, 파일은 업로드되지 않습니다.

뷰어 열기 →예제 코드로 열기 →

제공하는 기능

진짜 OpenSCAD

문법만 흉내 낸 인터프리터가 아니라, OpenSCAD 자체(Manifold 커널을 쓰는 2025년 개발 스냅샷)를 WebAssembly로 컴파일한 것입니다. module, function, 재귀, 리스트 컴프리헨션, include와 use가 데스크톱과 똑같이 동작합니다.

입력하는 대로 렌더링

마지막 입력 0.5초 뒤에 모델을 다시 그립니다. 버튼을 누를 필요가 없습니다. 파라미터 패널은 Customizer 주석을 읽어 슬라이더를 만들고, 슬라이더를 움직이면 값이 소스 코드에 그대로 반영됩니다.

F5 미리보기와 같은 화면

color()는 불리언 연산을 거쳐도 면에 그대로 남고, difference()로 잘린 면은 초록색으로 보입니다. %는 반투명 회색, #은 반투명 분홍색으로 그립니다. $preview는 true입니다.

여러 파일로 된 프로젝트

폴더째 끌어다 놓으면 include와 use가 실제 폴더 구조대로 해석됩니다. MCAD, Write.scad, BOSL2가 내장되어 있어 쓰는 순간 자동으로 불러옵니다. 글자는 OpenSCAD에 포함된 Liberation 글꼴로 그리며, 다른 글꼴은 .ttf 파일을 프로젝트에 넣으면 쓸 수 있습니다.

링크에 코드 담기

“Copy link” 버튼을 누르면 지금 코드가 URL에 담겨, 링크를 연 사람은 같은 모델을 바로 봅니다. AI 어시스턴트도 자기가 쓴 코드에 이런 미리보기 링크를 붙여 줄 수 있습니다.

STL과 STEP 내보내기

“Export STL”은 화면에 보이는 삼각형을 그대로 저장합니다. 데스크톱 OpenSCAD에서 렌더링한 뒤 내보내는 것과 같은 메시라 바로 슬라이서에 넣을 수 있습니다. Fusion, SolidWorks, FreeCAD에서 이어서 쓰려면 같은 페이지에서 모델을 진짜 B-rep STEP으로 다시 만들 수도 있습니다. 자세한 내용은 ‘OpenSCAD → STEP’(영어 페이지)을 보세요.

예제 코드로 열기

이 코드가 이미 렌더링된 상태로 열립니다. 한 줄을 바꾸면 0.5초 뒤에 다시 그립니다.

// A bracket: a plate with two slots and a stiffening rib
$fn = 48;
difference() {
  union() {
    cube([60, 30, 4]);
    translate([0, 0, 4]) cube([60, 4, 16]);
  }
  for (x = [12, 48]) translate([x, 17, -1]) hull() {
    cylinder(h = 6, d = 5);
    translate([0, 6, 0]) cylinder(h = 6, d = 5);
  }
}
%translate([-5, -5, 0]) cube([70, 40, 1]); // the sheet it mounts on, shown only
#translate([30, 2, 10]) rotate([-90, 0, 0]) cylinder(h = 4, d = 3); // a pin, highlighted
예제 코드로 열기 →

.scad 파일이 없다면 이것부터 열어 보세요

모두 브라우저에서 렌더링된 상태로 열립니다. Customizer 슬라이더로 크기를 바꿔 보세요. 로그인 필요 없음.

OpenSCAD 문법 정리 (치트 시트)

가장 많이 쓰는 문법을 사용법과 자주 하는 실수까지 한 줄씩 정리했습니다. ‘온라인으로 열기’를 누르면 예제가 뷰어에서 렌더링된 상태로 열립니다. 숫자 하나를 바꾸고 다시 그려지는 모습을 확인해 보세요.

  • cube · cylinder · sphere

    직육면체, 원기둥, 구. cube는 한 꼭짓점이 원점에, cylinder는 밑면 중심이 원점에, sphere는 중심이 원점에 놓입니다. cube와 cylinder에 center = true를 주면 원점을 중심으로 놓입니다. cylinder의 d1 ≠ d2이면 원뿔대가 되고, $fn은 원을 나누는 분할 수입니다.

    온라인으로 열기 →
  • translate · rotate · mirror

    이동, 회전(단위는 도: X축, Y축, Z축 순서로 회전), 대칭. 변환은 물체 앞에 쓰고, 물체에 가까운 것부터 적용됩니다. translate(…) rotate(…) cube()는 먼저 회전한 뒤 이동합니다. mirror는 복사하지 않고 뒤집기만 하므로, 원본도 남기려면 한 번 더 써야 합니다.

    온라인으로 열기 →
  • difference() · union() · intersection()

    불리언 연산. difference는 첫 번째 물체에서 그 뒤의 모든 물체를 뺍니다. 구멍, 홈, 포켓을 만들 때 씁니다. 빼는 물체는 표면과 딱 맞추지 말고 양쪽으로 1 mm씩 튀어나오게 하세요. 그렇지 않으면 미리보기에 깜빡이는 잔여 면이 남고 렌더링에서 오류가 날 수도 있습니다. union은 합치고, intersection은 겹치는 부분만 남깁니다.

    온라인으로 열기 →
  • hull()

    안에 있는 물체들을 하나의 볼록 껍질로 감쌉니다. 원기둥 네 개를 hull하면 모서리가 둥근 판, 두 개를 hull하면 장공(긴 구멍)이 됩니다. 바깥쪽으로만 채우므로, 오목한 모양은 difference와 함께 써야 합니다.

    온라인으로 열기 →
  • minkowski()

    두 번째 물체를 첫 번째 물체의 표면 전체를 따라 쓸고 지나갑니다. 상자에 작은 구를 주면 모든 모서리가 둥근 상자가 됩니다. 결과는 모든 축 방향으로 구의 지름만큼 커지므로, 상자를 그만큼 먼저 줄여 두세요.

    온라인으로 열기 →
  • linear_extrude()

    2D 도형(square, circle, polygon, text)을 Z축 방향으로 끌어올려 입체로 만듭니다. twist는 올라가면서 돌아가는 각도(도), scale은 윗면을 줄이거나 키웁니다. circle에 $fn = 6을 주면 육각형입니다.

    온라인으로 열기 →
  • rotate_extrude()

    2D 단면을 Z축을 중심으로 한 바퀴 돌려 컵, 플랜지, 풀리 같은 회전체를 만듭니다. 단면은 부품을 반으로 잘랐을 때 한쪽의 윤곽이며, 전부 Y축 오른쪽(x ≥ 0)에 있어야 합니다.

    온라인으로 열기 →
  • for

    모양을 반복합니다. 볼트 구멍을 원형으로, 통풍구를 한 줄로 배치할 때 씁니다. 범위 [시작 : 간격 : 끝]은 끝 값을 포함하므로 [0 : 5]는 0부터 5까지 6개입니다. difference 안에 넣으면 구멍을 한 번에 모두 뚫습니다.

    온라인으로 열기 →
  • module

    형상을 파라미터가 있는 부품으로 묶어 함수처럼 불러 씁니다. 파라미터에 기본값을 주면, 부를 때 바꿀 것만 쓰면 됩니다.

    온라인으로 열기 →
  • // [min : step : max]

    파일 맨 위 변수 뒤에 // [20:5:120] 같은 주석을 달면 뷰어의 파라미터 패널에 슬라이더가 생깁니다. 바로 윗줄의 주석은 그 설명이 되고, /* [크기] */는 그룹을 시작합니다. 슬라이더를 움직이면 소스의 숫자도 함께 바뀝니다.

    온라인으로 열기 →
  • text()

    글자 넣기. text()는 2D 윤곽을 만듭니다. linear_extrude로 올리면 양각, 부품에서 빼면 음각이 됩니다. halign과 valign을 "center"로 하면 놓인 점을 중심으로 정렬됩니다. 내장 글꼴은 Liberation이라 한글이 없습니다. 한글을 쓰려면 글꼴 파일을 함께 넣어야 하며, 아래 자주 묻는 질문을 참고하세요.

    온라인으로 열기 →

모두 데스크톱 OpenSCAD에서도 똑같이 동작합니다.

데스크톱 OpenSCAD와 비교

데스크톱 OpenSCAD이 뷰어
설치설치 파일 다운로드웹페이지만 열면 됨
코드를 실행하는 것OpenSCAD같은 OpenSCAD를 WebAssembly로 컴파일한 것
미리보기F5: OpenCSGManifold가 만든 실제 형상, 색은 F5 규칙 그대로
여러 파일 프로젝트메인 파일 열기폴더째 끌어다 놓기
공유파일 보내기코드가 담긴 링크 하나
내보내기STL / 3MF / OFF / AMFSTL(미리보기의 삼각형 그대로), STEP(진짜 B-rep)
애니메이션($t)있음없음

Claude Code나 Codex를 쓴다면? Forgent3D skill을 설치하세요

명령어 한 줄이면 에이전트가 내 컴퓨터에서 진짜 OpenSCAD로 .scad를 렌더링합니다. 바운딩 박스, 부피, echo() 값을 읽어 오고, 3면도 스냅샷을 스스로 확인하고, STL / 3MF로 내보낸 다음, 위와 같은 코드 링크를 건네줍니다. OpenSCAD를 설치할 필요가 없습니다.

npx skills add forgent3d/forgent3d-skills
Skills 페이지: 방식을 고르는 기준 (영어) →

자주 묻는 질문

OpenSCAD를 설치하지 않고 온라인에서 코드를 쓰고 STL로 내보낼 수 있나요?

네. 이 뷰어는 OpenSCAD 자체를 WebAssembly로 컴파일해 브라우저에서 실행합니다. 코드 작성, 렌더링, 파라미터 조절, STL 내보내기가 모두 웹페이지에서 끝나고, CAD 프로그램용 STEP도 내보낼 수 있습니다. 설치도 로그인도 필요 없습니다.

진짜 OpenSCAD인가요?

네. 코드를 실행하는 것은 OpenSCAD 자체(Manifold 형상 커널을 쓰는 2025년 개발 스냅샷)이며, WebAssembly로 컴파일되어 브라우저에서 돌아갑니다. 언어 동작, 내장 라이브러리, Customizer 주석이 데스크톱과 똑같습니다.

구멍 안쪽 벽이 왜 초록색인가요?

OpenSCAD 미리보기(F5)의 규칙입니다. difference()로 빼낸 물체가 남긴 면은 ‘뒷면 색’으로 표시되는데, 기본 색 구성에서는 초록색입니다. 뷰어도 이 규칙을 따르며, color()를 지정한 물체는 그 색 그대로 보입니다.

Thingiverse나 Printables에서 받은 .scad 파일도 열 수 있나요?

네. 내려받은 폴더를 통째로 끌어다 놓아야 include된 파일까지 함께 들어옵니다. MCAD, Write.scad, BOSL2는 이미 내장되어 있습니다.

text()에 한글을 쓰면 왜 네모로 나오나요?

뷰어에 내장된 글꼴은 OpenSCAD에 포함된 Liberation 글꼴이라 한글이 없고, 없는 글자는 빈 네모로 그려집니다. 한글 글꼴 파일(.ttf 또는 .otf, .ttc 모음 파일은 읽지 못합니다)을 .scad와 같은 폴더에 넣어 함께 끌어다 놓고, 코드에 use <글꼴파일.ttf>를 쓴 뒤 text()에서 font = "글꼴 이름"으로 지정하세요. 글꼴 이름은 파일 이름이 아니라 글꼴 자체의 이름입니다. 예를 들어 Windows에 들어 있는 맑은 고딕 malgun.ttf는 font = "Malgun Gothic"입니다.

내 코드가 서버에 업로드되나요?

아니요. OpenSCAD는 브라우저에서 실행되며 .scad 파일은 업로드되지 않습니다. 링크의 # 뒤에 있는 코드도 서버로 전송되지 않습니다.

얼마나 큰 모델까지 돌아가나요?

일반적인 모델은 1초 안에 렌더링됩니다. 반복문을 펼쳤을 때 노드가 150,000개를 넘는 모델은 브라우저에서 빌드할 수 없으며, 그렇다고 바로 알려 줍니다. 오래 걸리는 렌더링은 언제든 멈출 수 있습니다.

미리보기와 내보낸 STEP은 무엇이 다른가요?

미리보기는 OpenSCAD 자체의 렌더링이라 원이 $fn개의 면으로 이루어집니다. STEP으로 내보낼 때는 CAD 커널이 모든 기본 도형과 불리언 연산을 정확한 형상으로 다시 만들기 때문에 원은 진짜 원기둥이 됩니다. 내보낸 STL은 미리보기의 삼각형 그대로입니다. 색은 미리보기에만 있고, STL과 STEP에는 들어가지 않습니다.

ChatGPT나 Gemini가 쓴 OpenSCAD 코드를 빨리 확인하려면?

뷰어에 붙여넣거나, https://app.forgent3d.com/scad#code=<코드> 형식의 링크를 달라고 하세요. 링크를 열면 모델이 이미 렌더링되어 있습니다.

더 읽어 보기