Technical Support

{{ post.title }} 글 편집 글 편집 (이전 에디터) 작성자 {{ post.author.name }} 작성일

Version {{ post.target_version }} Product
{{ product.name }}
Tutorial/Manual {{ post.manual_title }} Attached File {{ post.file.upload_filename }}

형상 사이의 거리를 측정하는 expression인, DM, DX, DY, DZ와 조건문을 만드는 IF를 이용하여 처리가 가능합니다.

예를 들어 두 마커 Body1.Marker1과 Body2.Marker2 사이의 거리가 100보다 작아지면 77이라는 힘을 발생시키고 싶다면, Axial Force에 Expression을 아래와 같이 설정하면 됩니다.

Ex = IF(DM(Body1.Marker1, Body2.Marker2) - 100: 77, 0, 0)

DM(Body1.Marker1, Body2.Marker2)는 두 마커사이의 거리이므로, 둘 사이의 거리가 100보다 크거나 같으면 0, 100보다 작으면 77이 이 수식의 결과값이 됩니다.

첨부된 예제는 좌측의 구가 우측의 상자 쪽으로 이동할 때 구의 CM 위치에 대한 상자의 CM의 X방향 위치가 210보다 작으면 (거의 접촉을 하게 되면) 상자에 좌측으로 힘을 가하여 구를 튕겨내는 모델입니다.

따라서 우측 상자에 가해지는 AxialConditional이라는 힘에 사용된 수식이 아래와 같이 정의되어 있습니다. (접했을 때, 두 CM 사이의 거리가 200 입니다. 즉, 접하기 직전 상황이 되면 힘이 작용하는 것이죠.)

IF((DX(UpperBox.CM, UpperShpere.CM)-210):1000, 0, 0)
Multi-Body-Dynamics-RecurDyn-IF-expression