.NET
Corregimos un caso inusual en el que Solid3d.CreateSculptedSolid() creó un sólido con una cara no válida en un lado.
Una LispFunction administrada declarada con el tipo de valor devuelto void ahora no devuelve nada, en lugar de NIL.
El evento RibbonTab.PropertyChanged ahora se notifica para los cambios de RibbonTab.IsActive cuando el usuario activa una nueva pestaña de la cinta de opciones.
Se han implementado las propiedades Dimension.Dimtxtdirection y DimStyleTableRecord.Dimtxtdirection.
Varias firmas de RibbonControl.FindPanel(), RibbonControl.FindItem() y RibbonTab.FindItem() ahora devuelven el elemento principal de los elementos encontrados como argumentos de salida.
Se ha corregido una excepción ArgumentOutOfRange introducida recientemente que podía producirse al acceder a una colección de elementos de la cinta de opciones mientras el comando BEDIT estaba activo.
La propiedad BlockPropertiesTableColumn.Parameter devuelve ahora el nombre y el valor correctos en determinados dibujos problemáticos.
El método LineSegment3d.Overlap() ya no produce InvalidOperationException cuando los dos segmentos de línea proporcionados no se superponen.
La propiedad ShowImage = false ahora se obedece en combinaciones de cinta de opciones.
Ahora se han implementado varios miembros de contexto de aplicación que faltaban en la clase DocumentCollection.
Se ha corregido un bloqueo que se producía al quitar una pestaña de la cinta de opciones que contenía un panel de la cinta de WPF.
Se ha implementado el método MText.getMTextWithFieldCodes(). Este método devuelve el contenido del texto con campos como códigos de campo sin procesar.
Hemos resuelto una excepción eNotOpenForRead al construir una instancia de Brep a partir de FullSubentityPath.
La clase ObjectId se ha ampliado con compatibilidad con el acceso dinámico enlazado en tiempo de ejecución a las propiedades y métodos del objeto de base de datos subyacente.
La API de extensión de OPM ahora está disponible para que los complementos de .NET amplíen las propiedades del objeto que se muestran en el panel Propiedades.
Una nueva API de propiedades genéricas, basada en la API similar de C++, ahora está disponible en .NET en Bricscad.Global.PropertyService y Bricscad.Global.ObjectIdPropertyAccessor.
El ensamblado BrxMgd ahora está marcado con ExtensionAttribute, de modo que se puede llamar directamente a los métodos de extensión desde VB.net código de cliente.
La marca PromptSelectionOptions.AllowSubSelections ahora se omite cuando también se establece PrepareOptionalDetails, ya que la selección de subentidades no se admite en ese caso.
Clases implementadas para facilitar la creación y manipulación de estilos de etiquetas civiles.
BRX
Implementamos el método AcDbAssocManager::getGlobalEvaluationCallbacks().
Implementamos una serie de funciones que faltaban en la clase AcDbAssocVariable.
La edición de tablas ahora se suspende temporalmente mientras se ejecuta un comando de menú contextual personalizado.
Se implementaron una multitud de clases AcDbAssocArray, exponiendo la funcionalidad de las matrices asociativas a la API de BRX.
Los gráficos creados por acedGrDraw() ya no permanecen visibles una vez finalizado el comando.
La API de clasificación BIM ahora puede clasificar una base de datos para su posterior inserción como un bloque.
Implementamos las clases AcDbViewSymbol, AcDbDetailSymbol y AcDbSectionSymbol.
Implementamos la clase AcDbAssocGeomDependency.
Implementamos la clase AcDbAssoc2dConstraintGroup.
Llamar a AcDbLayout::copyFrom() con un diseño de origen de una base de datos diferente ahora también copia el xdata de origen.
Hemos dejado de usar el tipo defaultDoubleNull no conforme de la API de BREP y hemos ajustado las firmas de función afectadas para que usen double* en lugar de double&.
Implementamos las clases AcGraphNode y AcConstraintGroupNode.
Implementamos las clases AcGeomConstraint, AcHelpParameters y AcCompositeConstraint.
Implementamos la clase AcExplicitConstraint y las clases de restricción explícitas relacionadas.
Implementamos la clase AcConstrainedGeometry y las clases de restricción geométrica relacionadas.
La primera y la segunda derivadas en el punto de inicio de una polilínea ahora se calculan correctamente mediante getFirstDeriv() y getSecondDeriv(), incluso cuando el primer segmento es un segmento de arco.
Las propiedades dinámicas por instancia ahora se pueden registrar en una clase base de la clase en la que se implementan las propiedades.
La documentación del SDK generada automáticamente se ha limpiado y la presentación se ha mejorado mucho, con un mejor formato y la adición de gráficos de herencia de clases.
Implementamos una nueva API de propiedades genéricas para acceder a todas y cada una de las propiedades de los objetos de la base de datos DWG, incluidas las propiedades definidas por BIM, MCAD, Civil, IFC, Point Cloud y extensiones OPM de terceros. Consulte el archivo de encabezado BrxSpecific/BrxGenericPropertiesAccess.h para obtener documentación.
Agregamos una firma especial de la función miembro cast() a las clases de elementos de alineación civil que acepta y devuelve una instancia de AcSharedPtr. Esto permite un uso más natural de la conversión en tiempo de ejecución de los elementos de alineación temporales devueltos como punteros compartidos, sin crear accidentalmente referencias duplicadas o huérfanas.
Ahora es posible llamar a clone() en una clase personalizada derivada directamente de AcRxObject.
Se mejoró el rendimiento y la funcionalidad del módulo BRX HLR, reduciendo también la cantidad de entidades generadas (sin duplicados, sin superposiciones, etc.).
Se implementaron varias funciones que faltaban en las clases AcDbAssocAction, AcDbAssocActionBody y AcDbAssocVariable.
Se implementó la clase AcDbAssocParamBasedActionBody.
El cálculo de referencia a objetos para entidades personalizadas ahora llama a la firma subGetOsnapPoints() de 8 argumentos y, a continuación, vuelve a la firma anterior de 7 argumentos si no se implementó la versión más reciente para la clase de entidad.
AcDbViewport::setVisualStyle() ahora establece el modo de renderizado correcto en función del estilo visual.
Se han agregado varios métodos que faltaban a la clase AcValue.
Se vuelve a generar un mensaje WM_HELP al presionar F1 en un cuadro de diálogo modal de MFC. Esto se rompió en la versión 24.2.
Mientras un cuadro de diálogo modal está activo, la ventana del marco principal está desactivada. Otras ventanas de aplicaciones flotantes, como la línea de comandos del minimarco, también están ahora deshabilitadas mientras hay un cuadro de diálogo modal activo.
Hemos implementado las funciones miembro de AcApDocManager beginExecuteInCommandContext() y beginExecuteInApplicationContext().
Se han agregado varios métodos nuevos a la clase BModeler Face para exponer de forma más limpia los bucles internos de las caras.
El documento que está vigente cuando se inicia un comando de contexto de documento, ahora sigue siendo el documento actual hasta que el comando haya finalizado (o se haya cancelado), incluso cuando se activa una nueva pestaña de documento mientras se ejecuta el comando.
Se ha corregido un comportamiento incorrecto al llamar a funciones miembro de una clase personalizada derivada de AcDbWipeout.
Los datos de contexto anotativos de las clases de entidad personalizadas derivadas de AcDbMText ahora se conservan durante handOverTo().
Se ha solucionado un problema por el que, al establecer un nuevo estilo de cota actual y, a continuación, aplicarlo a una cota recién creada, se producían anulaciones de estilo de cota correspondientes al estilo de cota activo anteriormente.
Ahora es posible asignar la ubicación espacial BIM a los objetos clasificados como anotación.
Se han implementado la clase AcDbEvalGraph y varias clases relacionadas.
AcDbObjectPointer::create() se ha ampliado con una firma que acepta argumentos para pasar al objeto construido. La nueva clase de utilidad AcDbObjectPointer2 llama a la nueva función create() directamente desde su constructor mediante el reenvío de argumentos.
Las funciones setPolicy() y getPolicy() de BrxBimPolicies ya no producen errores del enlazador cuando se utilizan.
Durante la supervisión de puntos de entrada, la lista devuelta por AcEdInputPoint::p ickedEntities() ahora incluye una entidad de nivel superior para cada entidad anidada, incluso si esto da como resultado duplicados. Este comportamiento es compatible con otras plataformas.
Se ha corregido una regresión V24.2 que causaba problemas con las entidades personalizadas que se mostraban dentro de una instancia de AcGsView basada en diálogos.
BRX/.NET
Se creó una nueva clase BrxPlotStampSettings para la API de BRX y una clase PlotStampSettings correspondiente para la API de .NET para facilitar la manipulación mediante programación de la configuración de sellos de trazado.
Se ha mejorado el cambio de la propiedad anotativa de los bloques para que sea más compatible con otras plataformas.
La API de anclaje se ha ampliado, incluida una nueva extensión de protocolo BrxAnchorfeaturePE (C++) y Bricscad.Parametric.AnchorFeaturePE (.NET) que permite a los complementos filtrar dinámicamente las caras de destino permitidas para un anclaje.
Las clases BrxCvDbPoint (C++) y Civil.Point (.NET) se han ampliado con los nuevos métodos estáticos importPointsFromFile(), assignPointsToPointGroup() y assignStylesToPoints().
Llamar a CreateAnchoredBlockReference() con un ID de entrada no válido ya no se bloquea.
Las funciones acedTraceBoundary() y TraceBoundary() ahora interpretan correctamente el punto de inicialización como coordenadas UCS.
Las clases de importación y exportación BIM IFC se han ampliado con varias opciones nuevas. Como parte de este trabajo, algunas clases se han modificado ligeramente para que sean más coherentes con otras clases.
Las funciones ADS registradas (o LispFunction en código administrado) ya no se exponen en el símbolo del sistema como si fueran comandos normales, a menos que usen la sintaxis C:XXX.
Hemos cambiado el comportamiento al establecer el estilo de trazado "PorCapa" o "PorBloque" en un dibujo cuyo diccionario de estilos de trazado contiene estilos de trazado con esos nombres especiales. Ahora se prefieren los estilos de trazado lógicos y se ignoran los estilos de trazado con nombres similares en el diccionario. Este comportamiento es compatible con otras plataformas.
Ahora se admite mostrar una etiqueta de control combinado de cinta de opciones con cualquier combinación de texto o icono, o ambos, según su estilo de etiqueta.
Las nuevas clases BRX BrxCvDbSymbolStyleManager, BrxCvDbStyle, BrxCvDbSymbolStyle y BrxCvDbStylePartDisplaySettings, así como las clases de .NET SymbolStyleManager, Style, SymbolStyle y StylePartDisplaySettings, facilitan la creación y el cambio de estilos de símbolo de Civil Point.
Las clases BrxCvDbPoint (C++) y Civil.Point (.NET) se han ampliado con un nuevo método estático assignPointToPointGroup().
Introdujimos nuevas clases para la creación y manipulación de estilos de etiquetas civiles.
Las propiedades de descripción sin procesar y descripción completa para puntos civiles ahora se pueden establecer de forma independiente mediante API.
- SR164057
- SR164188
- SR164318
- SR182316
LISP
Se ha mejorado la API de BIM LISP para incluir una nueva función (bim:pset-list-all) para devolver todas las propiedades del conjunto de propiedades asociadas a una entidad proporcionada.
Las funciones (getcfg) y (setcfg) ahora leen y escriben la configuración del perfil de usuario en memoria cuando la ruta de acceso del valor proporcionado comienza con ".. /Perfil/". Esto habilita algo como (setcfg ".. /Profiles/Default/Dialogs/XXX/rect" "200,200,300,100") para cambiar el valor en memoria utilizado por el código de la aplicación.
Hemos mejorado la compatibilidad de los reactores utilizando la marca 'all-document.
Se ha corregido la función (vla-Delete) para desencadenar un error de Lisp al intentar eliminar el UCS actual (compatible con AutoLISP).
Hemos agregado compatibilidad con más métodos y propiedades COM en Linux/Mac, incluidos Annotation, Evaluate, Url, UrlDescription y UrlNamedLocation.
Se ha corregido un problema de temporización relacionado con la evaluación de (S::STARTUP). Ahora todas las funciones definidas (S::STARTUP) se procesan después de que se haya cargado el dibujo y se hayan procesado todos los archivos de inicio.
Hemos mejorado el rendimiento de ciertos scripts de lisp que con frecuencia invalidan la visualización.
Se ha corregido un problema con la base de datos LISP y los reactores de objetos que se producía cuando MTFLAGS (modo MultiThreading) estaba habilitado.
La documentación de la función (vlax-add-cmd) se actualizó para corregir la expresión de ejemplo. El argumento localisedName opcional de la función ahora puede ser nil, lo que es coherente con otras plataformas CAD.
Algunas restricciones, las funciones de API, no devolvían los resultados esperados cuando se llamaban varias veces seguidas. Esto ha sido arreglado.
Se ha corregido una regresión con llamadas incompletas parciales anidadas (comandos) que provocaban un mal funcionamiento de la línea de comandos.
La función (vla-get-MomentOfInertia) ahora devuelve resultados compatibles con otras plataformas.
Al llamar a (bim:pset-create-property), el tipo de datos para una propiedad PropertySet recién creada ahora se puede definir mediante el valor asignado en una llamada siguiente a (bim:pset-set-property ename propertyset name value). Además, ambas funciones ahora admiten la especificación explícita del tipo de datos para una propiedad recién creada. También corregimos una mezcla incorrecta de las propiedades "Nombre" y "Etiqueta".
La función (bim:get-bimtype) se ha revisado para permitir el uso de tipos BIM dinámicos.
Se ha corregido un error de acceso a la memoria al llamar (entmod) con una lista de definiciones de entidad que contiene ciertas entradas no válidas.
Se han agregado algunas funciones nuevas y mejoradas de la API de Civil.