Skip to main content
17-Peridot
March 14, 2014
Solved

Stripping units off variables

  • March 14, 2014
  • 3 replies
  • 2384 views

Hello y'all,

here's a snippet of a larger program. I'm trying to strip a variable of its units - or not if unnecessary.

Unfortunately, my routine doesn't catch the error and throws an error instead.

Does anybody has a suggestion how to do this?

Thanks in advance

Raiko

P.S.

I'm using MC15 V030 on a Win 7 machine.

Best answer by Werner_E

Raiko Milanovic wrote:

Danke Werner, gute Idee!

Ich habe trotzdem das Problem, daß ich dann die, Millimeter in meinem Fall, Variableneinheit sich auf die Grundeinheit skaliert - also Meter. Wie kann ich das in den Griff kriegen?

Ich fürchte leider gar nicht. Die Symbolik sieht bei einer Variablendeklaration noch die Einheit, mit der die Definition vorgenommen wurde, aber die Numerik skaliert immer auf die Grundeinheit .... UnitsOf(5 mm) = 1m.

Abhilfe kann höchstens schaffen in einer eigenen Variablen die gewünschte Grundeinheit mitzuschleppen und durch diese Variable (1 mm) zu dividieren.

3 replies

25-Diamond I
March 14, 2014

Don't use the if-statement.

Simply divide by UnitsOf(thick) in every case. It does not harm to divide by 1 😉

Raiko17-PeridotAuthor
17-Peridot
March 14, 2014

Danke Werner, gute Idee!

Ich habe trotzdem das Problem, daß ich dann die, Millimeter in meinem Fall, Variableneinheit sich auf die Grundeinheit skaliert - also Meter. Wie kann ich das in den Griff kriegen?

Gruß

Raiko

Werner_E25-Diamond IAnswer
25-Diamond I
March 14, 2014

Raiko Milanovic wrote:

Danke Werner, gute Idee!

Ich habe trotzdem das Problem, daß ich dann die, Millimeter in meinem Fall, Variableneinheit sich auf die Grundeinheit skaliert - also Meter. Wie kann ich das in den Griff kriegen?

Ich fürchte leider gar nicht. Die Symbolik sieht bei einer Variablendeklaration noch die Einheit, mit der die Definition vorgenommen wurde, aber die Numerik skaliert immer auf die Grundeinheit .... UnitsOf(5 mm) = 1m.

Abhilfe kann höchstens schaffen in einer eigenen Variablen die gewünschte Grundeinheit mitzuschleppen und durch diese Variable (1 mm) zu dividieren.

1-Visitor
March 14, 2014

I don't think you need the IF statement..

1-Visitor
March 14, 2014

Be careful with the units. Remember 'SiUnitsOf(z)' and 'UnitsOf(z)' return dimensions of z scaled to the default SI unit.

Raiko17-PeridotAuthor
17-Peridot
March 14, 2014

Thank you Mike. I just noticed the very fact you pointed out 😉

Any idea how to handle the scaling issue?

Raiko

1-Visitor
March 14, 2014

I have looked into this before and my 'lazy' answer is no. I did start to write a program to handle any unit but it became cubersome and I gave up. If I require to strip units, I tend to do it manually and hide in a collapsed area.