설명서:스프레드시트 사용하기
- Introduction
- Discovering FreeCAD
- Working with FreeCAD
- Python scripting
- The community
FreeCAD의 Spreadsheet 작업대(workbench)는 사용자가 스프레드시트를 설계 프로젝트 안에서 직접 생성하고 관리할 수 있도록 해 줍니다. 이는 Excel이나 LibreOffice의 Calc로 만든 스프레드시트와 유사한 방식입니다. 이 Spreadsheet 작업대(workbench)를 사용하면 표 형식으로 데이터를 입력하고, 정리하며, 조작할 수 있고, 이렇게 관리된 데이터는 프로젝트 내의 다양한 매개변수나 모델과 연결하여 활용할 수 있습니다. 이를 통해 설계를 보다 체계적으로 제어하고, 수치 변경에 따른 모델의 반응을 효율적으로 관리할 수 있습니다.
이 작업대의 주요 장점 중 하나는 파라메트릭 모델링에서의 활용입니다. 스프레드시트는 3D 모델의 치수와 속성에 연결될 수 있어, 동적인 설계 변경을 가능하게 하는 핵심 도구가 됩니다. 예를 들어 스프레드시트에서 값을 하나 조정하면, 그에 대응하는 모델의 치수가 자동으로 업데이트됩니다.
값을 관리하는 기능 외에도, 이 작업대(workbench)는 데이터 관리에 매우 유용하여 재료 속성, 치수, 프로젝트 전반에 적용되는 매개변수와 같은 중요한 정보들을 저장하는 데 적합합니다. 이러한 기능은 여러 값을 참조하거나 조정해야 하는 복잡한 프로젝트에서 특히 큰 장점을 제공합니다.
스프레드시트는 계산과 데이터 관리를 위해 수식(formula)을 입력할 수 있도록 해 줍니다. 이러한 수식은 다른 스프레드시트 셀이나 3D 모델 내부의 매개변수를 참조할 수 있어, 설계 전체 과정이 변경 사항에 유연하고 즉각적으로 반응하도록 만들어 줍니다.
이 작업대(workbench)는 다른 FreeCAD 작업대(workbench)들과 매끄럽게 통합되어, 데이터와 모델 구성 요소 간의 상호작용을 가능하게 합니다. 이러한 통합은 프로젝트의 여러 측면에 대한 제어를 한곳으로 집중시켜, 관리 작업을 더욱 수월하게 만듭니다. 또한 인터페이스는 Excel이나 LibreOffice Calc와 같은 기존 스프레드시트 소프트웨어와 유사한 직관적인 구조를 가지고 있어, 해당 프로그램에 익숙한 사용자라면 쉽게 사용할 수 있습니다.
실무적으로 Spreadsheet 작업대(workbench)는 프로젝트 전반에 적용되는 매개변수를 정의하고, 자재 명세서(BOM)를 관리하며, 설계 결정에 영향을 주는 사용자 정의 계산을 수행하는 등 다양한 활용 사례에 적합합니다. 이러한 기능은 모든 매개변수의 제어를 한 곳에 집중시켜, 복잡한 프로젝트를 보다 단순하게 관리할 수 있도록 해 줍니다.
다음 예제에서는 몇 가지 객체를 생성한 뒤, 그중 일부 속성을 스프레드시트로 가져오고, 이후 해당 스프레드시트를 사용해 다른 객체들의 속성을 직접 제어해 보겠습니다.
속성 읽기
- 먼저
Part 작업대(workbench)로 전환한 다음, 몇 가지 객체를 생성합니다.
상자(Box),
원통(Cylinder), 그리고
구(Sphere)를 각각 하나씩 만듭니다.
- 그 다음 각 객체의 배치(Placement) 속성을 수정하거나,
Draft 이동(Draft Move) 도구를 사용하여 객체들을 서로 약간 떨어지게 배치합니다. 이렇게 하면 이후에 수행할 작업의 효과를 더 명확하게 확인할 수 있습니다.
- 이제 이 객체들에 대한 몇 가지 정보를 추출해 보겠습니다.
Spreadsheet 작업대(workbench)로 전환합니다.
- 그 다음
새 스프레드시트(New Spreadsheet) 버튼을 누릅니다.
- 트리 보기에서 새로 생성된 스프레드시트 객체를 더블 클릭하면 스프레드시트 편집기가 열립니다.
FreeCAD의 스프레드시트 편집기는 Excel이나 LibreOffice Calc와 같은 전용 애플리케이션만큼 다양한 기능을 제공하지는 않지만, 대부분의 설계 작업에 필요한 핵심 도구는 갖추고 있습니다. 사용자는 셀의 크기, 색상, 정렬과 같은 속성을 조정할 수 있고, 셀을 병합하거나 분할하여 데이터를 더 잘 정리할 수도 있습니다. 또한 기본적인 수식이나 다른 셀에 대한 참조를 지원하여 간단한 데이터 조작이 가능합니다. 이 편집기의 가장 큰 특징은 FreeCAD의 모델링 환경과의 깊은 통합입니다. 스프레드시트의 값이 변경되면, 이에 연결된 모델의 치수가 실시간으로 자동 업데이트됩니다. 피벗 테이블이나 차트와 같은 고급 기능은 부족할 수 있지만, 파라메트릭 기반 설계에 중점을 둔 도구라는 점에서 FreeCAD 내부에서 설계 데이터를 직접 관리하기에 매우 강력한 수단입니다.
FreeCAD에서는 일반적인 스프레드시트 기능을 넘어, 특히 유용한 기능 하나가 더 제공됩니다. 바로 다른 셀뿐만 아니라 문서 안에 있는 객체를 참조하고, 그 객체의 속성 값까지 추출할 수 있는 기능입니다. 예를 들어, 객체를 선택했을 때 속성 편집기(Properties Editor)의 데이터(Data) 탭에 표시되는 3D 객체의 속성들을 스프레드시트로 가져올 수 있습니다. 이러한 기능을 통해 스프레드시트와 3D 모델 간의 매끄러운 통합이 가능해지며, 설계 내 객체의 매개변수를 기반으로 변경 사항을 쉽게 연결하고 자동화할 수 있습니다. 그 결과, 전체 작업 흐름이 더욱 동적이고 상호 연결된 방식으로 발전하게 됩니다.
- 먼저 나중에 무엇이 무엇인지 쉽게 알아볼 수 있도록, 셀 A1, A2, A3에 간단한 텍스트를 입력합니다. 예를 들어 Cube Length, Cylinder Radius, Sphere Radius와 같은 내용을 넣으면 됩니다. 텍스트를 입력하려면 스프레드시트 위쪽의 Contents 필드에 직접 입력하거나, 해당 셀을 더블 클릭하면 됩니다.
- 이제 큐브의 실제 길이를 가져와 보겠습니다. 셀 B1에 =Cube.Length를 입력합니다. 입력하는 동안 스프레드시트에 자동 완성 기능이 동작하는 것을 확인할 수 있는데, 이는 이전 장에서 사용했던 표현식 편집기(expression editor)와 동일한 메커니즘입니다.
- 같은 방식으로 셀 B2에는 =Cylinder.Radius, 셀 B3에는 =Sphere.Radius를 입력합니다. 이렇게 하면 각 객체의 반지름 값이 스프레드시트에 자동으로 표시됩니다.
- 이 결과들은 단위를 포함한 값으로 표시되지만, 일반 숫자처럼 계산에 사용할 수 있습니다. 예를 들어 셀 C1에 =B1*2를 입력해 보세요.
- 이제 속성 편집기(Properties Editor)에서 이러한 값 중 하나를 변경하면, 그 변경 사항이 즉시 스프레드시트에 반영되는 것을 확인할 수 있습니다. 예를 들어 큐브의 길이를 20mm로 변경해 보겠습니다:
Spreadsheet 작업대(workbench) 페이지에서는 스프레드시트에서 사용할 수 있는 모든 기능과 작업들을 보다 자세히 설명합니다.
속성 쓰기
FreeCAD의 Spreadsheet 작업대(workbench)에는 또 하나의 강력한 기능이 있는데, 이는 3D 객체의 속성에서 값을 읽어오는 것뿐만 아니라, 해당 속성에 값을 할당할 수도 있다는 점입니다. 이를 통해 객체의 치수와 속성을 스프레드시트에서 직접 제어할 수 있습니다. 다만 FreeCAD의 기본 규칙 중 하나는 순환 의존성(circular dependency)을 허용하지 않는다는 것입니다. 즉, 하나의 스프레드시트가 동일한 객체로부터 값을 읽어오면서 동시에 그 객체에 값을 쓰는 것은 불가능합니다. 그렇게 되면 객체가 스프레드시트에 의존하면서, 동시에 스프레드시트도 객체에 의존하는 상태가 되어 유효하지 않은 구성이 됩니다. 이를 피하기 위해 일반적으로는 두 번째 스프레드시트를 생성하여 값 쓰기(write) 작업을 담당하게 하고, 읽기(read)와 쓰기 과정을 명확히 분리합니다. 이렇게 하면 데이터 흐름이 명확해지고 안정적인 파라메트릭 제어가 가능합니다.
- 이제 스프레드시트 탭을 닫아도 됩니다(3D 뷰 아래에 있는 탭). 이는 필수 사항은 아니며, 여러 개의 스프레드시트 창을 동시에 열어 두어도 전혀 문제가 없습니다.
- 다시
새 스프레드시트(New Spreadsheet) 버튼을 누릅니다.
- 새로 생성된 스프레드시트의 이름을 Input과 같이 의미 있는 이름으로 변경합니다. 이는 해당 스프레드시트 객체를 마우스 오른쪽 버튼으로 클릭한 후 이름 바꾸기(Rename)를 선택하여 수행할 수 있습니다.
- Input 스프레드시트를 더블 클릭하여 스프레드시트 편집기를 엽니다.
- 셀 A1에는 예를 들어 “Cube dimensions”와 같은 설명용 텍스트를 입력합니다.
- 셀 B1에는 =5mm를 입력합니다. 등호(=)를 사용하는 이유는 이 값이 텍스트가 아니라 단위를 가진 값으로 해석되도록 하기 위함입니다. 이제 이 값을 스프레드시트 외부에서 사용하려면, 셀 B1에 이름(별칭, alias)을 지정해야 합니다. 셀을 마우스 오른쪽 버튼으로 클릭한 후 속성(Properties)을 선택하고, Alias 탭에서 cubedims와 같은 이름을 지정합니다.
- 확인(OK)을 누른 다음 스프레드시트 탭을 닫습니다.
- 그 다음 큐브 객체를 선택합니다.
- 속성 편집기(Properties Editor)에서 길이(Length) 항목 오른쪽에 있는 작은
표현식(expression) 아이콘을 클릭합니다. 그러면 표현식 편집기(expressions editor)가 열리며, 여기에 Spreadsheet001.cubedims를 입력합니다. 같은 과정을 높이(Height)와 너비(Width)에도 반복합니다.
표현식에서 “Input” 대신 “Spreadsheet001”을 사용하는 이유는, FreeCAD 문서 안의 모든 객체가 고유한 내부 이름(internal name)과 보다 사용자 친화적인 레이블(label)을 함께 가지고 있기 때문입니다. 트리 보기에는 레이블이 표시되지만, 문서 내부에서 객체를 고유하게 식별하는 데에는 내부 이름이 사용됩니다. FreeCAD에서는 환경설정을 조정하면 여러 객체에 같은 레이블을 지정할 수 있지만, 내부 이름은 항상 유일하게 유지됩니다. 따라서 객체를 모호함 없이 식별해야 하는 모든 작업에서, FreeCAD는 레이블이 아니라 내부 이름을 사용합니다. 레이블은 하나 이상의 객체를 가리킬 수 있기 때문입니다. 객체의 내부 이름을 확인하려면, 선택 패널(Selection Panel)을 열어 두는 것이 유용합니다. 이 패널은 보기(View) → 패널(Panels) 메뉴에서 접근할 수 있으며, 선택된 객체의 내부 이름을 항상 표시해 주므로 표현식에서 올바른 참조를 사용하는 데 도움이 됩니다.
FreeCAD의 Spreadsheet 작업대(workbench)에서 셀 별칭(alias)을 사용하면 문서 안에 이른바 “마스터 값(master values)”을 저장할 수 있어, 핵심 매개변수를 손쉽게 관리하고 수정할 수 있습니다. 예를 들어 하나의 스프레드시트에 모델의 치수를 저장해 두고, 설계 전반에서 이 값들을 참조하도록 구성할 수 있습니다. 이러한 방식은 모델을 업데이트하는 과정을 크게 단순화합니다. 새로운 치수가 필요할 경우, 스프레드시트를 열어 값만 조정하면 모델이 자동으로 그 변경 사항을 반영합니다. 이 방법은 버전 관리 과정을 간소화하고, 특히 프로젝트 요구 사항에 따라 치수가 자주 변경되는 파라메트릭 모델링에서 작업 효율을 크게 향상시켜 줍니다.
마지막으로, 스케치 안에 있는 구속조건(constraint) 역시 스프레드시트 셀의 값을 사용할 수 있다는 점을 알아두세요:
스케치 안의 치수 구속조건(수평, 수직, 거리)에 대해서도 별칭(alias)을 지정할 수 있으며, 이렇게 지정한 값은 스케치 외부에서도 사용할 수 있습니다.
다운로드
Read more







