### A plugin to create parametric catenary curves, by Paolo Marcuccetti ©2024

# Catenary Curve for Vectorworks®

With this plugin you can create parametric catenary curves

This plugin creates a parametric catenary curve out of a 2D line

Once installed and placed in a palette (see installation notes), you can click on the icon and start drawing.

The plugin is a *line object* plugin.

Start in plane view with a click (first point) then drag and release the mouse (end point).

In this way you set the two ends of the catenary and the object is created.

- Here you set the dZ values of the two points:
**dZ point 1**and**dZ Point 2** **Direction**: here you can choose to draw the catenary**downward**(like a hanging chain or rope) or**upward**like the Gateway Arch in St. Louis, Missouri, United States**Method**: you can set the chain length or the sag. The sag is meant as the distance from ground to the lower (in downward catenary) or to the higher (in upward direction) inflection point.**Chain Length**: enabled in*By Length*mode.

This allow to set a chain length. If the length is too short (minor of the two points distance), an alert is presented and the minimum length is set automatically.**dZ Sag**: enabled in*By Sag*and*Downward*mode.

This allow to set a sag value. If the value is higher than the lower**dZ**of the two points, an alert is presented and the maximum allowed value is set automatically.**dZ Rise**: enabled in*By Sag*and*Upward*mode.

This allow to set a rise value. If the value is lower than the higher**dZ**of the two points, an alert is presented and the minimum allowed value is set automatically.**Precision**: here you can set to be more precise on the curve calculation, see technical notes below.**Segments**: the curve is composed of segments of equal length. The minimum number is 2, but to achieve a better fit of the curve, it is preferable to choose a segmentation value of 50 or higher.**Calculation time**: this is an indicator showing the time needed for calculations. The time is higher when curve is heavily bended and also when precision / segments values are set.

**Note:** the plugin provides also a couple of buttons to extract the curve as 2D or 3D curve.

**𝑦 = 𝑎 cosh (𝑥/𝑎)**

The curve obtained with this plugin is constituted of a number of straight segments of equal lengths.

The segments may vary from a minimum of two to thousands, it's up to you. You can achieve good results with 50/100 segments.

When extracting the curve (see buttons in the OIP) you get a 2D or 3D polygon and not a curve (Bezier, spline or arc).

This is mainly due to the fact that existing curve types in Vectorworks® (splines, Beziers, arcs) do not perfectly fit the catenary curvature function, especially in particular cases (high sag / rise values), so It has been decided to produce a more trusted curve that is not really a curved polyline, but a polygon.

You can test it by yourself, extracting the 2D curve and rounding the obtained polygon into splines, arcs or Beziers.

All the **𝑥,𝑦** values, once derived the **𝑎** value in the formula (according with the given parameters) are calculate for evenly spaced points along the calculated length.

In order to obtain notable points (needed to calculate sag value or chain length), since the above formula is not derivable, a recursive process is performed to search the points with crescent precision. The number of iterations is proportional to the precision popup set in the OIP panel. Obviously more precision need more processing time.

Downloaded and unpack the zip file appropriate for your Vectorworks® version. You'll get a folder named **Catenary Curve [20YY]**, where [20YY] is the plugin's Vectorworks® version.

Here the official instructions (from help.vectorworks.net) for **editing the workspaces**:

And here instructions to **add a menu command**:

Follow Paolo Marcuccetti's Gumroad®'s page where you can browse/buy my productions for Vectorworks®.

Gumroad® shop page