반응형 분류 전체보기1906 파이썬 API : 형상 생성 및 조작 - Part Design 워크벤치 FreeCAD에서 대다수 사용자가 GUI를 사용할 때는 Part Design(파트 디자인) 워크벤치를 중심으로 작업하지만, 내부적으로 Python 스크립트를 사용해 프로그래밍 방식으로 형상을 생성하고 조작할 때는 'Part(파트)' 모듈을 기본 베이스로 사용합니다. Part Design 역시 내부적으로는 Part 모듈의 지오메트리 데이터를 다루기 때문입니다.FreeCAD를 처음 접할 때 가장 헷갈리는 부분 중 하나가 바로 Part(파트) 워크벤치와 Part Design(파트 디자인) 워크벤치의 차이점입니다. 이름은 비슷하지만, 형상을 만들어가는 철학과 접근 방식(매커니즘)이 완전히 다릅니다. 1. Part 워크벤치 와 Part Design 워크벤치 핵심 철학의 차이 🧱 Part 워크벤치: CSG (Co.. 2026. 5. 27. 자전거 뼈대 만들기 - 메인 커브 스케치 #3 ■ 다양한 컨셉 모델 만들어보기아래 그림과 같이 자전거 프레임 지오메트리를 스케치로 완벽하게 치수 부여 및 구속 조건을 완료할 수 있습니다. FreeCAD 스케치 모드에서 매크로나 수작업으로 치수를 변경할 때 오류(스케치 깨짐, 붉은색 과구속, 반전 현상)가 발생하는 것은 매우 흔한 일입니다. 특히 자전거 프레임처럼 수많은 선과 각도, 치수가 복잡하게 얽혀 있는 구조에서는 더욱 그렇습니다. FreeCAD에서 치수의 이름을 부여 할수 있습니다. Python 코드로 문서 이름 > 스케치 이름 > 치수 이름이 정의 된것을 알수 있습니다. 치수 변경 중 오류(과구속, 스케치 터짐 등)가 발생했을 때 프로그램이 멈추지 않고, 오류가 난 항목은 건너뛰며(Skip) 정상적으로 계산된 안전한 파일만 저장하도록 매크로 .. 2026. 5. 25. 자전거 뼈대 만들기 - 메인 커브 스케치 #2 ■ 현재 Open된 파일 이름 가져 오기import FreeCAD as Appfrom PySide6 import QtWidgetsactive_doc = App.activeDocument()if active_doc is not None: doc_name = active_doc.Name doc_label = active_doc.Label msg = ( f"문서 ID: {doc_name}\n" f"문서 제목 (Label): {doc_label}" ) dialog = QtWidgets.QMessageBox() dialog.setWindowTitle("활성화된 문서 정보") dialog.setText(msg) dialog.setIcon(QtWid.. 2026. 5. 25. 자전거 뼈대 만들기 - 메인 커브 스케치 #1 ■ 다이아몬드 프레임 스케치 커브 유한요소법을 활용한 맞춤형 자전거 설계맞춤형 자전거를 제작하기 위해서는 다양한 신체 치수와 몸무게에 대한 데이터를 고려하고 다양한 상황에 따른 구조 해석을 통하여 설계하는 것이 중요합니다. 자전거 제작의 정확성을 높이기www.banditong.com자전거의 다이아몬드 프레임은 앞삼각(Main/Front Triangle)과 뒷삼각(Rear Triangle)이 결합하여 마름모(다이아몬드) 형태를 이루는 전통적인 프레임 구조입니다. 구조학적으로 매우 안정적인 트러스(Truss) 구조를 기반으로 하고 있어, 최소한의 소재로 최고의 강성과 가벼운 무게를 동시에 확보할 수 있는 역학적 최적화의 결과물입니다.다이아몬드 프레임 주요 구성 요소앞삼각 (Main Triangle): 탑 튜.. 2026. 5. 25. Python] import FreeCAD 선언 ■ import FreeCAD 는 무엇인가? 오픈소스 3D CAD 소프트웨어인 FreeCAD의 핵심 기능과 데이터 엔진을 파이썬(Python) 프로그래밍 언어로 불러오는 명령어입니다. 이 한 줄을 실행함으로써 사용자는 마우스를 클릭해 가며 손으로 하던 3D 모델링 작업을 파이썬 코드를 통해 자동화, 제어, 확장할 수 있게 됩니다.1. FreeCAD 파이썬 API의 시작점FreeCAD는 내부 엔진이 파이썬과 매우 긴밀하게 결합되어 설계되어 있습니다. 파이썬에서 import FreeCAD를 선언하면 FreeCAD 메인 응용 프로그램(Application) 핵심 모듈에 접근할 수 있게 되며, 다음과 같은 메인 시스템 기능들을 파이썬 코드로 명령할 수 있습니다.새 문서 생성 및 관리: FreeCAD.newDoc.. 2026. 5. 23. 자전거 뼈대 만들기 FreeCAD 1.1 버전을 활용하여 자전거 프레임(BMX 스타일)을 완전히 파라메트릭(Parametric) 방식으로 모델링하는 전 과정을 담은 고급 튜토리얼입니다. CAD 모델링 능력을 크게 향상시킬 수 있는 마스터 스케치 기법, 바인더 활용법, 복잡한 튜브 컷팅 등의 핵심 기술을 단계별로 설명하고 있습니다.■ 주요 단계와 기술적 내용1. 마스터 스케치(Master Sketch) 및 환경 설정기본 설정: 프로그램 시작 후 언어, 단위계, 네비게이션 스타일(Revit 스타일 추천) 및 라이트 테마를 지정합니다.마스터 스케치 작성 : 자전거 프레임의 '뼈대' 역할을 하는 중심 스케치를 Sketcher 워크벤치의 XZ 평면에 그립니다.구속조건 부여 : 폴리라인 툴로 바텀 브래킷(BB), 시트 튜브, 탑 튜브.. 2026. 5. 22. Python] 유튜브 동영상을 이해 하고 코드를 만들수 있을까? 위 동영상을 보고AI는 자동으로 모델을 생성 할수 있을까요? (제미나이). AI 답변 : 유유브 동영상을 분석한 내용 입니다.FreeCAD에서 가장 기본적인 3D 블록 모델링 및 깎아내기(Pocket) 공정을 설명하는 튜토리얼입니다.영상에 등장하는 연습도면 001의 핵심 치수와 형상은 다음과 같습니다:전체 크기: 가로 70mm × 세로 40mm × 높이 40mm의 사각기둥 생성깎아낼 영역: 상단 좌측 부분에서 가로 40mm × 깊이 20mm 만큼 파내기 (Pocket 연산) 파이썬 코드import FreeCAD as Appimport FreeCADGui as Guiimport Partimport Sketcherfrom PySide6.QtWidgets import QMessageBoxdef create_p.. 2026. 5. 22. Python] 정오각형 기둥 만들기 ■ 실행 결과■ 코드import FreeCAD as Appimport FreeCADGui as Guiimport Partimport Sketcherimport mathfrom PySide6.QtWidgets import QMessageBox# ==============================================================================# 1. 새 문서 및 PartDesign Body 생성# ==============================================================================doc_name = "PentagonPrism"doc = App.newDocument(doc_name)Gui.activateWorkb.. 2026. 5. 22. Python] 스케치 모드의 기능 제약 ■ Rectangle 기능을 freecad 파이썬은 사용 불가능 한가?Rectangle Python API 현황GUI의 Rectangle 버튼 = Python API 없음 (직접 호출 불가) FreeCAD의 Sketcher CreateRectangle은 GUI 도구로, v1.0부터 4가지 모드를 지원합니다. 하지만 이 GUI 명령은 Python API로 직접 노출되어 있지 않습니다.FreeCAD 공식 문서의 Sketcher 스크립팅 예제도 addGeometry(Part.LineSegment(...)) 방식만 사용합니다.즉, GUI에서 보이는 Rectangle 도구는 내부적으로 선분 4개 + 구속을 자동으로 생성해주는 편의 도구일 뿐이고, Python에서는 그것을 수동으로 동일하게 구현해야 합니다. Fre.. 2026. 5. 22. Python] 치수가 있는 스케치 이미지로 사각기둥 만들기 ■ 파이썬 코드로 사각기둥을 만드는 코드입니다. 새로운 다큐멘트를 만들고, Body를 만들고, XY 평면에 100 * 50 사각형 커브를 만들었습니다. AI에게 완벽한 치수를 넣은 도면을 보여 주었으나, 일부 치수를 누락 하였습니다. 또한 구속 (수직, 수평)조건을 넣지 못했습니다. 4개의 "라인"으로 구성 되었고, 스케치 기준 좌표계를 중심으로 인식 하였습니다. 코드 :import FreeCAD as Appimport FreeCADGui as Guiimport Partimport Sketcherfrom PySide6 import QtWidgets, QtCore, QtGui # ★ PySide2 → PySide6# ================================================.. 2026. 5. 21. 모델링 연습 유튜브 영상은 FreeCAD의 최신 버전(1.1 버전 프리뷰)을 활용하여 초보자도 쉽게 따라 할 수 있도록 구성된 "레고 인간(Lego Man) 만들기 풀 가이드" 영상입니다. 단순히 모양만 그리는 것이 아니라 3D CAD의 핵심 프로세스인 [부품 모델링 ➡️ 조립(어셈블리) ➡️ 구동 시뮬레이션까지의 전 과정을 처음부터 끝까지상세히 다루고 있습니다. 레고 인간(Lego Man)을 만들기 위해 다음과 같이 작업을 진행합니다. 각 부품별로 새로운 문서(New Document)를 만듭니다.part1_torso.fcstd (몸통)part2_head.fcstd (머리)part3_hip.fcstd (골반)part4_arms.fcstd (팔) 등...마지막에 완전히 새로운 문서(assembly.fcstd)를 하나 .. 2026. 5. 21. Python] 새로운 파일 만들기 FreeCAD는 Python Console을 제공 합니다. drop-down menu에서 " View → Panels → Python Console"을 선택합니다파이썬 콘솔은 객체 이름 뒤에 점(.)을 입력하면 기본적인 코드 자동 완성 기능을 제공합니다. 예를 들어, 현재 객체(클래스)의 공개 메서드와 속성(변수)을 표시합니다.obj. 콘솔은 여는 괄호를 입력하면 특정 함수의 문서 문자열을 표시할 수도 있습니다. 예를 들어,function( . . FreeCAD 파이썬 API를 사용하여 새로운 문서를 생성하고 이름을 지정하는 코드는 아래와 같습니다.1. 기본: 새로운 문서 생성하기새로운 문서를 만들면서 원하는 이름을 지정하려면 newDocument("원하는_이름") 형식으로 코드를 작성합니다.import.. 2026. 5. 19. 이전 1 2 3 4 ··· 159 다음 반응형