Skip to content

Invert bulge value calculation in import_dxf.py#1372

Open
greyltc wants to merge 1 commit into
gumyr:devfrom
greyltc:unbulge
Open

Invert bulge value calculation in import_dxf.py#1372
greyltc wants to merge 1 commit into
gumyr:devfrom
greyltc:unbulge

Conversation

@greyltc

@greyltc greyltc commented Jul 9, 2026

Copy link
Copy Markdown

Invert the bulge value for the start point in the import_dxf function. Fixes #1368

Invert the bulge value for the start point in the import_dxf function.
Copilot AI review requested due to automatic review settings July 9, 2026 17:51

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts DXF polyline bulge handling so imported bulged segments (arcs) curve in the expected direction, addressing the “inverted arcs” behavior reported in #1368.

Changes:

  • Invert the per-segment bulge sign used when converting DXF polylines into SagittaArc edges.
Comments suppressed due to low confidence (1)

src/build123d/import_dxf.py:216

  • math.dist(start_point, end_point) is computed twice per segment (degeneracy check and sagitta calculation). Cache the chord length once to avoid redundant sqrt work and keep the loop easier to read; you can also simplify the sign inversion to -start_data[2].
        bulge = -1 * start_data[2] if len(start_data) > 2 else 0

        if math.dist(start_point, end_point) < TOLERANCE:
            continue


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/build123d/import_dxf.py
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.

"inverted" dxf arcs

2 participants