############################## ### DM2_w24 hu_06_setUp ### ### _diag / 2024 11 28 ### ### Lea Koraimann ### ############################## import rhinoscriptsyntax as rs import random, time, sys ### import random as rd sys.path.append("P:/") ### add path where "DM_lib.py" can be found !!! sys.path.append("P:/DM2/") ### add path where "DM_lib.py" can be found !!! sys.path.append("P:/dm2/") ### add path where "DM_lib.py" can be found !!! import DM_lib as dm ### reload(dm) ############################## rs.UnitSystem(4) # km = 5, meters = 4, cm = 3 etc rs.ShowGrid(None, 0) # grid > 0 = off rs.ShowGridAxes(None, 1) # y/y/z axen display > 0/1 = off/on rs.ViewDisplayMode(rs.CurrentView(), "wireframe") rs.Command("cplane w t enter", 0) # cPlane World Top dm.PointRadius(displayModeX=0, rad=3, styl=3) dm.printDisplay(0) # nomen est omen rs.EnableRedraw(0) ###_________________________________________# ### basic settings for grid to fit UN_slab # ### # floors = H = dm.H = 40 # default=40 / incl roof slabs = L = dm.L = 11 # default=11 depth = D = dm.D = 4 # default= 4 / division in building_depth floorHeight = fH = dm.fH = 4.0 # default= 4.0 / 4.0*(H-1) = 156 meters # ################ # get from DM_lib as dm: UnoGridCoords = dm.UnoGridCoords # get gridCoords L*D*H = 1760 UnoPanelCoords = dm.UnoPanelCoords # get panelCoords [frontPanels, backPanels, sidePanels, upSidePanels] / default arguments s.u. ################____________________________# dm.newEmptyLayer("UNO::setUp", [120,120,140]) ################## if 1: ### SETUP >> dont' exec @ homework ! rs.AddCurve( [dm.getUnoCoord(0,0,0), dm.getUnoCoord(0,0,39), dm.getUnoCoord(10,0,39), dm.getUnoCoord(10,0,0), dm.getUnoCoord(10,3,0), dm.getUnoCoord(0,3,0), dm.getUnoCoord(0,3,39), dm.getUnoCoord(10,3,39)], 1) rs.ObjectColor(rs.AddLine( dm.getUnoCoord(0, 0, 0), dm.getUnoCoord(0, 1, 0) ), [0, 0, 0] ) rs.ObjectColor(rs.AddLine( dm.getUnoCoord(0, 0, 0), dm.getUnoCoord(1, 0, 0) ), [0, 0, 0] ) rs.ObjectColor(rs.AddLine( dm.getUnoCoord(0, 0, 0), dm.getUnoCoord(0, 0, 2) ), [0, 0, 0] ) rs.ObjectPrintWidth( rs.AllObjects()[0:3], 1.0 ) #rs.AddPoints( UnoGridCoords ) rs.ZoomExtents() UnoPanelCoords = dm.getUNpanelCoords(anzL=6*3, anzH=4, anzD=6, stepL=1, stepH=1, stepD=1) frontPanels = UnoPanelCoords[2] backPanels = UnoPanelCoords[3] sidePanels = UnoPanelCoords[0] upSidePanels = UnoPanelCoords[1] allPanels = UnoPanelCoords[4] print len(frontPanels) print len(frontPanels[0]) #coords = frontPanels[5] #rs.AddCurve(coords, 1) #dm.textDots(coords) #for i, coordList in enumerate ( allPanels): # rs.AddCurve(coordList, 1) ############################## ##########HERE I GO ########## dm.newEmptyLayer("myPROJ", [50, 50, 200]) # Function to create a panel def create_panel(panel, vornefac=200): p0, p1, p2, p3 = panel centerPt = cP = dm.pntCentroid(panel) nVec = dm.normVec3pnts(p0, p1, p2) zVal = cP[1] pointVorne = pV = rs.VectorAdd(cP, rs.VectorScale(nVec, zVal * vornefac) / 15000) rs.AddLine(p2, p1) rs.AddCurve([p3, pV, p1], 2) rs.AddCurve([p3, p1, p2], 2) # Create panel for panel in upSidePanels: create_panel(panel, vornefac=800) rs.ObjectColor(rs.AllObjects()[0], [128, 128, 0]) ################################################# ################################################# # Function to create a panel def create_panel(panel, vornefac=200): p0, p1, p2, p3 = panel centerPt = cP = dm.pntCentroid(panel) nVec = dm.normVec3pnts(p0, p1, p2) zVal = cP[1] pointVorne = pV = rs.VectorAdd(cP, rs.VectorScale(nVec, zVal * vornefac) / 15000) rs.AddLine(p2, p1) rs.AddCurve([p2, pV, p0], 2) rs.AddCurve([p3, p1, p1], 2) # Create panel for panel in sidePanels: create_panel(panel, vornefac=800) rs.ObjectColor(rs.AllObjects()[1], [128, 128, 0]) ################################################# ################################################# # Function to create a panel def create_panel(panel, vornefac=200): p0, p1, p2, p3 = panel centerPt = cP = dm.pntCentroid(panel) nVec = dm.normVec3pnts(p0, p1, p3) zVal = cP[1] pointVorne = pV = rs.VectorAdd(cP, rs.VectorScale(nVec, zVal * vornefac) / 15000) rs.AddLine(p1, pV) rs.AddLine(p1, pV) rs.AddCurve([p3, pV, p1], 2) # Create panel for panel in backPanels: create_panel(panel, vornefac=800) rs.ObjectColor(rs.AllObjects()[0], [128, 128, 0]) ################################################# ################################################# # Function to create a panel def create_panel(panel, vornefac=200): p0, p1, p2, p3 = panel centerPt = cP = dm.pntCentroid(panel) nVec = dm.normVec3pnts(p0, p1, p3) zVal = cP[1] pointVorne = pV = rs.VectorAdd(cP, rs.VectorScale(nVec, zVal * vornefac) / 15000) rs.AddLine(p0, pV) rs.AddCurve([p3, pV, p1], 2) # Create panel for panel in frontPanels: create_panel(panel, vornefac=800) rs.ObjectColor(rs.AllObjects()[0], [128, 128, 0]) # Zoom and enable redraw rs.ZoomExtents() rs.EnableRedraw(1) dm.printDisplay(1) dm.newEmptyLayer("Default") # Gesamtfarbe all_objects = rs.AllObjects() if all_objects: for obj in all_objects: rs.ObjectColor(obj, [128, 128, 0])