Unable to explode non-uniformly scaled block reference

Unable to explode non-uniformly scaled block reference

grilj.blaz2000
Contributor Contributor
824 Views
1 Reply
Message 1 of 2

Unable to explode non-uniformly scaled block reference

grilj.blaz2000
Contributor
Contributor

Hello,

I'm facing an issue when trying to explode an AcDbBlockReference object programmatically after applying a non-uniform scale. The block contains multiple polylines on different layers, and the goal is to scale the block along the X-axis, explode it, and then reconstruct the polylines based on their layers.

However, after applying non-uniform scaling (using the setScaleFactors(const AcGeScale3d&) on the block reference), the explode() method does not work as expected. Specifically:

  • The explode() method returns an empty AcDbVoidPtrArray, indicating that no entities were found.
  • There are no errors during the explosion process, but the result is empty.
  • Manual explosion of the block in AutoCAD works correctly after the scale transformation.
  • Explode works normally if uniform scaling.

Any insights or advice on how to resolve this would be greatly appreciated!

0 Likes
825 Views
1 Reply
Reply (1)
Message 2 of 2

daniel_cadext
Advisor
Advisor

Maybe you can clone the objects in the BlockTableRecord, then transformby on the objects?

Then, you won’t have to reconstruct anything

Python for AutoCAD, Python wrappers for ARX https://github.com/CEXT-Dan/PyRx
0 Likes