피드로 돌아가기
Modeling a nut, in Rust
Dev.toDev.to
Infrastructure

Rust cadrum 기반 ISO 4032 M2 Nut의 정밀 B-Rep 모델링 구현

Modeling a nut, in Rust

Satoshi Misumi2026년 5월 18일17intermediate

Context

OpenCASCADE 기반의 Rust 라이브러리 cadrum을 활용하여 산업 표준 규격인 ISO 4032 M2 너트를 정밀하게 모델링하려는 시도임. 단순한 형상 생성을 넘어 실제 가공 규격과 일치하는 Thread 및 Chamfer 구현을 통한 B-Rep 데이터 생성의 기술적 검증이 필요함.

Technical Solution

  • ISO 4032 규격의 Width-across-flats(s=4.0mm) 및 Thickness(m=1.6mm)를 기반으로 한 육각 Prism 구조 설계
  • Boolean Operation의 Coplanar Face 문제를 해결하기 위해 Bore Cylinder 길이를 m+0.4mm로 확장하여 정밀한 Difference 연산 수행
  • API 제약으로 인한 Edge Rounding 대신 half_space 연산을 12회 반복 수행하여 규격에 맞는 평면 Chamfer Facet 구현
  • Helix Spine을 따라 Profile을 이동시키는 Solid::sweep과 Wire::align_z를 조합하여 나선형 Thread 구조 생성
  • Triangle Profile과 Flat Crest의 Intersection 연산을 통해 나사산의 끝단을 정밀하게 절삭하는 로직 적용
  • 변수 기반의 Parameterization 설계를 통해 M2 규격에서 M4 규격으로의 즉각적인 모델 확장성 확보

- Boolean 연산 시 면이 일치하는 Coplanar 상황에서 발생하는 Artifact 방지를 위해 연산 대상 객체의 길이를 의도적으로 확장할 것 - 라이브러리 제공 Chamfer API가 요구 사양(Flat Facet)과 다를 경우 기본 Primitive(Half-space)의 조합으로 대체 가능 여부를 검토할 것 - 복잡한 3D 형상 구현 시 각 단계별로 STEP 파일과 Multiview PNG를 생성하여 치수 오차를 즉각 검증하는 Iterative Workflow를 구축할 것

원문 읽기