Ability to Lock Expression Based Properties

Josh Verran
Advisor

With expression-based properties, it is possible to extract and combine parameters (including other properties) to form a string.

For example, I have properties related to timber framing like studs, nogs, treatment, grade, etc.
I have an expression-based property that determines if the wall is of timber construction then combines the above, plus other parameters (composite name etc) to form a note (sentence), if it's concrete, then a different note is formed. This is then used/displayed in a key (Interactive Schedule).

This works really well. However, one limitation is that users, in the key / interactive schedule, can overwrite the expression-generated string with manual text. This appears correct in one instance, however, all the underlying parameters still have the original data/parameters.

1.jpg2.jpg

While I have several Graphic Overrides that look for these properties with custom values, there's still a risk.

My wish is that somehow there is a way to to lock expression-based properties.

11 Comments

This use of property based expressions is brilliant for creating a wall key. Your wall key representation is almost exactly the same as our company uses although we currently have to generate it all manually in a worksheet. It would be great if you could share how you achieve this but I understand if you’d rather not. 

Erik Bjornhage
Advisor

I posted a similar wish somewhere - although I didn't limit it to Expression based properties.

 

It would be really nice to be able to lock properties in general.

Quite often we set up our templates and favourites with information and links to translators which are broken when users edit the properties "the wrong way". To be able to lock properties would solve many of these issues, enhance the quality of our deliveries and make my hair less grey.

scottjm
Advisor

The ability to identify when a property or ifc property has been override is essential too. Maybe through an IS or GO or Find & Select. As far as I’m aware you have to search for then individually. 

Josh Verran
Advisor

Hi @Lee Hankins 

 

Yeah, no problem.
In a nutshell;
I have used expression-based properties, to combine (Concat) various properties (Option Sets, Strings etc) and text, to form a note.
I have used sequences, to create variations of the above, to be used with different structure types.

 

My actual setup is a little more involved than below, as I have another method using expressions to show/hide the renovation prefix (New/Existing) depending on the type of project.
https://community.graphisoft.com/t5/Documentation/Property-to-determine-if-a-project-is-a-new-build-...

There are also a couple of other bits where a particular naming property can override the expression.

The below thou is an extract that generates the key as shown in the previous post.

 

The expression has two sequences (Line 1, Line 2).
The idea here is that if the first parameters aren't met, it goes to the next.

That's how the timber walls show framing details, while the others don't.

 

Line 1
(Concat(Stud Size, " ", Treatment, " ", "(", Type / Grade, ")", " ", (SplitRight(Name / Building Material / Complex Profile, "mm ", 2)), ", with ", "Studs @ ", Studs, " and ", "Nogs @ ", Nogs))

 

[The split right function is used as our Composites are written like this "90mm Timber Framing", the 90mm is the overall thickness which I don't want. I just need the text after the "mm". Our key shows the stud size 90x45, not the overall wall thickness. So split this property, at this text, show the 2nd bit of the split, not the first]

 

Line 2
(Concat(Name / Building Material / Complex Profile))

 

This property "Name / Building Material / Complex Profile", just uses sequences to return either the Complex Profile, Composite Structure, Building Material, or Classification Name (failing all else) of the wall.

I hope that makes sense, if it doesn't please don't hesitate to reach out and I can provide some extra info.

 

 

 

That's brilliant, thank you. I'll have a play and see how I can make it work. Thank you.

MichaelDohertyie
Participant

This is critical. We have the ability to make complex schedules to extract data from the model and then the integrity of that data can be lost in a careless and unknowing moment. Just is as bad is that we can't even see that the error has happened. As all tell us it's the information in BIM that is critical. I've been spending days on our new template to take advantage of AC27 and just hit this problem. Expressions are great as a way of coordinating data and ensuring data integrity until we hit this problem with the schedules. I'd expect many don't realise this flaw and how it could compromise their outputs. Really need this on the next maintenance fix Graphisoft.

In the interim anyone know a way doing a management check to find any overwritten properties?

Lachlan Green
Enthusiast

Hi Josh,

Definitely agree with this one.  Just linking my wish from 2019 on the same topic.  A user accidentally selected a cell in the Interactive Schedule and added a space to the end of the property expression value, thus making it a custom value.  The element was changed and of course the value didn't update.  Super easy mistake to make.  The issue was picked up months later in construction by the builder.

Josh Verran
Advisor

Hi @Lee Hankins 

How did you get on with these?
Reading through some of these old posts and curious how it went.

kmitotk
Advocate

Sometimes in some cases we make expression properties that are intended to allow custom inputs. So ideally, besides the ability to lock, I'd like to have the chain link symbol in each value cell in the schedule so we can tell if the shown value is default or not, or click to input overwriting values if needed.

scottjm
Advisor

Seconding what @kmitotk has. If we have a property that we want to allow permit overriding. We need to be able to identify that is been overridden in the schedule and through find and select or another ‘audit’ schedule. 

Status
Upvoted

with 28 Votes

Wish details