Inventor 를 사용하다보면 Professional 응력해석에 대한 결과가 해당 파일 안에 AIP\FEA 폴더가 자동으로 생성되며 아래와 같이 6개 정도의 결과 파일이 생성됩니다. 사용자가 직접 생성되는 경로를 지정하지 않는다면 이런 파일이 생성되는지 조차 알 수가 없는 경우가 대부분일 것입니다.
내가 작업하지 않은 파일이라면 더욱 생소하게 느껴질 것입니다.
문제는 이러한 파일들이 원본과의 링크 구조로 만들어진다는 점입니다. Pack And Go 를 하거나 Vault를 사용한다면 체크인 할 경우 이 파일을 항상 같이 이동해야 할 것입니다.
이러한 경우 일반적으로 도구>링크 매뉴를 통해 아래와 같이 끊기 합니다. 단, 항목은 하나씩 선택해 가며 끊기 해야 하는 번거로움이 있습니다.
하지만 문제는 다른 곳에 있습니다. 해석 파일의 경우에는 조립품일 수도 있고 부품일 수도있는데 실제 해석된 위치의 파일을 열어야 링크 끊기가 활성화 되어 끊어줄 수 있습니다. 대용량의 조립품일 경우 구성 요소를 모두 열어 볼 수밖에 없습니다. Vault로 모두 체크인 하게 되면 역추적하여 어느 파일에 링크가 존재하는지 위치를 찾을 수는 있겠지만 Vault를 사용하지 않는 사용자가 더 많고 방법 또한 매우 번거롭습니다.
일괄적으로 링크를 끊어 주는 방법은 현재의 버전에서도 기능으로는 제공하지 않기 때문에 iLogic 의 구문으로 제안 드립니다.
1.아래의 구문을 FEA.iLogicVb 형식의 파일로 만든 후 아래의 Inventor 경로에 복사 합니다.
C:\Users\Public\Documents\Autodesk\Inventor 2021\Design Data\iLogic\OutRule
2.도구>옵션 확장>iLogic 구성메뉴에 외부 규칙으로 OutRule 폴더를 구성합니다.
3.구성이 끝나면 모형검색기에서 외부 규칙>규칙 실행 합니다.
4.마우스가 깜박 거리면서 링크를 찾아서 끊기를 시작 하고 멈출 때는 끝난 상태 입니다.
- 해석 파일의 링크 뿐 아니라 도면에 삽입된 이미지의 링크도 같이 끊어 줄 수 있습니다.
Sub Main()
Dim oDoc As Document
oDoc = ThisApplication.ActiveDocument
If TypeOf oDoc Is AssemblyDocument Then
Call compositeDoc(oDoc)
ElseIf TypeOf oDoc Is PartDocument Then
Call singleDoc(oDoc)
ElseIf TypeOf oDoc Is DrawingDocument Then
Call singleDoc(oDoc)
Else
Call MsgBox("wrong file type!")
End If
Call oDoc.Update2(True)
End Sub
Sub singleDoc(doc)
Dim oEachOLEDesc As ReferencedOLEFileDescriptor
For Each oEachOLEDesc In doc.ReferencedOLEFileDescriptors
oEachOLEDesc.Delete
doc.Dirty = True
Next
End Sub
Sub compositeDoc(parentAssDoc)
'remove links of top document
Call singleDoc(parentAssDoc)
'remove links of sub document
For Each oEachDesc In parentAssDoc.ReferencedDocumentDescriptors
Dim doc As Document
doc = oEachDesc.ReferencedDocument
Dim oEachOLEDesc As ReferencedOLEFileDescriptor
For Each oEachOLEDesc In doc.ReferencedOLEFileDescriptors
oEachOLEDesc.Delete
doc.Dirty = True
Next
If TypeOf doc Is AssemblyDocument Then
Call compositeDoc(doc)
End If
Next
End Sub