|
1 |
| -from pyrevit import revit, DB, UI |
| 1 | +from pyrevit import revit, DB |
2 | 2 | from pyrevit import script
|
3 | 3 | from pyrevit import forms
|
4 |
| -from pyrevit.compat import get_elementid_value_func |
5 | 4 |
|
6 | 5 | logger = script.get_logger()
|
7 | 6 |
|
8 | 7 | selection = revit.get_selection()
|
9 | 8 |
|
10 |
| -get_elementid_value = get_elementid_value_func() |
11 |
| - |
12 |
| -linkedModelName = '' |
| 9 | +linked_model_name = "" |
13 | 10 |
|
14 | 11 | if len(selection) > 0:
|
15 |
| - for el in selection: |
16 |
| - if isinstance(el, DB.RevitLinkInstance): |
17 |
| - linkedModelName = el.Name.split(':')[0] |
18 |
| - elif isinstance(el, DB.ImportInstance): |
19 |
| - linkedModelName = \ |
20 |
| - el.Parameter[DB.BuiltInParameter.IMPORT_SYMBOL_NAME].AsString() |
21 |
| - if linkedModelName: |
22 |
| - if not revit.doc.IsWorkshared and revit.doc.CanEnableWorksharing: |
23 |
| - revit.doc.EnableWorksharing('Shared Levels and Grids', |
24 |
| - 'Workset1') |
25 |
| - with revit.Transaction('Create Workset for linked model'): |
| 12 | + with revit.Transaction("Create Workset for linked model"): |
| 13 | + for el in selection: |
| 14 | + if isinstance(el, DB.RevitLinkInstance): |
| 15 | + linked_model_name = "ZL_RVT_" + el.Name.split(":")[0].split(".rvt")[0] |
| 16 | + elif isinstance(el, DB.ImportInstance): |
| 17 | + linked_model_name = ( |
| 18 | + "ZL_DWG_" |
| 19 | + + el.Parameter[DB.BuiltInParameter.IMPORT_SYMBOL_NAME] |
| 20 | + .AsString() |
| 21 | + .split(".dwg")[0] |
| 22 | + ) |
| 23 | + if linked_model_name: |
| 24 | + if not revit.doc.IsWorkshared and revit.doc.CanEnableWorksharing: |
| 25 | + revit.doc.EnableWorksharing("Shared Levels and Grids", "Workset1") |
26 | 26 | try:
|
27 |
| - newWs = DB.Workset.Create(revit.doc, linkedModelName) |
28 |
| - worksetParam = \ |
29 |
| - el.Parameter[DB.BuiltInParameter.ELEM_PARTITION_PARAM] |
30 |
| - worksetParam.Set(get_elementid_value(newWs.Id)) |
| 27 | + newWs = DB.Workset.Create(revit.doc, linked_model_name) |
| 28 | + worksetParam = el.Parameter[ |
| 29 | + DB.BuiltInParameter.ELEM_PARTITION_PARAM |
| 30 | + ] |
| 31 | + worksetParam.Set(newWs.Id.IntegerValue) |
31 | 32 | except Exception as e:
|
32 |
| - print('Workset: {} already exists\nError: {}'.format(linkedModelName,e)) |
| 33 | + print( |
| 34 | + "Workset: {} already exists\nError: {}".format( |
| 35 | + linked_model_name, e |
| 36 | + ) |
| 37 | + ) |
33 | 38 | else:
|
34 |
| - forms.alert('At least one linked element must be selected.') |
| 39 | + forms.alert("At least one linked element must be selected.") |
0 commit comments