I am currently using the Complete Street Rule in my project and have encountered an issue that I hope to get some assistance with. The problem lies in the bridge occlusion feature, which seems to not be acting as expected.
Specifically, the bridge occlusion is not detecting streets (the actual roadways) as it should. Instead, it appears to only be recognizing sidewalks. I have tried several troubleshooting methods but have yet to find a solution. I am unsure if this is a bug in the system or if there is something I am missing in my usage of the feature.
I would greatly appreciate any advice or suggestions on how to resolve this issue. Has anyone else experienced this problem? If so, how were you able to rectify it?
Thank you in advance for your help.
Hi,
I did a quick experiment and it works fine for me:
Depending on your scene, you might need to increase the inter-occlusion limits in the Preferences (General -> Procedural Runtime):
Best,
Simon
Hi @SimonHaegler - I tried adjusting these settings but it still didn't work for me. Did you reduce the distance between piers (or widen the street) to get better visibility of how much of the occlusion on the street is effective? In my case, I would overlook this issue in the past as the piers would (at most times) coincidentally be above the sidewalks (where the occlusion works as expected).
Hi again, which exact rule are you using from the Complete Streets example?
Hi @SimonHaegler - sorry only noticed your reply now.
We are using the Complete_Street.cga file from @DavidWasserman's latest Complete_Street_Rule.
@SimonHaegler - quickly checking if you were able to reproduce the issue after reducing the distance between piers (or widening the street)? We haven't yet found a solution on our end.
cc @ThomasFuchs
Hello @Bee-am
Please excuse the late response. I now figured out what is happening: The current version of the Complete Streets Rule does not support bridge occlusion.
The overlap/ occlusion queries can cause a rule to generate slowly. The occlusion check on bridge piers was considered an edge case that is not important enough to justify the performance hit. Therefore it was removed in 2018.
If you want to add it back in, edit Complete_Street.cga and replace the "PierCheck" rule with the formerly used code:
PierCheck -->
case (Bridge_Display == "On, Show All Piers"):
# Occlusion test is disabled, by "On, Show All piers".
PierShow
case (Bridge_Display == "On, Flag Occlusions"):
case overlaps(inter):
# This pier hits another model.
print("Occlusion true: Bridge pier overlaps another model!")
# Flag the pier in red. This is a debugging mode for the piers.
color(1,0,0)
PierShow
else:
# No occlusion so show the pier.
print("Occlusion false.")
PierShow
else:
# Use standard occlusion method.
case overlaps(inter):
# Omit piers due to positive occlusion check.
# This means the pier would hit a street or other model.
NIL
else:
# No occlusion so show the pier.
PierShow