Document & Visualize forum
cancel
Showing results for 
Search instead for 
Did you mean: 

Schedule headlines to display designated tree level of Classification system

Josh Verran
Advocate

When displaying information in a schedule it is possible to show the classification as a headline.

However, depending on the complexity/levels of the classification system the actual classification of the element can be too specific for grouping when perhaps level 1, or 2 would be more suitable.

 

As an example, we are using the CBI classification system.

Without documenting it fully here I'll use "Timber "Framing" as an example as well as sanitaryware, so you can see where they sit within the 4 levels (4 digits).

 

1 - General

2 - Site

3 - Structure

---38 - Timber

------382 - Timber Framing

----------3822 - Solid timber wall framing

4 - Enclosure

5. Interior

6 - Finish

7 - Services

---71 - Liquid Supply

------715 - Sanitaryware, tapware and accessories

---------7151 Sanitaryware

8 - External

 

 

As you can image in a schedule, seeing the 4th level of the classification would be too much, where as level 1 or level 2 would be clearer.

 

At the moment I have an expression that returns the first character of the classification number (for the examples above that would be 3 and 7).

Then an IFS expression that marries up that 1st digit with the 8 (level 1) classification numbers above, (screenshot attached).

The problem is, to go any further would require huge expressions with IFS entries.

 

Can anyone suggest another method?

Screenshot 2021-11-25 100258.png

Screenshot 2021-11-25 100455.png

 

ARCHICAD 18-25 | BIMcloud Basic | CI Tools - CI Extension by Central Innovation | Windows 10 Pro | Intel Core i7-6700K @4.00GHZ | 32Gb RAM | Dual Samsung S27F350 1920x1080 | Nvidia Quadro P2200 5Gb
3 REPLIES 3

poco2013
Advisor

I assume you just want to display the upper levels of the classification tree. There isn't any way a expression could accomplish this since it does not have access to the classification tree. However, this is a easy (short) Python script assuming you could just display (schedule) the result in a custom property.

In the Python script;

Extract the element guid.

use - GetClasificationsofElements to get your element classification level then extract the level number in front.

Use. GetAllClassificationsInSystem to get the class tree.

Get the upper level name by using:

return class[your top level number].classificationItem.id +'. '+ return class[your top level]classification.name

For lower levels use: the children attribute

Gerry

Windows 10 - Visual Studio 2019; ArchiCAD 25

Thanks Gerry

 

I haven't actually used scripts before, so I'll do a bit of learning on that first.

Sounds quite useful.

Once leant I'll try your suggestion above and reply how I got on.

ARCHICAD 18-25 | BIMcloud Basic | CI Tools - CI Extension by Central Innovation | Windows 10 Pro | Intel Core i7-6700K @4.00GHZ | 32Gb RAM | Dual Samsung S27F350 1920x1080 | Nvidia Quadro P2200 5Gb

To get you started. i made a short video to demo the process.

 

Classification levels in schedules 

 

Also, I'll attach the Python scrip. You will have to alter the particulars for your Objects.

Any problems or confusion, leave a comment.

 

 

Gerry

Windows 10 - Visual Studio 2019; ArchiCAD 25

Start a new conversation!

Still looking?

Browse more topics

Back to forum

See latest solutions

Accepted solutions

Start a new discussion!