AcDb3dSolid::getGeomExtents is `untight` in AutoCAD 2024. Why???

AcDb3dSolid::getGeomExtents is `untight` in AutoCAD 2024. Why???

radimpex
Explorer Explorer
599 Views
2 Replies
Message 1 of 3

AcDb3dSolid::getGeomExtents is `untight` in AutoCAD 2024. Why???

radimpex
Explorer
Explorer

We discovered, in a very unpleasant way, that the  function getGeomExtents on the AcDb3dSolid in AutoCAD 2024 was working incorrectly.

In all versions of AutoCAD we tested, from version 2010 all the way up to 2023, that function  worked as expected - accurate.

 

Digging through the news related information in AutoCAD 2024 we found these:

New in Global Functions

acdbIsEnabledTightExtents - Used to determine if the tight extents calculations are enabled for AcDb3dSolid, AcDbSurface, and AcDbRegion entities.
acdbSetEnableTightExtents - Used to enable the tight extents calculations before using getGeomExtents on the AcDb3dSolid, AcDbSurface, and AcDbRegion entities.

 

When we used these two functions, one to check the default state and the other to set the mode for the "tight" operation of the getGeomExtent function, we got what we had in previous versions of AutoCAD - the function gave the correct result.

 

We have a few questions:
- is there a global variable in AutoCAD 2024 that does the same thing these global functions do?

It would be much easier for us to solve the problem for users who have AutoCAD 2024 running in incorrect mode by setting a global variable, than by compiling and shipping a new version of our program that would call these two functions.

 

- why was the default behavior of function getGeomExtents in AutoCAD 2024 chosen different from the behavior of the same function in the previous (at least) 13 versions of AutoCAD?

 

0 Likes
600 Views
2 Replies
Replies (2)
Message 2 of 3

daniel_cadext
Advisor
Advisor

My guess as to “Why” would be for performance.

 

It is unfortunate that the docs don’t mention this under

AcDbEntity::getGeomExtents, or if AcDbGeometryOverrule::getGeomExtents needs special handling

 

I also assume custom objects can participate in this too

 

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

radimpex
Explorer
Explorer

Unfortunately this does not solve my problem.


Is there some sort of list of all AutoCAD 2024 global variables that can be set from the command line?

If there is, and if the one related to the working algorithm of the getGeomExtents function is listed there, it might help

0 Likes