diff --git a/cadquery/occ_impl/exporters/dxf.py b/cadquery/occ_impl/exporters/dxf.py index 41ae15224..b806df9b2 100644 --- a/cadquery/occ_impl/exporters/dxf.py +++ b/cadquery/occ_impl/exporters/dxf.py @@ -1,5 +1,6 @@ """DXF export utilities.""" +import warnings from typing import ( Any, Dict, @@ -244,6 +245,13 @@ def _dxf_circle(edge: Edge) -> DxfEntityAttributes: direction_y = circ.YAxis().Direction() direction_z = circ.Axis().Direction() + # DXF circle does not support tilted 3D circles. + dz = gp_Dir(0, 0, 1) + if abs(RAD2DEG * direction_z.Angle(dz)) % 180 > 1e-6: + warnings.warn( + "Circle not coplanar. This will fail in the future.", + ) + dy = gp_Dir(0, 1, 0) phi = direction_y.AngleWithRef(dy, direction_z)