Rule to set Ilogic Triggers

Rule to set Ilogic Triggers

spanky
Contributor Contributor
2,449 Views
9 Replies
Message 1 of 10

Rule to set Ilogic Triggers

spanky
Contributor
Contributor

I have a lot of older frame generator parts which I need to inject rules to. I have the iLogic_Rule_Batch_Tool from Inventor, and it will inject the rules to the older parts, but it doesn't have the ability to also set the triggers to run 'Before Save Document'.

 

I'm hoping to have an external rule I can run to set the rule "EXTENTS_MODEL" to run 'Before Save Document', and have it cycle through all the parts of an assembly.

 

The good thing I won't need to do this on any new projects as the rule has been added to my part templates, as well as I have added it to the Family Templates of all my Structural Steel shapes in the CC library.

0 Likes
Accepted solutions (1)
2,450 Views
9 Replies
Replies (9)
Message 2 of 10

Andrii_Humeniuk
Advisor
Advisor

Hi @spanky . Once I already published an answer to a similar question on a Ukrainian forum.

This code can copy rules and triggers for 4 different documents: Part, Sheet, Assembly, FramePart. You need to give the full path and name of the template document (lines 11-14) and run this rule in the main assembly. If you only need the FramePart of the script, you can shorten this rule.

Sub Main
	Dim oInvApp As Inventor.Application
	Dim oDoc As Document = oInvApp.ActiveDocument
	If Not TypeOf oDoc Is AssemblyDocument Then Exit Sub
	Dim oAsmDoc As AssemblyDocument = oDoc
	Dim oOccs As ComponentOccurrences = oAsmDoc.ComponentDefinition.Occurrences
	Dim oPBar As Inventor.ProgressBar = oInvApp.CreateProgressBar(False, oAsmDoc.AllReferencedDocuments.Count, "Copy ryles...")
	Dim i As Integer = 1
	oPBar.Message = "Loading..."
	Dim oDocs As Documents = oInvApp.Documents
	Dim oPartDoc As Document = oDocs.Open("FullPath\Part.ipt", False) 'PartDocument
	Dim oSMDoc As Document = oDocs.Open("FullPath\Sheet.ipt", False) 'SheetMetalDocument
	Dim oADoc As Document = oDocs.Open("FullPath\Assembly.iam", False) 'AssemblyDocument
	Dim oFrameDoc As Document = oDocs.Open("FullPath\FramePart.ipt", False) 'Frame Generator PartDocument
	Dim oTM As Transaction = oInvApp.TransactionManager.StartTransaction(oAsmDoc, "CopyRulesFromTemplates")
	Call CopyRules(oADoc, oAsmDoc)
	Call CopyEventsPropSet(oADoc, oAsmDoc)
	For Each copyTo As Document In oAsmDoc.AllReferencedDocuments
		oPBar.Message = "Copy ryles in document. Progress " & i & " of " & oAsmDoc.AllReferencedDocuments.Count & "."
		If oOccs.AllReferencedOccurrences(copyTo).Count > 0 Then
			If copyTo.IsModifiable Then
				If copyTo.DocumentType = DocumentTypeEnum.kAssemblyDocumentObject _
					AndAlso Not copyTo.DocumentInterests.HasInterest("{BB8FE430-83BF-418D-8DF9-9B323D3DB9B9}") _
					AndAlso Not copyTo.DocumentInterests.HasInterest("{AC211AE0-A7A5-4589-916D-81C529DA6D17}") Then 'AssemblyDocument
					Call CopyRules(oADoc, copyTo)
					Call CopyEventsPropSet(oADoc, copyTo)
				Else If copyTo.DocumentType = DocumentTypeEnum.kPartDocumentObject Then
					If copyTo.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" Then 'SheetMetalDocument
						Call CopyRules(oSMDoc, copyTo)
						Call CopyEventsPropSet(oSMDoc, copyTo)
					Else
						If copyTo.DocumentInterests.HasInterest("{AC211AE0-A7A5-4589-916D-81C529DA6D17}") Then 'Frame Generator PartDocument
							If Not copyTo.ComponentDefinition.BOMStructure = BOMStructureEnum.kPhantomBOMStructure Then
								Call CopyRules(oFrameDoc, copyTo)
								Call CopyEventsPropSet(oFrameDoc, copyTo)
							End If
						Else 'PartDocument
							Call CopyRules(oPartDoc, copyTo)
							Call CopyEventsPropSet(oPartDoc, copyTo)
						End If
					End If
				End If
			End If
		End If
		oPBar.UpdateProgress
		i += 1
	Next
	oTM.End()
	oPartDoc.Close()
	oSMDoc.Close()
	oADoc.Close()
	oFrameDoc.Close()
	oPBar.Close()
End Sub

Sub CopyRules(ByVal CopyFrom As Document, ByRef CopyTo As Document)
	iLogicVb.Automation.DeleteAllRules(CopyTo)
	For Each oRule As iLogicRule In iLogicVb.Automation.Rules(CopyFrom)
		Try : Dim oCopy As iLogicRule = iLogicVb.Automation.AddRule(CopyTo, oRule.Name, oRule.Text)
	Catch : End Try
	Next
End Sub

Sub CopyEventsPropSet(ByVal CopyFrom As Document, ByRef CopyTo As Document)
	Dim oPropSet As Inventor.PropertySet = CopyFrom.PropertySets("{2C540830-0723-455E-A8E2-891722EB4C3E}")
	Try : CopyTo.PropertySets("{2C540830-0723-455E-A8E2-891722EB4C3E}").Delete() : Catch : End Try
	Dim newPropSet As Inventor.PropertySet = CopyTo.PropertySets.Add("_iLogicEventsRules", "{2C540830-0723-455E-A8E2-891722EB4C3E}")
	For Each prop As Inventor.Property In oPropSet
		newPropSet.Add(prop.Value, prop.Name, prop.PropId)
	Next
End Sub

 

Andrii Humeniuk - CAD Coordinator, Autodesk Certified Instructor

LinkedIn | My free Inventor Addin | My Repositories

Did you find this reply helpful ? If so please use the Accept as Solution/Like.

EESignature

Message 3 of 10

spanky
Contributor
Contributor

Any idea whats causing this? @Andrii_Humeniuk - I'm running 2023 version if that matters.

 

spanky_0-1691675115314.png

 

 

 

 

0 Likes
Message 4 of 10

WCrihfield
Mentor
Mentor

Hi @spanky.  It looks like the first line of code just needs to be updated like this:

Dim oInvApp As Inventor.Application = ThisApplication

 

  Whenever I hear about someone wanting to copy internal iLogic rules to a lot of other Inventor files in their file system, I cringe a little, because I went through some of that process early on (several years ago), and later had to clean all that up again.  Is this internal iLogic rule named "EXTENTS_MODEL" identical within all of those different documents?  If so, why not use a single external iLogic rule instead?  You may simply need to review how the external rule version specifies the document that it is supposed to be working on (usually with the 'ThisDoc.Document' phrase).  You can have external iLogic rules be triggered by events in the 'This Document' tab of the Event Triggers too.  You could also have the external rule triggered to run by one of the events on another tab, so that the Event Triggers of every individual file does not need to be modified.  If the external iLogic rule is triggered to run by events on another tab (not the This Document tab), you may then need to use the 'ThisDoc.Document' term, instead of the 'ThisApplication.ActiveDocument' term within your external rule to identify the document it is to work on, then include a little code to inspect that document to make sure it is one you want it to work on, before the code does its main task. 

 

If the internal iLogic rule contains some blue, unquoted parameter names as part of its triggering functionality, and you need to maintain that 'on specific parameter change' triggering functionality, but would like to use a single external iLogic rule otherwise, then what you could do is still maintain an internal iLogic rule, but simplify it down to a couple lines of code, then have it call the external rule to run, then the external rule will contain all the task specific code.  I have used this practice/tactic successfully for years, and it requires much less maintenance later on.  If the rule's code ever needs to be changed, it can be changed in one place to fix all critical functionality.  To make this work, the internal rule just needs a few 'dummy' variables (not actually used for anything) that are set = to the blue unquoted parameter names in its first lines, followed by a line of code which calls the external iLogic rule to run.  And if necessary, you can send some data (which could include the Document object variable itself as reference) from that internal rule to the external rule, to avoid any confusion.

 

Also, if any of your old files may already include some existing Event Triggers settings on their This Document tab, then you may want to avoid simply deleting the existing PropertySet holding those settings (which would also delete those settings), in favor of editing it to add that setting to the existing settings.

Wesley Crihfield

EESignature

(Not an Autodesk Employee)

0 Likes
Message 5 of 10

spanky
Contributor
Contributor

I had to duck just a bit, because that went really close over my head. I've had no experience calling External Rules automatically.

 

The thing is I actually have two rules - the first is "TOGGLEWORKFEATURES" which essentially hides all the work features in the part.

 

For Each oWorkPlane In ThisDoc.Document.ComponentDefinition.WorkPlanes
	oWorkPlane.Visible = False
Next

For Each oWorkAxis In ThisDoc.Document.ComponentDefinition.WorkAxes
	oWorkAxis.Visible = False
Next

For Each oWorkPoint In ThisDoc.Document.ComponentDefinition.WorkPoints
	oWorkPoint.Visible = False
Next

 

Then a second rule, "EXTENTS_MODEL" which gets the bounding box dimensions and assigns those to custom iprops.

 

	    iLogicVb.RunRule("TOGGLEWORKFEATURES")
		InventorVb.DocumentUpdate()
		SPECAdder = 0
		
		Smallest = Measure.ExtentsLength
		Middle = 0
		Largest = 0
		
		If Measure.ExtentsWidth > Measure.ExtentsLength Then
			Middle = Measure.ExtentsWidth
		Else
			Smallest = Measure.ExtentsWidth
			Middle = Measure.ExtentsLength
		End If
		
		If Measure.ExtentsHeight > Middle Then
			Largest = Measure.ExtentsHeight
		Else
			If Measure.ExtentsHeight > Smallest Then
				Largest = Middle
				Middle = Measure.ExtentsHeight
			Else
				Largest = Middle
				Middle = Smallest
				Smallest = Measure.ExtentsHeight
			End If
		End If
		
		Largest = Largest + SPECAdder
		
		'iProperties.Value("Project", "Stock Number") = Round(Largest, 1) & "x" & Round(Middle ,1) & "x" & Round(Smallest , 1) & " "

		iProperties.Value("Custom", "LENGTH") = Round(Largest, 3)
		iProperties.Value("Custom", "WIDTH") = Round(Middle, 3)
		iProperties.Value("Custom", "HEIGHT") = Round(Smallest, 3)
		
		iProperties.Value("Custom", "DIMENSIONS") = CStr(Round(Largest, 2)) + " X " + CStr(Round(Middle, 2)) + " X " + CStr(Round(Smallest, 2))
		
		iProperties.Value("Custom", "LENGTHMM") = iProperties.Value("Custom", "LENGTH") * 25.4
		iProperties.Value("Custom", "WIDTHMM") = iProperties.Value("Custom", "WIDTH") * 25.4
		iProperties.Value("Custom", "HEIGHTMM") = iProperties.Value("Custom", "HEIGHT") * 25.4

 

I wouldn't mind calling on an External Rule, but I have no clue as to how to do that. I do know the two rules above would need to be combined so it turned of the work features and then created the bounding box.

 

But currently, the Rule above is still throwing an error.

 

spanky_0-1691682115322.png

 

Sub Main
	Dim oInvApp As Inventor.Application = ThisApplication
	Dim oDoc As Document = oInvApp.ActiveDocument
	If Not TypeOf oDoc Is AssemblyDocument Then Exit Sub
	Dim oAsmDoc As AssemblyDocument = oDoc
	Dim oOccs As ComponentOccurrences = oAsmDoc.ComponentDefinition.Occurrences
	Dim oPBar As Inventor.ProgressBar = oInvApp.CreateProgressBar(False, oAsmDoc.AllReferencedDocuments.Count, "Copy rules...")
	Dim i As Integer = 1
	oPBar.Message = "Loading..."
	Dim oDocs As Documents = oInvApp.Documents
	Dim oPartDoc As Document = oDocs.Open("E:\Dropbox\02.00 XXXX BUSINESS\00.06 XXXX\MP-22.200 TEMPLATES\Standard.ipt", False) 'PartDocument
	Dim oSMDoc As Document = oDocs.Open("E:\Dropbox\02.00 XXXX BUSINESS\00.06 XXXX\MP-22.200 TEMPLATES\Sheet Metal.ipt", False) 'SheetMetalDocument
	Dim oADoc As Document = oDocs.Open("E:\Dropbox\02.00 XXXX BUSINESS\00.06 XXXX\MP-22.200 TEMPLATES\Standard.iam", False) 'AssemblyDocument
	Dim oFrameDoc As Document = oDocs.Open("E:\Dropbox\02.00 XXXX BUSINESS\00.06 XXXX\MP-22.200 TEMPLATES\Standard.ipt", False) 'Frame Generator PartDocument
	Dim oTM As Transaction = oInvApp.TransactionManager.StartTransaction(oAsmDoc, "CopyRulesFromTemplates")
	Call CopyRules(oADoc, oAsmDoc)
	Call CopyEventsPropSet(oADoc, oAsmDoc)
	For Each copyTo As Document In oAsmDoc.AllReferencedDocuments
		oPBar.Message = "Copy rules in document. Progress " & i & " of " & oAsmDoc.AllReferencedDocuments.Count & "."
		If oOccs.AllReferencedOccurrences(copyTo).Count > 0 Then
			If copyTo.IsModifiable Then
				If copyTo.DocumentType = DocumentTypeEnum.kAssemblyDocumentObject _
					AndAlso Not copyTo.DocumentInterests.HasInterest("{BB8FE430-83BF-418D-8DF9-9B323D3DB9B9}") _
					AndAlso Not copyTo.DocumentInterests.HasInterest("{AC211AE0-A7A5-4589-916D-81C529DA6D17}") Then 'AssemblyDocument
					Call CopyRules(oADoc, copyTo)
					Call CopyEventsPropSet(oADoc, copyTo)
				Else If copyTo.DocumentType = DocumentTypeEnum.kPartDocumentObject Then
					If copyTo.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" Then 'SheetMetalDocument
						Call CopyRules(oSMDoc, copyTo)
						Call CopyEventsPropSet(oSMDoc, copyTo)
					Else
						If copyTo.DocumentInterests.HasInterest("{AC211AE0-A7A5-4589-916D-81C529DA6D17}") Then 'Frame Generator PartDocument
							If Not copyTo.ComponentDefinition.BOMStructure = BOMStructureEnum.kPhantomBOMStructure Then
								Call CopyRules(oFrameDoc, copyTo)
								Call CopyEventsPropSet(oFrameDoc, copyTo)
							End If
						Else 'PartDocument
							Call CopyRules(oPartDoc, copyTo)
							Call CopyEventsPropSet(oPartDoc, copyTo)
						End If
					End If
				End If
			End If
		End If
		oPBar.UpdateProgress
		i += 1
	Next
	oTM.End()
	oPartDoc.Close()
	oSMDoc.Close()
	oADoc.Close()
	oFrameDoc.Close()
	oPBar.Close()
End Sub

Sub CopyRules(ByVal CopyFrom As Document, ByRef CopyTo As Document)
	iLogicVb.Automation.DeleteAllRules(CopyTo)
	For Each oRule As iLogicRule In iLogicVb.Automation.Rules(CopyFrom)
		Try : Dim oCopy As iLogicRule = iLogicVb.Automation.AddRule(CopyTo, oRule.Name, oRule.Text)
	Catch : End Try
	Next
End Sub

Sub CopyEventsPropSet(ByVal CopyFrom As Document, ByRef CopyTo As Document)
	Dim oPropSet As Inventor.PropertySet = CopyFrom.PropertySets("{2C540830-0723-455E-A8E2-891722EB4C3E}")
	Try : CopyTo.PropertySets("{2C540830-0723-455E-A8E2-891722EB4C3E}").Delete() : Catch : End Try
	Dim newPropSet As Inventor.PropertySet = CopyTo.PropertySets.Add("_iLogicEventsRules", "{2C540830-0723-455E-A8E2-891722EB4C3E}")
	For Each prop As Inventor.Property In oPropSet
		newPropSet.Add(prop.Value, prop.Name, prop.PropId)
	Next
End Sub

 

@WCrihfield @Andrii_Humeniuk 

0 Likes
Message 6 of 10

Andrii_Humeniuk
Advisor
Advisor

Replace the CopyRules() function with this one:

Sub CopyRules(ByVal CopyFrom As Document, ByRef CopyTo As Document)
	iLogicVb.Automation.DeleteAllRules(CopyTo)
	Try
		For Each oRule As iLogicRule In iLogicVb.Automation.Rules(CopyFrom)
			Dim oCopy As iLogicRule = iLogicVb.Automation.AddRule(CopyTo, oRule.Name, oRule.Text)	
		Next
	Catch : End Try
End Sub

 

Andrii Humeniuk - CAD Coordinator, Autodesk Certified Instructor

LinkedIn | My free Inventor Addin | My Repositories

Did you find this reply helpful ? If so please use the Accept as Solution/Like.

EESignature

0 Likes
Message 7 of 10

spanky
Contributor
Contributor

Almost there, and thank you for your help.

 

spanky_0-1691682823639.png

 

Sub Main
	Dim oInvApp As Inventor.Application = ThisApplication
	Dim oDoc As Document = oInvApp.ActiveDocument
	If Not TypeOf oDoc Is AssemblyDocument Then Exit Sub
	Dim oAsmDoc As AssemblyDocument = oDoc
	Dim oOccs As ComponentOccurrences = oAsmDoc.ComponentDefinition.Occurrences
	Dim oPBar As Inventor.ProgressBar = oInvApp.CreateProgressBar(False, oAsmDoc.AllReferencedDocuments.Count, "Copy rules...")
	Dim i As Integer = 1
	oPBar.Message = "Loading..."
	Dim oDocs As Documents = oInvApp.Documents
	Dim oPartDoc As Document = oDocs.Open("E:\Dropbox\02.00 XXXX BUSINESS\00.06 XXXX\MP-22.200 TEMPLATES\Standard.ipt", False) 'PartDocument
	Dim oSMDoc As Document = oDocs.Open("E:\Dropbox\02.00 XXXX BUSINESS\00.06 XXXX\MP-22.200 TEMPLATES\Sheet Metal.ipt", False) 'SheetMetalDocument
	Dim oADoc As Document = oDocs.Open("E:\Dropbox\02.00 XXXX BUSINESS\00.06 XXXX\MP-22.200 TEMPLATES\Standard.iam", False) 'AssemblyDocument
	Dim oFrameDoc As Document = oDocs.Open("E:\Dropbox\02.00 XXXX BUSINESS\00.06 XXXX\MP-22.200 TEMPLATES\Standard.ipt", False) 'Frame Generator PartDocument
	Dim oTM As Transaction = oInvApp.TransactionManager.StartTransaction(oAsmDoc, "CopyRulesFromTemplates")
	Call CopyRules(oADoc, oAsmDoc)
	Call CopyEventsPropSet(oADoc, oAsmDoc)
	For Each copyTo As Document In oAsmDoc.AllReferencedDocuments
		oPBar.Message = "Copy rules in document. Progress " & i & " of " & oAsmDoc.AllReferencedDocuments.Count & "."
		If oOccs.AllReferencedOccurrences(copyTo).Count > 0 Then
			If copyTo.IsModifiable Then
				If copyTo.DocumentType = DocumentTypeEnum.kAssemblyDocumentObject _
					AndAlso Not copyTo.DocumentInterests.HasInterest("{BB8FE430-83BF-418D-8DF9-9B323D3DB9B9}") _
					AndAlso Not copyTo.DocumentInterests.HasInterest("{AC211AE0-A7A5-4589-916D-81C529DA6D17}") Then 'AssemblyDocument
					Call CopyRules(oADoc, copyTo)
					Call CopyEventsPropSet(oADoc, copyTo)
				Else If copyTo.DocumentType = DocumentTypeEnum.kPartDocumentObject Then
					If copyTo.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" Then 'SheetMetalDocument
						Call CopyRules(oSMDoc, copyTo)
						Call CopyEventsPropSet(oSMDoc, copyTo)
					Else
						If copyTo.DocumentInterests.HasInterest("{AC211AE0-A7A5-4589-916D-81C529DA6D17}") Then 'Frame Generator PartDocument
							If Not copyTo.ComponentDefinition.BOMStructure = BOMStructureEnum.kPhantomBOMStructure Then
								Call CopyRules(oFrameDoc, copyTo)
								Call CopyEventsPropSet(oFrameDoc, copyTo)
							End If
						Else 'PartDocument
							Call CopyRules(oPartDoc, copyTo)
							Call CopyEventsPropSet(oPartDoc, copyTo)
						End If
					End If
				End If
			End If
		End If
		oPBar.UpdateProgress
		i += 1
	Next
	oTM.End()
	oPartDoc.Close()
	oSMDoc.Close()
	oADoc.Close()
	oFrameDoc.Close()
	oPBar.Close()
End Sub

Sub CopyRules(ByVal CopyFrom As Document, ByRef CopyTo As Document)
	iLogicVb.Automation.DeleteAllRules(CopyTo)
	Try
		For Each oRule As iLogicRule In iLogicVb.Automation.Rules(CopyFrom)
			Dim oCopy As iLogicRule = iLogicVb.Automation.AddRule(CopyTo, oRule.Name, oRule.Text)	
		Next
	Catch : End Try
End Sub

Sub CopyEventsPropSet(ByVal CopyFrom As Document, ByRef CopyTo As Document)
	Dim oPropSet As Inventor.PropertySet = CopyFrom.PropertySets("{2C540830-0723-455E-A8E2-891722EB4C3E}")
	Try : CopyTo.PropertySets("{2C540830-0723-455E-A8E2-891722EB4C3E}").Delete() : Catch : End Try
	Dim newPropSet As Inventor.PropertySet = CopyTo.PropertySets.Add("_iLogicEventsRules", "{2C540830-0723-455E-A8E2-891722EB4C3E}")
	For Each prop As Inventor.Property In oPropSet
		newPropSet.Add(prop.Value, prop.Name, prop.PropId)
	Next
End Sub

@Andrii_Humeniuk 

0 Likes
Message 8 of 10

Andrii_Humeniuk
Advisor
Advisor

This error is possible if there are no triggers in your template file that can be copied. A simple (temporary) solution might be to add a try-catch.

Here are two more logical methods for you to replace. I hope they will work, because unfortunately I don't have the opportunity to test them (I don't have Inventor at home).

Sub CopyRules(ByVal CopyFrom As Document, ByRef CopyTo As Document)
	Try : Dim oRules As iLogicRules In iLogicVb.Automation.Rules(CopyFrom) : Catch : Return : End Try
	iLogicVb.Automation.DeleteAllRules(CopyTo)
	For Each oRule As iLogicRule In oRules
		Dim oCopy As iLogicRule = iLogicVb.Automation.AddRule(CopyTo, oRule.Name, oRule.Text)	
	Next
End Sub

Sub CopyEventsPropSet(ByVal CopyFrom As Document, ByRef CopyTo As Document)
	Try : Dim oPropSet As Inventor.PropertySet = CopyFrom.PropertySets("{2C540830-0723-455E-A8E2-891722EB4C3E}") 
	Catch : Return : End Try
	Try : CopyTo.PropertySets("{2C540830-0723-455E-A8E2-891722EB4C3E}").Delete() : Catch : End Try
	Dim newPropSet As Inventor.PropertySet = CopyTo.PropertySets.Add("_iLogicEventsRules", "{2C540830-0723-455E-A8E2-891722EB4C3E}")
	For Each prop As Inventor.Property In oPropSet
		newPropSet.Add(prop.Value, prop.Name, prop.PropId)
	Next
End Sub

 

Andrii Humeniuk - CAD Coordinator, Autodesk Certified Instructor

LinkedIn | My free Inventor Addin | My Repositories

Did you find this reply helpful ? If so please use the Accept as Solution/Like.

EESignature

0 Likes
Message 9 of 10

WCrihfield
Mentor
Mentor
Accepted solution

What does the term "SPECAdder" mean in your rule named "EXTENTS_MODEL"?  Is that a blue, unquoted name of a parameter within that document?  I assume it represents a numerical value, since it is being used in a math scenario.  If it is a parameter, then are you using that as a means to cause that rule to be triggered to run when its value changes?

I just assumed for now that it is, because I was working on creating alternate external rules for you, just in case you decide to go that route at some point.  Attached are 3 text files.  Two of them or external rule versions of your two existing internal rules mentioned above.  Then the third text file is meant to be used as the simplified internal iLogic rule saved within the documents, which will call the other two external rules to run.

 

If you have not used external rules before, then you may first need to set some settings.  On the Tools tab, Options panel (may need to be expanded down), click on the iLogic Configuration tool.  In that dialog, add at least one directory to the 'External Rule Directories' area, using the '+' button.  Then specify which default external rule file extension you want to use.  Then copy those two external rule text files into that directory (or one of the existing directories), and rename the file extension to the chosen default, if needed.

 

Wesley Crihfield

EESignature

(Not an Autodesk Employee)

0 Likes
Message 10 of 10

ramesh_parjapatDBLNB
Observer
Observer

This is great..!!

0 Likes