Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
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)