takes about 3-4 min to compute a 600mm curve, but is better than nothing
here are 2 solutions received on LinkedIn
Chris
Chris Holtorf
Retired Boeing Technical Designer
Hi,
If you have access to the Product Engineering Optimizer workbench try the following:
1. Put a point on your curve using "Ratio of curve length".
2. Create a Real parameter and then add a formula using Measures+Curvature. Select your curve and then select the point on the curve.
3. Go to Product Engineering Optimizer and select "Optimization".
4. For Optimization Type, select Minimization.
5. For the Optimized Parameter, select the Real parameter that measures the curvature.
6. For the Free Parameter, double click the point in the Spec tree and expand the point listing. Select the Ratio parameter under the point.
7. Run the Optimization. This will find your inflection point.
I've only tried this on curves with a single inflection point. I'm not sure what will happen if there is more than one inflection point.
Like
Reply privately
Flag as inappropriate
21 hours ago
Andras Eberfalvi
Andras
Andras Eberfalvi
Automotive Professional
Hi Ion,
Thanks for this difficult task. It took me several hours before I came up with an idea

.
My approach would be the following.
I'm thinking some kind of macro which contains the following steps:
- Creating 3 points on curve with ratio (initial 0, 0.01, 0.02)
- Creating 3 lines tangent to curve in each point
- Creating 2 planes with two lines (for the first two point, the first two lines for the first point)
- Creating 2 more lines (Point-Direction) using the first two point and the two planes
-Now you can create two additional lines or an axis system based on the the fist two points (as origin point) and the 4 lines created prior (as X and Y dir)
- Creating an intersection between the normal axis (Z axis) you can get the center of the osculating circle
- Measuring the distance between its center point and the first point you get the length of the radius
- The curvature could be computed by 1/length of the radius
Going through all points of the curve and monitoring the curvature you can detect the inflection points where the curvature is tending to 0 (e.g.: smaller than 0.005 mm-1).
The only problem is the last point (ratio 1.0) where you can't get the next point (1.01) to create the plane, but the last point if this is an open curve could't be an inflection point. Or you can use the previous plane I don't think it makes too much mistakes.
I'm not sure how time consuming is this, but I think it could work.
Please let me know if it helps or not I'm curious

.
Thanks
Andras
Thank you for reply's, i will try both solutions and i will compare the computing time. let the fastest solution win

As a side note, the final result will be used for this
Link.
When i will finish the code i will also make a short movie to show how it works