Skip to content

Commit 05ead52

Browse files
authored
fix #2605
.IntegerValue in lieu get value function that does not apply to WorksetId Class
1 parent d4ba800 commit 05ead52

File tree

1 file changed

+27
-22
lines changed
  • extensions/pyRevitTools.extension/pyRevit.tab/Project.panel/ptools.stack/Links.pulldown/Create Workset For Linked Element.pushbutton

1 file changed

+27
-22
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,39 @@
1-
from pyrevit import revit, DB, UI
1+
from pyrevit import revit, DB
22
from pyrevit import script
33
from pyrevit import forms
4-
from pyrevit.compat import get_elementid_value_func
54

65
logger = script.get_logger()
76

87
selection = revit.get_selection()
98

10-
get_elementid_value = get_elementid_value_func()
11-
12-
linkedModelName = ''
9+
linked_model_name = ""
1310

1411
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")
2626
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)
3132
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+
)
3338
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

Comments
 (0)