The question is answered, right answer was accepted
does unity changes the scale of a cad model internally
Hi, I have taken a block from NX with uniform scaling of 1 meter and exported it in dxf format. when i imported the model to unity its scaling is 1000 times bigger than the original size. 1 mm block from NX is equal to unity cube with 1,1,1 scaling. As i know unity default measurement is in meters, but why 1 meter in NX is not equal to 1 meter in unity.
Why is this happening.
Thanks Jung Lee.
Answer by UnityCoach · Oct 29, 2018 at 01:39 PM
Because like you said, 1mm in NX equals 1 unit in Unity.
Unity doesn't have a Unit system. I unit can be anything, although it's better to use meters for Physics.
CAD softwares usually have a unit system, which allows you to tell what a unit is. So when an object is 1 unit large, the system knows it's a meter, a foot, a mm, etc.. Choosing the appropriate scale in a CAD software is important to have the best accuracy, because values in computing are floating points, and can only have so many digits before or after decimal separation. Using mm makes very little sense unless you work on small models with extreme accuracy. For architectural models, meter is usually the best fit.
Your DXF file is probably set in mm. Unless you can change this in your export settings, you should change your import settings with a scale factor of 0.001 so that it matches.
thanks for answering @UnityCoach . that is true. but question is different (why scale changes).
yesterday came to know that , in cad software's/drawings it uses nurbs to create a model and in game engines we use polygon structure.
even if we import a nurb to unity it converts it to polygon. in the conversion process it changes the scale of the model to 1000x.
Not all CAD softwares use NURBS, some do, most surface design tools do, but others use Solid $$anonymous$$odelling, which is different. In the end, it's all triangles in the graphics card. So all software do that conversion to display the model. That conversion usually happens when you export, not when you import, unless you choose a format that supports NURBS or Solid. DXF isn't the best format, it carries triangles, not sure about the scale.
Regarding the scale, it surely doesn't change. I don't know NX, but like AutoCad, 3dsmax and the like, it may have a "display/input" unit scale, and a file storing scale. The former can change anytime, the latter is better not to change.