강력한 워크플로 – Ansys Mechanical과 함께 SpaceClaim 스크립팅 사용

Ansys의 스페이스클레임/디스커버리 스크립팅은 스크립트를 사용하여 3D 모델링 및 형상 편집 소프트웨어인 Ansys 스페이스클레임/디스커버리에서 형상 작업을 자동화하고 사용자 지정하는 것을 포함합니다. 이를 통해 사용자는 지오메트리를 보다 효율적이고 강력하게 생성, 수정 및 조작할 수 있습니다. 이러한 스크립트를 Ansys Mechanical과 결합하여 지오메트리 준비 프로세스를 간소화하고 일관되고 오류 없는 모델 생성을 보장함으로써 전반적인 프로젝트의 견고성을 향상시킬 수 있습니다. 모델이 생성되면 기존 Mechanical 워크플로에 쉽게 연결하여 모델을 더욱 견고하게 만들 수 있습니다!

SpaceClaim과 Discovery는 Ansys에서 제공하는 서로 다른 두 가지 CAD 툴입니다. Discovery는 더 최신의 툴이며 SpaceClaim과 동일한 기능을 모두 활용합니다. 이러한 스크립팅 기능은 원래 SpaceClaim용으로 개발되었지만 Discovery에도 통합되었습니다.

스페이스클레임/디스커버리 스크립팅이 강력한 지오메트리 처리에 기여하는 방법과 Ansys Mechanical을 보완하는 방법은 다음과 같습니다:

  1. 자동화 및 반복: 스페이스클레임/디스커버리 스크립팅은 반복적인 작업과 지오메트리 작업을 자동화하여 지오메트리 생성 또는 수정 시 발생할 수 있는 수동 오류의 가능성을 줄여줍니다. 이러한 자동화는 지오메트리 생성 프로세스의 일관성과 견고성을 보장합니다.
  2. 커스터마이징: 스크립트를 특정 프로젝트 요구 사항에 맞게 조정할 수 있으므로 사용자는 지오메트리 조작을 위한 맞춤형 도구와 워크플로를 만들 수 있습니다. 이러한 커스터마이징을 통해 엔지니어는 복잡한 지오메트리 문제를 보다 효과적으로 해결할 수 있습니다.
  3. 파라미터화: 스페이스클레임/디스커버리 스크립팅을 사용하여 기하학적 특징을 파라미터화하면 다양한 디자인 시나리오에 맞게 모델을 쉽게 조정하고 조정할 수 있습니다. 이 파라미터화는 지오메트리를 빠르게 수정할 수 있도록 하여 프로젝트의 유연성과 견고성을 향상시킵니다.
  4. 품질 관리: 스크립트를 사용하면 지오메트리에 대한 품질 관리 검사를 시행할 수 있습니다. 예를 들어, 특정 디자인 제약 조건이나 허용 오차를 충족하는지 확인하여 디자인 프로세스의 견고성을 높일 수 있습니다.
  5. Ansys Mechanical과 통합: SpaceClaim/Discovery 스크립팅은 Ansys Mechanical과 원활하게 통합할 수 있습니다. 이 통합을 통해 구조, 열 또는 기타 분석에 사용할 수 있는 복잡하고 최적화된 지오메트리를 자동으로 생성할 수 있습니다. 지오메트리 준비 단계를 자동화하면 지오메트리를 Ansys Mechanical로 전송할 때 오류나 불일치가 발생할 가능성을 줄일 수 있습니다.
  6. 파라메트릭 연구: 스페이스클레임/디스커버리 스크립팅을 Ansys Mechanical과 결합하면 지오메트리를 빠르게 수정하고 다양한 설계 대안을 평가할 수 있어 파라메트릭 연구가 용이해집니다. 이 기능은 다양한 조건에서 설계를 최적화하고 강력한 성능을 보장하는 데 유용합니다.

SpaceClaim/Discovery 스크립팅은 IronPython을 기반으로 한다는 점을 알아두는 것이 중요합니다. 따라서 IronPython의 모듈과 호환됩니다. 그러나 SpaceClaim/Discovery 스크립팅을 시작하기 전에 Python의 전문가가 될 필요는 없습니다! 이는 스크립팅 도구 내의 “기록” 기능 때문입니다. “기록” 기능을 사용하면 GUI 내에서 완료되는 특정 작업을 기록할 수 있습니다. 예를 들어, XY 평면에서 직사각형을 스케치하고 돌출하는 경우 레코더를 켜면 해당 작업에 대한 명령이 에디터에 자동으로 기록됩니다! 이는 선택 로직, 연산 등을 이해하는 데 유용합니다. 이렇게 기록된 명령어를 편집하여 스크립트를 더욱 강력하게 만들 수도 있습니다. 녹화된 스크립트를 조정하기 전에 워크플로우를 이해하는 데 도움이 되도록 Python의 기본 사항을 검토하는 것이 좋습니다. 기본 사항 중 일부는 아래 이미지에 나열되어 있지만, 시작하는 데 도움이 되도록 이 블로그의 마지막에 더 많은 참고 자료가 제공될 것입니다!

SpaceClaim/디스커버리 스크립팅에서 엔티티를 선택하는 방법에는 3가지가 있습니다.

  1. 스마트 변수(기본값)
    • 스크립트를 재생할 때 선택 내용이 더 잘 유지되도록 다른 방법을 결합합니다.
    • 다른 어떤 유형보다 더 많은 정보를 저장하고 지오메트리 변경 시 선택된 엔티티를 훨씬 더 강력하게 일치시킵니다.
    • 스마트 변수를 사용하려면 스크립트를 .py 파일이 아닌 .scscript 파일로 저장해야 합니다. 스마트 변수는 백그라운드에서 생성되는 객체이며 선택한 항목에 대한 많은 메타데이터를 포함합니다. 이 데이터는 .scscript 파일에 저장되지만 .py 파일에서는 손실됩니다.
    • 예시: Selection.Create(Face1)
  2. 색인 (본문/자식 계층) -> 기본 옵션
    • 선택한 각 엔티티의 내부 인덱스입니다.
    • 예시: Selection.Create(GetRootPart().Bodies)[0].Faces[3])
  3. Ray(위치 기반)
    • 내부 광선 발사 지점 및 방향. STL 파일로 작업할 때 유리할 수 있습니다.
    • 예시: Selection.Create(RayFire.Fire(Point.Create(MM(230),MM(260),MM(407)),Direction.Create(-0.4,-0.5,-0.75), 0.0001,0.0005([1])

위의 모든 예제는 아래의 간단한 표면을 선택하는 데 사용됩니다.

스크립트를 사용하여 CAD 모델을 생성한 후에는 이를 Mechanical로 임포트해야 합니다. 이렇게 하면 지오메트리가 변경됨에 따라 많은 경계 조건과 메시 컨트롤이 유효하지 않게 될 수 있습니다. 이를 방지하기 위해 명명된 선택 기능을 활용할 수 있습니다. 명명된 선택은 유한 요소 모델 내에서 사용자가 정의한 엔티티(예: 노드, 요소 또는 서피스)의 그룹으로, 경계 조건이나 하중을 쉽게 참조하고 적용할 수 있도록 특정 이름을 할당하는 것입니다. Mechanical에서는 두 가지 방법으로 정의할 수 있습니다: 명명된 선택 항목을 만들려는 엔티티를 수동으로 선택하거나 워크시트 기능을 사용하는 것입니다. 워크시트를 사용하려면 명명된 선택을 삽입하고 세부 정보에서 ‘범위 지정 방법’을 ‘지오메트리’에서 ‘워크시트’로 변경합니다.

옵션이 워크시트로 변경된 후에는 워크시트 섹션으로 이동하여 선택 기준을 입력해야 합니다. 선택 기준은 선택하려는 엔티티(면, 바디, 에지 등)를 결정하는 데 사용할 수 있습니다. 이러한 엔티티는 크기, 위치, 거리 및 기타 기준에 따라 필터링할 수 있습니다. 다양한 기준을 결합하여 다른 개체를 포함하거나 제외할 수도 있습니다. 아래 예에서는 크기 기준을 사용하여 아래와 같이 원통의 상단 표면을 선택했습니다. 그러나 크기 기준만으로는 위쪽과 아래쪽이 모두 같은 크기이므로 둘 다 선택됩니다. 선택 영역에서 아래쪽 표면을 제거하기 위해 워크시트에 ‘제거’ 기능을 추가하여 Y=1mm 미만의 모든 면을 제거했습니다(참고로 아래쪽 원통 표면은 Y=0mm에 놓여 있습니다). 이 두 가지 기준을 모두 정의했으므로 아래와 같이 선택 영역을 상단 표면으로만 좁힐 수 있습니다. 여기서 중요한 점은 특정 크기와 모양 범위 내에 서로 다른 특징이 있을 것으로 예상되는 경우 명명된 선택 정의에서 이를 설명할 수 있다는 것입니다. 이렇게 하면 스페이스클레임/디스커버리 스크립트를 사용하여 모델을 조정할 때 각 반복 사이에 동일한 엔티티가 선택됩니다.

모든 명명된 선택을 생성한 후에는 수동 선택 기준을 사용하는 대신 이를 사용하여 경계 조건과 메쉬 컨트롤을 정의할 수 있습니다. 이렇게 하려면 경계 조건 또는 메쉬 컨트롤의 ‘범위 지정 방법’으로 이동하여 ‘명명된 선택’으로 변경하면 됩니다. 그런 다음 각 경계 조건에 적용할 네임드 선택을 선택해야 합니다. 명명된 선택은 모델의 다양한 크기와 모양을 모두 고려하도록 설정되었으므로 정의한 기준에 따라 매번 자동으로 업데이트됩니다. 업데이트되면 이러한 명명된 선택 항목이 경계 조건에도 자동으로 적용됩니다! 즉, 지오메트리를 조정할 때마다 모든 것을 다시 선택하는 데 시간을 들일 필요가 없습니다. 모델이 업데이트되면 CAD 모델의 머티리얼 정의가 올바른지 확인한 다음 실행하기만 하면 됩니다!

이 프로세스에 대한 보다 자세한 예시는 YouTube 채널에서 확인할 수 있습니다(아래 참조).

http://www.python.org/
– Python 모든 형식 다운로드
– 튜토리얼 및 문서

https://github.com/IronLanguages/iron…
– IronPython 스튜디오는 프로젝트를 관리하고 네이티브 윈도우 양식을 사용하여 개발할 수 있는 무료 Microsoft SDK입니다.

http://www.tutorialspoint.com/python/…

무료 예약 – http://greenteapress.com/thinkpython/…

추천 도서
– 마크 루츠와 데이비드 애셔의 파이썬 배우기
– 마크 루츠의 파이썬 포켓 레퍼런스
– Michael J.Ford와 Christian Muirhead의 IronPython in Action – Iron 파이썬을 사용하여 .NET 프레임워크를 활용하려는 사람들을 위한 책입니다.