OK, I've got a working solution and while it would have been nice to have your specific part files, since I'm flying back to Michigan for the holidays tomorrow, I wanted to get you something that you could look at right now. So I got myself an generic model of a vise and worked with that.
So, to start with, forget about the KRX files as that will just not give you what you're looking for, the ability to add a vise to your assembly and immediately specify the opening of the jaw. And while you could technically do this with an Assembly, which is the direction I initially pointed you toward, I've come-up with something that is actually much more elegant.
First off, I assume that you're not in the business of designing and manufacturing vises, correct? That is, you don't really need a fully details assembly of a vise with all the internal pieces and parts, correct? So ideally all you need is a part file which has the same size and shape of the vise that you're going to purchase from someone, perhaps Reid Supply Company (which is where I got the model I used for this example), but which will still allow you to change the opening of the vise's jaw, correct?
So, that's what I've done, created a single peice-part model which faithfully represents a purchased machinery vise and made it so that the jaw could be positioned, using a single expression, to whatever opening that you desired. The model is not an Assembly but rather a 'Deformable Part' where the position of the jaw is what's movable, or in this case, is controlled by a Synchronous Modeling 'Distance' feature.
So to use this part simply add it to your Assembly, positioning it where you need it and then simply typing in the jaw opening distance. And once its part of your Assembly you can edit this distance anytime that you wish. Note that you could have several of these vises in your assembly each with a different jaw opening distance. And if you wanted to you could measure the 'width' of the part being held in the vise using a Measurement feature and then take the resulting Measurement expression and set the distance expression of the vise to be equal to this Measurement expression so that if the part changes in size the jaw will adjuat automatically. In fact, I've included a sample assembly where I've done just that. If you edit the 'Width' of the 'Test_Block' this will automatically reposition the jaw.
Now it it is true that I could have done this whole thing using an Assembly with the jaw as a Component and a distance constraint to control the opening, but then I would have had to override the constraint in the top level assembly. But since, and this is based on the assumption that you're simply using a purchased vise, it's simpler to use a single piece part which I could make a 'Deformable Part' from so that you would get exactly what you've looking for. So try it, open your assembly and add just the vise part as a Component and you will see how it will ask you for the jaw opening and how this will create an expression in the your assembly which can be edited to change the position of the jaw.
Let me know how this works for you.
John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
Siemens PLM:
UG/NX Museum:
To an Engineer, the glass is twice as big as it needs to be.