반응형
■ JSON 표준 포맷 정의 (Schema)
표준화된 프롬프트: 도면 이미지에서 JSON을 뽑아내는 AI(Claude Vision 등)에게 "매번 동일한 JSON 스키마를 출력할 것"을 강제하는 'System Prompt'를 고도화해야 합니다. 모든 도면을 하나의 규칙으로 통일해야 합니다. 예를 들어, JSON 구조를 다음과 같이 정의합니다.
def generate_step(json_data, output_path):
doc = FreeCAD.newDocument("temp")
# 1. feature 파싱 및 FreeCAD 오브젝트 생성
for f in json_data["features"]:
if f["type"] == "box":
shape = Part.makeBox(f["params"]["w"], f["params"]["l"], f["params"]["h"])
# ... 추가 도형 처리 ...
# 2. Boolean 연산 적용
if f["op"] == "add":
final_shape = final_shape.fuse(shape)
elif f["op"] == "cut":
final_shape = final_shape.cut(shape)
# 3. STEP 내보내기
Part.export([final_shape], output_path)
TIP :
1. 군집화
혹시 현재 PDF 도면들이 특정 공통 형상을 공유하고 있나요? (예: 모든 도면이 구멍이 뚫린 플레이트 형태라든가). 그렇다면 그 공통 형상을 먼저 처리하는 함수를 만드시는 것이 개발 속도를 10배 이상 높여줄 것입니다.
2.검증 알고리즘:
생성된 STEP 파일의 부피(Volume), 무게(Density 적용 시)를 계산하여, 도면상의 치수로 역산한 이론값과 일치하는지 자동으로 비교하는 '자동 역검증 로직'을 반드시 추가해야 합니다.
STEP 파일은 파라메트릭 치수 정보가 저장되어 있지 않습니다. STEP 파일(보통 .stp 또는 .step)은 다른 3D CAD 프로그램 간에 데이터를 교환하기 위한 범용 포맷입니다. 이 파일은 작업 히스토리(트리)가 없는 덩어리 형태(솔리드) 이기 때문에, 일반적인 치수 구속조건 편집 대신 아래의 3가지 방법을 주로 사용합니다.
1. 직접 편집 (Direct Modeling) - 가장 추천
설계 히스토리가 없는 STEP 파일을 수정할 때 가장 효율적이고 직관적인 방식입니다.
- 사용 프로그램: SolidWorks(솔리드웍스), Autodesk Inventor(인벤터), CATIA 등
- 작동 원리: 면이나 모서리를 직접 선택하여 늘리거나 줄이고, 지름이나 각도 값을 직접 입력하여 수정합니다.
- 적용 방법:
1) 프로그램 내의 직접 편집(Direct Edit) 또는 무이력 편집(Synchronous Technology) 도구를 활성화합니다.
2)수정하고자 하는 면(Face)을 선택합니다.
3) 이동(Move)이나 간격 띄우기(Offset)를 선택하고 원하는 수치만큼 값을 입력하여 수정합니다.
4) 구멍(Hole)의 크기를 바꾸려면, 구멍의 안쪽 원통면을 선택해 지름 치수 값을 변경합니다.
2. 피쳐 재인식 및 스케치 편집
불러온 형상을 바탕으로 원래의 스케치 기반 모델링처럼 변환하는 방법입니다.
- 사용 프로그램: SolidWorks, Fusion 360 등
- 작동 원리: STEP 파일을 불러온 후, 수정이 필요한 단면을 스케치로 추출하거나 형상 인식 도구를 사용합니다. [1]
- 적용 방법:
1) 수정하려는 면에 수직인 작업 평면을 생성합니다.
2) 해당 면의 외곽선을 따서 요소 변환(Convert Entities) 또는 스케치를 생성합니다.
3) 기존 3D 형상을 돌출(Extrude)이나 컷(Cut) 등으로 깎아내거나 덧붙인 후, 스케치 치수를 수정합니다.
3. 전체 스케일(Scale) 조절
파일 전체의 크기를 일정한 비율로 늘리거나 줄여야 할 때 사용합니다. [1]
- 사용 프로그램: 거의 모든 3D CAD (AutoCAD, Rhino, SolidWorks 등) [1]
- 작동 원리: 모델 전체를 선택하고 기준점을 중심으로 배율을 곱해 크기를 변환합니다.
- 적용 방법:
1) 모델 전체 객체를 선택합니다.
2) 축척(Scale) 또는 크기 조절 명령을 실행합니다.
3) 기준점(Base Point)을 지정하고, 원하는 비율(Scale Factor)을 입력합니다. (예: 10% 키우려면 1.1, 10% 줄이려면 0.9)

반응형
'업무 자동화 > FreeCAD' 카테고리의 다른 글
| 2D(PDF) 파일 →JSON 파일 변환 : 무게 (0) | 2026.06.28 |
|---|---|
| 2D(PDF) 파일 →JSON 파일 변환 (0) | 2026.06.28 |
| 2D(PDF) 파일 → 3D로 변환 (0) | 2026.06.27 |
| 도면 이미지로 3D 모델 만들기 (0) | 2026.06.26 |
| 설계 검증 체크 리스트 데이터베이스 (0) | 2026.06.24 |