AutoCAD Inventor :: ILogic Comparing One List Against Another
Nov 15, 2013
It takes a list of Parameters and cycles through the assembly looking for parts with the same parameter names. It then copies the value of the parameter from the assembly down to the part.
It occured to be that this would be more efficient if I didn't have to manually create a list of parameters to compare.
What I'd like to do is create a list of all parameters in the assembly file that begin with the prefix 'A_', and compare this list against the parameter list held in each subassmbly and part file in the assembly, copying the values down as before.how to build the parameter list?
' set a reference to the assembly component definintion.' This assumes an assembly document is open.Dim oAsmCompDef As Assembly Component DefinitionoAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition'Iterate through all of the occurrencesDim oOccurrence As ComponentOccurrenceFor Each oOccurrence In oAsmCompDef.Occurrences'check for and skip virtual components'(in case a virtual component
Trying to have ilogic find parts in an assembly that start with 900C7 so I can link the to a cell in excel showing the QTY and the LENGTH..
Right now I am just trying to get ilogic to find and list them then I know I can move to the next step..
And many more.
Here is what I have but it keeps posting the NOTHING message box. I have a few of the parts in the assembly and a few none 900C7 parts.
Dim openDoc As Inventor.DocumentDim docFile As Inventor.DocumentDim assemblyDoc As AssemblyDocumentDim partOcc As ComponentOccurrenceDim FNamePos As LongDim docFName As StringDim oList As Collection = New CollectionopenDoc = ThisApplication.ActiveDocumentIf openDoc.DocumentType [Code] .....
Here is a screen shot of the excel file what I am trying.
Is there a way I can write some code, so that in idw, I can choose from two different text for "Description" in BOM table? My work place requires to show material information when it's a fabrication drawing, to show part description in assembly drawing in "Description" column.
At the moment, we just override material information (for example, 40x40x3 RHS) to part description (RHS Spreader). It's not very safe to do that. Most of the times, we just forget to change it.
Autodesk Inventor 2013 SP1.1 64-Bit Vista Business 64-Bit E8400, 8GB, ATI FireGL V5600
I have a section of code (see below) which runs a program which highlights a part/subassembly red, then gives the user a list dialgue box in order to easily replace the compent. At present, I have this code repeated for each part/subassembly in my main assemby (i.e. FRAME, POWER_RISER, BUSBAR_CHAMBER, BUSBAR_ASSEMBLY...).
Having the code repeated multiple times, means it is very time consuming to modify. I want to be able to generate a list then have the code below, run for each of the entries in the list. So I need something along the lines of
dim mylist as something mylist = FRAME, POWER_RISER, BUSBAR_CHAMBER, BUSBAR_ASSEMBLY... FOR each entry in mylist run all the code below (with the words 'BUSBAR_ASSEMBLY' replaced with 'mylist' END
Autodesk Inventor Professional 2011 Windows 7 Enterprise, 64-bit
I curently have a rule that generates a part list automatically in a drawing. the problem is that I want the rule to be continuisly running but it keeps generating 2,3,5... parts lists. I need an if statment to check if a parts list already exists.
iLogicVb.UpdateWhenDone = True On Error Resume Next ' Set a reference to the drawing document. ' This assumes a drawing document is active. Dim oDrawDoc As DrawingDocument oDrawDoc = ThisApplication.ActiveDocument 'Set a reference to the
im trying to programatically add a parts list into a drawing whilst programatically creating the drawing - the code works fine without the parts list code. The error its showing is 'Parameter incorect' on the line that sais PartsList.add(... In the past when ive got this error with other code it has been because ive used an incorrect parameter (e.g. decimal instead of an integer).
My error is somewhere inside the oPartsList.add(>>ERROR SOMEWHERE HERE<<<)
I am trying to populate a multi-value user parameter with a list composed of the various materials available from the iProperties "Physical" tab. So far I have this:
For Each material In iProperties.Materials Bracket_Material.Items.Add(material) Next iProperties.Material=Bracket_Material Running the Rule gets this error message: Rule Compile Errors in Material_Rule, in _Mounting_bracket.ipt
Error on Line 2 : 'Bracket_Material' is not declared. It may be inaccessible due to its protection level.
I think I am doing the "Bracket_Material.Items.Add(material) " line wrong, but I don't know enough VB to fix it. It seems to me it IS declared in the Parameters table - isn't adding the parameter to the parameter table sufficient to declare it?
Eventually I want to add the Bracket_Material Parameter to a form so the user can select material from drop down list and assign it to part.
I have got some ilogic code that i have patched together to sort my parts list in inventor which works great but it will not update all sheets at the same time as when we design we have multiple sheets with parts list on and the odd one without.
add to this code to update all sheets partlists and also recognise that some sheets will not have partslists on so this will need to skip.
Below are 2 rules that run in succession to create and save a parts list from a base view in a drawing.
I am now trying to set the parts list style to a custom style, ideally while creating the list.
Also, I have to manually go into the list to turn off visibility of certain items (based on material), does I can do this with Ilogic? I ask because these steps precede a rule that automates placing base views of all parts in the parts list. If I could get the style and visibility right, I could automate the entire process.
Looking for changing such a style with ilogic?
Inventor & Vault Pro 2012 Windows 7, 64bit Core i7 firstname.lastname@example.org 8GB
CREATE PARTS LIST____ ' Set a reference to the drawing document. ' This assumes a drawing document is active. Dim oDrawDoc As DrawingDocument oDrawDoc = ThisApplication.ActiveDocument 'Set a reference to the active sheet. [Code] .....
I am creating a drawing controlled by ilogic. The assembly can vary in size considerably so I have set the IDW to change between sheet size A3 and A2 accordingly using ilogic. However, when the sheet size is changed, the parts list stays in a static position.
Currently, the parts list is situated in the top right corner up against the title block and the border. So when changing from Size A3 to Size A2, the parts list ends up in the middle of the page. Is there anyway i can control the position of the parts list so it changes with the sheet size change?
I know I could simply move the partslist to the bottom left corner, which is a work around. However, I'd like to be able to keep the drawings in line with the company standard.
I am Trying to add the category Field to the parts list, if a sting exists in the field. I want to run this as a rule at the Drawing Level. I can check if there is a sting in the Category Field But not sure how to add this in the Parts List.
At my company when producing drawings for manufacture we require a sheet for any steel profiles to be cut!..We do this by selecting the assembly from base view,hitting model view tab, selecting presentation and choosing the relevant profile from the drop down!
Once the profile is placed, we highlight the view and hit the parts list tab which obviously creates a parts list, but for the whole assembly, we then have to edit the parts list by turning off the visibility of the lines of all the parts which are not relevant!!...as you can imagine this is quite a laborious task if you have 50 different profiles.
The reason for this is to show the qty, steel grade and part number to the suppliers. My question is, any code that will take the lines of the parts list that are not relevant to the selected view and turn the visibility of those lines off?
I was just wondering how to place a component into an assembly using ilogic? If this is possible, is there also an option to choose if iMates will be generated?
I would ideally like to place a list of components into an assembly, the list with probably exist in excel, then have iMates set to 'Automatically generate iMates on place' so that my assembly assembles automatically.
Inventor 2013 Certified Professional Autodesk Inventor Professional 2011 Windows 7 Enterprise, 64-bit
I already have a code below that will read a bunch of drawing filenames that will go into each drawing, save the drawing, (print the drawing but I have this disabled for now,) close it, then move onto the next one.
What I want to do is add reference brackets around every dimension on each drawing. I have managed to update part list styles before using ilogic but I am not sure if it is possible with dimensions.
question = MessageBox.Show("Are you sure you want to update multiple drawings? If so, make sure all drawings are checked out.", "Batch Drawing Update",MessageBoxButtons.YesNo,MessageBoxIcon.Question)
'set condition based on answer If question = vbNo Exit Sub End If
i = MessageBox.Show("Do you wish to Renumber & Sort BOM?", "My iLogic Dialog", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1) If i = vbyes ThenTrace.WriteLine ("INV - Transfer; User Selection; Do you wish to Renumber & Sort BOM? - YES")'Renumbers & Sort BOMoPartsList1.Renumber oPartsList1.SaveItemOverridesToBOMoPartsList1.Sort("ITEM") Trace.WriteLine ("INV-ExternalRule - Renumber & Sort BOM#")Else if i = vbno Trace.WriteLine ("INV - Transfer; User Selection; Do you wish to change Renumber & Sort BOM? - NO")End if
what i want to do, is renumber the BOM by (001) then go to part list and sort by item.
We will be doing some grading in a park with trees. Probably maximum depth or fill of 12 inches. The question has come up to be able to show cut and fill quantities as a visual shade of colors. I have a way to display cut and fill ticks and it will give me the value, but that's not what they want. I change the cut ticks to red and the fill ticks to green. What is the best way to represent this like when you turn on slope percentages and assign different colors. but I want like 0-2" fill to be red, 2" - 4" to be green, etc.