I have an iPart which includes iLogic Rule. When I change iPart by table, iLogic Rules are not triggered.
In iLogic Utilities, there is a button "Rules Triggered by Events", If I use "Any Model Parameter Change", the update need long time, looks like Inventor is "No Response". I like the way "Material Change", but I need "part Number" change to trigger the rules. How can I do it? I tried other events as After Open, Before Save, etc, they are does not work.
Is there a way to set the event trigger of an ilogic file that's already inside of a document? I have code that can automatically create and populate new rules across my assembly parts, but it would be nice to set certain rules to fire every time that part gets saved.
If it can't be accomplished outright from the API, would it be possible to throw an OnEvent (save event in this case) inside of the iLogic code, to get the same results? URL...
I'm making some ilogic code for my new drawing templates and I'd like run part of the code only when the rule is trigger by the "after open document" trigger. Is there a way to check which trigger started an iLogic rule or would I be stuck making a second rule which is only triggered by the "after open document" trigger?
I have a symbol that when I insert it into my dwg, I would like it to trigger a rule to create custom properties and fill out those properties. Ive already created a rule that is 100% working, I am just curious if its possible to have that rule triggered when I insert a specific symbol?
I'm trying to create a rule in ilogic that would search through all child components (looking for both .ipt and .iam file types) looking for an ilogic rule within each child component with a particular name, and running that rule if it is found.
I need a way to run a rule which is saved in my top-level assembly using iLogic rule which is saved in a part file in the parent assembly.
I have even tried using an external rule in a txt file, but that gives the error "Component: This function can only be used in an assembly." - which makes no sense to me. I hope I am just missing something simple. I cant believe with all its other strengths, that iLogic would be so limited in that regard. Why is there not simply a snippet under the 'Run Other' that allows you to specify an assembly file and the rule name? (like there is for running a rule in a component from the assembly)
I want to simply set a custom iproperty as the Description in each part file within my assembly. I can do this easily at part level with ilogic but I want to be able to run the rule from the assembly level and all the parts run the rule. I am struggling to find a way to do this.
I think this may be the best method I have found but I think it must be far easier?
I am working for customer with a simple item with his iLogic design. He has created a simple form to modify his iProperties. To modify the current material, a multi-value parameter was created and the following rule as a local rule;
He is now trying to make this an external rule but gets the following error
Error in rule: Mat2, in document: Mat2.iLogicVb iProperties.Material: is probably a bad material name.
The more info tab says:
System.ArgumentException: iProperties.Material: is probably a bad material name. at iLogic.CadPropertiesInRule.SetDocMaterial(Document doc, String matName) at LmiRuleScript.Main() at Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem) at iLogic.RuleEvalContainer.ExecRuleEval(String execRule)
I have a few assemblies setup that are controlled with a bunch of iLogic rules to modify all related parts when parameters are changed at the assembly level. I also have an opening message that pops up when the assembly model is opened (After Open Document trigger) to tell people how to use the parameters to make modifications.
Now, when this assembly model is placed into a drawing I am getting random pop ups of the opening message when placing views of additional models in the same drawing. If you open the drawing and try to place a base view of another model, Inventor stops to think for a minute or so before having the opening message of the iLogic controlled model pop up. The only event trigger for this message is "After Open Document" and the model is not being opened; why it is being triggered in the drawing and/or how to make it stop?
I am currently using a vb.net application to control inventor using the API code.The API code is used to delete/suppress unwanted occurances from parts and sub-assemblies, depending on what is selected in the external application. It then puts all the parts and sub-assemblies together into a final assembly.
Most of the parts contain iLogic rules, to control dimensions, and these have been set to trigger when the part file is opened.I have noticed that in my final assemblies some of the parts don't appear as they should, however if i close the final assembly and open the individual part it appears to be correct. If i then open the final assembly it looks fine.
I think this might be due to the iLogic rule being triggered when the part is opened.Is there any way to trigger the rules using the API code while the final assembly is open, instead of closing it down and opening all the component parts and sub-assemblies?Or should we set the rules to trigger on a parameter change?
I have a ipt which is controlled via an ilogic form,this form is opened by ilogic code, which in turn is triggered when the ipt is opened.
my problem is when the part is placed within an assembly the said form is triggered and the same happens when the assembly is reopened!.... I would prefer if the form opened only when the ipt is opened or edited....
Is there a snippet of code for this? Or is it even possible?
Is there any chance to define an event trigger which runs an iLogic rule when we check out an already open file? Problem is, that we need to synchronize iProperties on check out to clear "Approved by" when Vault State of Part is "under revision"
Vault Parameter "State" is mapped with iProperty "State".
I'm trying to find a way to trigger an "Add-Ins" button that we have customized, and have it pop up on the closing of a form. If you know a way to program how to close a form through iLogic, or find a way to see if it's still open
I'm not sure that I actually want to access the button per say, but instead launch the dialog box. I'm not sure if this differs your answer in any way, but I searched the customization forum and found little information.
I would like to know, whether is there is any ilogic option by which the Custom content center is triggered automatically to insert component in an assembly.
I want to create a rule that will warn the user when the plate thickness they are using is not standard. I have already created a multivalue parameter for plate thickness, which lists all standard steel plate thickness's and also allows for custom values.
I was hoping I could create a rule that would prompt a dialogue box warning when the user creates a custom value for plate thickness.
I know this can be done, but like I said, Im bloody useless with iLogic and find it hard to come across relevent examples and/or tutorials online.
i have an iLogic rule in serveral files. Now this rule has to be deleted. This should be done with VBA. I can not find any function to delete a rule using VBA.
I found a function iLogicAuto.RunRuleDirect(rule), but not iLogicAuto.DeleteRule(rule) ...
I have a rule setup for drawings. I need the rule to first determine if the there is a flat pattern view present. In other words, if there is no flat patter view, I want to the rule to stop.
I am very green to ilogic and VB. Running Inventor 2013.
I've caught glimpses of how to do this (For instance, this plugin (Inventor LinkParameters) [URL]...... when trying to actually find information on any documentation of how to get from point A to point B. I can't seem to find anything about ilogic automation / rule creation / ilogic in general, in the object browser at all.
I know code like this exists
Option ExplicitSub RuniLogicRule()Dim iLogicAuto As ObjectSet iLogicAuto = GetiLogicAddin(ThisApplication)If (iLogicAuto Is Nothing) Then Exit SubDim doc As DocumentSet doc = ThisApplication.ActiveDocumentDim ruleName As StringruleName = "Rule0"Dim rule As ObjectSet rule = iLogicAuto.GetRule(doc, "Rule0")If (rule Is Nothing) Then Call MsgBox("No rule named " & ruleName & " was found in the [code].......
(and even fixed the error it gave me due to the original code leaving something out) , but any info on the GetRule method is.
Is there any way to create a rule to create a substitute on my weldment files?
what I need is something like:
If this document file type is weldment then create shrinkwrap substitute, go to the file (substitute) read the custom iproperty "area" and write to this document custom iproperty "area for sand-blasting" activate LOD Master then delete substitute LOD.
The propose is for purchase department to know the area of the assembly (only the area of visible surfaces).
When i trying to create a new ilogic rule i get window with this error:
Spoiler (Highlight to read)System.InvalidCastException: Невозможно выполнить приведение [A]iLogic.CodeSnippets к [B]iLogic.CodeSnippets. Источником типа A является "Autodesk.iLogic, Version=17.0.13800.0, Culture=neutral, PublicKeyToken=null" в контексте "Default" в расположении "C:PROGRA~1AutodeskINVENT~1BinAutodesk.iLogic.dll". Источником типа B является "Autodesk.iLogic, Version=17.0.13800.0, Culture=neutral, PublicKeyToken=null" в контексте "LoadFrom" в расположении [code]..........
I would like to make an External Rule that would make an iLogic Internal Rule (with the same code every time). I guess what I really need is a way to drive an Ilogic rule into every part that does not have the rule in the part already.
I know what you’re thinking and just using the External Rule doesn’t work for what I want to do. I need it to be an iLogic Internal Rule.