iLogic에는 구성요소 억제 상태와 색상을 설정하거나 읽을 수 있는 규칙 함수뿐 아니라 한 구성요소를 다른 구성요소로 교체할 수 있는 함수도 있습니다.
이러한 함수는 부품 또는 조립품에 서로 다른 구성을 구동하는 데 유용합니다.
유효한 제품 구성을 모두 나타내는 데 필요한 구성요소가 있는 모형(부품 또는 조립품)을 작성할 수 있습니다. 이 방법을 "수퍼 모델링"이라고 합니다. 부품 또는 조립품 구성요소가 너무 복잡하거나 숫자가 너무 많아서 수퍼 모델링이 비실용적일 경우 Component.Replace 함수를 사용합니다.
구성요소 함수에 액세스하려면 iLogic 규칙 편집 대화상자에 있는 조각 영역의 시스템 탭에서 구성요소 노드를 확장합니다.
규칙에서 이름을 참조하기 전에 모든 구성요소 이름을 사용자화합니다. Autodesk Inventor에서 지정된 구성요소의 기본 이름을 변경할 때 참조된 .ipt 또는 .iam 파일이 변경되면 구성요소 이름이 변경되지 않습니다.
컨텐츠 센터 구성요소의 경우 Component.IsActive 함수와 Component.Replace 함수의 이름을 변경해야 합니다.
조립품 구성요소의 BOM 구조와 억제 상태를 설정하거나 읽습니다. 이 함수를 사용하여 조립품 구성에서 구성요소를 포함하거나 제외합니다.
이 함수는 단일 구성요소나 구성요소 패턴에 사용할 수 있습니다. 패턴의 경우 패턴 이름을 사용합니다. 패턴은 부분조립품이 아닌, 규칙과 동일한 조립품 단계에 있어야 합니다.
하위 구성요소를 억제하지 마십시오. 더 좋은 방법은 구성요소 내에서 규칙을 사용하여 억제하는 것입니다.
예를 들어 TopAssembly라는 조립품에 SubAssembly:1이 포함되어 있고 이 부분조립품에 SamplePart:1이 포함된 경우입니다.
SubAssembly 내의 규칙을 사용하여 SamplePart:1을 억제할 수 있습니다. 이 규칙에는 억제 상태를 구동하는 매개변수가 있을 수 있으며 TopAssembly에서 규칙을 사용하여 매개변수를 구동할 수 있습니다.
Component.IsActive를 사용하여 구성요소를 억제할 경우 구성요소의 BOM 구조는 참조로 설정됩니다. 그러면 구성요소가 BOM에 나타나지 않습니다. 또한 구조적 뷰 또는 부품 전용 뷰에 나타나지 않으며 모형 데이터 뷰에 나타납니다. 구성요소가 억제해제되면(usingComponent.IsActive) 구성요소가 일반 부품, 분리불가부품, 구매품, 가상부품 등의 억제 전 상태로 돌아갑니다.
iLogic 규칙을 사용하여 조립품 구성요소의 억제 상태를 변경하기 전에 새 사용자 세부 수준을 작성하고 활성화합니다.
구문
Component.IsActive("ComponentName")
예
true 대신 1을 사용하고 False 대신 0을 사용할 수 있습니다.
억제 상태와 BOM 구조를 설정하려면
Component.IsActive("PartA:1") = false Component.IsActive("PartB:1") = 0 Component.IsActive("PartC:1") = false Component.IsActive("PartD:1") = 0
억제 상태와 BOM 구조를 읽으려면
MyBooleanParam = Component.IsActive("ComponentName:1) If Component.IsActive("PartE") Then ' do something End If
Component.IsActive의 변이인 이 함수는 iPart 또는 iAssembly 구성요소의 억제 상태를 설정하거나 읽습니다. 구성요소 이름을 수동으로 변경하지 않을 경우 iPart 및 iAssembly에는 전용 이 구문을 사용해야 합니다.
구성요소 이름을 변경하는 것이 좋습니다. 변경할 경우 이 함수 대신에 Component.IsActive를 사용할 수 있습니다.
구문
Component.iComponentIsActive(“iPartParentName:1”)
iPartParentName
.ipt 파일 이름 확장자를 제외한 팩토리 부품 이름입니다.
구성요소 색상을 설정하거나 읽습니다.
구문
Component.Color(“iPartA:1”)
예
색상 설정
Component.Color("iPartA:1") = "Green" Component.Color("iPartA:2") = "Aluminum (Cast)" Component.Color("iPartA:3") = "As Material"
색상 읽기
MyStringParameter = Component.Color("iPartA:1")
구성요소 가시성을 설정하거나 읽습니다. 이 함수는 구성요소의 BOM 구조를 변경하지 않습니다.
구문
Component.Visible("componentName")
예
가시성 설정
Component.Visible("Plate") = true Component.Visible("Bearing") = false
가시성 읽기
parameter = Component.Visible("Plate") parameter = Component.Visible("Bearing")
If Component.Visible("PartE") Then do something End If
구성요소 문서를 변경한 다음 규칙을 통해 억제하는 경우 구성요소 문서를 저장할 것인지 지정합니다.
구문
Component.SkipDocumentSave = True
True로 설정할 경우 구성요소 문서가 저장되지 않습니다.
기본값은 False(Component.SkipDocumentSave = False)이며, 구성요소 문서가 저장됩니다.
한 부품 또는 부분조립품을 다른 부품이나 부분조립품으로 교체합니다. 또한 이 함수를 사용하여 구성요소 패턴을 교체할 수도 있습니다.
조립품 구속조건을 그대로 유지하려면 교체할 구성요소에서 iMate를 사용합니다. 부품을 부품으로, 부품을 조립품으로 또는 조립품을 부품으로 교체할 수 있습니다.
이 함수는 여러 폴더에서 대신 사용할 파일을 검색합니다.
파일 이름은 이러한 검색 위치를 기준으로 상대 경로가 될 수 있습니다.
구문
Component.Replace(“ComponentToReplaceName”, “OtherPartfilename.ipt”, <replaceAll>)
ComponentToReplaceName
교체할 부품 또는 부분조립품의 이름입니다.
OtherPartfilename
대신 사용할 부품 또는 조립품입니다.
<replaceAll>
이 구성요소의 모든 복제를 교체하려면 이 부울 값을 True로 설정합니다. 명명된 단일 복제만 교체하려면 값을 False로 설정합니다.
예제
If PartType = "Type A" Then Component.Replace("Widget","PartA.ipt", True) ElseIf PartType = "Type B" Then Component.Replace("Widget","PartB.ipt", True) End If
이 Component.Replace 함수 변이는 조립품의 구성요소를 특정 세부 수준의 다른 구성요소로 교체합니다.
구문
Component.Replace("SubAssem:1", "OtherAssemFilename.iam<Level of Detail>", <replaceAll>)
이 함수에서 <replaceAll> 인수는 보다 일반적인 Component.Replace 함수에 대해 설명된 것과 같습니다.
부분조립품을 다른 세부 수준의 동일한 부분조립품으로 대체할 수도 있습니다.
이 함수는 사용자 매개변수가 있는 iPart에 반드시 필요하며 표준 iPart에도 권장됩니다. 구성요소가 iPart일 경우 Component.Replace 대신에 사용합니다. 교체한 후 iPart.ChangeRow 또는 iPart.FindRow를 사용하여 특정 iPart 구성을 변경할 수 있습니다.
사용자 매개변수가 있는 iPart의 경우 rowNumber 뒤의 사용자 매개변수에 대한 값을 나열합니다. 테이블에서 찾은 순서대로 값이 나열되어야 합니다.
구문
Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber)
rowNumber를 사용하여 구성요소를 교체하고 동시에 iPart 행을 선택합니다.
예
사용자 매개변수를 설정하려면 Component.ReplaceiPart에서 사용자 값을 반복하고 나중에 규칙의 iPart.ChangeRow 또는 iPart.FindRow에서 다시 반복합니다.
ChangeRow의 경우:
Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2) iPart.ChangeRow("iPart1:1", rowNumber, customParam1, customParam2)
FindRow의 경우:
Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2) i = iPart.FindRow("iPart1:1", "Dia", ">=", 3.0, "r;|", customParam1, customParam2)
부분조립품에서 구성요소 이름의 경로를 정의합니다. 경로를 지정하려면 트리에 나타난 순서대로 모든 부분조립품 단계를 나열합니다. 구성요소 이름을 지정하려는 경우 같은 이름이 조립품 내의 다른 위치에 이미 있으면 이 함수가 필요합니다.
구문
MakePath(“SubassemblyComponentName”,“PartComponentName”)
예
Component.Color(MakePath("SubAssem1:1", "Part2:1")) = “Green” Component.IsActive(MakePath("SubAssem1:1", "SubSubAssem2:1", "Part2:1")) = “Yellow”