Skip to content

Require dimension 3 for IFCARBITRARYPROFILEDEFWITHVOIDS#2018

Open
barvirm wants to merge 2 commits into
ThatOpen:mainfrom
barvirm:issue-1973
Open

Require dimension 3 for IFCARBITRARYPROFILEDEFWITHVOIDS#2018
barvirm wants to merge 2 commits into
ThatOpen:mainfrom
barvirm:issue-1973

Conversation

@barvirm
Copy link
Copy Markdown
Contributor

@barvirm barvirm commented May 29, 2026

Fix issue #1973

IFCARBITRARYPROFILEDEFWITHVOIDS was calling GetCurve(..., 2) (dimensions=2) for both the outer boundary and void curves.
When the profile boundary is defined by 3D curves (IFCCOMPOSITECURVE -> IFCTRIMMEDCURVE -> IFCLINE with 3D points),
the 2D code path calls GetCartesianPoint2D which reads only the x and y coordinates.
This produces wrong geometry whenever the z component of the line origin is non-zero.
IFCARBITRARYCLOSEDPROFILEDEF already had the same fix applied (comment referencing issues #765 and #1604), but IFCARBITRARYPROFILEDEFWITHVOIDS was missed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant