Community
Inventor Programming - iLogic, Macros, AddIns & Apprentice
Inventor iLogic, Macros, AddIns & Apprentice Forum. Share your knowledge, ask questions, and explore popular Inventor topics related to programming, creating add-ins, macros, working with the API or creating iLogic tools.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Level of detail and Parts List

27 REPLIES 27
SOLVED
Reply
Message 1 of 28
JimSteinmeyer
14960 Views, 27 Replies

Level of detail and Parts List

After cussing LODs for months I have decided to give in and see if I can make them work for me. I have an assembly that I am designing that has 3 possible options for manufacturing. Looks like a good place to use LODs to suppress items from the other options. Now I am attempting to make a drawing with a Parts List for one of the options but even with the components selected as referance and suppressed in the LOD shown in the drawing , all the components are showing in the Parts List. Short of setting the parts to suppressed or referance in the default or master LOD, what do I need to do to remove these parts from the parts list?

 

Thank you

Jim

Inventor Premium 2013 SP1.1
Vault 2013- plain vanilla version
HP G71 notebook
celeron cpu w\ 4gb RAM and 64 bit system
Win 7 home premium

Ya, my boss has me running my personal machine at work.
27 REPLIES 27
Message 2 of 28
jtylerbc
in reply to: JimSteinmeyer

Jim,

 

I think you need to be using View Representations rather than LOD.  Parts Lists have a Filter option for the Assembly View Represenation, but not for the LOD.

 

Also, just a warning on the View Rep filter - it will only take things out of the list that are completely gone in that view rep, and won't adjust quantities.

 

For example: you have View Reps A and B.  You have a part number 12345, of which there are a total of 5.  Two are in Rep A, three in Rep B.  Even with the filter on in the parts list, the list will show the total, which is 5.  Unless something has changed (haven't used the filters in any version later than 2010), the only way to correct the quantities is with a manual override in the parts list.

 

 

Message 3 of 28
cwhetten
in reply to: JimSteinmeyer

What jtylerbc said is just fine, but you have to deal with the limitations that he/she mentioned.  That said, you should be able to get it to work with LODs.  We have a model that has several options, and we use component suppression (through iLogic, so it also sets the suppressed components to Reference BOM structure) to control the various options.

 

BUT

 

The drawing parts list (and indeed the assembly BOM) doesn't know what LODs are.  It only knows the current state of the model.*

 

So, to get your parts list to show the way you want, you have to make sure your model is set to the correct LOD before you open the drawing.  If you don't, the parts list will just show whichever state your model is in, regardless of whichever LOD your drawing views are set to.

 

You didn't mention if you were using iLogic to control all of this, but it sounds like it would be a nightmare to control without it.  Note that the LOD doesn't keep track of the BOM structure of individual components, so if you are manually switching LODs between different options, you have to manually change the BOM structure of each component.

 

*I suspect that this is the underlying reason why there are so many conflicts with LODs when both the drawing and the model are open, and also with trying to edit the BOM on assemblies with LODs.

 

Edit:  For our multi-option model that I mentioned, we only use one LOD under which all of the component suppression takes place.  This makes dealing with the parts lists MUCH easier, as our model is always saved in the correct LOD.  We just have to open the model, set our options, save it, close it, then open the drawing and the parts list is correct.

Message 4 of 28
cwhetten
in reply to: JimSteinmeyer

Given what I said above, I hate dealing with the issues of LODs--conflicts between drawings and assemblies, and trying to edit the BOM when an LOD is active.

 

It has given us so much headache over the years, that we are considering alternatives.  We are investigating using view reps, but also using iLogic to set the BOM structure to reference for all invisible parts.  This gives the benefits of component suppression, without the LOD issues.  It might be a little extra coding, but it might be worth it.

 

Check out the following thread for more insight into this approach.

 

http://forums.autodesk.com/t5/Autodesk-Inventor/ILogic-help-needed/m-p/3606736#U3606736

Message 5 of 28
JimSteinmeyer
in reply to: cwhetten

WOW just WOW, just when I thought LODs might actually be useful and I could use them..

    I haven't had time to learn Ilogic and don't have the time to mess with it during our normal projects. I thought I bought a program where the programing was done for me, not one where I have to finish what was left undone.

     I am simply trying to give my employer a couple of semi-accurate options so he can decide which one he would like to persue and have me finish up. I would like to nat have to go back and rework every BOM I give him so that what is in the option is what shows in the parts list.

     I know these steps are fast and only take a little time but my boss does things on the back of a napkin and expects me to be almost as fast.

 

Thank you for your information guys, I was mistaken when I thought LODs were something that would be useful for me. I will have to look into view reps and see if I can get some benifit from them.

 

Jim

Inventor Premium 2013 SP1.1
Vault 2013- plain vanilla version
HP G71 notebook
celeron cpu w\ 4gb RAM and 64 bit system
Win 7 home premium

Ya, my boss has me running my personal machine at work.
Message 6 of 28
cwhetten
in reply to: JimSteinmeyer

Like jtylerbc said, view reps have NO effect on the quantities displayed in the parts list.  To use them effectively for what you described, you will also have to set the BOM structure of your hidden parts to reference.  And, like I said, this whole process would be much more manageable through iLogic.

 

A note of advice--learn iLogic.  If you work for short-sighted people who won't invest in training, then do it on your own time--it's completely worth it.  iLogic is by far the best feature added to Inventor since 3D.  It is extremely powerful, and your design work will be so much better and faster than ever.

Message 7 of 28
M_Halsmer
in reply to: JimSteinmeyer

Not sure if this will help, but you may want to look at iAssemblies...  The way this might work is that you set up a "master" assembly with everything in it, then you create your different versions with sets of parts surpressed.  I did a quick test for this (on IV 2009) and when you do drawings of the different versions, the BOM will show all the parts in the assembly.  However it will show a quantity of zero for the components in that assembly that are suppressed for that version.  I'm not sure if there is a way to filter these out of the BOM or not, but this may at least get you part of the way there.

Message 8 of 28

Hi JimSteinmeyer,

 

As mentioned above, the iAssembly tools are the correct choice for creating configurations. LOD's are intended for memory manangment.

 

With that in mind, try this:

 

  • Set your LOD active and then right-click on it and choose "Copy to View Rep"
  • Then set the newly created View Representation active.
  • Then use these steps to create a rule in iLogic:
  1. On the ribbon, click Manage tab > iLogic panel > Add Rule button.
  2. Name the new rule.
  3. In the rule text area of the Edit Rule dialog box, simply paste in the code below.
  4. Click OK to save and run this new rule.
' 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
'check for and skip virtual components
If Not TypeOf oOccurrence.Definition Is VirtualComponentDefinition Then
	'set BOM as default if the component is visible
	If Component.Visible(oOccurrence.Name) = True Then
	Component.InventorComponent(oOccurrence.Name).BOMStructure = _
	BOMStructureEnum.kDefaultBOMStructure
	'set BOM as reference if the component is not visible
	ElseIf Component.Visible(oOccurrence.Name) = False Then
	Component.InventorComponent(oOccurrence.Name).BOMStructure = _
	BOMStructureEnum.kReferenceBOMStructure
	End If
Else
End If
Next

 This will set the BOM structure so that the visible component occurences won't list in the BOM.

 

I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com

Message 9 of 28

OK OK, I will try to find the time to learn Ilogic. It will have to be on my own as I am at least a man short of being staffed at work but I will try to get at it.

Thank you for your help.

 

Curtis,

you never cease to amaize me with what you are able to do to help. Thank you my friend. I will give your programing a try and see if I can learn from it.

 

Jim

Inventor Premium 2013 SP1.1
Vault 2013- plain vanilla version
HP G71 notebook
celeron cpu w\ 4gb RAM and 64 bit system
Win 7 home premium

Ya, my boss has me running my personal machine at work.
Message 10 of 28
exSWX
in reply to: Curtis_Waguespack

Hi Curtis,

I tried your code as I have the same problem regarding the BOM.

I got this error message (attached)

Autodesk Inventor 2021
Intel Xeon W3520 @ 2.67GHz
Win 10 Pro
6.7 System Rating
NVIDIA Quadro FX 1800
Message 11 of 28
bructanner
in reply to: JimSteinmeyer

So I build tanks at work using inventor 2015. I would like to do a LOD for each side that includes the side sheet frame generated components that apply to that side and so on. But when creating a part list in a drawing of that side sheet it calls out all items, that’s fine. I balloon the items i want and just do balloon items only. The problem comes along when I balloon something from frame generator. say that side sheet only shows 3 side stiffeners ( like 2x2 angle ) but there’s 10 in the entire assembly, well in the qty it reads out as 10. is there anyway to be able to have only the LOD qty added or to get a BOM just for that LOD. I know you cant do it for LOD, im just saying LOD as thats what i have sheets broken down into now.

 

Please any help would be great

Thank you

Message 12 of 28
jtylerbc
in reply to: bructanner

As I mentioned earlier in the thread, if you use View Representations instead of LOD's you can use a filter to show a parts list that only includes parts visible in that LOD.  However, you already have that part covered with your "Ballooned" filter.

 

This method does not fix your quantity issue.  The View Representation filter will remove parts that have no instances visible from the list, but will not adjust quantities.  If there are 100 bolts in an assembly, and the View Rep only shows 1, you will still see 100 as the quantity in the parts list.

 

I'm not really sure you can get around this issue without splitting your tank up into subassemblies.

Message 13 of 28
swalton
in reply to: bructanner

As you have discovered, Inventor does not handle this workflow well. 

 

LODs are memory management tools, not configuration management tools.  You are finding the reasons that make using LODs to define assembly steps hard.

 

I haven't tested any of this, but if I had to make assembly steps I would use the iAssembly workflow.

 

Configuration management in Inventor is handled by iAssemblies.  As I understand it, Inventor will give you a correct Parts List for each iAssembly member on a print. I think that workflow will have fewer issues for you.

 

See http://help.autodesk.com/view/INVNTOR/2014/ENU/?guid=GUID-6E529299-CAB9-4F5C-B100-7901D877B83F 

 

Convert your design to an iAssembly and make a new member for each assembly step, plus a member for the finished assembly.

 

When you go to make your print, place the place the finished assembly member on the first page and add your parts list.  Then add a page for each assembly step and place the proper iAssembly member on that page.  Add a parts list pointing to that iAssembly member too.

 

You might try building a quick test assembly with a few components to see if the iAssembly method will come closer to your needs. 

 

If you have an existing drawing that you want to keep, try this:

Keep the LODs that you have now and add the iAssembly members as above.  Generate all the member assemblies and save them to disk.  Go to your drawing and place new Parts Lists. When you do, don't pick the view in the page to define the Parts List. Instead, use the file open button to navigate to the correct factory member on disk.  That should get you a Parts List that matches the LOD as long as the LOD from the iAssembly factory and the factory member assembly have the same components.

 

Steve Walton
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Inventor 2023
Vault Professional 2023
Message 14 of 28
waulloa
in reply to: Curtis_Waguespack

it doesn't work with frame members , What i can do?


@Curtis_Waguespack wrote:

Hi JimSteinmeyer,

 

As mentioned above, the iAssembly tools are the correct choice for creating configurations. LOD's are intended for memory manangment.

 

With that in mind, try this:

 

  • Set your LOD active and then right-click on it and choose "Copy to View Rep"
  • Then set the newly created View Representation active.
  • Then use these steps to create a rule in iLogic:
  1. On the ribbon, click Manage tab > iLogic panel > Add Rule button.
  2. Name the new rule.
  3. In the rule text area of the Edit Rule dialog box, simply paste in the code below.
  4. Click OK to save and run this new rule.
' 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
'check for and skip virtual components
If Not TypeOf oOccurrence.Definition Is VirtualComponentDefinition Then
	'set BOM as default if the component is visible
	If Component.Visible(oOccurrence.Name) = True Then
	Component.InventorComponent(oOccurrence.Name).BOMStructure = _
	BOMStructureEnum.kDefaultBOMStructure
	'set BOM as reference if the component is not visible
	ElseIf Component.Visible(oOccurrence.Name) = False Then
	Component.InventorComponent(oOccurrence.Name).BOMStructure = _
	BOMStructureEnum.kReferenceBOMStructure
	End If
Else
End If
Next

 This will set the BOM structure so that the visible component occurences won't list in the BOM.

 

I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com


 

Message 15 of 28
AVIDC2AC
in reply to: exSWX

Id like to add to this, I tried his ilogic code and got the same error, this post should be verified that or relabeled "Partially Solved", since the solution doesn't work for everyone.

Message 16 of 28
johnsonshiue
in reply to: AVIDC2AC

Hi! This is an old thread. Without getting into detail of the implementation, I would like to bring up some basics about LOD and PartsList. Inventor LOD was designed to be a memory management tool to overcome memory usage limit in 32-bit Windows. It unloads files to reduce memory footprint. However, the BOM table remains unchanged in any LOD, even if you unload a given component, it will remain on the BOM and show up in the PartsList.

There is a way to deduct the component from the BOM and the PartsList by making the component "Reference." You can manually do it or programmatically do it. iLogic IsActive() command automates the process. But, it does not change the fact that LOD does not alter BOM data. This approach only works if you export BOM table or PartsList as static data. If you have two LODs: Master vs Non-Master. You cannot have two BOM states or two different PartsLists at the same time. It is not supported yet.

The better approach here is to use Design View Rep. You can simply copy LOD to Design View Rep. Then activate LOD Master and activate the LOD converted Design View Rep. BOM data is still unaffected. But, in the PartsList, you can turn on Design View Rep Filter to deduct the invisible components from the PartsList. You can have as many Design View Reps as you want and each has a different PartsList.

Many thanks!

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Message 17 of 28
AVIDC2AC
in reply to: johnsonshiue

This would be great if it worked but I am not seeing any option for my design Rep available.

 

Steps I did to get this;

1. RMB "Copy to View Rep"

2. Activate "Master LOD"

3. Activate "Copied View Rep"

4. Save IAM file.

5. Open IDW then Go to BOM in IDW and RMB "Edit Parts List"

6. In Parts list window select "Filter Settings"

7. Click "Define Filter Item"

8. Select "Assembly View Representation"

9. Dialog box only offers 2 Design Reps shown in attached picture.

 

What step am I missing?

 

 

Message 18 of 28
johnsonshiue
in reply to: AVIDC2AC

Hi! You are using the right workflow. It should work. Try this. Make sure the assembly has been saved. Close the assembly and the drawing. Open the drawing by itself -> edit the drawing view -> select the desirable DVR, check the associative box, and set LOD to Master. Now edit the partslist and enable the filter.

I guess the drawing view was still referencing the custom LOD.

Many thanks!



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Message 19 of 28
AVIDC2AC
in reply to: johnsonshiue

Deleting the View Did the Trick, very odd that thats what stops the process.

 

Thanks for the Help Smiley Wink

Message 20 of 28
jaskiratVPK8U
in reply to: AVIDC2AC

I am also looking for the solution to get right BOM/parts list in the drawing by using different level of details. Looks like Inventor does not have capabilities (out of the box without ilogic)to get the right parts light of a LOD. I have used solidworks for 7 years and it has configurations (same as level of details) if you link the BOM/parts list to a particular configuration view in drawing it will show you the parts list of that configuration only in right order. This feature is very helpful to have one model with different options. 

I am observing that inventor left lot of standard features on ilogic and that makes it harder for people to migrate from autocad to inventor. In my new company I am the only one trying to use inventor, all other are still using autocad.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report