iPart 및 iAssembly 함수 참조(iLogic)

정의한 조건과 논리를 기반으로 규칙을 사용하여 iPart 또는 iAssembly의 현재 구성을 변경할 수 있습니다.

iPart 및 iAssembly 함수를 사용하여 조립품에서 iPart 및 iAssembly 구성을 구동합니다.

이 함수는 iPart와 같은 방법으로 iAssembly에서 작동하며 단, 사용자 매개변수는 iPart에만 사용할 수 있습니다. iAssembly에 함수를 사용하려면 함수를 지정할 때 iPartiAssembly로 바꿉니다.

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

iFeature에 대해 유사한 함수를 사용할 수 있습니다. 자세한 내용은 iFeature 함수를 참고하십시오.

iPart.ChangeRow

iPart 또는 iAssembly 테이블에서 활성 행을 변경합니다.

구문

iPart.ChangeRow("iChangedComponentName:1", "memberName")

“iChangedComponentName:1”

Inventor 조립품 검색기에 표시된 것과 같은 구성요소 이름입니다. Inventor에서 지정된 기본 구성요소 이름을 변경하여 고정화하고 테이블에서 다른 행을 선택했을 때 이름이 변경되지 않도록 방지합니다.

“memberName”

테이블의 멤버 열에서 행에 지정된 이름입니다.

사용자 매개변수가 있는 iPart의 경우 이 구문을 사용하여 사용자 매개변수를 "memberName" 뒤에 나열합니다. 테이블에 표시된 것과 같은 순서로 표시합니다.

iPart.ChangeRow("iChangedComponentName:1", "memberName", customParam1,customParam2)

이 구문을 사용하여 멤버 이름 대신에 행 번호를 지정합니다. 행 번호는 첫 번째 행에서 1부터 시작하는 정수입니다(표준 iPart만 해당).

iPart.ChangeRow("iChangedComponentName:1", rowNumber)

예제

이 예제에서는 Inventor 사용자 매개변수 Port_1_Size와 동일한 조건문을 기반으로 현재 iPart 구성이 변경됩니다. 이 함수에 iPart 구성요소 이름 port_1_Flange_screw 및 iPart 테이블 멤버 이름 Screw-01만 입력하면 활성 iPart 구성을 구동할 수 있습니다.

If Port_1_Size = .50 Then
iPart.ChangeRow("port_1_flange_screw", "Screw-01")
ElseIf Port_1_Size = .75 Then
iPart.ChangeRow("port_1_flange_screw", "Screw-02")
ElseIf Port_1_Size = 1.00 Then
iPart.ChangeRow("port_1_flange_screw", "Screw-03")
End If

iPart.FindRow

특정 값 또는 대략적인 값이 포함된 행의 열을 기준으로 iPart 또는 iAssembly 테이블을 검색하고 활성 구성을 찾은 행으로 설정합니다.

구문

i=iPart.FindRow("iChangedComponentName:1", "columnName","<=",0.2,"columnName","<=", 4.1,"|",customParam1,customParam2)

i=iPart.FindRow("iChangedComponentName:1","columnName", "<=",d1,"columnName","<=",d2)

“i”

유효한 행 번호가 있는지 테스트하는 데 사용할 수 있는 로컬 변수입니다.

“iChangedComponentName:1”

Inventor 조립품 검색기에 표시된 것과 같은 구성요소 이름입니다. Inventor에서 지정된 기본 구성요소 이름을 변경하여 고정화하고 테이블에서 다른 행을 선택했을 때 이름이 변경되지 않도록 방지합니다.

“columnName”

iPart 테이블에서 검색할 열입니다. iPart 테이블에 표시된 것과 똑같은 열 헤더 이름을 사용합니다.

예제

이 예제에서는 iPart 테이블에서 지정된 값보다 크거나 같은 열 값이 있는 행을 검색합니다. iLogic에서는 현재 iPart 구성을 찾은 행으로 전환합니다.

iPart.FindRow("port_1_flange_screw", "Thread_Diameter", ">=", 0.45, "Thread_Length", ">=", 2.0)

iPart.CurrentRowValue

iPart.FindRow를 사용하여 행을 찾은 후 이 함수는 해당 행에서 연관된 열 값을 읽습니다. 이 함수는 숫자 값만 읽습니다. 텍스트 값이 포함된 열을 읽으려면 iPart.CurrentRowStringValue를 사용합니다.

구문

d0 = iPart.CurrentRowValue("columnName")

다음은 현재 행을 설정합니다.

iPart.FindRow 또는 iPart.ChangeRow.

“columnName”

원하는 iPart 테이블 열의 이름입니다.

예제

이 예제에서는 port_1_flare_flange iPart 테이블의 port_size 열에서 Inventor 매개변수 Port_1_Size의 값과 정확히 일치하는 값을 검색합니다. 행을 찾은 후에는 iPart.CurrentRowValue를 사용하여 테이블의 A_dimB_dim 열에서 치수를 검색합니다. 그런 다음 해당 값을 Port_1_screw_A_dimPort_1_screw_B_dim이라는 Inventor 매개변수에 다음과 같이 할당합니다.

i = iPart.FindRow("port_1_flare_flange", "Port_Size", "=", Port_1_Size)
Port_1_screw_A_dim = iPart.CurrentRowValue("A_dim")
Port_1_screw_B_dim = iPart.CurrentRowValue("B_dim")

iPart.CurrentRowStringValue

iPart.FindRow를 사용하여 행을 찾은 후 이 함수를 사용하여 해당 행에서 연관된 열 값을 읽습니다. 이 함수는 텍스트 값만 읽는다는 점을 제외하고 iPart.CurrentRowValue와 같습니다. 숫자 값이 포함된 열을 읽으려면 iPart.CurrentRowValue를 사용합니다.

구문

iPart.CurrentRowStringValue("PartNumber")

구성요소 이름에 대한 대체 구문

iPart 행이 변경될 때 변경되지 않는 구성요소 이름을 지정하려면

iPart.ChangeRow("iParentFileName:1", "memberName")

iPart.FindRow("iParentFileName:1","columnName","<=",d1,"columnName","<=",d2)

“iParentFileName:1”

iPart 상위 파일 이름입니다. 여기서 ":1"은 일반적인 .ipt 또는 .iam 확장자를 교체합니다. ":1"을 작업 중인 구성요소의 번호로 변경합니다.

이 구문이 지원되기는 하지만 사용하지 않는 것이 좋습니다. 더 표준적인 방법은 구성요소 이름을 변경하여 고정화하는 것입니다.

iPart.RowName

iPart 또는 iAssembly 구성요소 복제에 활성 행의 멤버 이름을 가져옵니다. 이 함수는 iPart 또는 iAssembly 구성요소 변경 이벤트에 의해 트리거되는 규칙에서 유용합니다. iPart.ChangeRow 또는 iPart.FindRow를 사용하여 규칙에서 행을 자동으로 선택합니다. 사용자가 행을 수동으로 선택할 수 있도록 하려면 이 이벤트와 함수를 결합하여 변경 사항에 대응하도록 할 수 있습니다.

주: 이 함수를 사용한 후 iPart.CurrentRowValue 또는 iPart.CurrentRowStringValue를 사용하여 활성 행에서 다른 셀의 값을 검색할 수 있습니다.

구문

iPart.RowName("iChangedComponentName:1")

예제

memberName = iPart.RowName("port_1_flange_screw:1")

iPart.RowNumber

iPart 또는 iAssembly 구성요소 복제에 활성 행의 행 번호를 가져옵니다.

주: 이 함수를 사용한 후 iPart.CurrentRowValue 또는 iPart.CurrentRowStringValue를 사용하여 활성 행에서 다른 셀의 값을 검색할 수 있습니다.

구문

iPart.RowNumber("iChangedComponentName:1")

예제

rowNumber = iPart.RowNumber("port_1_flange_screw:1")

iPart.Tolerance

iPart.FindRow 함수와 함께 이 함수를 사용하면 정확한 값이 아니라 범위 내의 값을 검색할 수 있습니다. 이 검색에 대한 공차가 항상 있습니다. 기본 공차는 0.0000001이며 문서 단위와 별개입니다.

구문

iPart.Tolerance = <value>

허용되는 값 범위를 확장하려면 더 높은 공차를 설정합니다.

예제

다음 문을 사용할 경우를 가정해 봅니다.

iPart.Tolerance = 0.001
i = iPart.FindRow("Block:1","length", "=", 2.3)

이러한 문은 공차가 없는 다음 검색과 같습니다.

i = iPart.FindRow("Block:1", "length", ">=", 2.299, "length","<=", 2.301)

iPart 멤버를 다른 팩토리의 멤버로 대체하려면 Component.ReplaceiPart를 사용합니다.