Saltar navegación

Documentación de FlexPro 2025

Nuevas características del modelo de objetos FlexPro 8

En las siguientes secciones encontrará información detallada sobre todos los cambios en el modelo de objetos de FlexPro. La mayoría de los cambios que se han realizado en el modelo de objetos de automatización en FlexPro 8 en comparación con la versión previa son en gran medida mejoras compatibles con versiones anteriores. Dichos cambios, que requieren una adaptación del código VBA, se marcan en color a continuación. Si trabaja con un lenguaje compilador, deberá importar siempre la biblioteca de tipos FlexPro 8 y recompilar su programa. Si desea portar macros o código de automatización de FlexPro 6 a FlexPro 8, primero debe realizar los ajustes que se indican en Nuevas características del modelo de objetos de FlexPro 7.

Cambios y mejoras en los objetos de análisis y otros objetos de datos

Se han añadido las propiedades DataTypeX, DataTypeY y DataTypeZ a todos los objetos de datos. Estas variantes sin argumento adicional también se muestran en la ventana de propiedades de FlexPro. Se ha añadido un argumento opcional a la propiedad UnitInBrackets, que puede utilizarse para seleccionar el tipo de paréntesis. Además, se han añadido las siguientes propiedades para definir el rango de datos: LowerRangeLimitY, UpperRangeLimitY, LowerRangeLimitX, UpperRangeLimitX, LowerRangeLimitZ y UpperRangeLimitZ, así como las siguientes variantes correspondientes con un argumento adicional que selecciona el componente: LowerRangeLimit y UpperRangeLimit.

En el objeto de análisis Análisis de señales, ahora se puede alisar después de la derivación. Por ello, las propiedades SmoothAfterDerivation y SmoothingWidth se han añadido al objeto SignalAnalysis.

El objeto StatisticQuantityAnalysis se ha ampliado con las propiedades Composed, XDataSet y ZDataSet, de forma que los componentes de los datos de origen también puedan especificarse como conjuntos de datos independientes.

En el objeto RainflowCountAnalysis, la propiedad IncludeResidue ha sido sustituida por la propiedad Residue, que ofrece más opciones. Por lo tanto, en el código VBA, ".IncludeResidue = True" debe convertirse en ".Residue = fpRainflowCountResidueInclude" y, correspondientemente, ".IncludeResidue = False" debe convertirse en ".Residue = fpRainflowCountResidueExclude".

El objeto de análisis Aislamiento de eventos ahora también procesa secuencias de eventos y admite eventos adicionales. Por ello, se ha añadido la nueva lista EventIsolations al objeto EventIsolation. Todas las propiedades relativas a un evento se han transferido al nuevo objeto EventIsolation. Por lo tanto, en el código VBA, expresiones como ".Event" deben convertirse en ".EventIsolations(1).Event".

Se han añadido nuevos procedimientos a algunas opciones de análisis y se ha añadido la nueva opción Vibraciones del cuerpo humano. Se han añadido los objetos LoudnessAnalysis (opción Acústica), CFCFilterAnalysis (opción Filtros digitales), HumanBodyVibrationAnalysis y HandVibrationAnalysis (ambos opción Vibraciones del cuerpo humano).

El nuevo objeto de análisis Escalado de señal se representa mediante el objeto SignalScalingAnalysis.

En el análisis espectral de tiempo-frecuencia, ahora la frecuencia puede sustituirse por la velocidad de rotación instantánea. El objeto TimeFreqSpectralAnalysis se ha ampliado con las propiedades SpeedComposed, SpeedDataSet y SpeedXDataSet.

Cambios y mejoras en los objetos de presentación

Se han añadido las propiedades NumberOfHarmonicCursors y HarmonicCursorSpacing y los métodos ZoomHorizontally y ZoomVertically a todos los objetos de cursor (diagramas, documentos y planillas). La propiedad adicional CustomCoordinates proporciona la nueva lista CustomCoordinates, que contiene objetos del nuevo tipo CustomCoordinate.  Las propiedades MarkerText, MarkerFont, MarkerFrameColor, MarkerLineColor, MarkerBackgroundColor, MarkerPosition y MarkerType han sido eliminadas y añadidas a la lista Markers. Por lo tanto, en el código VBA debe convertirse ".MarkerFont", por ejemplo, en ".Markers.Font". Lo mismo ocurre con las demás propiedades.

Los objetos de cursor ahora pueden enviar los eventos adicionales BeforeZoomVertically, QueryCancelZoomVertically, ZoomVerticallyCanceled, VerticallyZoomed, BeforeZoomHorizontally, QueryCancelZoomHorizontally, ZoomHorizontallyCanceled, HorizontallyZoomed, BeforeCurveTranslate, QueryCancelCurveTranslate, CurveTranslateCanceled y CurveTranslated.

En los objetos FpCursor y Marker, la propiedad Bound ha pasado a llamarse Bound. Por lo tanto, en el código VBA debe convertirse ".Bounded", por ejemplo, en ".Bound". Se han añadido las propiedades HarmonicsPositionIndex, HarmonicsPositionX y HarmonicsPositionY, así como los métodos InterpolateValue e InterpolateRangeBetweenCursors, y a los métodos PlaceMarker y PlaceRangeMarker se les ha añadido un argumento opcional que distingue entre marcadores locales y globales. Correspondientemente, se ha añadido una propiedad ShowInAllViews al objeto de marcador. Se ha añadido el método TranslateCurve al objeto FpCursor.

Se han añadido al objeto Axis2D las propiedades AssignedAxis, SizePercentage y Arrow, que devuelve el nuevo objeto AxisArrow. La propiedad Subdivisions ya no devuelve un objeto AxisSubdivisions, sino un objeto AxisDivisions, que ya no contiene la propiedad Count. Esta propiedad se ha añadido a los objetos Axis2DScaling y Axis3DScaling como NumberOfSubDivsions. Por lo tanto, en el código VBA, ".Subdivisions.Count" debe cambiarse por ".Scaling.NumberOfSubdivisions".

La propiedad Arrow también se ha incluido en los objetos Axis3D y ColorLegend3D, y a la propiedad Subdivisions se le aplica lo mismo que al objeto Axis2D.

La propiedad Position del objeto ColorLegend3D utiliza ahora el nuevo tipo de enumeración FpColorLegendPosition. En el código VBA, "ColorLegend.Position = fpPosition" debe sustituirse por "ColorLegend.Position = fpColorLegendPosition". La propiedad Border ya no devuelve un objeto del tipo LegendBorder, sino directamente un objeto del tipo LineFormat. Por lo tanto, en el código VBA, "ColorLegend.Border.Visible = False" debe sustituirse por "ColorLegend.Border.Color = fpColorTransparent", o "ColorLegend.Border.LineFormat.Color" por "ColorLegend.Border.Color".

Se han añadido las propiedades LabelUnit, UnitPosition y TransformAllLabels a los objetos Axis2DLabels y Axis3DLabels.

Se han añadido las propiedades LabelUnit y UnitPosition al objeto ColorLegend3DLabels.

El mecanismo para las etiquetas de eje ha cambiado fundamentalmente en FlexPro 8. En los objetos Axis2DText, Axis3DText y ColorLegend3DText, se ha sustituido la propiedad Combine por la propiedad UseTextsFromCurves. Sin embargo, su semántica difiere de Combine. Mientras que Combine utilizaba el texto almacenado en el objeto Axis2DText como plantilla para todas las curvas, UseTextsFromCurves toma los textos de los nuevos objetos AxisLabel de las curvas. Si su código VBA contiene, por ejemplo, instrucciones con el formato ".YAxis(1).Text.Text =", debe sustituirlas por ".Curves(i).YAxisLabel.Text = " en el caso de que UseTextsFromCurves sea True. Es posible que también tenga que cambiar el propio texto si contiene campos. La propiedad MultiColor en Axis2DText y Axis3DText ha pasado a llamarse ColorAutomatic. Por lo tanto, en el código VBA debe sustituirse ".Text.MultiColor" por ".Text.ColorAutomatic". Los objetos Axis2DText, Axis3DText y ColorLegend3DText también se han ampliado con las propiedades HorizontalOffset y VerticalOffset.

Ahora las curvas pueden etiquetarse con una etiqueta de curva y contienen los textos para etiquetar todos los ejes. Además, las curvas pueden excluirse de la presentación y del cursor. La propiedad CurveLabel, que proporciona el nuevo objeto CurveLabel, y las propiedades Visible, AutoScale, Cursor, YAxis, XAxis, YAxisLabel y XAxisLabel se han añadido al objeto Curve2D. Las propiedades YCursorFormat y XCursorFormat han sido eliminadas del objeto Curve2DData y transferidas al objeto Curve2D. Por lo tanto, en el código VBA debe cambiarse ".Data.YCursorFormat", por ejemplo, por ".YCursorFormat". Se han añadido al objeto Curve3D las propiedades Visible, AutoScale, Cursor, CurveLabel, YAxisLabel, XaxisLabel, ZAxisLabel y ColorLegendLabel. Las propiedades YCursorFormat, XCursorFormat y ZCursorFormat se han eliminado del objeto Curve3DDataSets y se han transferido al objeto Curve3D. Por lo tanto, en el código VBA debe cambiarse ".Datasets.YCursorFormat", por ejemplo, por ".YCursorFormat".

Ahora se puede seleccionar el algoritmo para la conversión de la curva espacial de superficies 3D. Por tanto, la lista Curve3DDataSets se ha ampliado con la propiedad ConversionAlgorithm. Se han añadido las propiedades Composed, DataSet y XDataSet para que la primera entrada de la lista también se muestre en la ventana de propiedades. Correspondientemente, también se han añadido las propiedades YValueObject, YComponent, XValueObject y XComponent.

Ahora es posible desplazar las curvas de los diagramas 2D. Por ello, se han añadido las propiedades YOffset y XOffset al objeto Curve2DData.

La propiedad Offset, que define el primer punto de datos que se va a visualizar, se ha añadido a los objetos Curve2DSymbols, Curve3DSymbols y Curve2DIndicators y al nuevo objeto CurveLabels.

El etiquetado de datos de las curvas ya no se selecciona mediante un tipo fijo, sino mediante un texto en el que pueden insertarse marcadores de posición para los distintos elementos del punto de datos. Los dos objetos Curv2DLabels y Curve3DLabels han sido sustituidos por el nuevo objeto CurveLabels, que tiene las propiedades adicionales Offset y BackgroundColor, además de utilizar la propiedad Text en lugar de las propiedades Type y Format. El texto contiene campos para los datos que se van a etiquetar. Por lo tanto, en el código VBA deben sustituirse, por ejemplo, ".Labels.Format = "%.4g" y ".Labels.Type = fpLabelTypeY" o ".Labels.Type = fp3DLabelTypeY" por ".Labels.Text = "%.4g<YValue>".

El objeto Legend se ha ampliado con la propiedad LinyByLine. Las propiedads Border e Interior del objeto Legend ya no devuelven objetos del tipo LegendBorder o LegendInterior, sino directamente un objeto del tipo LineFormat o FillFormat. Por lo tanto, en el código VBA, "Legend.Interior.Visible = False" debe cambiarse por "Legend.Interior.Color = fpColorTransparent", o "Legend.Interior.FillFormat.Color" por "Legend.Interior.Color". Para Border, sustituya correspondientemente "Legend.Border.Visible = False" por "Legend.Border.Color = fpColorTransparent", o "Legend.Border.LineFormat.Color" por "Legend.Border.Color". Además, las propiedades Title y TitleFont del objeto Legend se han trasladado al nuevo objeto LegendTitle. Por lo tanto, en el código VBA debe sustituirse "Legend.Title" por "Legend.Title.Title", "Legend.TitleFont" por "Legend.Title.Font" y "Legend.TitlePosition" por "Legend.Title.Position".

El objeto LegendEntry se ha ampliado con el método Select.

Ahora es posible ajustar el tamaño de los niveles de las planillas y dividirlos. El objeto WorksheetPane se ha ampliado con las propiedades Width y Height, así como con los métodos SplitVertically y SplitHorizontally.

Ahora se pueden incluir imágenes en los dibujos, cuyo tamaño también se puede ajustar en relación con el tamaño original. La lista Shapes se ha ampliado por ello con el método AddImage, y el objeto Shape se ha ampliado con las propiedades HorizontalScale y VerticalScale.

Ahora el tamaño de las tablas puede adaptarse al contenido. Por lo tanto, el objeto ColumnTable y el objeto CellTable se han ampliado con el método AdjustSizeToContent.

Se ha mejorado el posicionamiento del etiquetado de la tabla. La propiedad Position de los objetos ColumnTableTitle y CellTableTitle utilizan ahora el nuevo tipo de enumeración FpTitlePosition. En el código VBA, "Title.Position = fpPosition" debe sustituirse por "Title.Position = fpTitlePosition".

La propiedad Selection del objeto Worksheet ahora devuelve un objeto WorksheetSelection que, a diferencia del objeto FPObjects utilizado en FlexPro 7, se ha ampliado con los métodos SelectPane y Paste.

Cambios y mejoras en los tipos de enumeración

En los tipos de enumeración FpTextDataLinkDataType, FpBinaryDataLinkDataType, FpBinaryDataLinkResultDataType, FpDataType, FpShapeType, FpObjectType, FpTaskWindow, FpCoordinatesDisplayMode, FpCursorScaleAxisMode, FpLegendPosition, FpPenStyle, FpArrowheads, FpSymbolType, Fp3DSymbolType, FpColumnType, FpFillingType, FpEventIsolationEvent, FpEventIsolationResult, FpFourierSpectralProcedure, FpTimeFreqSpectralProcedure, FpTimeFreqAnalysisResult y FpFourierSpectrumType se han incluido elementos adicionales.

En el tipo de enumeración FpMoveCursor, se han añadido elementos adicionales y se ha cambiado el nombre a los elementos fpMoveCursorNextValue, fpMoveCursorPreviousValue, fpMoveCursor10ValuesForward, fpMoveCursor10ValuesBack, fpMoveCursor10StepsUp, fpMoveCursor10StepsDown, fpMoveCursorSectionForward, fpMoveCursorSectionBack, fpMoveCursorSectionUp, fpMoveCursorSectionDown, fpMoveCursorNextCurve, fpMoveCursorPreviousCurve, fpMoveCursorBothNextCurve y fpMoveCursorBothPreviousCurve. Las denominaciones anteriores siguen siendo compatibles, pero deben sustituirse en el código VBA.

En el tipo de enumeración FpAxisScalingMode, el elemento fpAxisScalingModeAutomatic ha sido sustituido por los elementos fpAxisScalingModeMinMax y fpAxisScalingModeDataRange. El significado de fpAxisScalingModeMinMax se corresponde con el de fpAxisScalingModeAutomatic. Más arriba se explica cómo debe adaptarse el código VBA.

La matriz de Rainflow de la opción Métodos de recuento puede calcularse ahora en tres variantes. En el tipo de enumeración FpRainflowCountMatrix, el elemento fpRainflowCountRainflowMatrix ha pasado a llamarse fpRainflowCountRainflowMatrixFromTo y se han añadido dos elementos más. La denominación anterior sigue siendo compatible, pero debe sustituirse en el código VBA.

Se han añadido los tipos de enumeración FpBracketType, FpColorLegendPosition, FpTitlePosition, FpArrowPosition, FpUnitPosition, FpConversionAlgorithm, FpLoudnessResult, FpLoudnessAlgorithm, FpLoudnessSoundField, FpLoudnessCalibrationMode, FpNASACDFFormat, FpNASACDFCompression, FpNASACDFEncoding, FpCOMTRADEFormat, FpCOMTRADEVersion, FpHumanBodyVibrationDirection, FpHumanBodyVibrationProcedure, FpHumanBodyVibrationFrequencyWeighting, FpHumanBodyVibrationOutput, FpHandVibrationOutput, FpRenamingOptions, FpRainflowCountResidue y FpSignalScalingMode.

Se han eliminado los tipos de enumeración FpLabelType y Fp3DLabelType. Más arriba se explica cómo debe adaptarse el código VBA.

Otros cambios y mejoras

Se han añadido los objetos ExportSettingsNASACDF y ExportSettingsCOMTRADE. Las propiedades NASACDFy COMTRADE se han añadido en consecuencia al objeto ExportSettings.

Se ha añadido la propiedad AsyncUpdate al objeto Global.

Se han añadido al objeto Application las propiedades AsyncUpdate y COMMAddIns, y los métodos ForceUpdate y DefragmentDatabase. Los métodos Update y UpdateAll se han ampliado con un argumento Async opcional, que puede utilizarse para activar una actualización en segundo plano en FlexPro-Professional.

El objeto Database se ha ampliado con las propiedades SaveFormulaResults, SaveCalculatedPictures, FPScriptAutoDim, AutoUpdate y MaxDigits, así como con el método ResetWindowArrangement. El método Consolidate, que se utilizaba para desfragmentar una base de datos, se ha eliminado, puesto que en FlexPro ya no es posible desfragmentar una base de datos mientras está abierta. En el código VBA, debe utilizar en su lugar el método DefragmentDatabase del objeto Application.

El objeto FpObjectParameter se ha ampliado con las propiedades Application y Parent.

Todos los objetos FPObject se han ampliado con el método Rename, que puede utilizarse para controlar hasta qué punto deben corregirse las referencias al objeto que se va a renombrar. Además, se ha añadido la propiedad FPScriptReference, que devuelve el nombre y, si procede, la ruta del objeto en la base de datos, formateada como referencia FPScript.

Para una fórmula FPScript incrustada, la propiedad ParentFolder proporciona la carpeta en la que se encuentra el objeto de datos al que se refiere la fórmula. El comportamiento definido anteriormente se obtiene utilizando la propiedad Parent.

La propiedad ReadOnly ahora también se puede establecer en todos los objetos FPObject. Se han añadido las propiedades Locked y Updating y el método ForceUpdate. El método ForceUpdate también está disponible en las listas FpObjects y DocObjectSelection. El método Update se ha ampliado con un argumento Async opcional, que puede utilizarse para activar una actualización en segundo plano en FlexPro-Professional.

La lista DatabaseSelection se ha ampliado con los métodos ConvertToFormula, Evaluate y Merge.

FlexPro 8 ahora admite conjuntos de datos con más de 2 GB de datos. Los enteros de 32 bits no son suficientes para indexar esos datos. Lamentablemente, Visual Basic no proporciona un tipo de datos entero de 64 bits. Por este motivo, en esos casos se ha utilizado el tipo de datos en coma flotante de 64 bits. Todas las propiedades y métodos que utilizan índices de datos se han modificado en consecuencia. En el código VBA, debe cambiar la variable correspondiente si no ha utilizado el tipo de datos Variant.

La propiedad Visible de los objetos Curve2DLine y Waterfall3DLine se establece ahora en False por defecto cuando se crea un nuevo diagrama. Por lo tanto, es posible que tenga que revisar las macros VBA que haya grabado con FlexPro 7 y establecer la propiedad en True.

Véase también

Nuevas características del modelo de objetos FlexPro 7