Exemplo n.º 1
0
def SetWorksetVisibility(view, workset):
    worksets = DB.FilteredWorksetCollector(doc).OfKind(
        DB.WorksetKind.UserWorkset)
    for work in worksets:
        if work.Name == workset.Name:
            view.SetWorksetVisibility(work.Id, DB.WorksetVisibility.Visible)
        else:
            view.SetWorksetVisibility(work.Id, DB.WorksetVisibility.Hidden)
Exemplo n.º 2
0
def LOG_WorksetsMain(sh):

    ri = re
    #ci = ce
    sh.Cells.ClearContents()
    sh.Range[rg(rt1, ce)].Value2 = "'PROJECT NAME"
    sh.Range[rg(rt1, ce + 1)].Value2 = "'TYPE"
    sh.Range[rg(rt1, ce + 2)].Value2 = "'ID"
    sh.Range[rg(rt1, ce + 3)].Value2 = "'NAME"
    
    docname = doc.Title

    collector = DB.FilteredWorksetCollector(doc).OfKind(DB.WorksetKind.ViewWorkset)
    ri = LOG_Collector(sh, ri, docname, collector)
    collector = DB.FilteredWorksetCollector(doc).OfKind(DB.WorksetKind.UserWorkset)
    ri = LOG_Collector(sh, ri, docname, collector)
    
    sh.Cells.EntireColumn.AutoFit()   
Exemplo n.º 3
0
                name = "WORKSET VIEW - " + workset.Name
                if view.Name == name:
                    try:
                        doc.Delete(view.Id)
                        break
                    except:
                        forms.alert(
                            'Current view was cannot be deleted. Close view and try again.'
                        )
                        return False
    return True


if forms.check_workshared(doc, 'Model is not workshared.'):
    viewtype_id = FindViewType(doc).Id
    worksets = DB.FilteredWorksetCollector(doc).OfKind(
        DB.WorksetKind.UserWorkset)
    views = DB.FilteredElementCollector(doc).OfClass(DB.View).ToElements()

    # Check if the view type found has ViewTemplate associated with it
    # A ViewTemplate will prevent the assignment of correct Workset settings
    RemoveViewTemplate(viewtype_id)

    # Delete all previous Workset views
    # In case the user has opened one of them, warn them and do not execute
    if DeleteExistingView(views, worksets):
        with revit.Transaction("Create 3D Worksets"):
            for workset in worksets:
                name = workset.Name
                view = DB.View3D.CreateIsometric(doc, viewtype_id)
                view.Name = "WORKSET VIEW - " + name
                SetWorksetVisibility(view, workset)