I was working to ready 2013 for deployment next week hopefully and was just walking through my prep...
... I have moved a number of VBScript based Formula Properties from our Property Sets to the MvPart catalog. This looks to be working quite well and eliminated several very long VBScript formulas in the process. Now the key values I need come in when the mvparts are inserted into the drawing. One of the properties is a sort key (decimal size real number) I use this in a MEP Schedule to get the mvparts sorted as I want in the schedule. Another is a decimal value I use for an elevation calculation subtracted from LocationZ to get the elevation i want in the schedule.
The issue I see now is that while these values can't be edited in Properties Palette Extended Data Tab, I see that they can be edited in MvPart Modify dialog. They are table based values because I need them to be different for each part size... Is there a way I can prevent the user from editing these without setting their visiblity to false... or is this my only choice?
Whenever I try to change a custom field in one of my custom block based parts I always get an error message saying that "The desired part does not exist in the size needed in the current catalog and the part does not support custom sizing." To be clear, the only thing I am trying to change is one of the custom parameters. So I am not sure how you are able to change the information of a block based part when inserting it into your drawing.
The Custom Properties cannot be properties intended to change the part 'graphics / solids' itself, but only the data it carries to the drawing. As I said... the two properties I am using are LIST based. For each of the part sizes in the block based part... I have a different value assigned. I use the values to affect what I get when scheduling the parts. In this way I can shift the load of what I was doing with Select CASE VBScript statement keying on the part name to the MvPart catalog itself. The formula properties are much simpler than they were with the select CASE statements.
The DecSize value I use to sort the schedule in a better way and the ElevToBtmAdj field I use to subtract from LocationZ value to get the value I need to show in the schedule for correct field installation.
See the image I've uploaded.
FYI: By the way... Apparently I cannot set the property Visibility to false... If I do the value doesn't make it to the drawing. I tried but didn't pursue it past the first effort.
.......They are table based values.........
Ahhh!!! In your original post you said they were table based not list based. That makes a difference. If you can make them table based instead of list based then you will not be able to change them. They will be locked into the value you put into the table.
ooh... my bad.
When I do MvPart Modify I get access to... well... to a LIST. But the value in mvpart modify defaults to a dash when I edit one of the parts in the dwg... I can click it to drop it down... there are the values in a LIST... Makes complete sense they would be LIST based. But I just checked in the Parameter Configuration... to my suprise they are Table based.
The values of each part when I look at it in Extended Data tab of Properties Palette are what I assigned to them in the catalog.
Could I still be doing something wrong?
See two attached files... dwg and xml
that should be enough.
your thoughts would be appreciated!
I have several other 'hanger' parts of various kinds... all of them are the same in regards to property data and organization.
The Style based MvPart Property Set we have in our template with a few other properties I've added - where the much simpler formula properties are done.
This gives me a good reason to go ahead and install MEP 2013. Give me a little bit to double check after I have it installed but what i think is going on is that it is showing the list of avalable sizes/elevations/etc. Have you actually tried picking one? If it doesnt match up with the correct part then it should error out and say unable to create custom part. What I mean is that for a 30" hanger the ElevToBtmAdj is 4.31 but it shows a list of all of the available ElevToBtmAdj in the part. But you should only be able to select the one that is 4.31 because it is the one that goes with that part. When I choose a value other than 4.31 it will load up the size that goes with that part. Are you seeing this same behavior?
I cannot actually insert the part into my drawing until I install 2013 so I might see something different once that happens.