ds-blue-logo
Preview  |  SOLIDWORKS USER FORUM
Use your SOLIDWORKS ID or 3DEXPERIENCE ID to log in.
HBHarold Brunt10/03/2009
I had posted a formula some time ago that allowed using the Equation Driven Curve Sketch Tool for generating a conic that could be controlled using the rho value. I'm not looking to rehash the value of having conics in SW but I am looking for any feedback about how I am using the tool and if anyone else is seeing the disparities that I am seeing. Here's my problem: I want to generate my conic surfaces using a formula but there seems to be a small (but to me significant) difference in the results depending on how I generate the curve.

To get to the point, I tried to confirm the formulas by creating a surface using a rho of 0 and then comparing the areas of the surface with the area of a like surface created using an arc and using a spline with fixed points (the Optis lens creation tool).

The formula's I used were:
y=(x^2/R)/(1+(1-(1+b)/(x/R)^2)^1/2)
and
y=(b^2*(x/R)^2-x2)^1/2)
where x = the start and end points, R = the radius and b = the conic constant (Rho). For my "test" I used a radius of 8.4mm, a diameter of 8.8mm (x 0, 4.4) and a Rho value of 0.
The calculated areas are:
65.68751533mm2 for the SW arc;
65.68479891mm2 for the Optis spline;
65.68423769mm2 for the first formula;
65.68423769mm2 for the second formula.
Like I said, not much difference but to me significant since Optis uses the surfaces to do the calculations for raytrace. When I contacted Optis about the differences they were able to confirm that the lens creation tool does create a surface that results in correct optical data when compared to Zemax (which does the calculations mathematically and displays the rays for reference only). Also something to consider in judging the difference as significant is that the curve is only a 4.4mm radius. We do design large hyperbolic reflectors once in a while so the disparity will only get worse. For now I have the Optis interface to use but I would like to better understand why the methods don't match up. Any ideas?