Friday
Old story, trying to schedule lumber sizes from beams and columns in same format eg 90 x 45.
After days Ive finally crated two properties that get the correct string results, one for columns and one for beams.
Initially I tried to use one expression but had numerous issues with too many arguments, wrong data type etc etc.
So my two working properties are:
For Columns called Section Size Uniform Column
CONCAT ( STRCALCUNIT ( {Property:Column/Core Height \/ Diameter} ), " x ", STRCALCUNIT ( {Property:Column/Core Width} ) )
Returns a string value 90 x 45
and for the same cross sectional sized Beams called Section Size Uniform Beam
Returns a string value 90 x 45
CONCAT ( STRCALCUNIT ( {Property:General Parameters/Cross Section Width at Top\/End (cut)} ), " x ", STRCALCUNIT ( {Property:General Parameters/Cross Section Height at Top\/End (cut)} ) )
These both work on their own.
So my problem now is combining them into a property that I can put in one column of a schedule. I created a property called Section Size Uniform Combined with this code:
IFS ( {Property:General Parameters/Element Type} = "Column", {Property:Section Size Uniform/Section Size Uniform Column}, {Property:General Parameters/Element Type} = "Beam", {Property:Section Size Uniform/Section Size Uniform Beam} )
It doesn't report any syntax errors.
All three properties are in one Group called Section Size Uniform
When I evaluate the combined property the results say Expression cannot be evaluated for this Element
So Im at a real loss as to why this is the case since individually the two properties Im trying to combine work.
Solved! Go to Solution.
Saturday
Thanks, so Im not sure I understand. I have the Classifications already like you explain.
It doesn't work if I set each Column expression and Beam expression to Value like in your second pic.
But I got it to work as expected by leaving all as expressions and then adding the two individual ones as a sequence to the Main property that is used in the schedule like you suggest.
Here are my screen shots:
Now I can see all the studs and beams and their lengths using the 3D Length field in the schedule, their cross sectional size and all individually or Merged to give me total lengths.
Well thanks, we got there in the end and Ive learnt a very valuable trick to use Sequencing rather than trying to nest expressions. Cheers
Saturday - last edited Saturday
Instead of using single IFS expression line, split it into two sequence lines.
Also, make sure the classifications are assigned correctly:
Make the column property only available for Column. Same for the beam property, and the combined property should be available for both Column and Beam.
Architect | Graphisoft Certified BIM Manager
ArchiCAD 29 JPN/USA/INT | Windows 11
Saturday
Thanks, so Im not sure I understand. I have the Classifications already like you explain.
It doesn't work if I set each Column expression and Beam expression to Value like in your second pic.
But I got it to work as expected by leaving all as expressions and then adding the two individual ones as a sequence to the Main property that is used in the schedule like you suggest.
Here are my screen shots:
Now I can see all the studs and beams and their lengths using the 3D Length field in the schedule, their cross sectional size and all individually or Merged to give me total lengths.
Well thanks, we got there in the end and Ive learnt a very valuable trick to use Sequencing rather than trying to nest expressions. Cheers
Saturday
Glad that you worked it out. What you did is exactly what I meant. I simplified and omitted the column/beam expression part in my example to give you the idea of how the whole system works. Cheers
Architect | Graphisoft Certified BIM Manager
ArchiCAD 29 JPN/USA/INT | Windows 11