Community
Inventor Forum
Welcome to Autodesk’s Inventor Forums. Share your knowledge, ask questions, and explore popular Inventor topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iLogic workflow for suppressing / excluding components

34 REPLIES 34
SOLVED
Reply
Message 1 of 35
SteveX82
12045 Views, 34 Replies

iLogic workflow for suppressing / excluding components

I am working on an iLogic assembly configurator that manipulates several skeletal parts, and suppresses both standard and skeletal parts depending on the configuration.

 

I've been using the Component.IsActive function to suppress all omitted parts, which has prompted me to create a custom Level of Detail. This hasn't caused me much grief until I had completed ~10months of work when it was time for me to make my final assembly drawing and a parts list.

 

I am now running into several deal-breaking issues:

1) Suppressed parts insist on appearing on the Parts List.

2) Saving the assembly drawing reverts my assembly model to the "Master" LOD, which I never, ever, ever want to see again so long as I live.

 

Is there another workflow or technique that I should be using to turn off unwanted components in an assembly? I understand that LOD's are really intended to manage system resources, but Inventor users seem to be left with no other option to display a skeletal assembly in a certain configuration. What is the point of the Component.IsActive function if it doesn't update your assembly (at least so far as the Parts List is concerned)?

 

If I am left to deal with the nightmare that is the Inventor LOD, is there any way to set up the Parts List to reference the custom LOD?

 

Drawing View reps don't seem to be an option, as it looks like there is no way to automatically update the same custom view after the configuration has been made. The iAssembly Include/Exclude feature would handle part inclusion and BOM behavior nicely, but it won't fit into the rest of my iLogic and file management program.

 

Thanks for any suggestions you can provide,

Steve

34 REPLIES 34
Message 21 of 35
Shawn_79
in reply to: ChristinaForest

Is "TR" a parameter in the same assembly as the iLogic rule?  Typically the parameters will display as the color blue. 

 

As a test, insert the line of code

msgbox(TR)

and see what value the program thinks TR is.

 

If  TR is in a part or assembly other than where you are referencing it then you access it differently.  If this is the case look into:

Parameter("Part1:1", TR) = 1

or

Parameter(MakePath("SubAssem1:1", "Part1:1"), TR) = 1

 

-Shawn

 

 

Message 22 of 35
ChristinaForest
in reply to: Shawn_79

Thanks for your reply Shawn_79 🙂

 

I know for the blue color now 🙂

the Multivalue text parameter is not linkable???

Message 23 of 35
Shawn_79
in reply to: ChristinaForest

I do not use many multi value parameters, but I would not expect them to work differently from any other parameter.

 

Did msgbox(TR) return the an expected value?  If it returns blank then you may not be referencing the parameter "TR" correctly in your code.  Did you type "TR" or access it by double click from the parameter table in the top left of the iLogic editor?

Message 24 of 35
ChristinaForest
in reply to: Shawn_79

all work great now, suppress all i want, but my biggest problem is  all my text parameter is not linkable???

 

all my parameter is in my frame sketch but i see only a numeric parameter, all text parameter is not here???

 

😞

 

Thanks again Shawn_79 🙂

 

Message 25 of 35
Shawn_79
in reply to: ChristinaForest

Check out "Parameters Functions" for the iLogic help.  It will explain the various ways to access the parameters.

 

I have several text type parameters I access by code.  As an example I use Parameter("SKEL", "CoolingType") to reference CoolingType parameter in my skeleton part from an upper assembly.

 

-Shawn

Message 26 of 35
t.fransman
in reply to: SteveX82

 

I have been filtering the BOM by view rep for the drawings, which is fine. But the issue I have is that after I put several Ilogic assemblies together to make an arrangement and I create a new level of detail, and set the lod in the illogic assemblies as I go up  to the upper level assemblies the LOD does not display the components that are set in the selected LOD's it's so frustrating> i.e. I have a illogic assembly set to turn off a widget in the assembly. I put it in another assembly (My GA or arrangement), create a LOD there with same name (For GA) but in the upper assembly containing the assemblies set as (For GA) the stupid widget likes to come back, especially if I use paste to put more of the said assembly in the larger (GA) Assembly. WT(ugh). The items poited at with arrow are actually off in the lower level (rolled up ) assembly.

Message 27 of 35
MARCDOSSANTOS
in reply to: SteveX82

Sure hope I won't get yelled at for contributing to an old thread, but the last response is from earlier this year, so hopefully it's reset.

 

Is there no intent on the part of Autodesk to make suppression of parts make more logical sense for the workflow that I, and clearly others, use? I have a large assembly that can work for a variety of applications by turning parts on and off. Suppression seems like the most logical way to do this, and it should update the BOM for quantities as well. Like an earlier post mentioned, the iLogic isActive function does exactly what I want (suppresses and sets BOM structure to reference). Why can't the right click suppression do the same?

 

Maybe the solution is to make another state, similar to suppression, available in the right click menu. Perhaps right under "Suppress" could be another item for "Suppress and set to Reference".

 

Any thoughts on whether this could be implemented in a future version? Might there be a way to customize the right click menu or make a function that would accomplish this?

Message 28 of 35
swordmaster
in reply to: MARCDOSSANTOS

I agree with your request. I can think of no scenario where i would need to suppress a component and not have it's bill of material state set to reference.

You can of course right click on the component in the model tree a second time and set the state to reference, but you will forget sometimes its inevitable.

For the few occasions where i need to suppress a component that is not controlled by a ilogic rule. I create a rule i call miscallaneous suppression and list those components there for suppression

Inventor 2010 Certified Professional
Message 29 of 35
rjay75
in reply to: swordmaster

There are also scenarios where you may want to use suppression and levels of detail to 'simplify' the model so you can work on portions without other components visible or in the way. Especially if they are large components or you need to manipulate parts in the interior of the model. In these cases you don't want to exlude them from the BOM.

 

iLogic basically hijacked that workflow to make configurable so a lot of people are using it to control BOM visibility too. Though I admit, it would be nice to have an exclude option that hides the part visibly and from the BOM without removing it from the model.

Message 30 of 35
MARCDOSSANTOS
in reply to: rjay75

rjay75, based on the links in your signatures, it looks like you would probably know how to implement what I mentioned as an extra item in the right click dialog. Couldn't a macro or something like that be made with the command "suppress and set to reference", and then that macro be added to the right click menu, preferably right beneath the suppress command?

 

I had the thought to try to develop this myself, but I'm sure my code would end up much uglier than yours would.

Message 31 of 35

OK, that wasn't too hard. I just threw together this ugly code which accomplishes what I want, though I don't have it added to the right click dialog. I assigned it a key combination for my purposes, but I imagine someone could clean this up and make it more functional and robust (if you have nothing selected, you'll just get an error, and you can only select one item at a time)

 

Public Sub SuppAndRef()

Dim oSupp As ComponentOccurrence
Set oSupp = ThisApplication.ActiveDocument.SelectSet.Item(1)

oSupp.BOMStructure = kReferenceBOMStructure
oSupp.Suppress

End Sub

If anyone can help me to make this a command in the right click menu, I'd really appreciate it. I can see how to add it to the marking menu, but I'd hate to move things around in there. I think making it work for the entire selection (if you select multiple items) is probably pretty straightforward too, but I am no Inventor API VBA expert.

Message 32 of 35
rjay75
in reply to: MARCDOSSANTOS

If you have that written as a macro you can add it to the marking menu by right clicking on the ribbon and selecting Customize User Commands. You can then add it to the marking menu so it's an option when a standard component is selected in the assembly environment.

Message 33 of 35
MARCDOSSANTOS
in reply to: rjay75

Right, I knew about the marking menu. I'd much rather have it be in the right click dialog as another option below the current "suppress" command.

 

For now, I've linked it to "Ctrl-E" which works well for my purposes. Can anyone out there clean it up for error handling and make it able to act on multiple selections with one action?

Message 34 of 35
rjay75
in reply to: MARCDOSSANTOS

Message 35 of 35
t.fransman
in reply to: SteveX82

I have noticed parts that should be suppressed at times, and this is unacceptable, when using the suppress workflow. Also since the additional of filtering bom by view reps, I have decided to give up on the LOD, and just use view reps for everything at this time. Thanks you for all of the help. 

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

Post to forums  

Autodesk Design & Make Report