I am trying to make an iPart of a fitting where I can change the "Body type" and it will change all the parameters associated with that body type through iLogic. Really I am just playing around in iLogic to see if this is something worth learning. Back to the point, I would like to change a multi-value user text parameter through the iPart table but I cannot find the paramter in the parameters tab.
Since it is a user parameter I thought it would be in the "Other" folder but it isn't. I do however have the other multi-value user number parameter in that folder, which makes me think that maybe I can't use the paramter in the iParts table? Can anyone confirm or deny this?
Thanks
Solved! Go to Solution.
Solved by Curtis_Waguespack. Go to Solution.
Solved by StevenFeng. Go to Solution.
Yes, currently, Text parameters are not supported in iPart/iAssembly tables.
One method I have used, is to create an extrusion or emboss for each text value and supprss what's not needed for a particular ipart member.
Can be very tedious for a large number of ipart members.
Mike
Mike-
I find it humerous that you think I should do that. My inital design was to have the "BodyType" alter the suppression of certain extrudes. My work around was to have a numerical parameter 1-6 each number referencing a body type through iLogic. Not ideal and it makes my computer think for a while (which can be scarry).
@Anonymous wrote:Mike-
I find it humerous that you think I should do that. My inital design was to have the "BodyType" alter the suppression of certain extrudes. My work around was to have a numerical parameter 1-6 each number referencing a body type through iLogic. Not ideal and it makes my computer think for a while (which can be scarry).
I happen to agree, that it would be nice to have text parameters ore values that would change with the iPart member. I've wanted that feature for years. I only suggested a work-around and I don't have the luxury of iLogic.
I have to agree. We need to have this added. I am wanting to emboss the part number onto the part. I cant find any way to get the value from my ipart table into the sketch text.
K-
I know this isn't the best solution (Generally I've found out to keep ilogic and iparts seperate) but have you tried ilogic with a numeric parameter? Say a numeric parameter from 1-# of parts and the ilogic would be
if parameter = x then
textparameter = stringx
else if parameter = (x+1) then
textparameter = string(x+1)
...
end if
-Max
Not quite sure I follow you there. What I am wanting is to replace the text that is in my sketch with the value from the iproperties part number field.
as above, text parameters are not supported in ipart / iassemblies; however, you could use any other type of parameters - for example, you could create unitless user parameters that are visibile in Others of the ipart / i assembly - as long as you do not go over 10 digits and you set decimals to zero, you will be able to change the engraving by controlling this variable via the table - of course, this is a "creative" workaround but you may find use of it - the letters are somewhat static in my customers' part numbers - numbers differ - or you could wait until the ipart / iassy tables accept text type parameters
Marking this as a solution to highlight this related improvement idea (go vote! 😞
illogic ipart workaround attached, Inventor 2015 file
work around demo video:
https://knowledge.autodesk.com/community/screencast/db09241c-7e4f-45db-a500-7b896768f42e
Thanks a lot for this super trick
Can you clarify something that seem strange for me ?
If i'm right, the rule is not set with an event trigger.
However, when you change the family row member, it seems that the rule run automatically.
How it is possible ?
It seems it is because of the "Text_case" custom parameter linked in the iPart table and the rule...but i don't really understand this
Thanks by advance.
Thomas
Mechanical Designer / Inventor Professionnal 2025
@ThomasB44 wrote:
If i'm right, the rule is not set with an event trigger.
However, when you change the family row member, it seems that the rule run automatically.
How it is possible ?
Hi ThomasB44,
When working with internal rules, the way in which the parameter is called determines whether it is triggered automatically or not. Autodesk has not done a very good job of documenting this, so it's often overlooked.
But basically a parameter in blue text in an internal rule, will trigger the rule automatically when that parameter changes, assuming the rule's "Don't run automatically" option is not set, and by default it is not. External rules don't use the blue text.
So for example, the first version below will run automatically when the EngraveText_Index parameter is changed via the iPart table, where as the second version will not:
iLogicVb.UpdateWhenDone = True Select Case EngraveText_Index Case 1 Parameter("Engraved_Text") = "CAT" Case 2 Parameter("Engraved_Text") = "DOG" Case 3 Parameter("Engraved_Text") = "BIRD" Case 4 Parameter("Engraved_Text") = "MOUSE" End Select
iLogicVb.UpdateWhenDone = True Select Case Parameter("EngraveText_Index") Case 1 Parameter("Engraved_Text") = "CAT" Case 2 Parameter("Engraved_Text") = "DOG" Case 3 Parameter("Engraved_Text") = "BIRD" Case 4 Parameter("Engraved_Text") = "MOUSE" End Select
Most often I see this become important when we have a rule that calls a lot of parameters, and we want to control when it fires. So we make sure only a couple of parameters are called in blue.
I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com
Thanks a lot for explanations !
I haven't see yet the power these blue parameters !
It will be very useful, even if i often use external rules
Cheers
Thomas
Mechanical Designer / Inventor Professionnal 2025
@ThomasB44 wrote:
It will be very useful, even if i often use external rules
Hi ThomasB44,
I prefer to use external rules as well, but sometimes will create an internal rule something like the example below.
This creates a trigger for the external rule, using the change of the Length and Width parameters as the event.
The variable oTrigger does nothing, it's just used to "watch" the blue parameters.
I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com
oTrigger = Length oTrigger = Width iLogicVb.RunExternalRule("Create DXF")
It works very well !
I will consider this with my next iLogic rules.
Thanks,
Thomas
Mechanical Designer / Inventor Professionnal 2025
Hi Curtis, I realise this goes back quite a while - but it seems this works when dealing with the iPart itself, but not in an assembly.
When the iPart is inserted to an assembly as a member, the inserted member displays the value of the active row in the iPart factory.
Probably because the member strips out any iLogic rules in it?
Do you find this to be the same, or is it an issue just in 2017 and 2018? I haven't been able to test in 2015 or 2016.
Annoyingly I am finding the same thing, all good while editing the part but when you go to place it doesn't update.
I have tried...
both of the different ilogic update statements
generating all files and running the task scheduler over them to trigger any updates
adding the rule to the before save trigger, and iProperty change (glad this didn't work really as I feared this would cause problems with vault revision locking)
I should've read to the end of the thread before spending a day setting up a bunch of iparts to work in this manner
Can't find what you're looking for? Ask the community or share your knowledge.