View Full Version : Scale Units Problem?

04-28-2004, 05:22 AM
Can anyone help..?

In lightwave I'm building a 3d room to realistic measurements for a 3d engine.

What I guess I need is a generic unit of measurement that does not change name/denomination as it increases.

- i.e. move from 1cm to 1m to 1km
- but stay as 1cm to 100cm to 1000000cm

What happens is on export of a 100cm cube, it becomes 1m in Lightwave then imports into the engine with a value of 1cm.

I would like to avoid scaling in LW [keep real measurements and sanity] and avoid scaling in the engine [collision problems].

Its a small, but extremely annoying problem that effects workflow, and means when scaling I end up re-checking and comparing results from different settings.

Any help would be appreciated...

04-28-2004, 05:49 AM
Try using this script I wrote.

Very simple:

1) Pick two points on your model you _know_ the dimension of
in real life

2) Run the script

3) Enter the _real_ dimension


It will now scale everything in proporation (assuming you left Scale X,Y,Z ticked) to make the dimension the correct value.

Hope that helps.


Here's the thread where I posted the script.


04-28-2004, 05:52 AM
Just read your post again, actually you're asking something totally different from what I thought, sorry!

04-28-2004, 07:13 AM
Just press d in Modeler and go to the Units tab. Does that not solve your problems?


04-28-2004, 10:33 AM

what I need is a unit measurement that does not change name...

1 unit 100 units 1000 units etc
think of a measurement like pixels
1px 100px 1000px

Lightwave goes
1cm 1m 1k

Which means if I export a 1cm or 1m or 1k cube, it will become the same size in the engine, 1unit...

04-28-2004, 10:53 AM
Erm, I don't get it to be frank. Internally LW uses metres as the unit of measurement, i.e. 1m = 1, 1cm = 0.01, 1mm = 0.001.

If you want something to be 1 unit large in your engine, model it one metre large.
If you want it 10 units, make it 10metres.

Mike :confused:

04-28-2004, 02:43 PM
nearly there...

Basically I would like to work with 100 units = 100cm in my engine
Lightwave therefore would have to use 100cm = 100units
Whereas it currently changes 100 cm to 1 m which equals 1 unit in the engine.

Most engines do not seem to register systems of measurement, do not understand that 1m is 100cm. They just take the number value of 1 instead of 100.

Therefore can Lightwave use a measurement system that does not change name and value as it gets larger - eg uses cm for every measurement, 1cm 100cm 200cm 300cm instead of 1cm 1m 1.2m 1.3m..?

I wish to avoid scaling if possible but currently Lightwave measurements mean that the engine program is dealing with lots of small decimal figures making the job a bit of a mind bender...
ie its a lot easier [for me] to work with multiples of 10 than 0.1 when it get complex...

04-28-2004, 06:24 PM
Try the Lscript forum, if you explain the problem you might find some kind soul who can help you out with a custom script. That's of course if it's possible to do.

04-28-2004, 07:38 PM
If I remember right the units can be entered mathmatically. There fore you could enter in 100cm as 10m*10 or 1*100 which is what you want 1 unit=100cm. This way 1 unit = 1m. Make your design using 1 meter scale then when done resize to 100cm scale.

04-29-2004, 01:14 AM
Well, in that case work with meters and scale all vertices on import in your engine (I assume that you code the engine and the importer as well). Seems to be the easiest way.


04-29-2004, 01:53 AM
Just out of curiosity what engine are you useing?

04-29-2004, 04:28 AM
Thanks for the replies. Getting closer...

I was wrong on one aspect, a 1cm 1m 1km is now importing to different sizes. I need Lightwave to totally ignore the measurement system and produce a numeric value of 220 instead of 2.2m for export [and avoid scaling, causes other issues down the pipeline]

04-29-2004, 04:34 AM
LW _is_ totally ignoring it.
1m = 1.0 internally. The units you see are just the external representation.

So 1cm = 0.01 - internally.

I somehow have the feeling you're not used to using the metric/SI system, are you? ;)


04-29-2004, 07:31 AM
Cheers for help Lightwolf

The difficulting is not within Lightwave, I 've had no problem using the measuremnent system for modeling [its great], its the export.

Let me explain people...

Two ways to measure an object:
1: Using a measurement system like metric, where sizes increase using denominations eg 1cm, 1m, 100m, 1km
2: A pure numeric system where there are no denominations, sizes increase from 1,100,1000,10000,etc

A pure numeric system would export 120 as 120, whereas the metric system changes 120cm to 1.2m and export as 1.2.[in Lightwave]

In Cinema 4d, choose cms and ALL the measurements are in cms.
I guess I'm asking is there a way of changing the internal numeric values within Lightwave..? [need to avoid scaling if possible]

[think I'm gonna give up, thanks anyway]

04-29-2004, 08:39 AM
Now we're getting closer :)
No you can't ;)

It would actually be a pain for developers if you could, it would make many operations more difficult from the programming side if you not only had one value, but also a unit(->mulitiplier) that goes with it.


04-29-2004, 09:07 AM
What format are you exporting?

04-29-2004, 10:11 AM
Cheers, thanks for your patience Lightwolf

04-29-2004, 10:17 AM
I'm exporting .lwo files, then into Gile[S], then exported to .dbo.
-I'm new to Gile[S], good for quick testing, I will hunt around for scale import settings tonight-

04-29-2004, 09:30 PM
You know when creating objects you don't have to follow the cm and m rules of LW. If you want 120cm type in 120m then when your object is done rescale your object in the engine you are using.

04-30-2004, 06:46 AM
yeah I was trying to avoid that, the work is based on realworld sizes, and I get confused easily [simple I know, but I'm dealing with between 2 or 3 different scales in other apps at the same time].

Best I've managed so far:
Lightwave cube 1m
Gile[s] scale by 10 [1m =10 units here]
engine now has 1m = 1u [better than dealing with 0.1]

Still testing 3 different environment scales in the engine, and Giles[s] which all behave differently, which I guess means hunting backwards for various settings and defaults in each app.... never ending.