Jswendell... It is 12:15 over here and I shouldn't be writing this but...
You say I did not even address your proposal. However I did write this, right before the sentence you keep quoting:
The reason that Alibre carries the units is that, this way you can have multiple units of the same type in the same equation. Even if you have set the units of a part to mm, Alibre can still accept a value of 2.125in in a dimension. Let's say that this D2. It will store it as 2.125in and the RESULT is going to be 53.975mm. Let us suppose a D1 value of 2.
Afterwards you can have an equation that calls for 3*D1+D2 and it would compute correctly to 59.975mm and not 8.125mm. If Alibre disregarded the units it would SERIOUSLY gimp the potential of the equation editor.
So, I gave you an example of what converting the values to float, doing the math, and
exporting it with the units of the desired result would cause. I gave you an example where, your method would return a value of 8.125 when the correct answer would be 59.975. Because, if you wanted Alibre to calculate that sqrt for you and export it with the units of the desired result, it's a completely equivalent operation to my example.
You also said that you might want to use just that value and there should be a "get" command. There is no need for that as long as you follow the math. That's what the
*1mm was in my P.S.2 comment. Do you want to use a Length variable as a scale value? Divide it by 1mm. What David, albie, and Harold where saying is a completely different problem which you did not encounter. It is the problem David describes in his (REPEATS - 1) example.
But you did not hit Alibre's dimensionality problem.
You also want Alibre to "translate" units for you.
Well, it does. That's why it flagged that error. Because it tried to translate the units for you, which I am assuming you mean perform the mathematical operations on them, and it came up with a result of square root of mm. That is what it got after it did the operations on the units. And it recognized that it is a physically impossible outcome.
Now, would you want Alibre to just plug the value it calculated from the float values of the other 2 parameters as the result of that sqrt expression you wrote? Did I understand that correctly?
What would be the steps Alibre should take algorithmically to calculate that particular square root without disregarding the units? And when would it use your "proposal" and when should it revert to doing the actual mathematical operations on the units? How would it distinguish between the 2 cases?
I also said:
P.S. This "problem" actually protects us sometimes by showing us that we haven't fully thought of something in our equation. I HAVE SEEN students make this exact error in huge extensive Excel spreadsheets and then can never debug it...
I meant that when the units of the numbers are not calculated along with the values, which is how Matlab and Excel works, I have seen students and occasional users of the software get it massively wrong. Because they think that the software has a concept of Units when it doesn't. Alibre, and most parametric CAD to be fair, DO have a concept of units. And error flags like the one you encountered save us a lot of trouble. Yours was a very simple operation but imagine something a lot more complicated. The error would increase dramatically without anyone being the wiser.
So, I did address it and prove it wrong. Because you basically want the units of the desired result to be added on to the final value. And when I said that you are designing for the real world
what I meant is this:
You D13 and D6 variables are not numbers.
They are lengths. The result of their subtraction is also a length. And the square root of a length, although a valid unit in physics, cannot be used to describe a length any more than a length can be used to describe an area. That's what I meant. Your expression was a physical impossibility. Not doable in the real world.
So, any method, reasoning, proposal, or algorithm that allows a physical impossibility to go through unchecked, reduces the potential of a parametric software and equates it with that of Matlab, Excel, and others. And these are indeed legacy, traditional and unevolved software. The ability of modern Parametric CAD to "translate" the units and catch these errors is the evolution in software and provides immense power to their user.
Now... All the rest about stupid, pissing, knowing or not knowing, is irrelevant.