본문 바로가기
  • You find inspiration to create your own path !
업무 자동화/FreeCAD

FreeCAD & Python] VScode 사용 하기 #1

by ToolBOX01 2026. 8. 25.
반응형

■ FreeCAD & Python 예제

FreeCAD 프로그램 GUI 실행 없이, 파이썬 코드를 실행 하기 위한 기본 코드 입니다. 프로그램 개발 환경은 FreeCAD 1.1 입니다.
FreeCAD 1.1과 함께 사용 가능한 python 버전은 3.1.1 입니다. 프로그램 개발을 위해 FreeCAD & 사용 가능한  python 버전을 확인 합니다. 

import os
import sys

# 1. FreeCAD 설치 경로를 시스템 경로에 동적으로 추가
# 만약 설치 위치가 다르다면 아래 경로를 수정하세요.
FREECAD_BIN_PATH = r"C:\Program Files\FreeCAD 1.1\bin"

if os.path.exists(FREECAD_BIN_PATH):
    # 시스템 환경변수와 파이썬 모듈 탐색 경로에 추가
    if FREECAD_BIN_PATH not in os.environ['PATH']:
        os.environ['PATH'] = FREECAD_BIN_PATH + os.pathsep + os.environ['PATH']
    sys.path.append(FREECAD_BIN_PATH)
    # lib 경로도 추가 (필요한 경우)
    sys.path.append(os.path.join(os.path.dirname(FREECAD_BIN_PATH), 'lib'))
else:
    print(f"오류: FreeCAD 설치 경로를 찾을 수 없습니다: {FREECAD_BIN_PATH}")
    sys.exit(1)

# FreeCAD 모듈 임포트
try:
  import FreeCAD as App
except ImportError as e:
  print(
      f"오류: FreeCAD 모듈을 불러오는데 실패했습니다. 설치 경로를 확인하세요: {e}"
  )
  sys.exit(1)

 

● import FreeCAD as App

FreeCAD 모듈을 호출 합니다. 변수 이름은 "App"로 합니다. 다음과 같은 코드를 만들수 있습니다.
FreeCAD 모듈(App) 자체가 제공하는 함수(메서드)들입니다. 문서(Document)를 생성하거나, 불러오거나, 관리하는 FreeCAD의 핵심 전역(Global) 함수들은 다음과 같습니다.

1. 문서 생성 및 열기 (Document Creation & Opening)

FreeCAD.newDocument("name")
  • 새로운 빈 문서를 생성하고 활성화합니다.
  • 예시: doc = FreeCAD.newDocument("MyDocument")
FreeCAD.openDocument(filename)
  • 지정한 경로에 있는 기존 FreeCAD 파일(.FCStd 등)을 열고 문서 객체를 반환합니다.
  • 예시: doc = FreeCAD.openDocument(r"C:\path\model.FCStd")

 

2. 문서 참조 및 목록 (Document Access & Listing)

FreeCAD.ActiveDocument
  • 현재 작업 중인(GUI나 파이썬에서 가장 최근에 다루고 있는) 활성 문서 객체를 가져옵니다. 문서가 없으면 None을 반환합니다.
  • 예시: doc = FreeCAD.ActiveDocument
FreeCAD.getDocument(name)
  • 이름(name)을 지정하여 이미 열려 있는 특정 문서를 가져옵니다.
  • 예시: doc = FreeCAD.getDocument("MyDocument")
FreeCAD.listDocuments()
  • 현재 FreeCAD 세션에서 열려 있는 모든 문서의 이름(Key)과 문서 객체(Value)가 담긴 딕셔너리(Dictionary)를 반환합니다.
  • 예시: docs = FreeCAD.listDocuments()

 

3. 문서 닫기 및 관리 (Document Management)

FreeCAD.closeDocument(name)
  • 지정한 이름의 문서를 닫습니다. (저장되지 않은 변경 사항이 있다면 유실될 수 있으므로 주의해야 합니다.)
  • 예시: FreeCAD.closeDocument("MyDocument")

 

4. FreeCAD 환경 정보 (Environment Info)

FreeCAD.Version()
  • 현재 사용 중인 FreeCAD의 버전 정보(메이저, 마이너, 빌드 번호 등)를 튜플 형태로 반환합니다.
  • 예시: version = FreeCAD.Version()
FreeCAD.ConfigDump()
  • FreeCAD의 설정 경로, 시스템 정보 등 환경 설정값 전체를 딕셔너리로 반환합니다.

FreeCAD.(또는 App.) 뒤에 붙는 함수들은 문서 자체를 새로 만들거나, 불러오거나, 현재 열려 있는 문서 목록을 제어하는 진입점(Entry Point) 역할을 합니다.


by korealionkk@gmail.com

 

반응형