Grasshopper

algorithmic modeling for Rhino

Project a building mass onto plane along view lines

Hi All

I'm writing a script that analyzes a building mass, and outputs the area of sky blocked by the building mass from the point of view from the sidewalk at the other side of the street. My steps so far (abstracted for brevity) have been: 1) decompose the brep to extract the faces for each cardinal orientation 2) Extract the corner points of these faces (my script here is a little rough - would appreciate feedback) 3) Draw lines from these corner points to a curve that represents the sidewalk on the other side of the street 4) intersect these lines with a plane 5) draw a Polyline through these intersection points (using a clever bit of VB written by David Rutten) 6) Make a surface from this polyline that represents the perceived building mass as seen from the sidewalk on the other side of the street. This seems like it should be simple, but I'm struggling to make it work for every facade of the building, and for any geometry I throw at it.

So far I've been successful for one facade of the building, but my script breaks down for the other facades. I think the breakdown lies in drawing the polyline between the intersection points - though I may have created this problem earlier in the script in my corner point extraction strategy.

Working Script:

Broken Script:

I'm writing this script to allow me to analyze many building massing options in a short amount of time. I'm trying to make it work universally for a large range of geometries. Any help you can provide would be awesome!

I've attached the script and the rhino model. I've done my best to annotate the script and highlight the area that I believe to be broken. 

Thanks,

Matt

Views: 669

Attachments:

Replies to This Discussion

Did you try the logic behind Rhino command "Make2D"

(from processing logic)from what you said, you need to  call the current document camera , i dont know if its possible, extract plane and then create a plane in front of the camera - 10 m / perpendicular, then to use mesh faces and isovist(3D visibility algorithm ) to project into the surface the points, and then rebuild the mesh faces on plane.

Hi Mohamed,

Thanks for the response. That's an interesting strategy and probably the proper way to do this in the long run. However, I think that may be a bit over my head in terms of skill :)

- Matt

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service