BRX
Las palabras clave acedSSGet() ahora están resaltadas y seleccionables.
Implementamos firmas modernas adicionales de AcGiTextStyle::setFont() y AcGiTextStyle::font().
Se ha implementado AcDbPointCloudEx::traverseAllPointData().
Se ha implementado la función AcLocale getProductLocale().
Los comandos personalizados con el indicador de comando ACRX_CMD_NOHISTORY ya no aparecen en la ventana emergente de comando de autocompletar.
Ahora se impide que las barras acoplables y los conjuntos de paletas compartan una fila de acoplamiento con una barra que no sea BRX. Este nuevo requisito es necesario porque las barras mixtas en la misma fila no se pueden sincronizar de manera confiable en tamaño, lo que provoca efectos visuales extraños.
Ampliamos la funcionalidad de carga bajo demanda al admitir una clave de registro independiente del idioma: SOFTWARE/Bricsys/BricsCAD/V24x64/Applications bajo HKEY_CURRENT_USER y HKEY_LOCAL_MACHINE. La nueva clave ahora se verifica además de la clave (similar) que depende del idioma.
Una instancia de AModeler::Body ahora sobrevive a un save() y un recovery() de ida y vuelta sin cambiar el orden de sus caras.
Solucionamos un error de transacción que causaba un comportamiento inesperado en ciertos casos cuando el mismo objeto se abría varias veces en una transacción anidada y luego se accedía nuevamente en una transacción anidada posterior.
Un cuadro de diálogo modal que se muestra durante las notificaciones del comando LAYOUT_CONTROL ahora funciona como se esperaba.
CAdUiListCtrl::DoAdUiMessage() ya no muestra una advertencia de que la función no está implementada.
Las pestañas de diseño ahora se actualizan correctamente después de una llamada a AcDbLayoutManager::copyLayout().
Se ha implementado una nueva firma AcString de acedGetCommandForDocument().
Agregamos un ejemplo para configurar IfcPositiveLengthMeasure en BimSample.
El menú contextual ahora muestra la cadena completa de palabras clave.
Implementamos las clases AcDbBreakData y AcDbBreakPointRef.
Implementamos AcGeNurbCurve3d::makeNonPeriodic().
Implementamos AcDbText::getBoundingPoints().
Se ha implementado AcDbTable::fieldId().
Implementamos las siguientes funciones miembro de AcDbTable: breakOffset(), setBreakOffset(), breakFlowDirection(), setBreakFlowDirection(), breakOption() y setBreakOption().
Implementamos AcDbObjectId::isWellBehaved() y modificamos AcDbObjectId::convertToRedirectedId() para devolver bool en lugar de void.
AcDBlockTableRecord::appendAcDbEntity() ya no restablece la escala de tipo de línea de la entidad si se había configurado previamente.
Las entidades clave enviadas a un monitor de punto de entrada ahora son las más profundamente anidadas, en lugar de aparecer en el nivel superior.
El constructor AcDbPolygonMesh ahora genera una entidad basada en PolyMeshType.
AModeler::Body::interfere() se ha corregido para el caso en el que dos cuerpos separados tienen extensiones que se cruzan pero no interfieren.
Se ha implementado AcDbTransactionManager::getAllObjects().
Agregamos el valor de enumeración AcDbViewport::StandardScaleType::k1_5.
Los menús contextual y de aviso ya no muestran palabras clave ocultas.
La búsqueda de una palabra en una ventana de ayuda externa ya no bloquea BricsCAD mientras el panel de Sugerencias está abierto.
Implementamos el método CAdUiListCtrl::GetItemAtPoint().
Las funciones miembro de clases personalizadas derivadas de AcDbRasterImage ahora funcionan correctamente.
Las funciones miembro de clases personalizadas derivadas de AcDbRasterImage ahora funcionan correctamente.
La API de C++ Civil recibió una pequeña renovación en V24. Los nombres de clases y enumeraciones se han cambiado para mejorar la coherencia de los nombres y ahora se utiliza el prefijo BrxCv para todos los nombres globales. Además, algunas enumeraciones globales se movieron dentro de sus respectivas clases para limitar la contaminación del espacio de nombres global. Se proporcionan alias para el código heredado que aún incluye los encabezados antiguos.
AcGsKernelDescriptor::hasRequirement() reemplaza el obsoleto AcGsKernelDescriptor::requires().
Se ha implementado la clase AcPlPlotConfigInfo.
Se ha implementado AcPlPlotConfig::fullPath().
Arreglamos el formato de campo que se ignoraba debido a un código de formato mal formado.
Implementamos una firma faltante de AcDbDatabase::wblock().
Se han implementado varias funciones miembro de AcDbTable que faltaban.
El argumento CAdUiDockControlBar::SetToolID() se ha cambiado a 'const CLSID*' como en otras plataformas.
AcDbLayerTableIterator ahora respeta la configuración para omitir capas ocultas.
Eliminamos el valor predeterminado incorrecto de las declaraciones de devolución de llamada de AcDbObject::erased().
Modificamos el tipo de retorno para AcDbObject::addReactor(), AcDbObject::removeReactor() y AcDbObject::addPersistentReactor() de void a Acad::ErrorStatus.
Varios miembros de AcPlPlotConfig, incluidos getDefaultFileExtension(), isPlotToFile() y fullPath(), ahora devuelven valores esperados para las configuraciones integradas de PC3.
Implementamos otra firma del método AcDbRasterImageDef::suggestName() que acepta un cuarto parámetro, correspondiente al tamaño del búfer de salida.
Arreglamos un intento incorrecto durante AcDbText::subClose() para llamar a ajustarAlignment() mientras la entidad de texto no estaba habilitada para escritura.
Los marcos flotantes del conjunto de paletas con transparencia ahora se vuelven opacos mientras el cursor está sobre el marco.
El comando GUARDAR TODO ahora activa cada documento antes de guardarlo. Esto mejora la compatibilidad con otras plataformas.
Los atributos y definiciones de atributos recién creados ya no generan una queja de AUDITORÍA.
Implementamos la clase AcEdSolidSubentitySelector.
- SR100604
- SR130732
- SR145768
Se implementó la clase AcUnderlayLayer y las funciones miembro asociadas de la clase AcUnderlayReference.
Se solucionó un problema con el método AcDbDatabase::save() por el cual el nombre del archivo de guardado automático se usaba en lugar del nombre del archivo del dibujo.
Implementado el método AcDbBlockTableRecordIterator::seek() para un argumento AcDbEntity*.
La clase AcGiPolyline se ha cambiado para permitir un manejo seguro al pasar una instancia de cliente a operaciones internas.
Se solucionó un problema con la función BimPropertySets::setPSetProperty(), asignando valores a la entidad cuando el PropertySet ya existe.
BRX/.NET
Una nueva extensión de Visual Studio ahora está disponible junto con los archivos BRX SDK. La extensión agrega plantillas de proyectos y elementos para que los desarrolladores de complementos creen rápidamente módulos de complementos listos para ejecutar en Visual Studio.
La API de Civil ahora brinda acceso a ID y nombres de estilo civil.
- SR145914
- SR162835
- SR164188
Los ejemplos de API ahora incluyen código de muestra basado en la API GIS.
La API de Civil TinSurface se ha ampliado con nuevas interfaces para definiciones de TinSurface que definen y exponen el historial de Surface.
Presentamos una nueva API BRX (C++) y .NET para la funcionalidad Civil GIS. La API BRX está en el encabezado BrxSpecific/civil/BrxCvGis.h, y la API .NET consta de varias clases nuevas con prefijo Gis en el espacio de nombres Bricscad.Civil.
Los eventos LayoutManager.LayoutsReordered (.NET) y AcDbLayoutManagerReactor::layoutsReordered() (C++) ahora se activan cuando las pestañas de diseño se reposicionan de forma interactiva.
La API BIM ahora informa correctamente las propiedades de forma y tamaño de un perfil BIM.
La funcionalidad para anclar referencias de bloque a caras sólidas 3D se ha expuesto para su uso desde el código del complemento.
Implementamos una API para puntos y grupos de puntos de Civil, incluidas las clases Point y PointGroup en el espacio de nombres Bricscad.Civil para .NET.
- SR125560
- SR130893
- SR134422
- SR143605
- SR143759
- SR161783
.NET
DatabaseServices.Cannoscale ahora se puede configurar cuando se activa el diseño.
Implementamos los métodos UnderlayHost::PdfHost::GetFile(), UnderlayHost::DgnHost::GetFile() y UnderlayHost::DwfHost::GetFile().
GeoCoordinateCategory.CreateAll() ahora está implementado.
Mejoramos el comportamiento del método AssocArray.CreateArray().
Ahora se llama al controlador de eventos Editor.PromptedForAngle después de GetAngle(), como se esperaba.
Implementamos la propiedad LayerViewportProperties.IsTransparencyOverridden.
Ahora se llama a GripData.OnRightClick() cuando se hace clic con el botón derecho en un pinzamiento personalizado.
La firma GripData.OnRightClick() se ha cambiado para devolver una colección de elementos de menú.
Implementamos las clases GraphicsSystem.KernelDescriptor y GraphicsSystem.GraphicsKernel.
Implementamos una API de eliminación de líneas ocultas en el nuevo espacio de nombres Bricscad::Hlr.
- SR89046
- SR99064
- SR125974
- SR131611
- SR132513
- SR154725
Los elementos del menú contextual personalizados con la propiedad IMenuItem.Text vacía ahora se agregan como separadores de menú.
La API Bricscad.MechanicalComponents se amplió para agregar soporte para algunas funciones faltantes.
Algunos métodos con nombres extraños en la API BIM han quedado obsoletos y redirigidos a nuevas versiones con nombres más convencionales. El código heredado debería continuar compilándose y ejecutándose correctamente, pero puede generar advertencias del compilador sobre métodos obsoletos.
El constructor CurveCurveIntersector2d que toma una serie de curvas ahora funciona correctamente y el método CurveCurveIntersector2d.SetCurve() ya no falla.
Llamar a TransactionManager.GetObject() para abrir un objeto desde una base de datos Xref ahora usa la instancia correcta del administrador de transacciones para abrir el objeto.
- SR159071
- SR160971
- SR161277
El cuadro de diálogo Libro de colores ahora establece correctamente para ColorDialog.Color las propiedades: HasBookName, BookName, HasColorName, ColorName.
Corregido: _AcDb.Entity.Highlight() falla si la entidad está resaltada como vista previa de selección.