The Global Archicad Community

Stay informed. Get help. Share your knowledge.

Sections/Elevation/3D Document/Worksheets/Details etc., Annotations, Texts, Labeling, Autotext/Project Info, Layouting, Renovation Filters, Graphic Overrides, Revisions/Issues, Printing/Plotting, PDF, Mark-Up, etc.

Moderators: ejrolon, Barry Kelly, Karl Ottenstein, LaszloNagy, gkmethy

#309290
Is it possible to create a graphic override rule that filters objects based on their elevational relationship to the cut plane of a view, or at least the home story of a view?

There are a handful of positional criteria that can be used when making rules but none appear to fit what I'm looking for. I've been able to create rules that filter based on an elements position relative to project 0 elevation, but then I have to create duplicate rules and graphic overrides for each floor in the project...a total waste of time. Below is the list of positional criteria I see available:

Absolute Top Story
Elevation to Project 0
Elevation to Reference 1
Elevation to Reference 2
Elevation to Sea Level
Home Story
Relative Top Link Story

Every single one of these requires selection of a specific story, or are relative to a fixed point unrelated to the story of a view (floor plan)

Thanks!

Jeff
#309302
That only gets me part of the way there. But in a case where I want to control the appearance of a slab located on the level above or below it falls short, because it evaluates the elevation of those elements with relation to their home story, NOT the story of the view.

Jeff
#309548
You should create an expression-based Property. It would be a Length type Property and it would return the "Elevation to Home Story" value. There are a lot more types of Elevation values available in Property Expressions.
The Property should be made available for Object type of elements.
Then you should create a Graphic Override Rule based on the value of this Property.
#309988
Hi Laszio,
Sounds promising. I haven't tried anything like that yet and am not familiar with expressions in Archicad. Creating a new property was easy, but I can't seem to find any parameters or properties that seem to fit my objective. ie: In order for the expression to be relative to the view, I need a parameter that is specific to the view in order to establish the base point of the equation. ie: the equation needs to look something like this:

if [Element Vertical Position) is higher / greater than the [View Cut-Plane Vertical Position] = Above
if [Element Vertical Position) is lower / lesser than the [View Cut-Plane Vertical Position] = Below

Alternatively I could work with something like this instead:

if [Element Home Story) is higher / greater than the [View Home Story] = Above
if [Element Home Story) is equal to or lower / lesser than the [View Story] = Below

Then, in either case I would need a graphic override with ta rule that would filter elements based on the returned value of 'Above' or 'Below'.

It looks like the list of parameters is entirely related to elements. I see properties in the list that relate to the 'Element Home Story', and the 'Element Vertical Position' variables listed in my expressions above, but I don't see a single parameter that appears to be targeted at the properties of the view. Can you help me with that?
#310125
Unfortunately, I do not see any such data among the available Parameters and Properties.
These would be View-related data, or data about the ARCHICAD environment. However, only element-related data are available when creating Expression-defined Properties.

When you compare it to the Floor Plan Cut Plan, I can imagine achieving that only by comparing the Elevation to a Constant Value, which would be stored in another Property, for example a Length-type Property with the value of 1100, which is the default Floor Plan Cut Plane Height. Of course you would have to make sure that this Constant is set to the value you need, so it would not/could not derive its value automatically from the Floor Plan Cut Plane Height value of the currently active View. I do not see any way to automate that using Expression-defined Properties.