실습 11. 기압포트 도면에서 모델링하고 200 kg 강도 해석
| 항목 | 내용 |
|---|---|
| 입력 파일 | 11-pressure-port-drawing.pdf (일체형 기압포트 조립 단면도 1장, 벡터 PDF) |
| 걸리는 시간 | 10분 (모델링 1분, 메시 6초, 해석 1분 — 절점 139,000개 기준) |
| 결과물 | 문서 pressure_port — Body 4개(베이스·코어·외통·커넥터) + Spreadsheet Params, 해석 OTBAP_200kg(응력·변위 컬러맵, 안전율 보고) |
| 배우는 것 | 치수 글자가 없는 벡터 도면에서 형상을 재는 법, 도면에 없는 것을 «가정»으로 남기는 법, 어두운 화면 고치기, 재질 카드 맞추기, 여러 부품 접합 해석에서 «어느 부품의 항복강도 기준인가»를 읽는 법, 특이점 경고를 해석하는 법 |
실습 2 에서 판 한 장을 도면에서 만들었다면, 이번에는 실제 제품입니다. 기상 관측용 기압계의 공기 포트로, 위에서부터 벤트·배플 외통·중공 로드·PCB 가 든 베이스·M16 커넥터가 한 축에 꿰어 있습니다. 도면은 한 장짜리 조립 단면도이고, 치수는 전체 높이·바깥 지름 정도만 적혀 있습니다. 나머지는 AI 가 그림에서 재고, 잰 값과 가정한 값을 구분해 보고하게 합니다. 만든 뒤에는 「커넥터 쪽을 잡고 반대쪽을 200 kg 으로 누르면 버티나」를 해석합니다.
원본과 완성
섹션 제목: “원본과 완성”


| 구분 | 파일 | 설명 | 크기 |
|---|---|---|---|
| 원본 | 11-pressure-port-drawing.pdf | 조립 단면도 PDF — 공개본은 도면 형태만 알아볼 수 있게 흐림 처리(치수를 읽어 따라 하려면 원본 도면이 필요) | 81 KB |
| 완성 | 11-pressure_port-model.FCStd | Body 4개 + Params (해석 없음) | 108 KB |
| 완성 | 11-PressurePort-done.step | STEP (부품 4개) | 87 KB |
| 연습 | 11-pressure_port-done.FCStd | 모델 + 해석 결과 객체(절점 139,000개) | 57 MB |
- FreeCAD 1.1.3 을 켜고 리포트 뷰에
[CAD X-ray] 서버 시작을 확인합니다. - PDF 를 내려받아 경로가 짧은 폴더(예:
C:\cad-pressure-port.pdf)에 둡니다. - PowerShell 에서 그 폴더로 이동한 뒤
claude를 쳐서 AI 툴을 엽니다. - FreeCAD 에 다른 문서가 열려 있으면 닫아 둡니다.
1. 도면을 읽혀 만든다
섹션 제목: “1. 도면을 읽혀 만든다”C:\cad-pressure-port.pdf 도면으로 FreeCAD 로 만들어줘.AI 가 하는 일 — 이 PDF 는 벡터지만 치수 글자까지 선으로 그려져 있어 글자를 읽지 못합니다. 대신 그림을 봅니다. 먼저 페이지 이미지에서 적힌 치수(258·157·Ø56·Ø65 …)를 읽고, 다음으로 선분 좌표를 뽑아 축척을 잡습니다. 외통 폭 56 mm 가 106.6 pt 로 그려져 있으니 1 mm = 1.9036 pt 이고, 이 축척으로 157·30·34·25·12 가 전부 맞아떨어지면 축척이 확정된 것입니다. 그 뒤 치수가 없는 내부(외통 안지름, 배플 두께·간격, 로드 지름, PCB 공간)를 같은 축척으로 잽니다. 만들기 전에 읽은 값 / 잰 값 / 가정한 값 표를 보여 주고 확인을 받습니다.
확인하기 — 트리에 Body 4개가 생기고 bbox 가 65 × 65 × 258(z −12 ~ 246) 입니다. 각 Body 는 회전(Revolution) 하나가 뼈대이고 베이스에 홈·나사구멍 포켓, 코어에 가로 구멍 포켓이 붙습니다. «가정» 여섯 가지가 마음에 안 들면 여기서 말합니다 — 「배플은 도면대로 Ø45 로」 같은 식입니다.
2. 화면이 어두우면 바꾼다
섹션 제목: “2. 화면이 어두우면 바꾼다”배경이 너무 어두워서 잘 분간이 안 돼.AI 가 하는 일 — FreeCAD 환경설정의 3D 뷰 배경(그라데이션)을 끄고 흰색으로 바꿉니다(화면 > 3D 뷰 > 배경색, 다시 켜도 유지됩니다). 그리고 속이 보이도록 외통을 반투명(65 %), 베이스를 40 % 로 두고 등각 화면을 다시 찍어 보여 줍니다. 위 «완성» 그림이 그 화면입니다.
3. 재질 카드를 맞춘다
섹션 제목: “3. 재질 카드를 맞춘다”재질 카드 맞춰줘.AI 가 하는 일 — 도면 표제란의 «재질 아세탈(흑)» 을 FreeCAD 1.1 재질 라이브러리(카드 200장)에서 찾아 POM-Homopolymer-Generic 을 베이스·코어·외통에, 커넥터에는 Brass 를 붙입니다(Body 의 ShapeMaterial). 카드의 물성과 해석 툴의 재질 표를 나란히 보여 줍니다.
확인하기 — Body 를 선택하면 속성 뷰 Shape Material 에 카드 이름이 보입니다. 카드의 항복강도와 표의 값이 크게 다르면 「해석은 카드 값으로」라고 말해 dict 로 넘기게 합니다.
4. 커넥터를 고정하고 200 kg 으로 누른다
섹션 제목: “4. 커넥터를 고정하고 200 kg 으로 누른다”커넥터 쪽을 고정하고 상대쪽을 200 kg 으로 눌렀을 때 강도를 분석해 보자.AI 가 하는 일 — 세 가지를 확정합니다. 재질은 3 단계에서 정했고, «커넥터 쪽» 은 커넥터 바닥면(z = −12, Ø16 고리, 172.8 mm²), «상대쪽» 은 외통 윗면(z = 246, 고리 1,708 mm²), 200 kg 은 1,962 N 을 −Z 로 겁니다. 부품 4개를 generalFuse 로 접합면을 새겨 하나로 묶고(맞닿은 면의 절점을 공유 → 완전 접합), 부품별 재질을 Gmsh 솔리드 그룹으로 배정한 뒤 2차 요소 4 mm 로 메시를 만들고 CalculiX 를 돌립니다.
확인하기 — 고정면 면적이 172.8(커넥터 Ø16 고리), 하중면이 1,708(외통 Ø56/Ø31 고리) 이면 의도한 면입니다. 접합면 공유 절점이 0 이면 부품이 따로 노는 것이니 형상을 다시 봅니다. 변위 0.47 mm 의 대부분은 로드와 베이스가 눌리는 만큼 외통이 통째로 내려앉은 것이라, 변위 컬러맵에서 외통이 한 색으로 나옵니다.
5. 어디가 진짜 약한지 보강 제안으로 가른다
섹션 제목: “5. 어디가 진짜 약한지 보강 제안으로 가른다”안전율 2 목표로 보강 후보를 번호로. 재질별로 따져서.AI 가 하는 일 — 절점마다 «응력 ÷ 그 부품의 항복강도» 로 안전율을 다시 매기고, 고정면 바로 옆의 급증은 특이점으로 빼고 핫스팟을 고릅니다. 이 모델에서는 POM 부품 중 베이스 바닥 구멍 모서리(커넥터 플랜지와 맞닿는 곳, z = 0)의 46.9 MPa 가 기준이 됩니다.
확인하기 — 이 부품의 실제 하중 경로는 외통 → 플러그 → 로드(Ø22/Ø10, 단면 302 mm²) → 넥 → 베이스 → 커넥터입니다. 로드의 공칭 압축 응력은 1,962 ÷ 302 ≈ 6.5 MPa 로 항복 65 의 1/10 이고, p99 가 10.3 MPa 인 것과 맞습니다. 46.9·55.5 는 둘 다 접합면의 날카로운 모서리에서 나온 수치적 집중이라 5번이 말하는 특이점입니다. 결론은 「200 kg 을 눌러도 항복하지 않는다. 걱정할 곳은 커넥터 플랜지와 베이스 구멍 모서리이니 실물에서는 R 을 준다」 입니다. 그대로 두고 싶지 않으면 「5번, 메시 3 mm 로」 라고 하면 절점 30만 개 언저리에서 3~5분 걸립니다.
결과 확인
섹션 제목: “결과 확인”| 항목 | 성공 기준 |
|---|---|
| 도면 읽기 | 축척 1.9036 pt/mm, 읽은 값 11개와 «가정» 6개가 구분돼 나옴 |
| 모델 | Body 4개, bbox 65 × 65 × 258, 부품끼리 겹침 0, 부피 412,909 mm³ ±1 % |
| 재질 카드 | POM-Homopolymer-Generic × 3, Brass × 1 |
| 해석 준비 | 고정 172.8 mm², 하중 1,708 mm², 접합면 공유 절점 > 0, 재질 그룹 합 = 요소 전체 |
| 해석 | 최대 von Mises 55 MPa ±10 %(커넥터 플랜지), 변위 0.47 mm ±10 %, 특이점 경고 + p99 안전율 6 이상 |
| 보강 제안 | 핫스팟이 «재질별» 로 골라지고(베이스 바닥 구멍, POM 기준 1.39), 메시 후보에 특이점 설명이 붙음 |
잘 안 될 때
섹션 제목: “잘 안 될 때”- AI 가 치수를 못 읽는다고 한다 — 이 PDF 는 글자도 선입니다. 「페이지를 이미지로 보고 적힌 치수를 읽은 뒤, 선분 좌표로 축척을 잡아 나머지를 재」 라고 순서를 말해 줍니다.
- 축척이 안 맞는다 — 한 치수(Ø56)로 잡은 축척이 다른 치수(157·258)에서 어긋나면 PDF 가 축소 인쇄본입니다. 원본을 다시 받습니다.
- 부품이 겹친다는 오류 — 해석 준비에서 «어느 부품에도 대응하지 않습니다» 가 나오면 두 부품이 서로 파고든 것입니다. 「부품 간섭 확인」 으로 어디가 겹치는지 보고 치수를 고칩니다.
- 접합면 공유 절점이 0 — 맞닿았다고 생각한 면이 실제로는 떨어져 있는 것입니다(예: 넥 높이와 베이스 높이가 안 맞음). bbox 의 z 범위를 서로 맞춥니다.
- 절점이 30만 개를 넘는다 — 메시 크기를 5~6 mm 로 키워 달라고 합니다. 이 모델은 4 mm 에서 139,000개입니다.
- 안전율이 marginal 인데 어디가 문제인지 모르겠다 — 5 단계처럼 「재질별로 따져서」 라고 붙입니다. 전체 최대가 금속 부품에 있으면 플라스틱 부품 기준으로 다시 골라 줍니다.
더 해보기
섹션 제목: “더 해보기”- 「외통 윗면 대신 옆에서 200 N 을 +X 로」 걸어 굽힘을 봅니다. 곡면(외통 옆면)에 힘을 걸면 AI 가 곡면용 메시로 바꾼다고 알려 줍니다.
- 「베이스 바닥 구멍 모서리와 커넥터 플랜지 모서리에 R1 필렛」 을 넣고 다시 해석해 최대값이 얼마나 내려가는지 봅니다.
- 「배플을 도면대로 Ø45 로 두고」 다시 만들면 배플과 외통이 맞닿아 접합면이 늘어납니다 — 결과가 어떻게 달라지는지 비교합니다.
- 「외통·코어·베이스만 STEP 으로 내보내」 가공 업체에 보낼 파일을 만듭니다.
뒤에서 도는 기능
섹션 제목: “뒤에서 도는 기능”| 단계 | 기능 |
|---|---|
| 도면 읽기 | PDF 렌더 → 이미지 읽기, 벡터 선분 추출(축척·내부 치수) |
| 부품 4개 만들기 | build_features (revolution·groove·pocket, params) |
| 겹침·질량 | check_interference, get_mass_properties (names, densities) |
| 배경·투명도·재질 카드 | execute_code (환경설정 View, ViewObject.Transparency, Materials.MaterialManager → ShapeMaterial) |
| 해석 준비 | setup_analysis (names, 부품별 material, fixed=["bottom"], loads=[force top 1962 N]) |
| 실행·요약·컬러맵 | run_analysis → get_screenshot |
| 변위 보기 | inspect_results (field="displacement", show) |
| 보강 후보 | suggest_reinforcement (hotspot_selection 에 재질별·특이점 제외 사유) |
| 저장·STEP | save_document, execute_code (exportStep) |
절차 원문: CLAUDE.md 「구조 해석(FEM) 워크플로」