Tables

Often when documenting a project it's helpful to be able to embed a table of information into a drawing (To display door and window schedules, zoning information etc.). MeasureIt_ARCH Tables provide a simple way to display Comma Separated Value (CSV) tables in a drawing. Tables automatically scale cells to fit the provided content.

Tables can be used with the CSV's produced by MeasureIt_ARCH Schedules.

Warning

Tables are currently under development, their behavior may change.

Adding Tables (MeasureIt_ARCH Main Panel)

image Table:
  • Adds a table to an Empty Object at the location of the 3D cursor.

Table List (Object Settings)

The Tables List lets you select and edit the properties of the Tables attached to the actively selected object.

image

  • Name: Sets the Table's name.
  • Color: Sets Table's Color.

Table Settings

image

  • Text File: The text file (CSV) used to populate the table. CSV files can be written or loaded in from Blender's Text Editor
  • Font: Lets you select a custom font for the Annotation from your system.
  • Font Size: The Table's font size.
  • Line Weight: Line Weight of the Table lines.
  • Justification: Text Justification within the Table Cells (Left, Center, Right).
  • Position: Text Position relative to the end of the Annotation leader line (Top, Middle, Bottom).

Note

Text Justification and Position can be adjusted per cell by including markups in the CSV text. See Below.

  • Minimum Column Width: The minimum width (in drawing space) for all columns in the table. Applies to empty cells as well.
  • Minimum Row Height: The minimum height (in drawing space) for all rows in the table. Applies to empty cells as well.
  • Padding: Clear space (in pixels) between the text and cell border.
  • C1 Max Width: The maximum width of the first column. Can be useful when the first column is being used for Categories & Headers.
  • Extend Short Rows: When enabled, blank rows will not draw cell dividers.

Table Text Fields:

Displays a list of the Text Fields for the selected Table. (See TextFields Documentation) Table TextFields are automatically populated from the provided CSV file, so the raw text is not directly editable here, however cell text can be overwritten using the TextField's AutoFill settings.

This can be used to inject AutoFill information into a Table, or to link multiline text from a separate text file into a single cell (handy for Wall Schedules) via the 'Text File' Autofill option. Text File Autofill can be specified in the csv as well using the Cell Markup [f='FILE_NAME'].


Cell Markup Formatting

To Provide further formatting options for individual cells, MeasureIt_ARCH table use markup codes within the CSV to provide formatting information. The markup code can be included anywhere within the cell text, and multiple codes can be included in each cell. The following codes are supported.

  • [l] Justify Text Left.
  • [c] Justify Text Center.
  • [r] Justify Text Right.
  • [t] Position Text at the Top of the cell.
  • [m] Position Text at the Middle of the cell.
  • [b] Position Text at the Bottom of the cell.
  • [br] or [\n] Include a line break at this point in the cell's text.
  • [f='FILE_NAME'] Set this cell to AutoFill from the text file name 'FILE_NAME'
  • [d='DATA_PATH'] Fill this cell with data from the user entered 'DATA_PATH'

Warning

Using the data path option allows for nearly any data within your Blender file to be dynamically linked to a Table or Schedule.

However because this approch involves evaluating user entered data paths it could be abused and used to run malicious python code on a users system. We recomend using caution when opening blender files from un-trusted sources, and inspecting text files that use the [d='DATA_PATH'] flag yourself before enabling MeasureIt_ARCH.

MeasureIt_ARCH currently checks to ensure the data path does start as a valid blender data path before evaluating, to prevent some arbitrary code execution.

This markup flag will likely be removed in future versions of MeasureIt_ARCH and replaced with a more secure option.