본문 바로가기
포트폴리오경력과 프로젝트

자연어 기반 CAD 생성·편집·검증

자연어 요청을 CAD로 생성·수정하는 흐름을 구현했습니다. 저장한 STEP 파일을 다시 불러와 형상을 검사하고, 사용자 승인을 받은 결과에서 다음 편집을 이어가도록 했습니다.

기간
2026.07 ~ 2026.08
담당
자연어 계획·코드 생성, 격리 실행, 저장 파일 검사, 연속 편집 흐름 구현
결과
자체 50문제×3회 평가에서 150회 모두 STEP 재로딩·B-Rep 형상 검사 통과
자연어 기반 CAD 생성·편집·검증 관련 이미지

과제와 구현 범위

자연어로 요청한 치수와 제약을 CAD 계획으로 바꾸고, 형상을 생성한 뒤 파일로 저장하는 흐름을 구현했습니다. 생성 결과를 다음 편집에 사용하기 전에 저장된 파일의 형상 유효성과 사용자 승인을 확인하도록 했습니다.

검사 대상은 생성 중인 객체가 아니라 저장 후 다시 불러온 STEP 파일입니다. STEP은 CAD 형상을 교환하는 파일 형식이며, B-Rep 검사는 형상의 경계 표현이 유효한지 확인하는 검사입니다.

설계 판단

LLM이 매번 CAD 코드를 작성하면 실행할 때마다 결과가 달라지고 검증이 어렵습니다. 그래서 LLM은 치수와 제약이 있는 계획만 만들고, 코드는 결정론적 컴파일러가 생성하도록 했습니다. LLM 코드 생성은 컴파일러가 처리하지 못하는 6단계에만 사용했습니다.

검사 대상은 저장 후 다시 불러온 STEP 파일로 정했습니다. 다음 편집의 입력이 바로 그 파일이기 때문입니다.

계획 생성부터 다음 편집까지

Gemma 4 31B-it으로 자연어 요청을 치수와 제약이 명시된 CAD 계획으로 변환하고, 허용한 API와 인자를 사용하는지 검사했습니다. 전체 1,347단계 중 결정론적 컴파일러가 1,341단계, LLM 코드 생성이 6단계를 처리했습니다.

Redis/RQ 워커에서 CAD 연산을 실행한 뒤 저장한 STEP 파일을 다시 불러와 형상을 검사했습니다. 수정 대상 ID와 STEP 파일 버전을 확인하고, 사용자 승인과 파일 해시가 기록된 결과만 다음 편집에 반영했습니다. 워커는 비루트 사용자와 읽기 전용 파일시스템으로 격리했습니다.

자체 형상 평가와 남은 조건

자체 정의한 산업 형상군 10개의 50문제를 각 3회 실행했습니다. 총 150회 모두에서 STEP 재로딩과 B-Rep 형상 검증을 통과했습니다. 독립 형상 검사 3,045개 항목도 모두 통과했고, 상대 대칭차 허용값 1e-6을 적용한 검사에서 관측 최대값은 0이었습니다.

별도 평가에서 구조화 출력 213건 모두가 첫 응답에 스키마 검사를 통과했습니다. 외부 모델 호출 없이 수행한 회귀 테스트 429건도 모두 통과했으며, 라인 커버리지는 60%였습니다.

현업 난이도·안전 항목은 22개 중 19개를 통과했습니다. 미통과 3건은 빈 틀 내부에 하위 형상을 배치하는 조건이었습니다.

워커 4개로 작업 8개를 약 89초에 처리했고, Chromium 화면 동작 테스트 3건을 모두 통과했습니다.

산업 형상군별 독립 B-Rep 검사 3,045개 항목의 결과
자체 산업 형상 평가의 독립 B-Rep 검사 결과입니다.

생성한 형상 예시

저장한 STEP 파일의 재로딩과 독립 B-Rep 형상 검사를 통과한 산출물입니다. 아래 이미지는 형상 생성 예시입니다.

STEP 재로딩과 독립 B-Rep 검사를 통과한 항공기 격벽 형상
항공기 격벽(bulkhead) 형상. STEP 재로딩·독립 B-Rep 검사 통과.
STEP 재로딩과 독립 B-Rep 검사를 통과한 액체로켓 엔진 모듈 형상
액체로켓 엔진 모듈 형상. STEP 재로딩·독립 B-Rep 검사 통과.
채용 제안 보내기

생각

함께 해결할 LLM 과제와 기대하는 역할을 알려 주세요.

연락하기