FlexiTable™ obtains its information from one of several types of external data, or from MicroStation itself. By external data we mean a file or spreadsheet that has been created by some application other than MicroStation. MicroStation data sources include cells, text, and tags.
FlexiTable™ can build a table from one of several varieties of data source …
Each data source has its merits and idiosyncrasies. For example, a CSV data source is simple, but lacks formatting capability. An XML data source includes data formatting capability, but is more complex to produce. A spreadsheet is perfect for creating tabular data, but without FlexiTable™ it's difficult to reproduce in MicroStation.
The appearance (colours, line styles, text styles, etc.) of the table is determined by a settings file. The settings file also provides boiler-plate information for a table's header, footer, and caption.
FlexiTable™ has multiple components that are described in the FlexiTable™ Model. This will help you understand how FlexiTable™ works, and perhaps suggest other applications for this technology.
A comma-separated variable (CSV) file is plain text. You can edit it with your favourite
text editor such as Windows Notepad, or something more sophisticated, such as TextPad.
More often, a CSV file might be exported from some other application, such as an office word processor or spreadsheet.
Although CSV is simple to produce and to read, it omits features that other formats can convey. CSV has no data typing nor formatting capability, so it's not possible to include instructions in a CSV file that give hints to FlexiTable™ about formatting or data presentation.
Table formatting is defined by the FlexiTable™ settings file.
An extended markup language (XML) file is plain text. You can edit it with your favourite
text editor or a more appropriate tool, such as XML Spy. More often, an XML file might be exported from some other application,
such as an office word processor or spreadsheet, or a database.
XML is able to convey extensive formatting and data type information, so it's possible to include instructions in an XML file that give hints to FlexiTable about formatting and data presentation.
Table formatting is defined by the FlexiTable™ settings file. The settings may be overridden by directives in the XML data file.
A hypertext markup language (HTM or HTML) file is plain text. You can edit it with your favourite
text editor, a more appropriate tool, such as TextPad, or one of many HTML editors.
More often an HTML file might be exported from some other application,
such as an office word processor or spreadsheet, a database, or from the Internet.
HTML is able to convey some formatting information, so it's possible to include instructions in an HTML file that give hints to FlexiTable™ about formatting, but not about number presentation.
Table formatting is defined by the FlexiTable™ settings file. The settings may be partially overridden by directives in the HTML file.
A spreadsheet is directly analogous to a table, so there's usually a 1:1 relationship between what you see in the spreadsheet and what is contained in a FlexiTable™. If you're interested only in a portion of the spreadsheet, then FlexiTable works with an Excel cell range.
Table formatting is defined by the FlexiTable™ settings file.
FlexiTable can extract useful information from several types of graphic element …
Common to each of these elements are a value and location. The value of a cell is its cell name, the value of a text element is its text content, and the value of a tagged element is provided by one or more tag elements.
As you would expect, FlexiTable displays the value of an element in its grid, and can create a table of those values.
In addition it stores internally the element location (its X, Y, Z coordinate).
FlexiTable uses this coordinate information subsequently to find and focus a specified view on an element.
When any of these data types is present, you will see the Locate items in the data editor dialog become activated …
The labels on those items may change, depending on the type of element you have scanned. However, their functionality remains the same. The View option button specified the view that will display the element. The Locate button searches the current model and, optionally, any referenced models, for the element that corresponds to the row currently selected in the data grid. When it finds the element, it performs the equivalent of a Window Area command about that element in the designated view. A double-click on a row in the data grid has the same effect.
When you export data derived from any of the MicroStation data types, you can export not only the element's value, but also its coordinates. Thus, you can use FlexiTable as a tool to build a gazetteer that includes names and locations.
FlexiTable examines your active DGN model and, optionally, any referenced models for cell instances. It populates the table grid with each cell's name, description, and the file path to the cell library where the cell was found.
Table formatting is defined by the FlexiTable™ settings file. The settings may be overridden by directives in the XML data file.
There's more about cell scanning here.
FlexiTable examines your active DGN model and, optionally, any referenced models for text elements. It populates the table grid with each text element's value.
Table formatting is defined by the FlexiTable™ settings file. The settings may be overridden by directives in the XML data file.
There's more about text scanning here.
If your DGN model already contains tagged elements, you can create a FlexiTable™ by choosing the Tag Set data source option and naming the Tag Set. FlexiTable™ scans the active model, and optionally any attached reference models, and builds its table from that data set.
A tag set includes data type information, so it's possible for FlexiTable™ to deduce hints about data presentation. Table formatting is defined by the FlexiTable™ settings file.
You can instruct FlexiTable to watch for changes in tagged data. When a user changes a tag's value, you can configure FlexiTable to notice the change and update its table automatically.