Diagram configuration objects
Configuration data for CADMATIC P&ID can be stored either in the library or in the project. If the data exists in both, the project data is used. Thus it is possible to have different kind of projects using the same library.
Configuration objects
From the library, CADMATIC P&ID uses the following common configuration objects:
In addition, it uses these P&ID specific configuration objects:
- Component lookup table (library / project)
- Database setup (library)
- Shared settings (project)
- SQL Db Schema (library)
Quantity definitions
The quantity used in P&ID database fields is described in quantity definitions.
Shared settings
Shared settings are edited from the P&ID application, as described in Options.
Database setup
The database structure is edited with a special interactive tool. This tool has no built-in rules to determine which tables and fields should not be changed and which ones can be modified freely. Since these matters depend on the application accessing the database, not on the database itself, there is a need to be able to define editing rules outside the structure editor. These rules are defined in the "Database setup" configuration object.
The file format is the usual tagged file format. Its format is as follows:
tbl <tbl name>; not <denied actions for the table>;;
col <column name>; not <denied actions for the column>;;
The denied actions can be:
-
RENAME
-
DELETE
-
MODIFY [ALLOWRESIZE]
- If MODIFY is used alone, then almost all fields are read-only.
- If MODIFY is followed by ALLOWRESIZE, then it is possible to edit the min/max values, the string length and the number of array members, but not the data type or name, for example.
- If ALLOWRESIZE is used alone, then also fields such as data type are editable.
For example, here are the rules for the ARMATURES table:
tbl ARMATURES;not RENAME DELETE;; col PosId;not RENAME DELETE MODIFY ALLOWRESIZE;; col Status;not RENAME DELETE MODIFY;; col Revision;not RENAME DELETE MODIFY;; col TypeTbl;not RENAME DELETE MODIFY;; col Pipeline;not RENAME DELETE MODIFY;; col MenuItmData;not RENAME DELETE MODIFY ALLOWRESIZE;; col Description;not RENAME DELETE ALLOWRESIZE;; col model_status;not RENAME DELETE MODIFY;; col model_not_set;not RENAME DELETE MODIFY;; col DmPartCode;not RENAME DELETE MODIFY;; col PdObjectId;not RENAME DELETE MODIFY;; col PosIdNull;not RENAME DELETE MODIFY;;