by Luke Davenport
Issue:
So you’ve got a wonderful iLogic rule that only works with a certain type of Inventor file. Therefore you need your iLogic rule to automatically exit unless the right type of Inventor document is open and active. How can I do this easily?
Solution:
Use the handy code snippet below, simply ‘un-commenting’ (by removing the ‘ ) one of the first four lines of code. Paste the code straight into the start of any iLogic rule to ensure it only runs on the right type of files.
Note:
Uber Inventor-guru Curtis Waguespack has posted some similar code here:
http://inventortrenches.blogspot.co.uk/2013/03/determine-file-type-for-ilogic-rule.html
– which is definitely worth checking out. My rule below is slightly different – it’s a ‘one-size-fits-all’ rule that might save you a few seconds when copying and pasting.
Nice and simple. Enjoy!
' What document do you want? - comment out a single line as required….
Dim Doctype As String = "Part"
'Dim Doctype As String = "Sheet Metal"
'Dim Doctype As String = "Assembly"
'Dim Doctype As String = "Drawing"
oDoc = ThisApplication.ActiveDocument
Select Case DocType
Case "Part"
If oDoc.DocumentType <> kPartDocumentObject Then
MessageBox.Show("This rule can only be run in a " & DocType & " file - exiting rule...", "Cadline iLogic")
Return
End If
Case "Sheet Metal"
If oDoc.ComponentDefinition.Type <> 150995200 Then
MessageBox.Show("This rule can only be run in a " & DocType & " file - exiting rule...", "Cadline iLogic")
Return
End If
Case "Assembly"
If oDoc.DocumentType <> kAssemblyDocumentObject Then
MessageBox.Show("This rule can only be run in a " & DocType & " file - exiting rule...", "Cadline iLogic")
Return
End If
Case "Drawing"
If oDoc.DocumentType <> kDrawingDocumentObject Then
MessageBox.Show("This rule can only be run in a " & DocType & " file - exiting rule...", "Cadline iLogic")
Return
End If
End Select
Comments
0 comments
Please sign in to leave a comment.