def make_ceiling(new_ceiling): ceiling_curves = DB.CurveArray() for boundary_segment in new_ceiling.boundary: try: ceiling_curves.Append(boundary_segment.Curve) # 2015, dep 2016 except AttributeError: ceiling_curves.Append(boundary_segment.GetCurve()) # 2017 ceilingType = doc.GetElement(new_ceiling.ceiling_type_id) ceil_thick = ceilingType.get_Parameter(BuiltInParameter.ROOF_ATTR_DEFAULT_THICKNESS_PARAM).AsDouble() level = doc.GetElement(new_ceiling.level_id) f = doc.Create.NewFootPrintRoof(ceiling_curves, level, ceilingType, clr.StrongBox[ModelCurveArray](ModelCurveArray())) if form.values['checkbox1'] == True : db.Element(f).parameters.builtins['ROOF_LEVEL_OFFSET_PARAM'].value = float(new_ceiling.room_offset - ceil_thick) else: db.Element(f).parameters.builtins['ROOF_LEVEL_OFFSET_PARAM'].value = float(offset3/304.8) try: db.Element(f).parameters['BA_AI_RoomName'].value = new_ceiling.room_name db.Element(f).parameters['BA_AI_RoomNumber'].value = new_ceiling.room_number db.Element(f).parameters['BA_AI_RoomID'].value = new_ceiling.room_id db.Element(f).parameters['BA_AI_FinishingType'].value = "Ceiling Finishing" db.Element(room).parameters['BA_AI_RoomID'].value = room.Id except: forms.toaster.send_toast('You need to add shared parameters for BA finishing') #forms.alert('You need to add shared parameters for BA finishing') pass
def make_floor(new_floor): floor_curves = DB.CurveArray() for boundary_segment in new_floor.boundary: floor_curves.Append((boundary_segment).GetCurve()) floorType = doc.GetElement(new_floor.floor_type_id) level = doc.GetElement(new_floor.level_id) normal_plane = DB.XYZ.BasisZ f = doc.Create.NewFloor(floor_curves, floorType, level, False, normal_plane) fls.append(f) # Input parameter values from rooms if form.values['checkbox1'] == True: db.Element(f).parameters.builtins[ 'FLOOR_HEIGHTABOVELEVEL_PARAM'].value = float( new_floor.room_offset1) else: db.Element(f).parameters.builtins[ 'FLOOR_HEIGHTABOVELEVEL_PARAM'].value = float(offset3 / 304.8) try: db.Element(f).parameters['BA_AI_RoomName'].value = new_floor.room_name db.Element( f).parameters['BA_AI_RoomNumber'].value = new_floor.room_number db.Element(f).parameters['BA_AI_RoomID'].value = new_floor.room_id db.Element( f).parameters['BA_AI_FinishingType'].value = "Floor Finishing" db.Element(room).parameters['BA_AI_RoomID'].value = room.Id except: forms.toaster.send_toast( 'You need to add shared parameters for BA finishing') #forms.alert('You need to add shared parameters for BA finishing') pass
def make_opening(new_floor): co_curves = DB.CurveArray() for bounds in i: co_curves.Append(bounds.GetCurve()) co = doc.Create.NewOpening(fls[new_floor.count-1], co_curves, False)