Import scale preset/controls please

Started by idesignstuff, March 14, 2012, 01:37:04 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

m2tts


KeyShot

You are right. I found the issue. KeyShot 3.1 ignores the previous transform if the scene is empty. I have created a new file keep_size2.bip with a hidden box. It will maintain the scale from SolidWorks. Please note that the library we use to import SolidWorks files scales everything to millimeters, so your model will likely come in huge. You can solve this by scaling it down by 0.001 to get it into meters.

m2tts

Hendrik,

That works after a fashion, but Keyshot will not allow an input of .001 for scale; the lowest it will go is .01.

Are you saying that KeyShot's units are meters? For a future fix, shouldn't that be an easy conversion when dealing with SW files to convert on import? Because your temporary file fix right now is actually not to scale if it's interpreting mm into meters. All values should then be multiplied by .001 on import to get the correct scale, which should then should be displayed as scale = 1.00

KeyShot

You can manually enter the small scale value. I just tried this, and on the models I tested 0.1 seemed like the right scale value. In terms of implementing this then the library we use to read SolidWorks file only recently gave us the ability to read the scale. Not all formats have a scale (for example obj), but I do think we can implement a solution where you can decide (as an expert) that your space is in meters, inches etc. and KeyShot will keep everything at the right scale for you.

m2tts

I could not enter the small scale value. When trying to type in 0.001 it defaults to 0.010.  What does happen is after saving the file and looking at the scale of the models, they are back to 1.00. I rescaled them to .1 (getting to .001 of the original) and then save again. On reopening they are now at scale = 1.00 again, as after the original import. The problem then is that (assuming you are using meters as the default units in KeyShot) you only have the ability to move models via the transform dialogs by tens of mm.

Don't understand about reading in the SW data and not being aware of scale. You've already said that they are in mm. Doesn't that mean something for importing data? How does an .obj file not have scale info? How does the file then know the relationship between vertices of the mesh? There are numbers in there and they must be consistent; they can't be arbitrary. This vertice is so many units xyz from this vertice. If you know the source of the units (SW mm, Alias, meters....) then you know the scale of the mesh and can interpret accordingly.

KeyShot

Perhaps, you can contact support, and we can get a discussion going on how we can get a good workflow that will work with your models. I do believe we can and should address this issue in 3.2

guest84672

@m2tts - please send my an example and explain exactly what is not working. This will be the easiest way for us to determine a solution.

Scale does work. Even when you import different tip files. When you import them, make sure "from previous" is checked. However, we found one issue that comes back to what m2tts has mentioned: if you enter 0.001 as a scale value, it jumps to 0.01. That needs to be fixed.

Also, we are looking at remembering the transforms at the subassembly level. You can replace entire subassemblies today. But you need to move each part into place individually. And that is indeed painful.

jhiker

I'm wondering what is the expected behaviour when combing BIP files and STP files?
For instance, here's a simple model of a valve which I did in Alibre.

First I exported the model as a BIP file
Second i exported the model as a STP file.

I then went to Keyshot ans 'opened' the BIP file. I then 'imported' the STP file into the current scene with coordinates from previous import..

This is the result. The highlighted part is what I see in the BIP file and the huge thing above it is what I get when I import the STP file. It's exactly the same valve - why are they not the same size?
Both show scale=1 in the project tab. Translation for the BIP shows as X=0/Y=0/Z=0 and for the STP X=0/Y=10.54/Z=-2.43

KeyShot

Alibre pre-scales the valve geometry before exporting it as a bip, so the geometry is not the same size as the step geometry when it is imported into KeyShot. If you always export models as bip then they will import with consistent scales.

Tim

This is something I have struggled with for multiple reasons.  The real importance is to allow for highly improved work flow between ANY import and subsequent imports/updates.  There is seldom a time where I have not went back and made additions, changes to my CAD setup and ended up re-doing most of my Keyshot work.   

Thanks


KeyShot

We are making this a priority. To make sure we understand the issue you are facing can you describe a typical workflow scenario that causes problems? Remember that the scale for any imported model is visible in the scene tree and if that scale is set to the same value for multiple objects (even from different imports) then they will be at the same scale.

m2tts

Quote from: KeyShot on March 16, 2012, 05:49:48 AM
Remember that the scale for any imported model is visible in the scene tree and if that scale is set to the same value for multiple objects (even from different imports) then they will be at the same scale.

Well the first thing that needs fixing is the issue of remembering transforms and scale. Right now it doesn't matter what you change the scale of an import to: it will read as the first value it was given automatically by KeyShot after you've saved the bib and reopened the file. Thus you have no way of scaling new imports to the same value you scaled the previous one.

guest84672

I am not sure I understand. It certainly remembers scale. One issue that we will address immediately is the issue you pointed out: when the original scale is 0.001, your new import comes in at a different scale, and you try to match the scale, you can enter 0.001 but it will snap to 0.01. The temporary fix for it it to go to the original import and adjust the scale to 0.01. Now both imports will match.

We are fixing this as we speak. As a next step we will look into remembering the transforms on the assembly level. Right now, all assembly transforms are propagated down to the part level. So in order to replace an assembly in a scene right now you would need to move all parts within the assembly individually, which is not fun.

Again, any examples will help just to make sure that we don't miss the mark here ....

Thanks,
Thomas

m2tts

Ok, I've now tried twice to post an example of Keyshot not remembering scale transforms, but the forum is not taking the post. the file is 30,000kb; under the 50,000kb limit. How do I get this bip to you?