Getting the BOM right when supressing parts

Getting the BOM right when supressing parts

peter
Contributor Contributor
404 Views
7 Replies
Message 1 of 8

Getting the BOM right when supressing parts

peter
Contributor
Contributor

Hiding parts, but getting the BOM right.
Im working on a small configuraor form. I got most working now, but one thing is still bugging me.
I am working on a Left/Right version of my assembly. This means that there ia a motor in a left/right version of my design. But It chall only be made with one. So one is supressed/hidden or whatewer.

How is this best done? Also so the BOM has the right version.

A solution that does not mess with levelofdetail would be preffered.

Peter


0 Likes
405 Views
7 Replies
Replies (7)
Message 2 of 8

A.Acheson
Mentor
Mentor

Replace  the occurrence each time for left and right would be my thoughts. Suppressing a part will automatically create a level of detail. 

If this solved a problem, please click (accept) as solution.‌‌‌‌
Or if this helped you, please, click (like)‌‌
Regards
Alan
0 Likes
Message 3 of 8

WCrihfield
Mentor
Mentor

You can set the BOMStructure of the one motor to 'Reference', and leave the other as 'Default'.  That will reduce Quantity in BOM (Structured & Parts Only views) from 2 to 1.  In Model Data view, one line item will likely become 2 line items (one line for referenced, one line for regular/default).  You can change the BOMStructure by right-clicking on the component, then choosing BOMStructure drop-down (there are also other ways, such as by code).

Wesley Crihfield

EESignature

(Not an Autodesk Employee)

0 Likes
Message 4 of 8

peter
Contributor
Contributor

Hi again

I have been fiddeling around with my configurator. Most things works fine, but I got a problem with a Left/Right(Boolean) value.

When changing the left/right (marked with red) it does not automatically update. I can change the value in the box above, and hit enter. Then it updates. Did I misss anything, or is it just the way it is?

Another thing. Is this the right way to solve a left/right configuration challenge? It works fine on my BOM, but Im not sure this is the most effective way. My real assembly will hold not a left/right version, but most likely 16 different motors where only one will be active. 

Any advice is highly apprecietd. Im new to this, but having a lot of fun.

Pete

peter_0-1649312392296.png

 

0 Likes
Message 5 of 8

WCrihfield
Mentor
Mentor

Hi @peter.  I see that the iLogic rule is a 'local' rule (saved within the document), as apposed to an external rule, but is the iLogic Form also a 'local' one (saved within the document), or is it a global iLogic Form?  When using a local form, you usually get instant reactions to the document when to changes happen in the form, but that is not the case when using a global form.  When using a global form, you need to 'apply' changes before they will be 'sent to' the document.  This may be the lag type behavior you are experiencing.  Also, in cases where there may be more than 2 options, I would recommend moving from a single boolean, to one boolean for each component that you want to control.  If the parameter is True, include it (turn its Visibility setting on, or turn suppressed off, or change state of its BOMStructure, or multiple of these options), but if the parameter is False, don't include it.  Also, to make it cleaner looking within your form when you have multiple True/False type controls, you can change their control type from a drop-down list to a CheckBox within the form.

Wesley Crihfield

EESignature

(Not an Autodesk Employee)

0 Likes
Message 6 of 8

peter
Contributor
Contributor

WCrihfield
The rule is Local.
A mate of mine found the error. 
I made my rule with:
Component.Visible((bla bla bla...) =True
Component.IsActive (bla bla bla...) =True

The order of these lines was wrong.
So simply changing the order around made it work.
I had no idea this could cause this problem.
I changed the form to Modal, and now it runs perfectly.
I think I got all the logic for my project now. So now its time to build the real deal instead of just a mockup.
Thanks for your help.
Pete

 

0 Likes
Message 7 of 8

WCrihfield
Mentor
Mentor

Good to hear @peter.  Also, keep in mind that the Component.IsActive() iLogic snippet actually controls component suppression, so it is a shortcut for the ComponentOccurrence.Suppress method and the ComponentOccurrence.UnSuppress method, which changes the value of the ComponentOccurrence.Suppressed property.  And suppression status is saved within the LODs (LevelOfDetailRepresentations) prior to 2022, then by the ModelStates after 2022.  So, you may simply be able to toggle back and forth between the two LOD's, or between no LOD and LOD1.  I think you may be able to link view representations (DesignViewRepresentations - saves visibility/color) and LOD's too, so that when you change LOD's, it also activates the associated view rep.  Just some options to think about.  Good luck in 'building the real deal'.

Wesley Crihfield

EESignature

(Not an Autodesk Employee)

0 Likes
Message 8 of 8

WCrihfield
Mentor
Mentor

Also, keep in mind that you can also use the BOMStructure property of components to control BOM quantities, instead of suppression, if you prefer.  It uses a value from the BOMStructureEnum as a value, so it is fairly intuitive.  This setting can also be controlled at the document level, within Document Settings (Tools tab > Options panel > Document Settings > Bill of Materials tab, top drop-down setting).  I often used a combination of view reps and BOMStructure settings to control my drawing views, BOM quantities, & parts lists in drawings, instead of using suppression and LOD's, but that's mostly personal and situational preference.  LOD's were originally meant to help performance in large assemblies, by not loading suppressed components into memory, but have been widely adapted for BOM quantity control over time.  Just some additional thoughts.

Wesley Crihfield

EESignature

(Not an Autodesk Employee)

0 Likes