사용 가이드로 건너뛰기
FreeCAD Scripts작성자 GitHub Awesome Copilot Contributors

FreeCAD Scripts 스킬.

치수가 지정된 모델링 작업을 확인과 조정이 가능한 FreeCAD 객체로 옮깁니다.

  • 3D 디자인
  • CAD
  • Python
소스 검토 · FreeCAD ScriptsSKILL.md
작업 3D 디자인 결과물 • FreeCAD Python 매크로 또는 스크립트로 작성한 파라메트릭 객체 • 이름이 지정된 솔리드, 스케치 또는 사용자 정의 속성이 담긴 문서 • 요청한 STEP, STL, IGES 또는 OBJ 내보내기 시작하기 전에 FreeCAD와 함께 제공되는 Python이 필요하며, GUI 작업에는 번들된 PySide, 씬그래프 작업에는 Pivy를 추가로 사용합니다.
편집 요약 · 소스 검토일 2026-10-07 · 생성된 예시가 아님

01 기능 소개

Python으로 파라메트릭 CAD 모델 만들기

문서 객체, 파라메트릭 지오메트리, 스케치, 애플리케이션 UI, 내보내기 워크플로를 다루는 FreeCAD Python 참고 자료입니다.

소스 기반 워크플로실행 벤치마크가 아님

작업 방식

FreeCAD Scripts는 CAD 모델을 일반 메시로 다루지 않고 FreeCAD의 내장 Python 환경을 따라 에이전트를 안내합니다. OpenCASCADE 기반 Part 지오메트리, Mesh 작업, 구속 스케치, 속성으로 형상을 다시 만드는 FeaturePython 객체를 다룹니다. 따라서 치수가 중요한 반복 부품, 소규모 모델링 도구, CAD 자동화에 적합합니다.

소스는 모델 로직과 애플리케이션 인터페이스 작업도 구분합니다. PySide 대화상자, 작업 패널, Coin3D 씬그래프 요소는 GUI가 필요하지만, 재사용 가능한 지오메트리 코드는 헤드리스 실행을 위해 보호할 수 있습니다. 처음에는 내보내기 요구사항이 분명한 단일 파라메트릭 부품으로 시작하는 것이 좋으며, 워크벤치 전체를 요청하면 통합 부담이 크게 늘어납니다.

예상 결과물

  • FreeCAD Python 매크로 또는 스크립트로 작성한 파라메트릭 객체
  • 이름이 지정된 솔리드, 스케치 또는 사용자 정의 속성이 담긴 문서
  • 요청한 STEP, STL, IGES 또는 OBJ 내보내기
예시 브리프 보기

브리프에서 검토까지

  1. 01
    단위와 지오메트리 확정

    치수, 좌표 배치, 의도한 솔리드 또는 메시 표현 방식을 설명하세요. 소스는 길이 단위가 없으면 밀리미터로 간주하며, 길이 단위를 명시하면 FreeCAD 내부 단위인 밀리미터로 변환합니다.

  2. 02
    문서 모델 구성

    이름이 지정된 객체와 필요한 지오메트리 또는 구속조건을 만드세요. 편집 가능한 속성이 이후 재계산을 좌우해야 한다면 FeaturePython을 사용하세요.

  3. 03
    재계산과 검증

    변경 후 재계산하고 형상 속성을 확인하며 선택한 내보내기를 검증하세요. 매크로가 창 없이도 실행되어야 한다면 GUI 임포트를 보호하세요.

02 활용 상황

사용 시점

FreeCAD와 함께 제공되는 Python이 필요하며, GUI 작업에는 번들된 PySide, 씬그래프 작업에는 Pivy를 추가로 사용합니다.

적합한 경우

  • 조정 가능한 부품길이, 너비 등 설계 치수를 숨겨진 상수가 아닌 명시적 속성으로 유지해야 하는 부품에 유용합니다.
  • 반복적인 CAD 작업배열, 불리언 연산, 메시 변환, 선택한 객체 내보내기 매크로에 적합합니다.

확인할 한계

  • 애플리케이션 전용 PythonFreeCAD 모듈은 일반 Python 표준 라이브러리 모듈이 아닙니다. FreeCAD 밖에서 스크립트를 작성해도 런타임 동작이 검증되지는 않습니다.
  • 모델 검증은 여전히 필요이 스킬은 지오메트리 구성을 다루지만 제조 가능성, 구조 안전성, 가공 적합성을 보증하지 않습니다.

준비할 입력

  • 치수가 있는 브리프치수, 작업에 관련된 공차, 도면에 사용된 단위를 제공하세요.
  • 편집 가능한 매개변수문서 속성으로 만들 값과 구속 상태를 유지할 관계를 지정하세요.
  • 런타임과 내보내기FreeCAD 버전, GUI 또는 헤드리스 모드, 후속 작업에 필요한 파일 형식을 알려 주세요.

03 핵심 결정

핵심 결정 사항

  1. 정적 모델이 아닌 파라메트릭 모델

    FeaturePython은 부품의 입력 속성과 생성된 형상을 분리하므로, 나중에 치수가 바뀌면 다시 생성할 수 있습니다.

  2. 지오메트리와 UI 분리

    소스의 GUI 보호 장치는 유용한 모델링 매크로가 열려 있는 뷰나 대화상자에 우연히 의존하지 않도록 돕습니다.

04 예시 브리프

좁은 범위의 브리프로 시작하기

아래 예시 브리프는 테스트되지 않았습니다. 사용하기 전에 스킬의 설정을 확인하세요.

설정 검토

스킬의 참고 파일을 에이전트가 사용할 수 있게 유지하세요. 생성된 매크로를 FreeCAD에서 실행하기 전에 문서에 어떤 변경을 일으키는지 검토하세요.

업스트림 소스 파일
https://github.com/github/awesome-copilot/blob/3a685010a7afdc0dbd4c83b7fbda6c316aa516e5/skills/freecad-scripts/SKILL.md

FreeCAD와 함께 제공되는 Python이 필요하며, GUI 작업에는 번들된 PySide, 씬그래프 작업에는 Pivy를 추가로 사용합니다.

하나의 결과물로 시작

스킬을 실행하기 전에 이 브리프의 범위, 소스 자료, 제약조건을 상황에 맞게 조정하세요.

예시 브리프
freecad-scripts를 사용해 네 개의 구멍이 균등한 안쪽 간격으로 배치된 직사각형 장착 플레이트용 FreeCAD 매크로 초안을 작성하세요. 만들기 전에 플레이트 치수, 구멍 지름, 안쪽 간격을 물어보세요. 이 값들을 편집 가능한 속성으로 노출하고, 결과 객체에 이름을 붙이며, 변경 후 재계산하고, STEP 사본을 내보내세요. 지오메트리 코드는 선택적 GUI 표시와 분리하고, 부품이 제조 준비가 되었다고 주장하지 마세요.

결과 확인

실제 출력이 다음의 관찰 가능한 기준에 맞는지 확인하세요.

  • 선언된 치수를 바꾸면 의도한 지오메트리가 재계산됩니다.
  • 단위와 객체 배치가 제공된 도면과 일치합니다.
  • 내보낸 파일에 의도하지 않은 빈 객체나 일부 객체가 아니라 요청한 솔리드가 들어 있습니다.

OpenDesign은 코딩 에이전트를 위한 로컬 디자인 작업 공간을 제공합니다. 이 목록은 스킬이 번들되어 있거나 외부 도구, 자격 증명, 소프트웨어 의존성이 포함되어 있다는 뜻이 아닙니다.

05 출처 및 라이선스

소스 및 라이선스

이 페이지는 아래에 링크된 고정 소스 리비전을 설명합니다. 업스트림의 동작과 요구사항은 바뀔 수 있습니다.

라이선스
MIT
검토한 스냅샷
2026-10-07 · 3a685010a7af
편집 소스 요약
문서 객체, 파라메트릭 지오메트리, 스케치, 애플리케이션 UI, 내보내기 워크플로를 다루는 FreeCAD Python 참고 자료입니다.

링크된 소스를 바탕으로 OpenDesign이 작성한 요약입니다. 저장소 스타는 특정 시점의 인기 지표일 뿐 스킬 사용량이나 품질 점수가 아닙니다.

06 시작 전 질문

시작 전 질문

편집 가능한 파라메트릭 객체를 만들 수 있나요?

네. 소스는 FeaturePython 프록시, 타입이 지정된 속성, 문서 재계산 중 호출되는 execute 메서드를 문서화합니다.

STL은 STEP과 같은 출력인가요?

아닙니다. 이 워크플로는 삼각형 메시와 Part 솔리드를 구분합니다. 내보내기 형식을 서로 바꿔 쓸 수 있다고 보지 말고 다음 도구에 필요한 표현을 선택하세요.

모든 예제를 헤드리스로 실행할 수 있나요?

아닙니다. 대화상자, 뷰 프로바이더, 씬그래프 작업은 GUI에 의존합니다. 헤드리스 매크로에서는 이런 작업을 보호하거나 제외해야 합니다.

OpenDesign

다음 디자인 반복을 위한 공간을 마련하세요.

브리프, 소스 자료, 디자인 작업을 로컬 작업 공간에 함께 보관하세요. 워크플로에 추가하기 전에 스킬 자체의 설정을 확인하세요.

업스트림 소스 파일
https://github.com/github/awesome-copilot/blob/3a685010a7afdc0dbd4c83b7fbda6c316aa516e5/skills/freecad-scripts/SKILL.md