Project Notes for Catenary Curves In FreeCAD



What is a Catenary Curve?


Catenary also known as chainette coming from the Latin "Catenaria" meaning“chain” describes a curve which sags under load along its length transferring this load equally to the two supports. In nature any freely hanging flexible string like material whether it being a chain, cable, spider silk etc assumes this shape if it is of uniform mass per unit along it's length.  In engineering we see this in overhead cables, chains or any long flexible connection between two points. 

The Challenge
At time of writing a curve of this description cannot be applied to modelling at a touch of a button, it will need some setup before. The only place I have seen this subject touched upon and solved is by use of the now defunct 'Animation WB' using animation paths as geometry.  My thoughts is that width aid of the Curves WB we can plot the points for the curves and then use the approximate curve or interpolate curve against these points to create a curve which can be used as a path in the draft workbench or the lattice2 workbench to attached arrays of objects to.  Well, that's my theory.  NOTE:  If anyone has a solution please let me know and I will link here.

R & D
To create these points in 3D space I am going to first simplify the problem into a number of steps.  From the challenge it is apparent that this is a mathematical problem requiring a equation to calculate each point in the curve, so we need some kind of python script to calculate each point in 3D space.  Simplify this even more lets first go to 2D space.

Taking this again and breaking this into steps I have set myself a number of goals to complete this challenge.

Phase 1

1. Manually create a number of points either draft or sketch points in 2D space and test this against the curves workbench to create this curve and make sure it can be used as a path.  There is no point in continuing if this step doesn't work.
2. Do the same but with a python script.
3. Find or figure out the code to create such a curve.  As this is a mathematical problem that has been solved for centuries then there is bound to be something out there even if I have to convert it from one language to another.
4. Roll this code into the macro to plot the curve.

Then Phase 2 is refinement.  I have a number of questions that I will leave here in the hopes of resolving.

*  Applying this to 3D space from the 2D solution.
*  What happens with a change of height of one of the supports?

Resources found so far:
The following link solves the code to calculate the curve I just need to convert this to FreeCAD macro:

https://codegolf.stackexchange.com/questions/37609/catenary-between-two-points-hanging-chain
https://blenderartists.org/t/catenary-script-for-shape-of-a-flexible-chain-suspended-by-its-ends/382187
https://gist.github.com/sketchpunk/cbfe82229234f5ccc58f6b2dd9fa98b0


Comments

Popular posts from this blog

Reference Images For Beginners FreeCAD: Exercise 5.1 & 5.2

Beginner FreeCAD Tutorial 14: Reference Document for Exercise 1

FreeCAD For Beginners: CAD Thinking Part 1