반응형
FreeCAD는 Python Console을 제공 합니다. drop-down menu에서 " View → Panels → Python Console"을 선택합니다

파이썬 콘솔은 객체 이름 뒤에 점(.)을 입력하면 기본적인 코드 자동 완성 기능을 제공합니다. 예를 들어, 현재 객체(클래스)의 공개 메서드와 속성(변수)을 표시합니다.obj. 콘솔은 여는 괄호를 입력하면 특정 함수의 문서 문자열을 표시할 수도 있습니다. 예를 들어,function( . .
FreeCAD 파이썬 API를 사용하여 새로운 문서를 생성하고 이름을 지정하는 코드는 아래와 같습니다.
1. 기본: 새로운 문서 생성하기
새로운 문서를 만들면서 원하는 이름을 지정하려면 newDocument("원하는_이름") 형식으로 코드를 작성합니다.
import FreeCAD as App
# 'MyNewProject'라는 이름으로 새로운 문서 생성
doc = App.newDocument("MyNewProject")
# 생성된 문서 확인 (콘솔에 출력)
print(doc.Name)
| 💡 주의할 점: FreeCAD 내부적으로 문서 이름(doc.Name)에는 공백이나 특수문자가 들어갈 수 없습니다. 만약 App.newDocument("My New Project")와 같이 공백을 넣어 생성하면, FreeCAD가 자동으로 My_New_Project처럼 언더바(_)로 변환하여 고유한 이름을 부여합니다. |
2. 응용: 실제 파일로 저장하기 (경로 지정)
문서를 새로 만드는 것뿐만 아니라, 컴퓨터 하드디스크에 특정 파일 이름(.FCStd)으로 저장하고 싶다면 saveAs 메서드를 함께 사용해야 합니다.
import FreeCAD as App
import os
# 1. 새 문서 생성 (FreeCAD 내부에서 관리할 이름)
doc = App.newDocument("RobotArmProject")
# 2. 저장할 폴더 및 파일명 지정 (사용자 환경에 맞게 수정하세요)
save_folder = "C:/FreeCAD_Projects/"
file_name = "RobotArm_v1.FCStd"
full_path = os.path.join(save_folder, file_name)
# 폴더가 없다면 생성
if not os.path.exists(save_folder):
os.makedirs(save_folder)
# 3. 파일 저장하기
doc.saveAs(full_path)
print(f"파일이 성공적으로 저장되었습니다: {full_path}")
3. 백그라운드에서 숨겨서 만들기 (고급)
사용자 화면(GUI)에 새 탭이 뜨면서 방해받지 않고, 파이썬 코드로만 몰래 파일을 만들어 저장하고 닫고 싶다면 hidden=True 옵션을 활용할 수 있습니다.
import FreeCAD as App
import Part
import os
def create_hidden_file_and_close():
# 1. GUI 화면에 탭을 띄우지 않고 배경에서 비밀리에 문서 생성
# 이 옵션은 사용자 인터페이스를 방해하지 않고 자동화 작업을 할 때 유용합니다.
hidden_doc = App.newDocument("HiddenProject", hidden=True) [cite: 7, 30, 32, 33]
# 2. 배경에서 생성된 문서에 오브젝트 추가 [cite: 15]
box_obj = hidden_doc.addObject("Part::Box", "HiddenBox")
box_obj.Length = 50.0
box_obj.Width = 20.0
box_obj.Height = 10.0
hidden_doc.recompute()
# 3. 저장 경로 설정
save_path = "C:/FreeCAD_Projects/AutomatedFile.FCStd"
# 4. 파일 저장 및 문서 닫기
# 백그라운드 작업이 끝나면 문서를 닫아 메모리를 해제해 주는 것이 좋습니다.
hidden_doc.saveAs(save_path) [cite: 6, 33]
App.closeDocument(hidden_doc.Name) [cite: 26, 38]
print(f"백그라운드에서 파일 생성 및 저장을 완료하고 문서를 닫았습니다: {save_path}")
# 함수 실행
create_hidden_file_and_close()
by korealionkk@gmail.com

반응형
'업무 자동화 > FreeCAD' 카테고리의 다른 글
| Python] 치수가 있는 스케치 이미지로 사각기둥 만들기 (1) | 2026.05.21 |
|---|---|
| 모델링 연습 (0) | 2026.05.21 |
| 매크로 사용 하기 (0) | 2026.05.18 |
| FreeCAD는 멀티 바디(Multibody)를 지원 합니다. (0) | 2026.05.17 |
| 오픈소스 파라메트릭(FreeCAD) 설계 입문 가이드 (1) | 2026.05.16 |