- Introduction
- Discovering FreeCAD
- Working with FreeCAD
- Python scripting
- The community
FreeCAD의 Draft 작업대(workbench)는 2D 제도와 3D 모델링을 연결하는 다리 역할을 하며, AutoCAD와 같은 전통적인 2D CAD 시스템과 비교했을 때 독특한 위치를 차지합니다. FreeCAD는 완전한 3D 환경에서 작동하지만, Draft 작업대(workbench)는 사용자에게 익숙한 2D 도면 도구를 제공하는 동시에 2D 스케치와 3D 객체 사이를 부드럽게 전환할 수 있는 유연성을 제공합니다. 예를 들어, 특정 면이나 방향에 맞춰 사용자 정의 작업 평면을 설정한 뒤 그 위에 도형을 그릴 수 있으며, 이를 통해 파라메트릭 모델을 구성할 수 있습니다. 또한 FreeCAD는 파라메트릭 방식이기 때문에, 치수를 변경하면 프로젝트 전체에 걸쳐 그 변경 사항이 자동으로 반영됩니다.
Draft 작업대(workbench)의 강점 중 하나는 기본적인 그리기 도구부터 고급 수정 도구까지 포함한 포괄적인 도구 세트에 있습니다. 이러한 도구들은 2D 제도 작업뿐만 아니라 3D 공간에서 객체를 조작하는 데에도 사용할 수 있습니다. 작업 평면을 설정하고, 그리드를 정의하며, 구속조건을 적용함으로써 설계 전반에 걸쳐 기하학적 관계가 유지되도록 할 수 있습니다. Draft 객체는 스냅 모드와 다양한 구속조건을 활용해 수정하고 재배치할 수 있어, 정밀한 제도 작업을 훨씬 수월하게 만들어 줍니다.
Draft 작업대(workbench)에 포함된 주요 도구들은 다음과 같습니다:
- 그리기 도구(Drawing Tools):
Line,
Wire : 직선 선분이나 연속된 폴리라인을 생성할 수 있으며, 구속조건을 적용하고 3D 형상으로 변환할 수 있습니다.
Circle,
Ellipse,
Arc: 기본적인 원형 및 타원형 형상을 정의하는 데 사용되며, 이후 추가적인 조작이 가능합니다.
- 조작 도구(Manipulation Tools):
Move,
Rotate,
Scale: 2D뿐만 아니라 3D 공간에서도 동작하여 객체 배치에 높은 유연성을 제공합니다.
Offset: 전통적인 CAD 시스템과 유사하게, 평행한 선이나 곡선을 생성할 수 있습니다.
Trimex 및
Stretch: 선과 형상을 잘라내거나 연장하여 다른 객체와 교차하거나 맞닿도록 수정합니다.
Mirror 및
Array: 객체를 복제하고 배열을 생성하는 도구로, 반복되는 구성 요소에 적합합니다.
FreeCAD의 Draft 작업대(workbench)에 포함된 스냅 시스템은 정밀한 작업을 위해 설계되었습니다. 2D든 3D든 관계없이, 끝점, 중점, 원의 중심과 같은 중요한 지점에 스냅할 수 있어 요소들을 서로 정확하게 배치하기가 쉽습니다. 수직, 접선, 교차점과 같은 스냅 모드는 정밀도를 더욱 높여 줍니다. 이러한 기능들은 작업 평면 및 그리드 시스템과 결합되어, 객체와 구성 요소를 정확하게 정렬할 수 있도록 보장합니다.
FreeCAD의 파라메트릭 특성 덕분에 Draft 작업대(workbench)에서 작성한 요소들에도 구속조건을 적용할 수 있어, 기하학적 관계가 항상 유지되도록 할 수 있습니다. 예를 들어 선들을 서로 평행하거나 수직이 되도록 만들거나, 요소들 사이의 거리를 고정할 수 있습니다. 이러한 구속조건은 나중에 다시 조정할 수 있으므로, 설계 변경이 프로젝트 전반에 걸쳐 부드럽고 일관되게 반영됩니다. 또한 Draft 작업대(workbench)는 보다 엄격한 파라메트릭 2D 설계를 위한 Sketcher 작업대(workbench), 그리고 문서화를 위한 기술 2D 도면을 생성하는 TechDraw 작업대(workbench) 등 다른 FreeCAD 작업대들과도 원활하게 연동됩니다.
Draft 작업대(workbench)의 고급 기능에는 DXF와 SVG와 같은 형식으로 파일을 가져오고 내보낼 수 있는 기능이 포함되어 있어, 다른 CAD 프로그램 사용자들과 설계를 함께 사용하거나 공유할 수 있습니다. 또한 Python 스크립팅은 FreeCAD의 기능을 한층 더 확장해 주어, 작업을 자동화하거나 사용자 정의 워크플로를 만들 수 있게 합니다. 특정 기하 규칙에 따라 Draft 객체를 생성하는 스크립트를 작성함으로써, 반복적인 작업을 효율적으로 처리할 수 있습니다.
Draft 작업대(workbench)의 작업 흐름과 가능성을 보여 주기 위해, 간단한 예제를 하나 살펴보겠습니다. 이 예제의 결과물은 작은 집의 평면도를 나타내는 간단한 도면으로, 주방 상판만 포함하고 있습니다(꽤나 엉뚱한 평면도이지만, 여기서는 마음껏 해도 되겠죠?):
- Draft 작업대(workbench)로 전환합니다.
- 모든 기술 도면 애플리케이션과 마찬가지로, 작업 환경을 올바르게 설정하는 것은 매우 중요하며 많은 시간을 절약해 줍니다. Draft 작업대(workbench)에서의 사용 경험을 개인화하고 싶다면, 편집 → 환경설정 → Draft로 이동하여 Draft 환경설정 패널에서 다양한 설정을 쉽게 조정할 수 있습니다. 다만 이 예제에서는 이러한 설정들이 기본값으로 유지되어 있다고 가정하고 진행하겠습니다.
- FreeCAD의 Draft 환경설정 패널에서는 2D 제도 환경의 다양한 요소를 사용자 취향에 맞게 설정할 수 있습니다. 일반 설정(General Settings)에서는 기본 작업 평면을 지정하고, 소수점 정밀도를 조정하며, 객체의 기본 선 두께, 선 스타일, 색상을 설정할 수 있습니다. 그리드 및 스냅(Grid and Snapping) 섹션에서는 그리드 표시 여부, 간격, 스냅 모드를 제어하여 요소를 정밀하게 정렬하고 배치할 수 있습니다. 시각적 스타일(Visual Style) 옵션을 통해서는 객체와 그리드의 모양을 사용자화할 수 있으며, 선 색상과 채우기 색상 등을 설정할 수 있습니다. 텍스트 및 치수(Text and Dimensions)에서는 주석을 위한 기본 텍스트 크기, 글꼴, 색상을 설정하여 기술 도면의 가독성을 높일 수 있습니다.
- 모든 스냅 버튼을 켜 두면 편리하긴 하지만, 마우스 커서를 이동할 때 더 많은 계산이 필요해져 그리기 속도가 느려질 수 있습니다. 실제로 사용할 스냅 기능만 켜 두는 것이 보통은 더 효율적입니다.
- 먼저 구성 모드(construction mode)를 켭니다. 이렇게 하면 최종 형상을 그리기 전에 기준선으로 사용할 가이드라인을 그릴 수 있습니다. 이는
Toggle construction mode 명령을 눌러 활성화할 수 있습니다.
- 원한다면 작업 평면을 XY로 설정할 수도 있습니다. 이렇게 하면 작업 평면이 고정되어, 뷰를 어떻게 변경하더라도 항상 XY 평면에 유지됩니다. 이를 설정하지 않을 경우, 작업 평면은 현재 뷰에 따라 자동으로 변경되므로, XY(지면) 평면에 그리려면 항상 상단 뷰(top view)에 있는지 주의해야 하며, 그렇지 않으면 의도치 않게 방향이 바뀔 수 있습니다.
이제 평면도의 기본 형상을 배치하는 것부터 시작해 보겠습니다.
Draft Rectangle 버튼을 누르세요.
- 기준점 (0,0,0)에서 시작하여 가로 2미터, 세로 2미터의 사각형을 그립니다. Z 좌표는 0으로 유지하세요. 이 전체 과정은 마우스를 사용하지 않고 키보드만으로 효율적으로 수행할 수 있습니다. 다음과 같이 입력하면 됩니다:
- re, Enter, Enter, Enter, 2m, Enter, 2m, Enter, 0 그리고 Enter.
이와 같은 키보드 중심 작업 흐름은 반복 작업이나 정밀한 수치 입력이 필요한 경우 제도 속도를 크게 향상시켜 주며, 작업 효율을 높이고자 하는 사용자에게 이상적입니다. 각 객체에 사용되는 키 입력은 해당 버튼 위에 마우스를 올리면 확인할 수 있습니다.
오프셋(Offset) 도구를 사용하여 해당 사각형을 안쪽으로 15cm만큼 복제합니다. 이때 복사(Copy) 모드를 켜고, 거리 값은 15cm로 설정하세요:
- 이제
선(Line) 도구를 사용하여 문과 창문이 배치될 위치를 정의하기 위한 몇 개의 수직선을 그릴 수 있습니다. 이 단계에서는 「상대 모드(Relative mode)」 체크박스가 꺼져 있어야 한다는 점에 유의하세요. 이 선들이 두 개의 사각형과 교차하면서, 벽을 스냅할 수 있는 유용한 교차점을 만들어 줍니다. 첫 번째 선은 다음 점들을 지정하여 그립니다:
- P1 (15cm, 1m, 0)
- P2 (15cm, 3m, 0)
- 이제 이 선을 5번 복제하겠습니다.
이동(Move) 도구를 누르고,
복제(Clone) 모드를 켜세요. 또한 상대 모드(Relative mode)가 활성화되어 있는지 확인합니다. 복제 모드는 각 이동 시 원본을 이동하는 대신 새로운 선을 생성하며, 상대 모드는 정확한 절대 좌표를 계산하지 않고도 상대적인 거리로 이동을 정의할 수 있게 해 줍니다. 먼저 원본 선을 선택한 다음, (0,0,0)과 같은 임의의 시작점을 지정하여 이동 작업을 시작합니다. 각 이동이 끝난 뒤에는 방금 생성된 선을 대상으로 다음 이동을 수행하여, 이전 복제를 기준으로 새 복제가 이어지도록 합니다. 각 새 선에 대해 다음과 같이 상대 이동 끝점을 정의합니다:
- line001: x: 10cm
- line002: x: 120cm
- line003: x: -55cm, y: -2m
- line004: x: 80cm
- line005: x: 15cm
- 이제 필요한 준비는 모두 끝났으므로 구성 모드(construction mode)를 끌 수 있습니다. 모든 구성용 기하요소가 "Construction” 그룹에 들어가 있는지 확인하세요. 이렇게 하면 나중에 한 번에 숨기거나, 필요하다면 완전히 삭제하는 것도 매우 쉬워집니다.
- 이제
와이어(Wire) 도구를 사용하여 두 개의 벽 조각을 그려보겠습니다. 선과 사각형의 교차점에 스냅해야 하므로,
교차 스냅(intersection snap)이 켜져 있는지 반드시 확인하세요. 다음과 같이 각 윤곽의 모든 점을 클릭하여 두 개의 와이어를 그립니다. 와이어를 닫으려면, 첫 번째 점을 다시 클릭하거나 닫기(Close) 버튼을 누르세요:
- 이제 벽에 보기 좋은 해치(hatch) 패턴를 적용할 수 있습니다. 두 개의 벽을 모두 선택한 다음, 데이터(Data) 탭에 있는 면 생성(Make Face) 속성이 TRUE로 설정되어 있는지 확인하세요. 그 후 보기(View) 탭에 있는 패턴(Pattern) 속성을 Simple로 설정하고, 패턴 크기(Pattern size)는 원하는 값으로 지정합니다. 예를 들어 0.01과 같이 설정할 수 있습니다.
- 이제 Construction 그룹을 마우스 오른쪽 버튼으로 클릭한 뒤 선택 숨기기(Hide Selection)를 선택하여 구성용 기하요소를 숨길 수 있습니다.
- 이제 창문과 문을 그려보겠습니다.
중점 스냅(midpoint snap)이 켜져 있는지 확인한 다음, 아래와 같이 여섯 개의 선을 그립니다:
- 이제 문 선을 수정하여 열린 문 기호를 만들겠습니다. 먼저
회전(Rotate) 도구를 사용하여 해당 선을 회전합니다. 선의 끝점을 회전 중심으로 클릭한 다음, 기준 각도(Base angle)를 0으로 지정하고, 회전 각도(Rotation)를 -90으로 설정하세요.
- 그런 다음
호(Arc) 도구를 사용하여 개방 호를 만듭니다. 이전 단계에서 회전 중심으로 사용했던 같은 점을 중심점으로 선택하고, 선의 다른 한쪽 끝점을 클릭하여 반지름을 지정한 뒤, 다음과 같이 시작점과 끝점을 지정합니다:
- 이제 가구 배치를 시작할 수 있습니다. 먼저 조리대(counter)를 배치해 보겠습니다. 내부 왼쪽 위 모서리에서 시작하여, 너비 170cm, 높이 -60cm의 사각형을 그립니다. 아래 이미지에서는 가구처럼 보이도록 사각형의 투명도(Transparency) 속성을 80%로 설정했습니다.
- 다음으로 싱크대와 쿡탑을 추가합니다. 이러한 종류의 기호를 손으로 직접 그리는 작업은 매우 번거로울 수 있으며, 보통은 인터넷에서 쉽게 구할 수 있습니다. 예를 들어 http://www.cad-blocks.net과 같은 사이트가 있습니다. 아래의 다운로드(Downloads) 섹션에서는 편의를 위해 이 프로젝트에서 사용한 싱크대와 쿡탑을 분리하여 DXF 파일로 저장해 두었습니다. 아래 링크를 방문한 뒤 Raw 버튼을 마우스 오른쪽 버튼으로 클릭하고 다른 이름으로 저장(save as)을 선택하면 두 파일을 다운로드할 수 있습니다.
- 열려 있는 FreeCAD 문서에 DXF 파일을 삽입하는 방법은 파일 → 가져오기(Import) 메뉴를 사용하는 방법과, 파일 탐색기에서 DXF 파일을 FreeCAD 창으로 드래그 앤 드롭하는 방법 두 가지가 있습니다. DXF 파일 안에서 객체가 위치해 있던 좌표에 따라, 가져온 내용이 현재 뷰의 정확한 중앙에 표시되지 않을 수도 있습니다. 이 경우 보기 → 표준 뷰 → 모두 맞추기(Fit all) 메뉴를 사용하여 화면을 축소하고 가져온 객체를 찾을 수 있습니다. 두 개의 DXF 파일을 모두 삽입한 뒤, 조리대 위의 적절한 위치로 이동시키세요:
- 이제
치수(Dimension) 도구를 사용하여 몇 개의 치수선을 배치할 수 있습니다. 치수를 만들려면 세 개의 점을 차례로 선택합니다. 첫 번째 점은 측정의 시작점을, 두 번째 점은 끝점을 정의하며, 세 번째 점은 치수선과 텍스트가 배치될 위치를 결정합니다. 이 점들을 정확히 클릭하면 선택한 두 점 사이의 거리가 올바르게 표시됩니다.시작점과 끝점이 정확히 정렬되어 있지 않더라도 치수를 완전히 수평 또는 수직으로 강제하고 싶다면, 두 번째 점을 클릭할 때 Shift 키를 누른 채로 클릭하세요. 그러면 치수가 원하는 방향으로 고정됩니다. 이후 속성 패널에서 텍스트 크기, 정밀도, 색상 등의 속성을 조정하여, 프로젝트의 시각적·기술적 기준에 맞게 치수를 세밀하게 다듬을 수 있습니다.
- 치수 텍스트의 위치는 트리 뷰에서 해당 치수를 더블 클릭하여 변경할 수 있습니다. 그러면 제어점이 나타나며, 이를 이용해 텍스트를 그래픽으로 이동할 수 있습니다. 이 실습에서는 가독성을 높이기 위해 "0.15" 텍스트들을 바깥쪽으로 이동시켰습니다.
- 치수 텍스트의 내용은 재정의(Override) 속성을 편집하여 변경할 수 있습니다. 예제에서는 문과 창문 치수의 텍스트를 수정하여, 각각의 높이를 나타내도록 설정했습니다:
텍스트(Text) 도구를 사용하여 몇 개의 설명 텍스트를 추가해 보겠습니다. 텍스트를 배치할 위치의 한 점을 클릭한 다음, 텍스트 줄을 입력하고 각 줄마다 Enter 키를 누르세요. 입력을 마치려면 Enter를 두 번 누릅니다.
- 텍스트를 설명 대상과 연결하는 지시선(“리더(leader)”라고도 함)은 와이어(Wire) 도구를 사용하여 간단히 만들 수 있습니다. 텍스트 위치에서 시작하여 설명하려는 위치까지 와이어를 그리세요. 그런 다음 와이어의 끝 화살표(End Arrow) 속성을 TRUE로 설정하면, 와이어 끝에 점이나 화살표를 추가할 수 있습니다:
- 이제 도면이 완성되었습니다! 설계에 포함된 객체 수를 고려하면, 마무리하기 전에 정리 및 구조 재편을 하는 것이 좋습니다. 모든 요소를 명확하고 논리적인 그룹으로 정리하면 프로젝트의 구조가 잘 유지될 뿐만 아니라, 다른 사람이 파일을 탐색하고 이해하는 것도 훨씬 쉬워집니다. 가구, 가전기기, 건축 요소와 같이 관련된 요소들을 그룹화하면 레이아웃이 단순해지고 도면의 가독성이 향상됩니다. 이는 향후 수정이나 조정 작업을 훨씬 수월하게 만들어 주며, 특히 프로젝트를 공유하거나 협업해야 할 경우 큰 도움이 됩니다. 또한 깔끔한 구조는 도면을 검토하는 사람이 복잡한 작업 공간을 뒤지지 않고도 필요한 요소를 빠르게 찾을 수 있게 해 주어, 결과적으로 보다 전문적이고 완성도 높은 최종 결과물을 만드는 데 기여합니다. 지금 이 단계에서 정리에 조금 더 시간을 투자하면, 나중에 상당한 시간과 노력을 절약할 수 있습니다.
- 이제 작업한 내용을 도면 시트(Drawing sheet)에 배치하여 출력할 수 있습니다. 이 방법은 이 매뉴얼의 뒤쪽에서 다룰 예정입니다. 또는 도면을 DXF 파일로 내보내어 다른 CAD 응용프로그램에서 바로 사용할 수도 있습니다. 이를 위해 “Floor plan” 그룹을 선택한 뒤, 메뉴에서 파일 → 내보내기(Export)를 선택하고, 형식으로 Autodesk DXF를 지정하세요. 이렇게 생성된 파일은 LibreCAD와 같은 다른 2D CAD 응용프로그램에서 열 수 있습니다. 다만 각 응용프로그램의 설정에 따라 일부 표현상의 차이가 나타날 수 있다는 점에 유의하세요.
- 하지만 Draft 작업대(workbench)의 가장 중요한 특징은, 여기서 만든 2D 기하요소가 3D 객체를 생성하기 위한 기반이 될 수 있다는 점입니다. Part 작업대(workbench)에 있는
Part 돌출(Extrude) 도구를 사용하면 이러한 형상을 쉽게 3D로 돌출할 수 있습니다. 또는 Draft 작업대(workbench) 안에서 작업을 계속하고 싶다면, 잘라내기(trim), 연장(extend), 돌출(extrude) 기능을 결합한
Trimex 도구를 사용할 수도 있습니다. Trimex 도구는 내부적으로는 Part 돌출과 동일한 작업을 수행하지만, “Draft 방식”으로 작동하여 돌출 길이를 시각적으로 지정하고 스냅할 수 있게 해 줍니다. 이를 통해 제도 환경 안에서 직접 작업하면서도 더 높은 제어력과 정밀도를 얻을 수 있습니다. 이러한 유연성 덕분에 2D에서 3D로의 전환이 매우 자연스럽고 직관적이며, 특히 2D 작업 흐름에 익숙한 사용자에게 유리하면서도 고급 3D 모델링 기능을 제공합니다.
- 또한 객체의 면(face)을 선택한 상태에서
작업 평면(working plane) 버튼을 누르면, 작업 평면을 원하는 위치로 설정할 수 있습니다. 이를 통해 벽의 윗면과 같이 서로 다른 평면 위에 Draft 객체를 그릴 수 있으며, 이렇게 만든 형상 역시 이후에 돌출하여 다른 3D 솔리드를 만들 수 있습니다. 벽의 윗면 중 하나에 작업 평면을 설정한 뒤, 그 위에 몇 개의 사각형을 그려보며 직접 실험해 보세요.
- 문이나 창과 같은 각종 개구부 역시 매우 쉽게 만들 수 있습니다. 벽의 면(face) 위에 Draft 객체를 그린 다음 이를 돌출(extrude)하고, 이전 장에서 살펴본 것처럼 Part 작업대(workbench)의 불리언(Boolean) 도구를 사용하여 다른 솔리드에서 빼기(Subtract) 연산을 수행하면 됩니다.
근본적으로 Draft 작업대(workbench)는 Part 작업대(workbench)에서 제공되는 기본 연산들과 유사한 기능을, 보다 그래픽 중심적이고 직관적인 방식으로 수행할 수 있도록 해 줍니다. Part 작업대(workbench)에서는 객체의 위치나 회전을 지정할 때 주로 배치(Placement) 값(위치, 회전 등)을 수동으로 조정해야 하는데, 이는 매우 정밀한 제어를 가능하게 하는 반면, 특히 빠른 수정 작업에서는 다소 직관적이지 않게 느껴질 수 있습니다. 반면 Draft 작업대(workbench)에서는 이러한 동일한 작업을 화면 상에서 직접 시각적으로 수행할 수 있어, 스냅 도구와 상대 위치 지정 옵션을 활용해 작업 공간 안에서 객체를 쉽게 이동, 회전, 조작할 수 있습니다. 이로 인해 Draft 작업대(workbench)는 빠른 편집과 직관적인 조작에 특히 유리합니다.
이러한 차이점 덕분에 두 작업대(workbench)는 서로를 보완하는 관계를 이룹니다. Draft 작업대(workbench)는 정밀한 수치를 계속 입력하지 않고도 객체를 그리고 배치할 수 있어, 빠르고 상호작용적인 설계에 매우 적합합니다. 반면 Part 작업대(workbench)는 객체 속성에 대해 보다 세밀하고 파라메트릭한 제어를 제공하므로, 특히 공학적·기술적 설계 프로젝트에서 요구되는 고정밀 조정 작업에 더 적합합니다.
FreeCAD의 가장 큰 장점은 둘 중 하나를 선택할 필요가 없다는 점입니다. 사용자 정의 도구 모음(custom toolbars)을 만들어 Draft 작업대(workbench)와 Part 작업대(workbench)의 도구를 함께 구성할 수 있으며, 이를 통해 필요에 따라 그래픽 방식과 파라메트릭 방식을 자유롭게 오갈 수 있습니다. 이러한 유연성 덕분에 프로젝트의 요구에 따라 Draft 작업대(workbench)의 빠르고 화면 중심적인 조작과 Part 작업대(workbench)의 정밀한 제어력을 모두 활용할 수 있습니다. 또한 키보드 단축키와 사용자 정의 도구 모음을 함께 사용하면 작업 흐름이 더욱 빨라져, 설계 과정을 방해하지 않고도 다양한 작업을 자연스럽게 전환할 수 있습니다.
다운로드
- 이 예제 동안 생성된 파일: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/cabin.FCStd
- 싱크 DXF 파일: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/sink.dxf
- 쿡탑 DXF 파일: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/cooktop.dxf
- 이 예제 동안 생성된 최종 DFX 파일: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/cabin.dxf
Related
이 페이지에서 인용한 것은 https://wiki.freecad.org/Manual:Traditional_2D_drafting