Inventor General Discussion

## Inventor General Discussion

Contributor
Posts: 20
Registered: ‎11-23-2013
Message 1 of 24 (527 Views)

# Equation driven curve - unit error

527 Views, 23 Replies
11-27-2013 07:42 AM

Hi there,

I would like to create an equation driven curve with inventor. I have no problems plotting the function in a plotter, however, inventor won't accept my equation. It gives me the error message, saying: "The equation contains unit errors". I'm using the explicit equations.

That's the bare equation:

"y=sqr(2)*16.5/2/sqr(pi)*sqr(arccos(1-2*x/50)-(sin(2*arccos(1-2*x/50))/2))"

I modified it, inserting variables which I defined also in inventor, leading to this:

"sqrt(2)*height/2/sqrt(PI)*sqrt(acos(1-2*t/length)-sin(2*acos(1-2*t/length))/2))"

But both equations are not accepted by inventor due to unit errors. In this design, I'm using the metric system, millimeters, so I don't understand why and how I have to redefine this for the equation in order to get it working.

Max

Valued Contributor
Posts: 62
Registered: ‎02-23-2009
Message 2 of 24 (521 Views)

# Re: Equation driven curve - unit error

11-27-2013 07:55 AM in reply to: 19112033
Beyond the fact that the equation has unmatched brackets, it could also be because of mixed units (if any).

This gives me an error (i.e. turns red) when I type it into a user defined parameter

sqrt(2 ul) * height / 2 ul / sqrt(PI) * sqrt(acos(1 ul - 2 ul * t / length) - sin(2 ul * acos(1 ul - 2 ul * t / length)) / 2 ul))

However, if you remove the last bracket, it works.

HTH

Not sure of what the equation represents -- might be easier to find the errors (and have someone else understand it) if you broke it down into subcomponents.
Contributor
Posts: 20
Registered: ‎11-23-2013
Message 3 of 24 (513 Views)

# Re: Equation driven curve - unit error

11-27-2013 08:18 AM in reply to: conklinjm

I'm quite new to Inventor and not familiar how the program handles equation. E.g. it's totally new for me to specify units in an equation.

BTW: I forgot a bracket in my first post, sorry about that.

Breaking the equation down into subcomponents:

First of all you have the first part, which works without problems:

sqrt(2)*16.5/2/sqrt(PI)

The second part is a bit more complex:

sqrt(acos(1-2*x/50)-(sin(2*acos(1-2*x/50))/2))

So let's break it down a little.

You have this element:

acos(1-2*x/50)

And you want to subtract the following:

(sin(2*acos(1-2*x/50))/2)

So you have this:

acos(1-2*x/50)-(sin(2*acos(1-2*x/50))/2)

Now you want to calculate the square root of this difference:

sqrt(acos(1-2*x/50)-(sin(2*acos(1-2*x/50))/2))

In the end, you multiply this part with the first, resulting in this:

sqrt(2)*16.5/2/sqrt(PI)*sqrt(acos(1-2*x/50)-(sin(2*acos(1-2*x/50))/2))

So, I hope you could grasp how this equation is build up.

Anyway, if I enter this equation, as is, into Inventor, i get the following error messages:

1: Cannot evaluate inverse cosine outside of the range [-1,+1]

2: Cannot evaluate square-root of zero or a negative number

Why can't Inventor calculate the square-root of zero? sqrt(0) is defined as zero.

There seems to be a problem with my equation, but I can't find it.

Thank you for your help so far,

Max

Valued Contributor
Posts: 62
Registered: ‎02-23-2009
Message 4 of 24 (503 Views)

# Re: Equation driven curve - unit error

11-27-2013 09:14 AM in reply to: 19112033
It probably comes down to a unit error ... try this.

sqrt(2 ul) * 16.5 in / 2 ul / sqrt(PI) * sqrt(acos(1 ul - 2 ul * x / 50 in) - ( sin(2 deg * acos(1 ul - 2 ul * x / 50 in)) / 2 in ))

Certain functions _require_ a specific type of unit for them to calculate correctly -- for example if x is expecting a unit of 'in' and is given '1 ul' it evaluates it as 0.393701" which is not anywhere near what the intent of the design. Best approach is to go function by function and verify that both the inputs and outputs have the expected units.

HTH
Contributor
Posts: 20
Registered: ‎11-23-2013
Message 5 of 24 (498 Views)

# Re: Equation driven curve - unit error

11-27-2013 09:42 AM in reply to: 19112033

Thank you for your help. Now we have eliminated the second error, but the first is preventing the curve to be drawn. There must be something wrong with the acos. But the strange thing is, that I can plot this function without problems in a plotter. Why not in Inventor?

Max

*Expert Elite*
Posts: 4,197
Registered: ‎04-27-2005
Message 6 of 24 (490 Views)

# Re: Equation driven curve - unit error

11-27-2013 10:18 AM in reply to: 19112033

19112033 wrote:

.........

sqrt(2)*16.5/2/sqrt(PI)

The second part is a bit more complex:

sqrt(acos(1-2*x/50)-(sin(2*acos(1-2*x/50))/2))

So let's break it down a little.

You have this element:

acos(1-2*x/50)

........

Thank you for your help so far,

Max

The reason that this does not work is because your units are not what Inventor expects them to be.  For instance, the equation acos(1-2*x/50).  Inventor expects the units of the input to be unitless and it will output this in degrees.  You can find the input and output in the help.  Search for "algebraic operators".  It should be close to the top of the list.

If you enter acos(1-2*x/50) as an equation, it will fail (x is also defined in the parameters in units (mm)).

In order to get it to work, multiple the length units by (1ul/1mm)

Kirk

*Expert Elite*
Posts: 4,197
Registered: ‎04-27-2005
Message 7 of 24 (485 Views)

# Re: Equation driven curve - unit error

11-27-2013 10:43 AM in reply to: 19112033

19112033 wrote:

Thank you for your help. Now we have eliminated the second error, but the first is preventing the curve to be drawn. There must be something wrong with the acos. But the strange thing is, that I can plot this function without problems in a plotter. Why not in Inventor?

Max

Now, I am thinking there is something wrong with the ACOS function also.  When I enter a simple equation in the equation curve, I get this error "Cannot perform division with a zero denominator".  There is NO zero in the denominator.

If I change the formula to a COS function, it works.

Kirk

Contributor
Posts: 20
Registered: ‎11-23-2013
Message 8 of 24 (478 Views)

# Re: Equation driven curve - unit error

11-27-2013 12:04 PM in reply to: 19112033

Well, if you insert your minimum value of x (which in your case is zero), then you have a denominator of zero. If you change your xmin value to one, it should work. Thats all very strange...

*Expert Elite*
Posts: 4,197
Registered: ‎04-27-2005
Message 9 of 24 (470 Views)

# Re: Equation driven curve - unit error

11-27-2013 12:44 PM in reply to: 19112033

In my equation y=ACOS (x/1mm), the denominator is always "1mm".  The numerator varies from 0 to 1.

If:

x=0... then the formula should be ACOS (0/1), which equals 90 deg.

x=1... then the formula should be ACOS (1/1), which equals 0 deg.

Employee
Posts: 115
Registered: ‎06-10-2004
Message 10 of 24 (455 Views)

# Re: Equation driven curve - unit error

11-27-2013 03:46 PM in reply to: karthur1

I looked into the ACOS issue.  Mathematically speaking, the arcsine and arccosine functions should take any input value from -1 to 1.  However, Inventor seems to take a value a little less than 1, such as 0.999999, but not 1 itself.  Attached is an Inventor 2013 part that shows an inverse cosine curve:

Once the tmin and tmax are changed to -1 and 1, respectively, Inventor shows an error message:

I'm logging a defect against the above issue in ACOS and ASIN.  Defect number is 1510653.

Glenn

Autodesk T-Splines Component Development
Announcements
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.
Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.