AutoCAD Inventor :: Run Ilogic Rule In Each Part From The Assembly Via External Rule
Dec 6, 2011
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?
[URL].......
View 9 Replies
ADVERTISEMENT
Dec 9, 2011
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;
"MultiValue.List("MATLIST") = iProperties.Materials
iProperties.Material = MATLIST"
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)
View 2 Replies
View Related
Aug 2, 2013
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)
View 4 Replies
View Related
Apr 1, 2013
I`m looking for the iLogic code that can change one parameter (user defined) for each (ipt) part in assembly (iam)
The one below doesn`t work.
Sub Main Dim oApp As Inventor.Application = ThisApplication Dim oAssy As Inventor.AssemblyDocument = oApp.ActiveDocument For Each oSubDoc as Inventor.Document In oAssy.AllReferencedDocuments On Error Resume Next Parameter(oSubDoc, "FH") = 15.26 Next End Sub
View 5 Replies
View Related
Nov 17, 2011
I have a rule in the top assembly to update & want to run this as a final 'clean up' after various rules have run in sub assembly parts.
I have a rule within a part at the end of the line. I want this rule to goto the top assembly & run the 'Update' rule.
View 4 Replies
View Related
Jan 7, 2014
Is there a way to invoke the iLogic Rule Editor and pass it an existing rule name or external rule for editing?
View 4 Replies
View Related
Sep 26, 2011
Is there someway to launch an external iLogic rule with VBA?. I'd like to add a button to run the iLogic rule.
Inventor Pro 2013 (PDS Ultimate)
Vault Pro 2013
Windows 7 64
Xeon 2.4 Ghz 12GB
View 9 Replies
View Related
Oct 3, 2011
why this will not run as an external rule? It runs fine as an internal one.The error I get is object referance not set to an instance of an object?
'Updates rule when done
iLogicVb.UpdateWhenDone=True
'Creates input list dialog box & allows the user to choose the state
Product_Code=InputListBox("Enter Product Code", MultiValue.List("Product_Code"), Product_Code, Title :="Product Code", ListName :="Available Codes")
'Writes values to iProperty
iProperties.Value("Project", "Cost Center")=Product_Code
View 2 Replies
View Related
Oct 5, 2013
Created in the template sheet metal rule. Why External ilogic rule is not working? User-valued parameter is created, sheet metal rule does not change.
name = ""For Each par In ThisDoc.Document.ComponentDefinition.Parameters.UserParameters If par.Name = "SMR" Then name = par.Name Exit For End IfNextIf name = "" Then Dim MyArrayList As New ArrayList For Each st In ThisDoc.Document.ComponentDefinition.SheetMetalStyles MyArrayList.add(st.Name) Next ThisDoc.Document.ComponentDefinition.Parameters.UserParameters.AddByValue("SMR", "", UnitsTypeEnum.kTextUnits) MultiValue.List("SMR") = MyArrayList Parameter("SMR") = SheetMetal.GetActiveStyle()End IfSheetMetal.SetActiveStyle(Parameter("SMR"))iLogicVb.UpdateWhenDone =TruePS:
View 2 Replies
View Related
Jul 3, 2012
How to create external ilogic rule?
View 3 Replies
View Related
Sep 22, 2011
Is it possible to place an external iLogic rule under a specific Event Trigger in a file via the API?
Inventor Professional 2014 64 Bit
Windows 7 Professional
NVIDIA Quadro FX 4600
Dual Intel Xeon E5540 CPUs
16GB DDR3 Ram
View 2 Replies
View Related
Sep 6, 2012
I've made an External rule in Ilogic that must read a parameter value (Thickness) to set a value in a property (StockNumber).
The value is not written to the property by Using 'Select Case', see code. There is no error or something like that. So what am I doing wrong?
Tested in an internal rule, where Select Case = <Thickness> instead of Parameter ("Thickness") and that works fine.....
Select Case Parameter("Thickness")Case 2iProperties.Value("Project", "Stock Number")="686001"Case 4iProperties.Value("Project", "Stock Number")="686002"Case 3iProperties.Value("Project", "Stock Number")="686003"End SelectiLogicVb.UpdateWhenDone = True
View 2 Replies
View Related
Sep 17, 2012
I tried to read an environment with iLogic and to combine it with an external rule name and to pass the whole path over to iLogicVB.RunExternalRule.
StrPath = Environment.GetEnvironmentVariable("ILOGIC_DIR")ilogic_rule = "IPT__01_New_Document_EXT.iLogicVb"rule = StrPath & ilogic_rule'MessageBox.Show(rule, "iLogic Rule to execute")iLogicVb.RunExternalRule(rule)
The message box shows the correct path, but I allways receive a error massage:
'GetEnvironmentVariable' is not a member of 'Inventor.Environment'
View 3 Replies
View Related
Jan 6, 2014
My company has recently switched from the H drive to the G drive. This has resulted in a lot of old files still referring to the H drive where the External Ilogic rules used to be. I'm wondering if there's any automatic way to change that? Uploading a pic showing the event triggers as they are now.
Inventor 2014 Professional
Windows 7 Professional 64 bit
Intel Xeon E3-1240 @ 3.4 ghz
Nvidia Quadro 600
8.00 gb RAM
View 2 Replies
View Related
Aug 30, 2013
I need import all new params, rules and forms from a new template to older parts. I'm trying to use an external rule to create a new iproperties and import params from xml file but I can't assign these parameters with these iproperties.
I attach the code.
View 3 Replies
View Related
Apr 23, 2013
The setup is: I have a rule which first gets a number of user parameters via input boxes.This rule then runs a number of other rules, using:
iLogicVb.RunRule("Rule 1")iLogicVb.RunRule("Rule 2")iLogicVb.RunRule("Rule 3").Each of these rules control parameters, part/feature/constraint suppression etc. in the top level and subassemblies/parts based on the previously obtained user parameters.
All the rules have the 'Don't run automatically' option selected, so all should only run as intended when I manually run the first rule.When I run the first rule, I enter all the parameters, and the subsequent rules run.The problem is, the suppression states etc. in the subassemblies/parts do not update.
Looking at the parameters dialog box after the rules have run, all user parameters have updated with the new values.If I run the first rule again the subassemblies/parts update correctly.
It appears that the rules that control the suppression states etc. of the subassemblies run using the initial values of the user parameters, i.e. the values as they were before the user input is obtained, rather than the new values.This is confusing me, as the code is structured as follows:
user_parameter_1 = InputBox("User Parameter 1", "Input", "xx")user_parameter_2 = InputBox("User Parameter 2", "Input", "xx")iLogicVb.RunRule("Rule 1")iLogicVb.RunRule("Rule 2")
View 2 Replies
View Related
Oct 6, 2011
I Created an iLogic Rule that sets up some parameters.
I want to Automatically opens each and every Part in my assembly, run this Rule, and then save it without me having to do so manually.
View 8 Replies
View Related
Jun 17, 2013
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.
View 9 Replies
View Related
Oct 9, 2013
I have used Inventor for quite a while but never for much more than the odd 3D model.
I have recently created templates that allow me to use Inventor to create detailed fabrication drawings rather than relying on AutoCAD. But I have run across a question with regards to the BOM. Let me try and explain my issue.
I currently create assemblies for fabricated items. However, in the complete (or top level assembly) there may be multiple fabricated items (assemblies required). At the moment I create the BOM and manually edit the quantities required to reflect the number of assemblies (and resulting parts) that are required.
In my assembly file I created a parameter called "AssemNo" which is meant to reflect the number of assemblies required. In my part files I created a parameter called "AssemQty". I would insert the following iLogic code for each part in the assembly:
quantity - This.BOM.CalculateQuantity("Model Data", "PartNumber")*AssemNo
Parameter("Part Name:1", "AssemQty") = quantity
This works but it requires me to create that line of code for every part in my assembly. I know an iLogic code can be created to search an assembly and change parameters of all parts (see below as an example to copy Occurence name to iProperties >
' set a reference to the assembly component definintion.
' This assumes an assembly document is open.
Dim oAsmCompDef As AssemblyComponentDefinition
oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
'Iterate through all of the occurrences
Dim oOccurrence As ComponentOccurrence
For Each oOccurrence In oAsmCompDef.Occurrences
Dim oName As String
oName = oOccurrence.Name
iProperties.Value(oOccurrence.Name, "Project", "Part Number") = oName
MessageBox.Show(oOccurrence.Name, "iLogic")
Next
Can the two be combined?
View 3 Replies
View Related
Aug 15, 2012
iLogic rule that will retrieve a part number(s) from an excel sheet. I work for a company that built vacuum trucks and I'm trying to make an . I am template where the user can select different lengths of shells to achieve the desire overall length. I have been able to achieve this using iLogic rules and forms and making the shell length parameter multi value.
But now I need to show predetermined SAP part numbers for the shells in BOM or part list. I all ready have an excel sheet with shell sizes with corresponding part numbers on file. I also thought about incorporating our custom CC parts/shells that already have the SAP part numbers set up as a custom iProperty but might be to complicated for a newbie iLogic user.
View 9 Replies
View Related
Oct 16, 2013
I created an iLogic rule that allows in a sheet metal part to the informations Length, widht and area of a flat pattern. This rule run and the iproerties are created (see attachment file).
Now, I will run this rule from an assembly file to create automatically, in all sheet metal components, theses iproperties.
Is it possible ? what must I change in this rule ?
View 1 Replies
View Related
Oct 18, 2011
is it possible to rename the browser node on part level with an iLogic rule? I know that in the assembly environment is an Inventor OOTB functionality to rename the nodes to the filename, Part number or the default value.
Inventor Professional 2011
Windows 7 Enterprise 64bit
Dell Precision M4500
Intel(R) Core(TM) i7 CPU Q 820 @ 1.73GHz
8 GB RAM
View 2 Replies
View Related
Aug 21, 2012
I am trying to use iLogic to create the file types I need to give to my vendors once I have created a drawing.In the .idw file I have a rule that creates a .pdf file and .dwg file. I also want it to activate a rule I have in the .ipt file that creates a .dxf file.
trigger = iTrigger0oType=Left(ThisDoc.FileName(False),3)GoExcel.Open("S:DRAWINGSFolder Types.xlsx", "Sheet1")For rowPN = 1 To 200 If (GoExcel .CellValue("A" & rowPN) = oType) Then oFile = GoExcel.CellValue("C" & rowPN) Exit For End IfNextoFolder = "S:DRAWINGSNOT RELEASED" & oFileIf Not System.IO.Directory.Exists(oFolder) ThenSystem.IO.Directory.CreateDirectory(oFolder)End IfThisDoc.Document.SaveAs(oFolder & "" &
[code].....
View 5 Replies
View Related
Aug 19, 2013
how can I close an iLogic Form from either an iLogic Rule, or a VBA Rule (VBA is the Preferred method)?
View 5 Replies
View Related
Oct 28, 2013
I have an ilogic external rule which contains functions that I use from rules in my local assembly document. I'm trying to access the value of a parameter in the document from the external rule's function. Attached is a simple version of what I'm trying to do. If I manually run the external rule, it seems to work just fine, but when I call on the function from a seperate rule, its unable to get the parameter value. I get an error stating, "'Parameter' is not declared. It may be inaccessible due to its protection level."
'this is the external rule. if I run this manually, it works
Public Class test_functionsSub Mainmyresult = ""thisisatest(myresult)MsgBox(myresult)End SubFunction thisisatest(ByRef resultcreated As String)resultcreated = "it worked - " & Parameter("ParameterInDocument")End FunctionEnd Class
'this is my rule in the assembly document trying to use the external rule's function
AddVbFile "z_testrule.iLogicVb"Dim external_rule As New test_functionsmyresult = ""external_rule.thisisatest(myresult)MsgBox(myresult)
View 3 Replies
View Related
Jan 29, 2013
Is it possible to run an external rule in assembly occurrences?
You have RunRule in Component, But it does not seem to work with external rules
I referenced to occurrences and opened it using ThisApplication.Documents.Open(filepath, False)
Then i tried calling the same external rule. I thought it would run the external rule in the opened file,
but I ended up with a infinite loop on the main assembly.
Is there a way to run your rule in every occurrence with external?
View 2 Replies
View Related
Nov 26, 2013
Is there any way to pass an array from an internal rule to an external rule in iLogic?
View 2 Replies
View Related
Apr 18, 2012
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.
View 2 Replies
View Related
Oct 24, 2012
I'm currently using this rule for easy PDF making
SaveLoc = "C:Temp"FileName = ThisDoc.FileName(False)Revnr = " rev_" & iProperties.Value("Project", "Revision Number")PDFnaam = SaveLoc & FileName & RevnrThisDoc.Document.SaveAs(PDFnaam & (".pdf") , True)MessageBox.Show("PDF is aangemaakt in C:Temp", "Document creation",MessageBoxButtons.OK,MessageBoxIcon.Information)
The problem with this is that i want to save without lineweight? is there anyway to do this with this code?
View 2 Replies
View Related
Sep 5, 2012
I have an ilogic rule with multiple Subs. How could I run one specific sub contained in that rule from an iLogic form or another rule?
View 2 Replies
View Related
Jul 6, 2011
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 can not find any documentation for iLogic/VBA.
View 9 Replies
View Related