조립품 구속조건 함수 참조(iLogic)

iLogic에서는 조립품 구속조건의 억제 상태를 구동하기 위한 규칙 함수를 제공합니다. 이러한 함수는 iLogic 규칙을 사용하여 조립품 단계 구성을 정의하는 경우에 유용합니다.

예를 들어 조립품에서 구성요소의 대체 위치를 정의한다고 가정해 봅니다. 각 위치에서 구성요소를 구속하는 데 필요한 모든 메이트를 정의할 수 있습니다. 그런 다음 규칙을 사용하여 필요에 따라 메이트를 억제 및 억제해제하여 각 구성에서 구성요소를 이동합니다.

Inventor에서는 충돌하는 구속조건을 허용하지 않습니다. 구성요소의 한 위치에 대한 구속조건을 작성한 다음 대체 구성요소 위치에 대한 추가 구속조건 세트를 작성하기 전에 이 구속조건을 수동으로 억제합니다. 각 구성에 대한 구성요소를 배치하는 데 필요한 모든 구속조건을 작성한 후 구속조건 중에서 선택하는 규칙을 쓸 수 있습니다.

조립품 구속조건 함수에 액세스하려면 iLogic 규칙 편집 대화상자에 있는 조각 영역의 시스템 탭에서 구속조건 노드를 확장합니다.

Constraint.IsActive

맨 위 단계 조립품 구속조건의 억제 상태를 설정하거나 읽습니다.

규칙에 참조된 각 구속조건에 고유 사용자 이름을 지정합니다.

구속조건의 억제 상태를 수동으로 변경할 경우 이를 참조하는 규칙이 자동으로 실행되지 않습니다.

구문

Constraint.IsActive(“Mate:1”)

Constraint.IsActive(“SubAssem.iam”, “Mate:1”)

억제 상태 설정

If ConfigStyle = “A” Then
Constraint.IsActive("MateLeftSide:1") = true
Constraint.IsActive("MateRightSide:2") = false
ElseIf ConfigStyle = “B” Then
Constraint.IsActive("MateLeftSide:1") = false
Constraint.IsActive("MateRightSide:2") = true
End If

억제 상태 읽기

If Constraint.IsActive("MateLeftSide:1")  Then (Do something)

부분조립품에서 구속조건의 억제 상태를 설정하거나 읽습니다(부분조립품 파일 이름과 구속조건 이름 지정).

Constraint.IsActiveInDoc("SubAssem.iam", "Mate:1")

모든 규칙을 그대로 유지하면서 조립품에서 모든 파일을 복사하거나 이름을 바꾸려면 Constraint.IsActiveInComponent를 사용하고 파일 이름 대신 부분조립품 이름을 지정합니다.

부분조립품 이름을 사용하여 설정

If ConfigStyle = “A” Then
Constraint.IsActiveInDoc("SubAssem.iam", “LeftMate”) = true
Constraint.IsActiveInDoc("SubAssem.iam", “RightMate”) = false
ElseIf ConfigStyle = “B” Then
Constraint.IsActiveInDoc("SubAssem.iam", “LeftMate”) = false
Constraint.IsActiveInDoc("SubAssem.iam", “RightMate”) = true
End If

부분조립품 이름을 사용하여 읽기

Constraint.IsActiveInDoc("SubAssem.iam",”LeftMate”) = true then (Do something)

Constraint.iMateDefIsActive

iMate 정의를 억제 또는 억제해제합니다.

Constraint.iMateDefIsActive(“iMate:1”) = False

현재 규칙 문서에서 이름이 iMate:1인 iMate 정의를 억제합니다. 그 결과는 사용자 인터페이스에서 상황에 맞는 메뉴를 사용하여 억제하는 것과 같습니다. iMate 정의를 억제한 동안에는 결합할 목적으로 사용할 수 없습니다.

Constraint.iMateDefIsActive(“SubAssem:1”,“iMate:1) = False

이름이 iMate:1인 iMate 정의를 SubAssem:1 구성요소에서 억제합니다.

Constraint.iMateDefIsActive(PartA:1”,“iMate:1”) = True

이름이 iMate:1인 iMate 정의를 PartA:1 구성요소 부품에서 억제해제합니다.