BRX
acedSSGet() keywords are now highlighted and selectable.
We implemented additional modern signatures of AcGiTextStyle::setFont() and AcGiTextStyle::font().
AcDbPointCloudEx::traverseAllPointData() has been implemented.
The AcLocale getProductLocale() function has been implemented.
Custom commands with the command flag ACRX_CMD_NOHISTORY are no longer listed in the autocomplete command popup.
An AModeler::Body instance now survives a round trip save() and restore() without changing the order of its faces.
We fixed a transaction bug that caused unexpected behavior in certain cases when the same object was opened multiple times in a nested transaction, then accessed again in a subsequent nested transaction.
The layout tabs are now updated correctly after a call to AcDbLayoutManager::copyLayout().
A new AcString signature of acedGetCommandForDocument() has been implemented.
The contextual menu now displays the complete keyword string.
We implemented the AcDbBreakData and AcDbBreakPointRef classes.
We implemented AcGeNurbCurve3d::makeNonPeriodic().
We implemented AcDbText::getBoundingPoints().
AcDbTable::fieldId() has been implemented.
We implemented the following AcDbTable member functions: breakOffset(), setBreakOffset(), breakFlowDirection(), setBreakFlowDirection(), breakOption(), and setBreakOption().
We implemented AcDbObjectId::isWellBehaved() and modified AcDbObjectId::convertToRedirectedId() to return bool instead of void.
AcDBlockTableRecord::appendAcDbEntity() no longer resets the entity's linetype scale if it had been previously set.
The key entities sent to an input point monitor are now the most deeply nested, instead of appearing at the top level.
AcDbPolygonMesh constructor now generates an entity based on the PolyMeshType.
AModeler::Body::interfere() has been corrected for the case when two separate bodies have intersecting extents but do not interfere.
AcDbTransactionManager::getAllObjects() has been implemented.
We added enum value AcDbViewport::StandardScaleType::k1_5.
The contextual and prompt menus no longer display hidden keywords.
Member functions of custom classes derived from AcDbRasterImage are now working properly.
Member functions of custom classes derived from AcDbRasterImage are now working properly.
The C++ Civil API has been given a minor makeover in V24. Class and enum names have been changed to improve naming consistency, and now use the BrxCv prefix for all global names. In addition, a few global enums were moved inside their respective classes in order to limit pollution of the global namespace. Aliases are provided for legacy code that still includes the old headers.
AcGsKernelDescriptor::hasRequirement() replaces the deprecated AcGsKernelDescriptor::requires().
The AcPlPlotConfigInfo class has been implemented.
AcPlPlotConfig::fullPath() has been implemented.
We fixed field formatting being ignored due to ill-formed format code.
We implemented a missing signature of AcDbDatabase::wblock().
Various missing AcDbTable member functions have been implemented.
AcDbLayerTableIterator now honors the setting to skip hidden layers.
We removed the incorrect default value from AcDbObject::erased() callback declarations.
We modified the return type for AcDbObject::addReactor(), AcDbObject::removeReactor() and AcDbObject::addPersistentReactor() from void to Acad::ErrorStatus.
Several AcPlPlotConfig members including getDefaultFileExtension(), isPlotToFile() and fullPath() now return expected values for built-in PC3 configurations.
We implemented another signature of the AcDbRasterImageDef::suggestName() method which accepts a 4th parameter, corresponding to the size of the output buffer.
We fixed an incorrect attempt during AcDbText::subClose() to call adjustAlignment() while the text entity was not write enabled.
The SAVEALL command now activates each document before saving. This improves the compatibility with other platforms.
Newly created attributes and attribute definitions no longer trigger an AUDIT complaint.
We implemented the AcEdSolidSubentitySelector class.
- SR100604
- SR130732
- SR145768
Implemented AcUnderlayLayer class and associated member functions from AcUnderlayReference class.
Fixed an issue with the AcDbDatabase::save() method whereby the autosave filename would be used in place of the drawing filename.
Implemented the AcDbBlockTableRecordIterator::seek() method for an AcDbEntity* argument.
The AcGiPolyline class has been changed to allow safe handling when passing a client instance to internal operations.
Fixed a problem with BimPropertySets::setPSetProperty() function, assigning values to entity when the PropertySet already exists.
BRX/.NET
The Civil API now provides access to civil style IDs and names.
- SR145914
- SR162835
- SR164188
The API samples now include sample code based on the GIS API.
The Civil TinSurface API has been extended with new interfaces for TinSurface Definitions that define and expose the Surface history.
We introduced a new BRX (C++) and .NET API for Civil GIS functionality. The BRX API is in the header BrxSpecific/civil/BrxCvGis.h, and the .NET API consists of several new Gis prefixed classes in the Bricscad.Civil namespace.
The LayoutManager.LayoutsReordered (.NET) and AcDbLayoutManagerReactor::layoutsReordered() (C++) events are now firing when layout tabs are repositioned interactively.
The BIM API now correctly reports the shape and size properties of a BIM profile.
Functionality for anchoring block-references to 3D solid faces has been exposed for use from plug-in code.
We implemented an API for Civil points and point groups, including classes Point and PointGroup in the BricsCAD Civil namespace for .NET.
- SR125560
- SR130893
- SR134422
- SR143605
- SR143759
- SR161783