LuaCAD Help

Property fields

Property fields are the data you write to a part: room, plant, construction phase, tag, status or a field only your office needs. They appear in the Properties palette of GstarCAD, in lists, in annotation and in the IFC – the same way in all plug-ins. You define once which fields exist; this applies to all plug-ins and all drawings.

What a property field is

A part has two kinds of data:

Every field has a few fixed attributes:

The default fields

No.FieldOn which partsAsked before insertingNotes
1Article numberall except pipes and openingsyesfrom the catalog; IFC additionally ArticleNumber
2Descriptionallyesfrom the catalog; never from the pipe; IFC additionally ModelLabel
3Manufacturerall except pipes and openingsyesfrom the catalog; IFC additionally Manufacturer
4Typevalve, manufacturer product, fixture, custom part, block, duct accessoryyesIFC additionally ModelReference
5Roomallnosuggestion = the room the part stands in; never from the pipe
6Remarkallyesnever from the pipe
7eBKP-Hallno–
8Plantallyeschoice; your office maintains the entries
9Statusallnoplanned, ordered, installed, tested; suggestion "planned"
10Construction phaseallno–
11Additional descriptionallnonever from the pipe
20TagPiping 3D: valve, manufacturer product, custom partyesrenumbered when copying; IFC additionally IfcElement.Tag
22Test pressure [bar]Piping 3D: pipe(for pipes)–
25Fire protectionVentilation 3D: duct, round duct, fitting, duct accessoryno–, EI 30, EI 60, EI 90
26Airflow [m³/h]Ventilation 3D: pipe, duct accessory(for pipes)–
30Sound insulationDrainage 3D: pipe segment, fittingnonormal, increased
31Fire collarDrainage 3D: pipe segmentnoyes / no
32Leak testDrainage 3D: pipe(for pipes)yes / no
35Numberopeningnosequence number; renumbered when copying; IFC additionally IfcElement.Tag
36Approvalopeningnorequested, approved, completed; suggestion "requested"
37Fire stoppingopeningyes–, EI 30, EI 60, EI 90

"(for pipes)": the default fields of a plug-in on the pipe also appear in the palette area Property fields of the next pipe. "IFC additionally": the standard property set the field also goes to by default (see Output). By default no default field is required and none has a PCF number.

Values from the catalog

Article number, description and manufacturer of a catalog part (manufacturer product, fitting or pipe segment from a catalog) come from the catalog. On such a part they are not a property field: the palette shows them read-only in the LuaCAD category, and neither the palette nor "Select by properties" overwrites them. On a custom part, a block or a valve without a catalog value you enter them like any other field.

Values from the pipe

A part without an entry of its own takes the value of its pipe – for every field that applies to the pipe and to the part group of the part (plant, status, construction phase, your custom fields …). Description, additional description, room and remark never come from the pipe: they describe the part itself. The values are read, not copied – change the pipe, and all its parts without an entry of their own follow.

Creating a custom field

Goal: offer a field your office needs on the parts of the plug-ins – with name, type, part groups and output.

The Property fields dialog box (here from the Annotation palette, Shared tab): Shared tab and one tab per plug-in (1), the list of fields with number, default fields marked "Werk", a required field marked (Pflicht) (2), name, key and type (3), choices and suggestion (4), applies to (5), always on all parts, ask before inserting, offer in lists (6), when copying (7), required field, IFC additionally, PCF number (8), New field, Remove, Export, Import (9)
The Property fields dialog box (here from the Annotation palette, Shared tab): Shared tab and one tab per plug-in (1), the list of fields with number, default fields marked "Werk", a required field marked (Pflicht) (2), name, key and type (3), choices and suggestion (4), applies to (5), always on all parts, ask before inserting, offer in lists (6), when copying (7), required field, IFC additionally, PCF number (8), New field, Remove, Export, Import (9)
  1. In the palette of a plug-in gear menu › Properties › Property fields … – the dialog box opens on the tab of this plug-in (from the Annotation palette on Common).
  2. Choose the tab: Common for a field on all parts of all plug-ins, otherwise the tab of the plug-in.
  3. New field – it gets the next free number from 50 and is first called "New field". Enter the Name; the Key is made from the name.
  4. Choose the Type (text, number, whole number, length (mm), yes / no, choice from a list); for a choice, the entries separated by ;.
  5. Under Applies to, check the part groups (on a plug-in tab all are checked by default).
  6. Set the check boxes: always on all parts, ask before inserting, offer in lists, Required field; if needed IFC additionally and PCF number.
  7. OK – the field applies at once in all plug-ins; the palettes rebuild their fields.

Every attribute in detail: Property fields (dialog box).

Video coming soon: Creating a custom field

Values in the Properties palette

Goal: enter the fields of one or many parts, without a command and without a dialog box.

The Properties palette with a selected ball valve: the LuaCAD category with the values of the plug-in (type, system, nominal diameter …), read-only (1), in the LuaCAD property fields category (5) the values set when inserting: remark (2), plant SAN-01 (3) and tag V-101 (4)
The Properties palette with a selected ball valve: the LuaCAD category with the values of the plug-in (type, system, nominal diameter …), read-only (1), in the LuaCAD property fields category (5) the values set when inserting: remark (2), plant SAN-01 (3) and tag V-101 (4)
  1. Click a part (without a command) – or select several.
  2. In the Properties palette, the LuaCAD property fields category: one row per field.
  3. Enter the value or pick it from the list (choice, yes / no). Numbers calculate ("600+400").
Video coming soon: Values in the Properties palette

Fields of a whole pipe

Goal: write a value once to the pipe – every part of it without an entry of its own takes it (see Values from the pipe).

  1. In the palette of Piping 3D, Piping 2D, Ventilation 3D or Drainage 3D gear menu › Properties › Property fields of a pipe ….
  2. Click a part or a line (command line: "Click a part or line …"). LuaCAD refuses a part of another plug-in – then use the gear menu of that plug-in.
  3. In the dialog box Property fields of the pipe (in Ventilation 3D: of the duct network) enter the values, OK. LuaCAD writes them in one undo step; the command line reports how many objects were changed.
Video coming soon: Fields of a whole pipe

Properties before inserting

Goal: give every new part its fields right when inserting – with a tag that counts up.

The Properties before inserting dialog box of Piping 3D for a ball valve: the title of the part (1), catalog and product line from the pipe, read-only (2), the LuaCAD property fields category with remark, plant SAN-01 and tag V-101 – V-001 was suggested (3), OK and Cancel (4), the "i" at the top (5)
The Properties before inserting dialog box of Piping 3D for a ball valve: the title of the part (1), catalog and product line from the pipe, read-only (2), the LuaCAD property fields category with remark, plant SAN-01 and tag V-101 – V-001 was suggested (3), OK and Cancel (4), the "i" at the top (5)

Two ways, the same fields (all with ask before inserting that apply to the part):

Procedure with the check box:

  1. Set the check box, choose the part, Insert.
  2. The dialog box appears, filled with the values of the last time for this type, otherwise with the suggestions. The tag is set to the next free one.
  3. OK – the part hangs at the cursor. Every part you insert now gets the values; the tag counts up by one per part.
  4. Esc at the cursor returns to the dialog box, with the values; Cancel in the dialog box ends.
Video coming soon: Properties before inserting

Required fields before lists and IFC

Goal: before a list or the IFC export, find out where an important field is still empty – and fill it in right away.

The Required fields prompt before the IFC export: "Before the output (IFC export): Plant is missing on 14 part(s)" (1), Output anyway (2), Show parts (3), Cancel (4)
The Required fields prompt before the IFC export: "Before the output (IFC export): Plant is missing on 14 part(s)" (1), Output anyway (2), Show parts (3), Cancel (4)

By default no field is required. Once you make a field a Required field in the Property fields dialog box, LuaCAD counts before every list (parts list, bill of materials, extract …) and before the IFC export on how many parts it is empty. Only parts of this drawing that carry the field count – not parts of a reference or of another plan.

  1. Start the list or the IFC export. If a required field is missing, the confirmation appears; the command line says the same.
  2. Output anyway – the output runs, the empty fields stay empty.
  3. Show parts – nothing is output; Select by properties opens with exactly these parts, the condition "<field> empty" and the same field under Set a value on all matches. Set the value, then output again.
  4. Cancel – nothing happens.

Required fields are only a note: the output is always possible.

Video coming soon: Required fields before lists and IFC

Property fields in the output

All outputs read the same values: the entry on the part, otherwise the value of its pipe, otherwise the suggestion.

OutputHow the field gets thereExample
AnnotationPlaceholders {Feld:KEY} (value) and {Feldname:KEY} (name) in the content of a template – see Fields of a template.{Feldname:FIRE_COMPARTMENT}: {Feld:FIRE_COMPARTMENT} → "Fire compartment: FC-02"
ListsEvery field with offer in lists can be chosen as a column when laying out a list (Design list …); column heading = name.column "Plant" in the parts list
IFCEvery value is in the property set LuaCAD_Eigenschaftsfelder (common default fields and custom fields; the default fields of a plug-in in a property set of the plug-in). With IFC additionally it also goes to a standard property set or to the tag of the element (IfcElement.Tag; without a value the item number is there). If two fields go to the same target, the one with the lower number that has a value wins.article number → Pset_ManufacturerTypeInformation.ArticleNumber; tag → IfcElement.Tag
PCFA field with PCF number n goes into the PCF export (process piping) as COMPONENT-ATTRIBUTE<n>; each number belongs to exactly one field.fire compartment with PCF number 5 → COMPONENT-ATTRIBUTE5 FC-02

Where IFC and lists are in the plug-in: IFC export, Parts list.

Values when rebuilding and copying

When a plug-in rebuilds parts (generate 3D, break in, lengthen, shorten, replace), the values go along: a new pipe segment gets them from the old one that covered most of the same stretch (cut in two: both halves); a fitting or a valve from the old part at the same place; a replaced valve gets all values. A tee newly broken into a pipe gets nothing of its own – it reads the values of its pipe.

When copying, the rule when copying decides per field: keep (default), clear or renumber (by default the tag and the number of an opening: V-007 becomes the next free number of this pattern in the drawing, for example V-012).

Select by properties

Goal: find parts of all plug-ins by their properties and property fields, select them in GstarCAD and write a value to all matches. GstarCAD cannot do this itself – its Quick Select does not know the fields of LuaCAD.

The Select by properties window, opened with "Show parts" from the Required fields prompt: scope with Entire drawing and Current selection with the crosshair (1), plug-in and part group (2), the condition "Plant – empty" (3), + Condition (4), the matches "14 of 14 object(s)" with Select, Add to selection, Remove from selection (5), set a value on all matches with property field, value, Set value, Remove field (6), Reload and Close (7)
The Select by properties window, opened with "Show parts" from the Required fields prompt: scope with Entire drawing and Current selection with the crosshair (1), plug-in and part group (2), the condition "Plant – empty" (3), + Condition (4), the matches "14 of 14 object(s)" with Select, Add to selection, Remove from selection (5), set a value on all matches with property field, value, Set value, Remove field (6), Reload and Close (7)
  1. Ribbon › LuaCAD tab › Tools ribbon panel › Select by properties (or LuaCAD menu › Select by properties …). If objects are already selected, they become the scope.
  2. Scope: Entire drawing or Current selection; the crosshair next to it selects the objects again (Enter = done). In the current selection every foreign object counts as well – so objects without a plug-in can get a custom field too.
  3. Objects: the plug-in and the part group (all by default). "other objects" are objects without a plug-in.
  4. Conditions: one property, one comparison and one value per row; + Condition adds a row, × removes it. All conditions must be met. The list of properties is ordered in categories: LuaCAD (from the plug-in), LuaCAD property fields, GstarCAD (layer, color …). The value list suggests the values that occur in the scope.
  5. The row below keeps counting: "7 of 52 object(s)". Select selects the matches in GstarCAD (in plan view LuaCAD zooms to them) – the Properties palette then shows their common fields. Add to selection and Remove from selection work with the existing selection.
ComparisonTrue when the value …Example
is / is notis equal or not (case does not matter; numbers as numbers)DN is 25
contains / begins withcontains the text or begins with itdescription contains "ball valve"
empty / not emptyis missing or presenttag empty
greater than / less than / betweenis above, below or within as a number (both limits included)length between 100 and 500

Set a value on all matches

  1. Under Set a value on all matches choose the property field ("(on request)" follows fields on request).
  2. Enter the value or pick it from the list.
  3. Set value – LuaCAD writes it to all matches, in one undo step; the row below reports on how many objects it was set. Remove field deletes the entry on all matches (also a field on request).
Video coming soon: Select by properties