Community이미지github.com

technical-drawing

파라메트릭 build123d 모델 또는 STEP 파일에서 ISO/DIN 및 ASME 3각법을 준수하는 기술 도면(벡터 PDF/SVG/DXF)을 생성합니다. 부품도, 조립도, 용접도와 함께 단면, 상세/반/파단 뷰, 해칭, 치수, ISO 286 끼워맞춤 및 공차표, 표면 거칠기, 기하공차(GD&T)와 데이텀, 나사산, 용접 기호, 기어 데이터 테이블, 도면란 및 부품 리스트를 포함하며, 충돌과 불일치를 자동으로 검사합니다. 사용자가 기술/기계/제조 도면, technische Zeichnung, Fertigungszeichnung, Einzelteilzeichnung, Zusammenbauzeichnung, Schweißzeichnung, teknik resim, STEP/CAD 파일 도면, BOM/Stückliste 도면을 요청하거나, 부품에 끼워맞춤, 공차, 거칠기 또는 GD&T를 적용하려 할 때, 또는

technical-drawing란 무엇인가요?

이 기술은 AI 에이전트가 엔지니어링 도면 제작 워크플로우를 완전히 자동화할 수 있도록 설계되었습니다. build123d 라이브러리를 기반으로 한 파라메트릭 모델링과 Python 스크립트를 결합하여, 단일 소스 모델로부터 ISO/DIN 및 ASME 표준을 준수하는 기술 도면을 생성합니다. AI는 모델링 → 조립 검사 → 도면 작성 → 자동 검증 → 최종 출력에 이르는 전체 프로세스를 안내합니다. 주요 기능으로는 단면도, 상세도, 파단도, 나사산, 용접 기호, GD&T(기하공차), ISO 286 끼워맞춤 표, 표면 거칠기, 기어 데이터 테이블, 부품 리스트(BOM) 및 도면란 작성이 포함됩니다. 출력 형식은 벡터 PDF, SVG, DXF이며, STEP 파일과 PNG 미리보기도 제공됩니다. 이 기술은 ISO 5455(축척), ISO 2768(일반 공차), ISO 286(끼워맞춤), ISO 6410(나사산), ISO 2553(용접), ISO 2203(기어) 등 국제 표준을 엄격히 준수합니다. Sheet.save()가 도면을 생성할 때마다 자동으로 충돌 및 불일치를 검사하여 오류를 표시합니다. AI는 최종 PNG를 검토하여 표준과 개념적 정확성을 확인해야 합니다. 이 기술은 Claude Code, Cursor, Codex와 같은 AI 코딩 어시스턴트와 함께 사용하도록 설계되었으며, build123d가 설치된 모든 환경에서 실행됩니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Emirhan-1111/technical-drawing/tree/HEAD

Installed? Explore more 이미지 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

기술 도면

도면은 수작업으로 그리는 것이 아니라 생성됩니다. 파라메트릭 build123d 모델(또는 STEP 파일)이 단일 정보 원천이며, scripts/drawlib.py가 이로부터 뷰를 유도하고(숨은선 제거, 단면, 해칭) 작업장에 필요한 주석을 추가합니다. 저장할 때마다 자동 시트 검사가 실행됩니다. 결과는 시트당 벡터 PDF(선택적으로 DXF/SVG)와 함께 PNG 미리보기로 제공되며, 완료되었다고 말하기 전에 먼저 확인해야 합니다.

이 방식을 선택하는 이유: 뷰가 모델과 불일치할 수 없으며, 파라미터가 변경되면 모든 시트가 다시 생성되고, 동일한 모델에서 STEP 파일과 간섭 검사를 무료로 얻을 수 있습니다.

좋은 도면이 달성해야 할 사항

도면은 부품을 만들고 검사하는 사람과의 계약입니다. 프로젝트를 전혀 본 적이 없는 사람이라도 시트만으로 제조할 수 있어야 합니다. 이것이 아래 모든 것을 결정합니다. 기능에 필요한 치수를 기입하고, 중요한 것에만 공차를 지정하며, 각 기능 표면이 어떻게 보여야 하는지 명시합니다. 모든 모서리에 치수가 있지만 끼워맞춤, 거칠기 또는 기하공차가 없는 시트는 심사자와 작업장이 의미하는 방식으로 제조 가능하지 않습니다.

경로 선택

  • 사용자가 STEP 파일을 가지고 있고 빠르게 도면을 원하는 경우: python scripts/step2drawing.py part.step [--section] [--lang en --projection third] [--units in] [--material ...] [--density ...] [--dxf]를 실행합니다. 뷰, 숨은선, 중심선, 전체 치수, 도면란 및 검사를 제공합니다. 그런 다음 기능 치수, 끼워맞춤, 공차 및 표면 거칠기가 여전히 추가되어야 한다고 명확히 말하고 - 추가하겠다고 제안합니다. 동일한 모듈의 auto_drawing()은 out=None과 함께 (sheet, views, issues)를 반환하므로 Python에서 시트에 계속 주석을 추가할 수 있습니다 (--up y는 Y-up 내보내기용).
  • 제조되어야 하는 모든 것: 부품을 모델링하고 Python으로 시트를 작성합니다 (아래 워크플로우). STEP 입력은 여전히 모델일 수 있습니다: D.load_step(path).

워크플로우

  1. 먼저 기능을 명확히 합니다. 각 부품에 대해 질문합니다: 어떤 표면이 무엇과 결합하는지, 기계가 작동하기 위해 무엇이 동심/수직/평평해야 하는지, 어떤 치수가 구매 부품 (베어링, 핀, 나사)에서 비롯되는지. 이것들이 데이텀, 끼워맞춤 및 공차가 됩니다. 사용자가 보고서, BOM 또는 이전 도면을 가지고 있다면 읽고 숫자를 유지합니다; 사용자가 발명한 모든 값은 가정으로 표시하고 사용자에게 알립니다. 도면의 언어와 투영 방법을 묻습니다 (기본값: 독일어, 1각법; 북미: 영어, 3각법) 그리고 회사 도면란이 있는지 묻습니다.
  2. 부품을 모듈 하나에 모델링하고, 각 부품은 제조 위치에, 모든 치수는 명명된 파라미터로 설정합니다. 선삭 부품: 반쪽 프로파일 (x, r)을 회전시킵니다; 각주형 부품: 구멍 솔리드를 뺀 상자, 또는 하나의 프로파일을 돌출시킵니다 (융합 이음새 없음). 나사산은 코어 구멍만 모델링합니다. 구매/표준 부품은 단순 솔리드로 넣어 조립과 간섭 검사가 완전하도록 합니다.
  3. 도면을 그리기 전에 조립을 검사합니다: 모든 부품에 대해 쌍별 (a & b).volume; 모든 중첩은 0이거나 의도적인 것(나사 결합, 압입 끼워맞춤)이어야 합니다. 도면이 아닌 모델을 수정합니다.
  4. 시트당 하나의 함수를 작성하고, examples/에서 가장 가까운 예제를 복사합니다: flanged_bush.py (선삭 부품, 기본 템플릿), bearing_bracket.py (조립, 부품 리스트), stepped_shaft.py (파단 뷰, 상세, 제거된 단면, 나사산), flange.py (반 단면, 피치 원, 위치 공차), spur_gear.py (기어 데이터 테이블), weldment.py (용접 기호), milled_block.py (영어, 3각법, 회사 도면란). 먼저 형상만으로 시작하여 렌더링하고, 본 다음, 레이어별로 주석을 추가합니다: 중심선 -> 치수 -> 데이텀 및 공차 -> 표면 거칠기 -> 노트, 표 -> 도면란.
  5. 렌더링하고, 검사를 읽고, 모든 시트를 봅니다. Sheet.save(pdf, png=...)는 검사 보고서를 출력하고 각 발견 사항이 프레임된 <png>_check.png를 작성합니다. 모든 오류와 경고를 수정합니다 (주석 이동, 오프셋 변경, tshift, tpos, 지시선의 무릎). 그런 다음 직접 PNG를 읽습니다 - 검사는 충돌과 불일치를 찾지만, 잘못된 치수 개념이나 잘못된 모서리를 가리키는 화살표는 찾지 않습니다. 밀집 영역을 확대합니다. 본 적이 없는 시트를 완료되었다고 보고하지 마십시오.
  6. 제공: 도면 번호로 명명된 시트당 하나의 PDF, 병합된 세트(pypdf PdfWriter.append), 사용자가 CAD에서 편집하는 경우 DXF, 부품당 및 조립용 STEP (export_step). 아직 그려지지 않은 것과 어떤 값이 가정인지 명확히 명시합니다.

머신당 한 번 설정: pip install -r requirements.txt. ISO 3098 글꼴 osifont는 번들로 제공되지 않습니다. $DRAWLIB_FONT, scripts/fonts/, ~/.drawlib/fonts/ 또는 시스템 글꼴에서 찾을 수 있습니다(참조 scripts/fonts/README.md). 없으면 라이브러리는 DejaVu Sans를 사용합니다 - 동일한 형상, ISO 3098이 아닌 글자체; 검사는 활성화된 글꼴을 측정합니다.

drawlib 사용하기

첫 번째 시트를 작성하기 전에 references/drawlib_api.md를 읽으십시오 - 모든 호출과 해당 좌표 규칙, 레시피 및 함정. 필수 사항:

  • S = D.Sheet("A4"|"A3"|"A2"|"A1"|"A0", lang="de"|"en", projection="first"|"third"). A4는 세로, 나머지는 가로입니다 (landscape=로 재정의). 시트 좌표는 왼쪽 아래 모서리에서 mm입니다. 라이브러리가 쓰는 숫자는 언어의 소수점 구분자를 따르며, 치수 텍스트 내의 소수점은 변환됩니다 ("0.02" -> 독일 시트에서 0,02).
  • V = D.View(S, origin, scale, *D.VIEWS["front"]) - VIEWS에는 전면, 상단, 하단, 왼쪽, 오른쪽, 후면, 등각 투영이 있습니다. V.p(u, v)는 뷰 좌표(모델 mm)를 시트 mm로 변환합니다 - 모든 주석에 사용하십시오. 잘못된 벡터는 명확한 오류를 발생시킵니다; 비ISO 축척과 뒤집힌 뷰는 경고합니다.
  • 뷰: V.draw(solids, hidden=), V.section([(V.cut(solid), angle, spacing), ...], background=[uncut parts]), V.half_section(...), V.removed_section(...), V.detail(centre, r, at, scale, "Z"), D.BrokenView(...), V.thread(...), D.views_layout(...) (투영 방법에 따른 배치).
  • 치수: S.hdim, S.vdim, S.dim, S.dim_angle, S.rdim, S.ddim; 옵션 tol=, box=True, outside=True, half=True, tshift=.
  • 끼워맞춤: 텍스트에 직접 씁니다 ("Ø20 H7", "Ø20 H7/s6"); S.fit_table, S.fit_pair_table 은 ISO 286 값을 출력합니다; iso_tolerances는 편차, 한계, 끼워맞춤, ISO 2768을 제공합니다.
  • GD&T: S.datum, S.fcf(x, y, kind, "0.02", ["A", "B"]), S.fcf_leader.
  • 표면: S.rough, S.rough_leader, S.general_surface.
  • S.notes, S.leader_text, S.posnum, S.cutting_plane, S.bom, S.table, S.weld, S.pitch_circle, S.title_block(values, layout=json_or_dict, logo=png).

차이를 만드는 규칙

다음은 심사자와 작업장이 확인하는 사항입니다. references/normen.md에는 표(선 유형, ISO 2768 값, 일반적인 끼워맞춤, 일반적인 Ra 값, 어떤 기능에 어떤 기하공차)가 있으며 값을 선택할 때 읽어야 합니다.

  • 투영 및 뷰: 방법을 명시합니다(도면란의 기호). 부품을 정의하는 최소 뷰 수; 선삭 부품은 축을 따라 하나의 단면이 필요합니다. 숨은선보다 단면을 선호합니다. ISO 5455 축척만 사용; 작은 부품은 확대하여 치수가 들어갈 공간을 확보; 긴 부품은 파단; 작은 디테일은 상세 뷰를 사용합니다.
  • 기능 데이텀에서 치수를 기입하고, 연쇄적으로 기입하지 않으며, 절대 두 번 기입하지 않습니다. 보조 치수는 괄호 안에 표시합니다. 가능하면 윤곽 외부에 치수를 기입; 구멍 패턴은 원으로 표시되는 뷰에; 더 작은 치수는 부품에 더 가깝게 표시합니다.
  • 끼워맞춤 및 공차: 모든 결합 직경은 ISO 286 끼워맞춤을 얻습니다(베어링 자리는 베어링 제조업체 권장 사항에 따름). 공차가 지정되지 않은 모든 것은 도면란의 일반 공차 (기본 ISO 2768-mK; 용접물의 경우 ISO 13920)에 속합니다.
  • 기하공차는 기능이 필요한 곳에만, 항상 기능적이고 측정 가능한 형상인 데이텀과 함께. 축의 데이텀: 해당 직경의 치수선과 일렬로. 지시선은 표면에 수직으로 만납니다. 구멍 패턴: 이론적으로 정확한 치수와 위치 공차.
  • 모든 기능 표면의 표면 거칠기, 일반 값은 도면란 옆에 한 번. 기호는 아래 또는 오른쪽에서 읽을 수 있어야 함 - 아래를 향한 면은 지시선을 사용합니다.
  • 단면: 샤프트, 핀, 나사, 키, 롤링 요소 및 리브는 종단면에서 절단되지 않습니다. 인접 부품은 다른 해칭을 받습니다; 얇은 절단면은 검게 칠해집니다 (angle="solid"); 해칭은 텍스트 주위에서 자동으로 중단됩니다.
  • 나사산(ISO 6410), 용접(ISO 2553), 기어(ISO 2203): 단순화하여 그리고, 정보는 호출 또는 데이터 테이블에 포함합니다.
  • 조립 도면: 항목 번호를 한 줄에, 지시선은 점으로 끝남; 도면란 위의 부품 리스트, 항목 1은 맨 아래; 표준 부품은 표준 명칭과 함께; 기능 및 장착 치수만; 노트는 조립 및 조정 방법을 명시합니다.
  • 도면란: 제목, 도면 번호, 표준 명칭이 있는 재료, 질량(solid.volume × 밀도), 축척, 일반 공차, 날짜, 시트 n/m, 문서 유형, 개정. 재료나 축척을 비워두지 마십시오 - 검사에서 플래그를 표시합니다.

한계에 대한 솔직함

  • 출력은 PDF/SVG/PNG/DXF와 STEP이며, 네이티브 SolidWorks/Inventor 도면이 아닙니다. CAD에서 추가 편집을 위해 DXF와 STEP을 제공하고 그렇게 말합니다.
  • 시트 검사는 충돌과 불일치를 찾습니다. 치수, 공차 또는 뷰 선택이 올바른지 판단하지 않습니다. references/normen.md의 체크리스트에 대해 PNG를 검토하는 것은 사용자의 몫입니다.
  • 선택한 공차 값은 엔지니어링 제안입니다. 사용자의 문서에서 가져온 것과 사용자의 것임을 명시하여 방어할 수 있도록 합니다.

관련 스킬