cancel
Showing results for
Did you mean:
cancel
Showing results for
Did you mean:
BIM Coordinator Program (INT) April 22, 2024

# Find the next step in your career as a Graphisoft Certified BIM Coordinator!

Project data & BIM
About BIM-based management of attributes, schedules, templates, favorites, hotlinks, projects in general, quality assurance, etc.
SOLVED!

# Help with Expressions

Participant

Hi,

What I want to do: Determine and automate how many blocks are in a column.

Problem: I have figured out the expression I need to determine how many blocks that are in the column. The problem I have is that after a certain height the expression needs to change to factor in more blocks. The expression that I have already figured out ( ( ( Column/Maximum Height of the Column ) / ( 90 mm ) ) * 2 ) -1 only works with columns up to 1000mm, which means I need to add in a greater or less than operator in the expression to differentiate between them. This later placed into a schedule which I have already figured out.

Question: How do I get the expression to work with less than < 1000mm and greater than > 1000mm?

For example:

Block Size = 390mm X 190mm X 90mm

Column Layout looks like this and after 1000mm it requires to have an extra block on top hence the expression needing to change.

If the column is 600mm high the expression would be ( ( ( 600mm ) / ( 90 mm ) ) * 2 ) -1

If the column is 1200mm high the expression would be ( ( ( 1200 ) / ( 90 mm ) ) * 2 ) -2

Hope this is enough information. Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
Solution
Expert

I took the long road which I'm sure you can simplify.

*Edit* Attached screenshot of schedule.

I created three properties:

1. UnitString:
1. STRCALCUNIT (Maximum Height of the Column)
2. StringNum:
1. STRTONUM (UnitString)
3. BlockNum:
1. ROUNDUP ( IFS ( (StringNum < 601 ); ( ( ( StringNum / 90 ) * 2 ) - 1 ); ( StringNum > 600 ); ( ( ( StringNum / 90 ) * 2 ) - 2 ) ); 0 )

All are set to only be available to Classification: Column (again - you'll find a way that works for you)

It works for me - try and see if it works for you 🙂

Erik Bjornhage : SwedishChef, ETTELVA Arkitekter, Gothenburg, Sweden
Architect : Digital Development : Graphisoft Cert. BIM-Manager
DELL Precision 5570; i7-12700H; 64 GB; RTX A2000 [8GB] : AC12 - future
Solution
Expert

I took the long road which I'm sure you can simplify.

*Edit* Attached screenshot of schedule.

I created three properties:

1. UnitString:
1. STRCALCUNIT (Maximum Height of the Column)
2. StringNum:
1. STRTONUM (UnitString)
3. BlockNum:
1. ROUNDUP ( IFS ( (StringNum < 601 ); ( ( ( StringNum / 90 ) * 2 ) - 1 ); ( StringNum > 600 ); ( ( ( StringNum / 90 ) * 2 ) - 2 ) ); 0 )

All are set to only be available to Classification: Column (again - you'll find a way that works for you)

It works for me - try and see if it works for you 🙂

Erik Bjornhage : SwedishChef, ETTELVA Arkitekter, Gothenburg, Sweden
Architect : Digital Development : Graphisoft Cert. BIM-Manager