It seems something strange with how AC connector is collecting the geometry data about the curved slab outlines. For instance, in Archicad I have a simple, but curved slab on the right bottom side:

It’s an arch with r=2000, the arch angle is exactly 90 degrees, so it’s pretty straight. But when I was studying the scheme I’ve noticed some incorrect moments of angle’s data. (left side of screenshot).

So, the start angle from Archicad is 0.5722512102587167 radians (32.78°). The end angle is 2.1430475372587168 (122.78°). And theese numbers don’t seem right. Only the angleRadians is ok.

As I’m working on translation workflow from Archicad to native Revit elemens, I’ve noticed that something is wrong when the regular non-curved slab was translated succesfully into the corresponded Revit floor family, while the curved one was translated as a non-editable floor (direct shape). So I’ve recreated the absolutely identical slab in Revit and pushed it into the speckle schema to compare. And I’ve got this:

The start angle from Revit slab is 4.71238898038469 rad = 270°, end angle is 0. That seems much more correct in comparison with what I’ve got in the scheme from Archicad.

The angles are at least 90 apart, so self-referentially, they seem correct. Unknown in the context of this is the global grid in Archicad relative to page north, say.

I don’t see the wider context to know why these are globally rotated from the cartesian in a way that your screenshot is not. Perhaps an ArchiCAD expert could no more.

Yeah, the summary arch angle is right, but the start and end values are strange. The slab is placed into orthogonal context, so haven’t found what’s causing this yet.

As the Speckle connectors faithfully reproduce the geometry data, and it would be unlikely that we are applying any transformation to the metadata, I suspect that there are ArchiCAD internal shenanigans at play.

I don’t have a copy installed, but I can ask others on the team to see if a different starting condition produces the same result.

Please write back if you find something. I’m able to fix the scheme with python, but I’ve got my head broken as I dunno exactly what logic I have to use to correct the angle values.