AutoCAD Inventor :: ILogic - Assembly Rule To Multiple BOMQuantity In Parts
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
ADVERTISEMENT
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
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
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
View Related
Aug 29, 2013
I have a three part question. First, I have an iLogic routine in an assembly that opens all the parts within the assembly, runs a particular rule, and then closes that part. Is there anyway I can get this to run in the background. I don't want my users to see all of my part files opening and closing.
Here is my
'assign path values in iproperties to be equaliProperties.Value("RD FLANGE:1","Custom", "FilePATH") = iProperties.Value("Custom", "FilePATH")Dim FilePATH As String = "FilePATH"customPropertySet = ThisDoc.Document.PropertySets.Item _("Inventor User Defined Properties")Try prop= customPropertySet.Item(FilePATH)Catch customPropertySet.Add("", FilePATH)End TryIf
[code].....
My second question is how do I add a routine that as the part files are opened checks to see if "MyRule" is there. If "MyRule" is not there add "MyRule" else if "MyRule" exist move on to the next part.
My third and final question is there anyway for my code to distinguish between standard parts and sheet metal parts. Basically, if the opened part is not a sheet metal part then I do not want "MyRule" to be inserted and I do not want "MyRule" to be run. I want it to move on to the next part within the assembly.
View 5 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
Aug 10, 2012
I made an Part with iLogic rules, let's call it "iLogicPart". The rules inside could create lot of different part by my input.
I want save the different parts to different name as "Part 1", "Part 2", etc. I used SaveAs to get them.
My question is: I want to delete all rules and parameters in the saved parts as "Part 1", "Part 2". And I have lot of features (the name is hard to track) which are inactive, I want to delete them at same time too.
I could manually do so, but I want to use rule to do so automatically.
View 9 Replies
View Related
Mar 5, 2013
I am trying to make an iLogic rule that gets mutliple strings from different places, and prints them to a user property in the Parts List.
My ultimate goal is to print the drawing number, sheet number and the item column value to the user property with the format being...
"XXXXX-X-X"
So far, i can get the drawing number from an iProperty and the sheet number easily. But im getting stumped on obtaining the item coloum value and printing it to the same row.
This is what i have so far...
Dim DWGNUM As String = iProperties.Value("custom", "DWG Number")
SheetNumber = Mid(ThisDoc.Document.ActiveSheet.Name, InStr(1, ThisDoc.Document.ActiveSheet.Name, ":") + 1)
MessageBox.Show(DWGNUM+"-"+SheetNumber, "DXF Number")
And print the message box output to a column in the parts list
View 7 Replies
View Related
Jul 2, 2013
I need an ilogic rule to autmoatically change the style of the parts list in a drawing file.The parts list style already exist in the drawing.
View 2 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
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
Feb 14, 2012
I have the need filter inside Vault the Inventor Drawings (.dwg/.idw) by its papersize.
In my testing enviroment, I created a iLogic rule inside a .idw with the following
iProperties.Value("Custom", "Formato") = ActiveSheet.Size
I used the Ruler Trigger "After Save Document" to refresh this rule.
In Vault, I've mapped this custom property:
But, how to Copy (and update) this iLogic Rule to the other existing .dwg files in Vault?
I thought the iLogic Design Copy would be able to do so, but it doesn't works in that way.
View 6 Replies
View Related
Jan 9, 2014
I would like to count all my parts in the main assembly and assign that amount to each part.
Example: Main assembly has: 10 Parts A and 5 Parts B. I would like to run a rule that "sends" that "10" to Part A.ipt and the "5" to Part B.ipt
I would like to assign it to iProperties.Status.Status. I start to understand iLogic more and more but it is nice to get a little boost in the right direction.
View 4 Replies
View Related
Feb 13, 2012
I have a iLogic assembly with some parts and sub assembly. I need to do a copy of this " Generator " to apply the result later in other assemblies. (something like a member of a ipart or i assembly).
Is there any way to do the copy the assembly to a new folder without the suppressed parts and subassemblies (wich are suppressed in the initial main assembly by iLogic rules)?
I tried to use "Pack and go" and "iLogic design copy", but they always bring the suppressed parts and assembly's, to the new folder and which i don't need to apply in the other assemblies.
View 1 Replies
View Related
Oct 31, 2013
How to use different configuration of parts made with iLogoc in assembly? I want to have equal part with different configuration. I have a problem with the equal files.How to use different configuration of an assembly made with iLogic in 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
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
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 19, 2012
Is there a way using ilogic,that when you select/highlight a part within an assembly and run the code that it will turn on the Origin planes only and also turn turn them off ?
View 5 Replies
View Related
Oct 14, 2011
I have a large assembly model made of many different parts. The last thing I want to do is "paint" it so I can make a drawing showing the different colors being used. My plan is to take the entire assembly and insert it into another assembly then just change the parts to the specific colors. I was wondering if there was a way to change the colors on multiple parts at once. Right now I right click the part go to iproperties and then go to occurence and choose the specific color. I know from using Solidworks that it works the opposite you click the color first and then all the parts that you want to be that color. It works out a lot quicker. If I select multiple parts the occurence tab in the properties is greyed out.
View 4 Replies
View Related
Apr 4, 2013
[URL]
I'm trying to move a bunch of unconstrained parts in an assembly. I want them to stay the same distance relative to each other so I want to move them all at once as a whole group. As the above thread states, when I use CTRL + left mouse button and select the desired parts, only one of the parts will move.
View 3 Replies
View Related
Dec 17, 2003
In an assembly with unconstrained parts, if you select multiple parts and drag the parts, only the first selected part moves.Is this just me?
View 3 Replies
View Related
Feb 7, 2013
Im working on a plastic enclosure, I needed to make a hole for a connector but this hole would cut into both the top and bottom of the enclosure. Normally when I edit parts in an assembly I just double click them, they become transparent and I can do all my edits. Since I need to make a hole that cuts into both parts, I just went to the 3D Model tab started a new sketch and extruded out the cut.
However doing it this way does not reflect the changes when the parts are opened on their own. Is there a way to have these changes trickle down to the part files?
View 9 Replies
View Related
Feb 15, 2013
My issue is we have Universal assemblies that never change. These assemblies are thousands of parts. (hardware gaskets other random assemblies.) this top level universal assembly never changes.
to increase time in layouts. we would like to create these universal assemblies into 1 sold part.
Is there a was to export an assembly into a single solid part.
View 1 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
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
Jun 26, 2012
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.
View 9 Replies
View Related
Jul 18, 2013
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.
View 2 Replies
View Related