cancel
Showing results for
Did you mean:
cancel
Showing results for
Did you mean:

# API Calculate polyline length

Is there a simple way to fetch polyline length apart from looping through memo data, vertexes and arcs?

I couldn't find one... has anyone already been through this?

1 ACCEPTED SOLUTION
4 REPLIES 4
Mentor

I am guessing that you already tried the measure tool ? I am not as skilled with Archicad as some are but there must be a way to determine the length of a complicated polyline in creating a bill of quantities somehow ?

AC8.1 - AC27 ARM AUS + CI Tools
Apple Mac Studio M1 Max Chip 10C CPU
24C GPU 7.8TF 32GB RAM OS Ventura

Mentor

Whoops ! I didn’t check the category first. That’s something I know nothing about lol. I hope you get a reply here from someone who knows. Have fun.

AC8.1 - AC27 ARM AUS + CI Tools
Apple Mac Studio M1 Max Chip 10C CPU
24C GPU 7.8TF 32GB RAM OS Ventura
Solution

``````// first point of memo.coords is dummy zeroes
for (short r = 2; r <= element.polyLine.poly.nCoords; r++) {
segmentLength = sqrt(pow((*memo.coords)[r].x - (*memo.coords)[r - 1].x, 2) + pow((*memo.coords)[r].y - (*memo.coords)[r - 1].y, 2));
arcIndex = FindArc(*memo.parcs, element.polyLine.poly.nArcs, r - 1);
if (arcIndex >= 0) {
// points with indexes r-1 and r are beginning and ending of an arc
segmentLength = abs((*memo.parcs)[arcIndex].arcAngle) * segmentLength / 2 / sin(abs((*memo.parcs)[arcIndex].arcAngle)/2);
}
totalLength += segmentLength;
}``````

Latest solutions

Most liked posts