############################## ### DM2_w24 hu_06_setUp ### ### _diag / 2024 11 27 ### ############################## import rhinoscriptsyntax as rs import random, time, sys ### sys.path.append("P:\WWW\mori21\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=2, styl=3) dm.printDisplay(0) # nomen est omen rs.EnableRedraw(0) ### MAC >> problem ! ###_________________________________________# ### 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. ################____________________________# ################ lengthVec = lVec = rs.VectorUnitize(rs.VectorSubtract( dm.getUnoCoord(0, 0, 0), dm.getUnoCoord(1, 0, 0) )) ## rs.AddPoint( dm.getUnoCoord(1, 0, 0) ) depthVec = dVec = rs.VectorUnitize(rs.VectorSubtract( dm.getUnoCoord(0, 1, 0), dm.getUnoCoord(0, 0, 0) )) ## rs.AddPoint( dm.getUnoCoord(0, 1, 0) ) ################ ########################################################################################### UnoPanelCoords = dm.getUNpanelCoords(anzL=10*7, anzH=39, anzD=3, stepL=1, stepH=1, stepD=1) ### = all ~windows_panels BigPanelCoords = dm.getUNpanelCoords(anzL=10*1, anzH=39, anzD=3, stepL=2, stepH=6, stepD=2) ### = all ~windows_panels UnoPanelCoords = dm.getUNpanelCoords(anzL=10*1, anzH=39, anzD=3, stepL=1, stepH=3, stepD=1) ### = standard for hu_06 ########################################################################################### ########################################################## frontPanels = UnoPanelCoords[0] ### list of coordLists ! backPanels = UnoPanelCoords[1] sidePanels = UnoPanelCoords[2] upSidePanels = UnoPanelCoords[3] allPanels = UnoPanelCoords[4] ################################# dm.newEmptyLayer("UNO::setUp", [120,120,240]) if 1: UN=rs.AddCurve([dm.getUnoCoord(0,0,39),dm.getUnoCoord(10,0,39),dm.getUnoCoord(10,0,0),dm.getUnoCoord(0,0,0),dm.getUnoCoord(0,0,39),dm.getUnoCoord(0,3,39),dm.getUnoCoord(10,3,39),dm.getUnoCoord(10,3,0),dm.getUnoCoord(0,3,0),dm.getUnoCoord(0,3,39)],1) rs.ObjectPrintWidth(UN,1.0) rs.ObjectPrintWidth(rs.AddLine(dm.getUnoCoord(10,3,39),dm.getUnoCoord(10,0,39)),1.0) # for coords in BigPanelCoords[0]: rs.AddCurve( coords, 1 ) rs.ZoomExtents() if 0: ### DEMO >> dont' exec @ homework ! print len(frontPanels) dm.textDots( frontPanels[0] ) for coords in frontPanels[0:10]+sidePanels: pass rs.AddPoints( coords ) rs.AddCurve( coords, 1 ) if 0: for i,panel in enumerate(frontPanels[:]): pass basement = 0 if i<20: basement = 1 myPanel( panel, basement = basement ) ### basement = (i<20 or i>109) #rs.Redraw() #_____________________________here you go: dm.newEmptyLayer("myPROJ", [0,0,0]) #############Ab jetzt mache ich weiter yuhuuu #############Meine 6.DM2 HUE def myPanel(panel,vorneFac=5.5): p0=panel[0] p1=panel[1] p2=panel[2] def myPanel(panel,vorneFac=12.5): p0=panel[0] p1=panel[1] p2=panel[2] for i in range (len(panel)-1): rs.AddLine(panel[i],panel[i+1]) centerPt= cP =dm.pntCentroid(panel) for i in range (len(panel)): pointVorne1= pV1 =rs.VectorAdd( panel[i],rs.VectorScale(dVec,-15.0)) pointVorne= pV =rs.VectorAdd(rs.VectorScale(dVec,-15.0),panel[3-i]) rs.AddLine(pV1,cP) rs.AddLine(pV,pV1) rs.AddLine(pV,cP) for panel in frontPanels: myPanel(panel,vorneFac=20) for panel in allPanels: myPanel (panel,vorneFac=10) def myPanel(panel, vorneFac =200): p0, p1, p2, p3 = panel rs.AddCurve(panel) rs.AddLine(p0,p2) rs.AddLine(p1,p3) centerPt = cP = dm.pntCentroid( panel ) nVec = dm.normVec3pnts(p0, p1, p2) centerPt = cP = dm.pntCentroid( panel ) zVal = cP[-1] pointVorne = pV = rs.VectorAdd(cP, rs.VectorScale(nVec, zVal/vorneFac)) rs.AddLine(cP, pV) rs.AddLine(p0,pV) rs.AddLine(p1,pV) #farbe fuer meine ganze Fassade all_objects = rs.AllObjects () if all_objects: for obj in all_objects: rs.ObjectColor(obj, [128, 0, 0]) #____________________________:here you end ################################# rs.ZoomExtents() rs.EnableRedraw(1) ### 4 the MACs dm.printDisplay(1) dm.newEmptyLayer("Default")