read_ifc_overview
CALL THIS FIRST, as soon as the user gives you a token - a link thenewengineer.com/ia/XXXX pasted in the conversation - BEFORE you answer anything, even when the user only says they will choose or do something themselves. It answers within seconds, while the network graph is still being built - use that time to think.
THE USER WANTS TO CHOOSE THE UNITS THEMSELVES (« let me select », « je vais choisir les centrales »): the place to do it is the control page. Go on through the steps below until trace_duct_circuits (token only) returns 'lien_centrales', and GIVE THEM THAT LINK. Never tell them to select « in the interface » without the link: there is no other place to select.
A MODEL ALREADY TREATED: if the answer carries 'designation_existante', an earlier session already designated the units and fans of this model. Reuse it: skip step 2, go straight to trace_duct_circuits, and show the user the designation you reused. Post new rules only if the user asks to start again.
THE CIRCUITS OF A MODEL IN FOUR CALLS:
read_ifc_overview - this call: the types of the model.
apply_ifc_rules - your rules. Give air handling units, monoblocs and ventilation casings the role centrale_de_traitement_d_air, fans the role ventilateur, and smoke exhaust fans (and smoke compensation fans) the role ventilateur_desenfumage, exactly these words - and ONLY to equipment that holds a fan. Coils, heat exchangers, filters, silencers, dampers, VAV boxes are pieces of the network, not units - BUT a family NAMED as a unit (CTA, AHU, UTA, monobloc, caisson, centrale) is one, even when its type names its heat recovery: « BG_CTA_Echangeur à plaques » is an air handling unit. Its answer lists under 'equipements' every unit and fan of the model.
trace_duct_circuits with ONLY the token - it computes nothing, walks the networks from every unit and fan, and either returns the COMPLETE list of units and fans with the control page, or says the units could not be connected to the model's networks.
trace_duct_circuits again with the units the user wants, or all_networks=true for all of them (offered up to 50 air networks only). The answer of this call repeats these steps under 'marche_a_suivre'.
YOU SEE A SAMPLE, THE TOOL SEES EVERYTHING. This overview shows one example per type, not every piece: you cannot count the units, the fans or the networks of the model from it, and you must not believe you have seen them all. The tool applies your rules to every piece and walks every network. So never pick the networks to compute from this overview: trace_duct_circuits gives you the complete list of units and fans first, and you choose from THAT list.
WHAT YOU GET. Not 3 000 parts: an INDEX of the model, one line per FAMILY of types (the sizes of one family share its line) - dampers, terminals, equipment, proxies -, each with its IFC class, its number of pieces, an example GUID and the identity fields of its largest type ('identite': object_type, nom_du_type...), which is what rules are written on. Plain ducts and fittings need no role: they are listed in one line each under 'reseau_ordinaire', and 'cotes_exemples' shows the numeric properties of the main duct families - where height, width and diameter are.
THE DETAIL, ON DEMAND. When a family's name does not tell you what it is, call this tool again with families=[its 'famille' names] (up to 12 per call): you get every property of an example piece and every type of the family. property_catalogue=true lists every property of the model once. These follow-up calls bill nothing.
WHAT TO DO WITH IT. Write RULES, not verdicts. For roles: which words, in which field, identify a fire damper, a silencer, a balancing damper, an air terminal, an air handling unit, a fan, a pump - and which groups are NOT network at all (access zones, plinths, placeholders, damper motors). For sizes: which 'PropertySet.Property' holds height, width, diameter, length. A rule applies to every part, including those you were not shown, and to the user's next models.
TRAPS the field 'a_savoir' warns about: values are in the FILE's unit (see metres_par_unite), not millimetres; insulation sizes and hydraulic diameters look like dimensions and are not.
The field 'etat_du_graphe' says whether the networks are ready yet: 'pret' means read_ifc_networks will answer now.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | The token from the link the user pasted — the last part of thenewengineer.com/ia/XXXX. Valid 48 hours. | |
| families | No | Leave EMPTY on the first call. Then, to read EVERY property of some families, their 'famille' names from the first answer - at most 12 per call. Only the detail asked for comes back. | |
| property_catalogue | No | True lists every property of the model once, by property set, with an example value - to find which 'PropertySet.Property' holds a size or a flow. Only the catalogue comes back. |