Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Rhino.Geometry as rg
- import math
- import System.Drawing as SD
- import ghpythonlib.treehelpers as th
- def main(_pts, _front_door, _exterior_wall, _path, _filename):
- pts_list = th.tree_to_list(_pts, retrieve_base=lambda x: x)
- full_path = _path + "\\" + _filename
- image_out = SD.Bitmap(len(pts_list), len(pts_list[0]))
- for x in range(len(pts_list)):
- for y in range(len(pts_list[x])):
- pt = pts_list[x][y]
- col = SD.Color.FromArgb(255,0,0,0)
- cp_t = _exterior_wall.ClosestPoint(pt)[1]
- cp = _exterior_wall.PointAt(cp_t)
- if pt.DistanceTo(cp) < wall_dist:
- inside_door = _front_door.Contains(pt, rg.Plane.WorldXY, 0.1)
- if inside_door == rg.PointContainment.Inside or inside_door == rg.PointContainment.Coincident:
- col= SD.Color.FromArgb(255,255,0,0) #front door
- else:
- col= SD.Color.FromArgb(255,127,0,0)
- image_out.SetPixel(x, image_out.Height-y-1, col)
- image_out.Save(full_path);
- if save:
- main(points, front_door, exterior_wall, path, filename)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement