License Delivery maintenance is expected to occur on Saturday, November 30, between 8 AM and 11 AM CET. This may cause a short 3-hours outage in which license-related tasks: license key upload, download, update, SSA validation, access to the license pool and Graphisoft ID authentication may not function properly. We apologize for any inconvenience.
Collaboration with other software
About model and data exchange with 3rd party solutions: Revit, Solibri, dRofus, Bluebeam, structural analysis solutions, and IFC, BCF and DXF/DWG-based exchange, etc.

Identifying "Undefined" roof edges

Barry Kelly
Moderator
I am trying to schedule the roof edges - eaves, ridges, hips, etc., which is easy enough.

But the problem I am having is with single plane roofs - when the edges are "Undefined".
There is no way to schedule these edges so that I could at least be aware that the 'edge type' has not been set.

Currently I must check the edge of every single roof plane one by one to see that the correct edge type is set.
There could be dozens of the edges to check.
This is not a problem for multi-plane roofs as the edges are set correctly.
Even when splitting a multi-plane roof into single planes all is good.
It is only a problem when modifying a single plane roof or modelling a new one - something we do a lot.
Plus my office has many plans based on old plans originally modelled before the multi-plane roof was around and hence no edge types are set.

Does anyone have any clever ways of showing the edge type in plan?
I have looked in Graphic Overrides but there is nothing - plus the fact that GOs don't work on individual parts on an element any way.
I can't even find a solution in GDL, as there seems no command that recognises the roof edge type.

If anyone has any ideas of how I can identify an 'Undefined' roof edge, or better still identify all roof edge types in plan, then please let me know.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
3 REPLIES 3
poco2013
Mentor
AFAIK -- There is no property which reports roof edge(s) type so I think you are out of luck

However, there are length properties for eaves, gables, hips, peaks, ridges, and valleys. Side, end wall & Dome, Hollow are not reported. An edge should be defined as one of these. A undefined edge will report all lengths as 0. You could create an expression (reporting true/false) to check that the edge in question is not zero for the roof(s) your interested in. ( by classification filter)

Then create a graphic override rule using that expression which identifies any roof plane which has a zero length edge -- IOW - undefined. The problem I see is that any plane will not use all of the available edge types so you could not use a blanket inquiry.

With more info might be able to define something more specific. Are you only interested in eaves, etc. or all edges??
Gerry

Windows 11 - Visual Studio 2022; ArchiCAD 27
Barry Kelly
Moderator
poco2013 wrote:
AFAIK -- There is no property which reports roof edge(s) type so I think you are out of luck

However, there are length properties for eaves, gables, hips, peaks, ridges, and valleys. Side, end wall & Dome, Hollow are not reported. An edge should be defined as one of these. A undefined edge will report all lengths as 0. You could create an expression (reporting true/false) to check that the edge in question is not zero for the roof(s) your interested in. ( by classification filter)

Then create a graphic override rule using that expression which identifies any roof plane which has a zero length edge -- IOW - undefined. The problem I see is that any plane will not use all of the available edge types so you could not use a blanket inquiry.

With more info might be able to define something more specific. Are you only interested in eaves, etc. or all edges??

Yes I am just in the process of testing this.
I thought of it just after I made this post.

Still the problem is if ALL edges are undefined then it will be easy to spot.
If only one or two edges are undefined, you will still get values for other edges, so it will still be hard to spot.

However I did think of using properties for all the edge lengths and also one for the 3D perimeter.
Then compare the total of all the edge lengths with the perimeter (have to double hips, ridges and valleys as they report half lengths).
If they are the same (or within a small difference) the I can assume all the edge types have been set.
If not the same then use a GO as you suggest to highlight the roof plane.

Basically I need to determine if all the edges have been defined so I can schedule them.
This doesn't help if the edge is defined as the wrong type of course.
It would be great if we could label the roof edges or GO individual parts of an element.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Barry Kelly
Moderator
This would work well in theory, but for the life of me I can not add any criteria to the rules that use a property using a roof parameter.
Not even if I set up a simple expression for just the roof area or hip length.


So close and yet so far.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11