<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Set Element Workset in Revit API Forum</title>
    <link>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7709973#M53137</link>
    <description>&lt;P&gt;I am testing this out in macro form,&amp;nbsp;but eventually I will be adding it to my addin Ribbon. So I would like it to remain in C#&lt;/P&gt;</description>
    <pubDate>Mon, 22 Jan 2018 17:24:45 GMT</pubDate>
    <dc:creator>will.wydock</dc:creator>
    <dc:date>2018-01-22T17:24:45Z</dc:date>
    <item>
      <title>Set Element Workset</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7706868#M53135</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am working on a macro for 2015+ that will move families based on categories to the appropriate workset. The routine builds but i am unable to get it to run correctly&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;DIV class="bbcode_container"&gt;&lt;DIV class="bbcode_description"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;public void Shared_LEVELWS()
		{
		   Document doc = this.ActiveUIDocument.Document;
		 	if(doc.IsWorkshared==false)
			{
		 		TaskDialog.Show("Worksets", "Document is not workshared");
		   	}
		 	if(doc.IsWorkshared==true)
		 	{
		 	//Select the shared grid workset
		   IList&amp;lt;Workset&amp;gt; worksetList = new FilteredWorksetCollector(doc).OfKind(WorksetKind.UserWorkset).ToWorksets();
		   int sharedGridWorksetId=0;
		 
		   foreach (Workset workset in worksetList) 
		   {
		      if (workset.Name.Contains("Shared Levels and Grids"))
		      	{
		         sharedGridWorksetId = workset.Id.IntegerValue;
	   			}
		   }
		   //Reference planes
		   List&amp;lt;Element&amp;gt; elements = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_CLines).ToElements().ToList();
			//Grids
		   List&amp;lt;Element&amp;gt; grids = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Grids).ToElements().ToList();
		   //Scope box
		   List&amp;lt;Element&amp;gt; scopeBoxes = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_VolumeOfInterest).ToElements().ToList();
		   //Level
		   List&amp;lt;Element&amp;gt; levels = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Levels).ToElements().ToList();
		
		   elements.AddRange(grids);
		   elements.AddRange(scopeBoxes);
		   elements.AddRange(levels);
		 if (elements == null)
			return;
		 
		   using (Transaction tx = new Transaction(doc,"Change Workset"))
		   {
		   	tx.Start();

		      foreach (Element e in elements) 
		      {
		    
		      	Parameter wsparam =e.get_Parameter(BuiltInParameter.ELEM_PARTITION_PARAM);
				
		         //set workset to Shared Levels and Grids
		         wsparam.Set(sharedGridWorksetId);
		      }
		      tx.Commit();
		   }
		 	}
		}&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;&lt;/DIV&gt;</description>
      <pubDate>Sun, 21 Jan 2018 01:34:50 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7706868#M53135</guid>
      <dc:creator>will.wydock</dc:creator>
      <dc:date>2018-01-21T01:34:50Z</dc:date>
    </item>
    <item>
      <title>Re: Set Element Workset</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7706922#M53136</link>
      <description>&lt;P&gt;if you run a Python script (inside Dynamo or PythonShell) it is a very simple few lines of code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#WORKSET_ID is the Id of the workset you would like the elements to "move"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;# START TRANSACTION&lt;BR /&gt;t = Transaction(doc, 'SET WORKSET FOR ELEMENTS')&lt;BR /&gt;t.Start()&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;[i.get_Parameter(BuiltInParameter.ELEM_PARTITION_PARAM).Set(WORKSET_ID) for i in elements]&lt;BR /&gt;&lt;BR /&gt;# END TRANSACTION&lt;BR /&gt;t.Commit()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 21 Jan 2018 03:50:00 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7706922#M53136</guid>
      <dc:creator>studio-a-int</dc:creator>
      <dc:date>2018-01-21T03:50:00Z</dc:date>
    </item>
    <item>
      <title>Re: Set Element Workset</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7709973#M53137</link>
      <description>&lt;P&gt;I am testing this out in macro form,&amp;nbsp;but eventually I will be adding it to my addin Ribbon. So I would like it to remain in C#&lt;/P&gt;</description>
      <pubDate>Mon, 22 Jan 2018 17:24:45 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7709973#M53137</guid>
      <dc:creator>will.wydock</dc:creator>
      <dc:date>2018-01-22T17:24:45Z</dc:date>
    </item>
    <item>
      <title>Re: Set Element Workset</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7710908#M53138</link>
      <description>&lt;P&gt;When you filter by document and not within a view you need to exclude element types, I believe element types have their own worksets that you can't change. Not sure if this is your only issue but is something that stands out.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Report any exceptions you get and what lines they occur on.&lt;/P&gt;</description>
      <pubDate>Mon, 22 Jan 2018 22:27:51 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7710908#M53138</guid>
      <dc:creator>RPTHOMAS108</dc:creator>
      <dc:date>2018-01-22T22:27:51Z</dc:date>
    </item>
    <item>
      <title>Re: Set Element Workset</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7711179#M53139</link>
      <description>&lt;P&gt;Here is the error I am receiving&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;A problem has been detected.&lt;BR /&gt;
AutodeskRevitExceptions.InvalidOperationException: The&lt;BR /&gt;
parameter is read-only.&lt;BR /&gt;
at MacroModule.executeMacro_(MacroModule* , AString*&lt;BR /&gt;
macroNa me)&lt;BR /&gt;
at MacroModule.executeMacro(MacroModule* , AString)&lt;BR /&gt;
at&lt;BR /&gt;
UlMacroGeneralManager.runMacro(lJlMacroceneralManager*,&lt;BR /&gt;
MacroModule* pModule, AString* macroName)&lt;/PRE&gt;</description>
      <pubDate>Tue, 23 Jan 2018 00:34:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7711179#M53139</guid>
      <dc:creator>will.wydock</dc:creator>
      <dc:date>2018-01-23T00:34:48Z</dc:date>
    </item>
    <item>
      <title>Re: Set Element Workset</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7711454#M53140</link>
      <description>&lt;P&gt;Dear wwydok,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please refer to following codes, it show how to change element's workset:&lt;/P&gt;
&lt;P&gt;You can also go to Jeremy's blog(&lt;A href="http://thebuildingcoder.typepad.com/blog/2013/01/change-element-workset.html" target="_blank"&gt;http://thebuildingcoder.typepad.com/blog/2013/01/change-element-workset.html&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="code"&gt;&lt;SPAN class="teal"&gt;Reference&lt;/SPAN&gt; r = uidoc.Selection.PickObject( &lt;SPAN class="teal"&gt;ObjectType&lt;/SPAN&gt;.Element );
&amp;nbsp; &lt;SPAN class="teal"&gt;Element&lt;/SPAN&gt; e = doc.GetElement( r.ElementId );
&amp;nbsp;
&amp;nbsp; &lt;SPAN class="blue"&gt;if&lt;/SPAN&gt;( e == &lt;SPAN class="blue"&gt;null&lt;/SPAN&gt; )
&amp;nbsp; &amp;nbsp; &lt;SPAN class="blue"&gt;return&lt;/SPAN&gt;;
&amp;nbsp;
&amp;nbsp; &lt;SPAN class="teal"&gt;WorksetId&lt;/SPAN&gt; wid = e.WorksetId;
&amp;nbsp;
&amp;nbsp; &lt;SPAN class="teal"&gt;TaskDialog&lt;/SPAN&gt;.Show( &lt;SPAN class="maroon"&gt;"Workset id"&lt;/SPAN&gt;, wid.ToString() );
&amp;nbsp;
&amp;nbsp; &lt;SPAN class="teal"&gt;Parameter&lt;/SPAN&gt; wsparam = e.get_Parameter(
&amp;nbsp; &amp;nbsp; &lt;SPAN class="teal"&gt;BuiltInParameter&lt;/SPAN&gt;.ELEM_PARTITION_PARAM );
&amp;nbsp;
&amp;nbsp; &lt;SPAN class="blue"&gt;if&lt;/SPAN&gt;( wsparam == &lt;SPAN class="blue"&gt;null&lt;/SPAN&gt; )
&amp;nbsp; &amp;nbsp; &lt;SPAN class="blue"&gt;return&lt;/SPAN&gt;;
&amp;nbsp;
&amp;nbsp; &lt;SPAN class="green"&gt;// Find all user worksets &lt;/SPAN&gt;
&amp;nbsp;
&amp;nbsp; &lt;SPAN class="teal"&gt;FilteredWorksetCollector&lt;/SPAN&gt; worksets
&amp;nbsp; &amp;nbsp; = &lt;SPAN class="blue"&gt;new&lt;/SPAN&gt; &lt;SPAN class="teal"&gt;FilteredWorksetCollector&lt;/SPAN&gt;( doc )
&amp;nbsp; &amp;nbsp; &amp;nbsp; .OfKind( &lt;SPAN class="teal"&gt;WorksetKind&lt;/SPAN&gt;.UserWorkset );
&amp;nbsp;
&amp;nbsp; &lt;SPAN class="blue"&gt;using&lt;/SPAN&gt;( &lt;SPAN class="teal"&gt;Transaction&lt;/SPAN&gt; tx = &lt;SPAN class="blue"&gt;new&lt;/SPAN&gt; &lt;SPAN class="teal"&gt;Transaction&lt;/SPAN&gt;( doc ) )
&amp;nbsp; {
&amp;nbsp; &amp;nbsp; tx.Start( &lt;SPAN class="maroon"&gt;"Change workset id"&lt;/SPAN&gt; );
&amp;nbsp;
&amp;nbsp; &amp;nbsp; &lt;SPAN class="blue"&gt;foreach&lt;/SPAN&gt;( &lt;SPAN class="teal"&gt;Workset&lt;/SPAN&gt; ws &lt;SPAN class="blue"&gt;in&lt;/SPAN&gt; worksets )
&amp;nbsp; &amp;nbsp; {
&amp;nbsp; &amp;nbsp; &amp;nbsp; wsparam.Set( ws.Id.IntegerValue );
&amp;nbsp; &amp;nbsp; }
&amp;nbsp;
&amp;nbsp; &amp;nbsp; tx.Commit();
&amp;nbsp; }
&amp;nbsp; wid = e.WorksetId;
&amp;nbsp;
&amp;nbsp; &lt;SPAN class="teal"&gt;TaskDialog&lt;/SPAN&gt;.Show( &lt;SPAN class="maroon"&gt;"worksetid"&lt;/SPAN&gt;, wid.ToString() );&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 23 Jan 2018 04:18:45 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7711454#M53140</guid>
      <dc:creator>JimJia</dc:creator>
      <dc:date>2018-01-23T04:18:45Z</dc:date>
    </item>
    <item>
      <title>Re: Set Element Workset</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7713953#M53141</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have changed your code here and there.&lt;/P&gt;&lt;P&gt;This macro runs correctly on my computer,&amp;nbsp;i hope the same goes for you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Good luck and cheers,&lt;/P&gt;&lt;P&gt;so-chong&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;        public void Shared_testWorkset()
        {
	   Document doc = this.ActiveUIDocument.Document;
	   if(doc.IsWorkshared==false)
           {
	        TaskDialog.Show("Worksets", "Document is not workshared");
	   }
	   if(doc.IsWorkshared==true)
	   {
	       String targetWorksetName = "Shared Levels and Grids";

		//Find target workset
		FilteredWorksetCollector worksetCollector = new FilteredWorksetCollector(doc);
		worksetCollector.OfKind(WorksetKind.UserWorkset);
		Workset workset = worksetCollector.FirstOrDefault&amp;lt;Workset&amp;gt;(ws =&amp;gt; ws.Name == targetWorksetName);
			   
		// reference planes
		FilteredElementCollector rpCollector = new FilteredElementCollector(doc);
		rpCollector.OfClass(typeof(ReferencePlane));
			    
		// grids
		FilteredElementCollector collector2 = new FilteredElementCollector(doc);
		ICollection&amp;lt;Element&amp;gt; collection2 = collector2.OfClass(typeof(Grid)).ToElements();
		        
		// scope boxes
		FilteredElementCollector collection5 = new FilteredElementCollector(doc);
	        collection5.OfCategory(BuiltInCategory.OST_VolumeOfInterest);
				
		//levels
		FilteredElementCollector collector4 = new FilteredElementCollector(doc);
		ICollection&amp;lt;Element&amp;gt; collection4 = collector4.OfClass(typeof(Level)).ToElements();
			 
	        using (Transaction tx = new Transaction(doc,"Change Workset"))
		{
                  tx.Start();

		     foreach (Element e in collection4)			   	
		     {
			Level level = e as Level;
			Parameter wsparam =e.get_Parameter(BuiltInParameter.ELEM_PARTITION_PARAM);					
			wsparam.Set(workset.Id.IntegerValue);
		     }
				   	
		     foreach (Element e in collection2)			   	
		     {
			Grid grid = e as Grid;
			Parameter wsparam =e.get_Parameter(BuiltInParameter.ELEM_PARTITION_PARAM);					
			wsparam.Set(workset.Id.IntegerValue);
		     }
				   	
		     foreach (Element e in rpCollector)				
		     {					
			Parameter wsparam =e.get_Parameter(BuiltInParameter.ELEM_PARTITION_PARAM);				
			wsparam.Set(workset.Id.IntegerValue);
		     }
	
		     foreach (Element e in collection5)				
		     {					
			Parameter wsparam =e.get_Parameter(BuiltInParameter.ELEM_PARTITION_PARAM);				
		        wsparam.Set(workset.Id.IntegerValue);
		     }				
			   	
                  tx.Commit();
	        }
	   }
        }&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 23 Jan 2018 19:13:43 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7713953#M53141</guid>
      <dc:creator>so-chong</dc:creator>
      <dc:date>2018-01-23T19:13:43Z</dc:date>
    </item>
    <item>
      <title>Re: Set Element Workset</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7714234#M53142</link>
      <description>&lt;P&gt;Put the line that assigns the new workset inside a "try-catch" block so any elements that can't have their workset changed are passed over without crashing the program.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I also added some dialog boxes to help show whats going on, but you can delete those or comment them out:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="color: rgb(0, 128, 0);"&gt;//UIDocument uiDoc = this.ActiveUIDocument;&amp;nbsp;&amp;nbsp;&amp;nbsp;//dont need this&lt;/SPAN&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document doc =&amp;nbsp;&lt;SPAN style="font-weight: bold;"&gt;this&lt;/SPAN&gt;.ActiveUIDocument.Document;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255); font-weight: bold;"&gt;if&lt;/SPAN&gt;(doc.IsWorkshared==&lt;SPAN style="color: rgb(0, 139, 139); font-weight: bold;"&gt;false&lt;/SPAN&gt;)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TaskDialog.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;Show&lt;/SPAN&gt;(&lt;SPAN style="color: rgb(0, 0, 255);"&gt;"Worksets"&lt;/SPAN&gt;,&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255);"&gt;"Document is not workshared"&lt;/SPAN&gt;);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255); font-weight: bold;"&gt;if&lt;/SPAN&gt;(doc.IsWorkshared==&lt;SPAN style="color: rgb(0, 139, 139); font-weight: bold;"&gt;true&lt;/SPAN&gt;)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 128, 0);"&gt;//Select the shared grid workset&lt;/SPAN&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IList&amp;lt;Workset&amp;gt;&amp;nbsp;worksetList =&amp;nbsp;&lt;SPAN style="color: rgb(0, 139, 139); font-weight: bold;"&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;FilteredWorksetCollector&lt;/SPAN&gt;(doc).&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;OfKind&lt;/SPAN&gt;(WorksetKind.UserWorkset).&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;ToWorksets&lt;/SPAN&gt;();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(255, 0, 0); font-weight: bold;"&gt;int&lt;/SPAN&gt;&amp;nbsp;sharedGridWorksetId=&lt;SPAN style="color: rgb(0, 0, 139);"&gt;0&lt;/SPAN&gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255); font-weight: bold;"&gt;foreach&lt;/SPAN&gt;&amp;nbsp;(Workset workset&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255); font-weight: bold;"&gt;in&lt;/SPAN&gt;&amp;nbsp;worksetList)&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255); font-weight: bold;"&gt;if&lt;/SPAN&gt;&amp;nbsp;(workset.Name.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;Contains&lt;/SPAN&gt;(&lt;SPAN style="color: rgb(0, 0, 255);"&gt;"Shared Levels and Grids"&lt;/SPAN&gt;))&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sharedGridWorksetId = workset.Id.IntegerValue;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TaskDialog.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;Show&lt;/SPAN&gt;(&lt;SPAN style="color: rgb(0, 0, 255);"&gt;"Revit"&lt;/SPAN&gt;,&amp;nbsp;sharedGridWorksetId.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;ToString&lt;/SPAN&gt;());&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 128, 0);"&gt;//Reference planes&lt;/SPAN&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;Element&amp;gt;&amp;nbsp;elements =&amp;nbsp;&lt;SPAN style="color: rgb(0, 139, 139); font-weight: bold;"&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;FilteredElementCollector&lt;/SPAN&gt;(doc).&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;OfCategory&lt;/SPAN&gt;(BuiltInCategory.OST_CLines).&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;ToElements&lt;/SPAN&gt;().&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;ToList&lt;/SPAN&gt;();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 128, 0);"&gt;//Grids&lt;/SPAN&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;Element&amp;gt;&amp;nbsp;grids =&amp;nbsp;&lt;SPAN style="color: rgb(0, 139, 139); font-weight: bold;"&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;FilteredElementCollector&lt;/SPAN&gt;(doc).&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;OfCategory&lt;/SPAN&gt;(BuiltInCategory.OST_Grids).&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;ToElements&lt;/SPAN&gt;().&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;ToList&lt;/SPAN&gt;();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 128, 0);"&gt;//Scope box&lt;/SPAN&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;Element&amp;gt;&amp;nbsp;scopeBoxes =&amp;nbsp;&lt;SPAN style="color: rgb(0, 139, 139); font-weight: bold;"&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;FilteredElementCollector&lt;/SPAN&gt;(doc).&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;OfCategory&lt;/SPAN&gt;(BuiltInCategory.OST_VolumeOfInterest).&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;ToElements&lt;/SPAN&gt;().&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;ToList&lt;/SPAN&gt;();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 128, 0);"&gt;//Level&lt;/SPAN&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;Element&amp;gt;&amp;nbsp;levels =&amp;nbsp;&lt;SPAN style="color: rgb(0, 139, 139); font-weight: bold;"&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;FilteredElementCollector&lt;/SPAN&gt;(doc).&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;OfCategory&lt;/SPAN&gt;(BuiltInCategory.OST_Levels).&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;ToElements&lt;/SPAN&gt;().&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;ToList&lt;/SPAN&gt;();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elements.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;AddRange&lt;/SPAN&gt;(grids);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elements.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;AddRange&lt;/SPAN&gt;(scopeBoxes);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elements.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;AddRange&lt;/SPAN&gt;(levels);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String mystring =&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255);"&gt;""&lt;/SPAN&gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255); font-weight: bold;"&gt;foreach&lt;/SPAN&gt;&amp;nbsp;(Element e&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255); font-weight: bold;"&gt;in&lt;/SPAN&gt;&amp;nbsp;elements)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mystring = mystring&amp;nbsp;+&amp;nbsp;e.Name.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;ToString&lt;/SPAN&gt;()&amp;nbsp;+&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255);"&gt;"&amp;nbsp;&amp;nbsp;"&lt;/SPAN&gt;&amp;nbsp;+&amp;nbsp;e.WorksetId.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;ToString&lt;/SPAN&gt;()&amp;nbsp;+&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255);"&gt;"\r\n"&lt;/SPAN&gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TaskDialog.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;Show&lt;/SPAN&gt;(&lt;SPAN style="color: rgb(0, 0, 255);"&gt;"Revit"&lt;/SPAN&gt;,&amp;nbsp;mystring);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255); font-weight: bold;"&gt;if&lt;/SPAN&gt;&amp;nbsp;(elements ==&amp;nbsp;&lt;SPAN style="font-weight: bold;"&gt;null&lt;/SPAN&gt;)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 128);"&gt;return&lt;/SPAN&gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 128, 0); font-weight: bold;"&gt;using&lt;/SPAN&gt;&amp;nbsp;(Transaction tx =&amp;nbsp;&lt;SPAN style="color: rgb(0, 139, 139); font-weight: bold;"&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;Transaction&lt;/SPAN&gt;(doc,&lt;SPAN style="color: rgb(0, 0, 255);"&gt;"Change Workset"&lt;/SPAN&gt;))&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tx.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;Start&lt;/SPAN&gt;();&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255); font-weight: bold;"&gt;foreach&lt;/SPAN&gt;&amp;nbsp;(Element e&amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 255); font-weight: bold;"&gt;in&lt;/SPAN&gt;&amp;nbsp;elements)&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 128, 0);"&gt;//Parameter wsparam =e.get_Parameter(BuiltInParameter.ELEM_PARTITION_PARAM);&lt;/SPAN&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 128, 0);"&gt;//set workset to Shared Levels and Grids&lt;/SPAN&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 128, 0);"&gt;//wsparam.Set(sharedGridWorksetId);&lt;/SPAN&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 128, 128); font-weight: bold;"&gt;try&lt;/SPAN&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;get_Parameter&lt;/SPAN&gt;(BuiltInParameter.ELEM_PARTITION_PARAM).&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;Set&lt;/SPAN&gt;(sharedGridWorksetId);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TaskDialog.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;Show&lt;/SPAN&gt;(&lt;SPAN style="color: rgb(0, 0, 255);"&gt;"Changed"&lt;/SPAN&gt;,&amp;nbsp;e.Name.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;ToString&lt;/SPAN&gt;());&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: rgb(0, 128, 128); font-weight: bold;"&gt;catch&lt;/SPAN&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tx.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;Commit&lt;/SPAN&gt;();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;</description>
      <pubDate>Tue, 23 Jan 2018 20:49:45 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/7714234#M53142</guid>
      <dc:creator>stever66</dc:creator>
      <dc:date>2018-01-23T20:49:45Z</dc:date>
    </item>
    <item>
      <title>Re: Set Element Workset</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/10453162#M53143</link>
      <description>&lt;P&gt;I just converted this to Python for use with the pyRevit extension. Here's my version, for anyone else who finds this thread.&lt;/P&gt;&lt;P&gt;Edit: Just caught stever66's good suggestion about the Try/Catch. Updated it below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;"""
Pushes content from the following categories
onto the Shared Levels and Grids workset:

Levels
Grids
Scope Boxes
Reference Planes
Match Lines

TESTED REVIT API: 2020.1

Author: Robert Perry Lackowski

"""

from pyrevit import DB
from Autodesk.Revit.DB import FilteredWorksetCollector, WorksetKind
from Autodesk.Revit.DB import FilteredElementCollector, ElementClassFilter, ElementCategoryFilter, LogicalOrFilter
from Autodesk.Revit.DB import BuiltInParameter, BuiltInCategory, ElementId
from Autodesk.Revit.DB import Workset, Transaction

doc = __revit__.ActiveUIDocument.Document

if doc.IsWorkshared == False:
    print "Can't push to the Shared Levels and Grids Workset because worksharing has not been enabled."
    TaskDialog.Show("Worksets", "Document is not workshared")
else:
    targetWorksetName = "Shared Levels and Grids"
    
    #find target workset
    workset_collector = FilteredWorksetCollector(doc)\
                        .OfKind(WorksetKind.UserWorkset)
                        
    workset = next((ws for ws in workset_collector if ws.Name == targetWorksetName), None)

    #create a filter
    filter_set = []
    filter_set.Add(ElementClassFilter(DB.ReferencePlane)) #reference planes
    filter_set.Add(ElementClassFilter(DB.Grid)) #grids
    filter_set.Add(ElementClassFilter(DB.Level)) #levels
    filter_set.Add(ElementCategoryFilter(BuiltInCategory.OST_VolumeOfInterest)) #scope boxes
    filter_set.Add(ElementCategoryFilter(BuiltInCategory.OST_Matchline)) #Matchlines
 
    or_filter = LogicalOrFilter(filter_set)
    
    #apply the filter 
    found_elements = FilteredElementCollector(doc)\
                     .WhereElementIsNotElementType()\
                     .WherePasses(or_filter)\
                     .ToElements()

    #start a transaction
    t = Transaction(doc)
    t.Start('Push to Shared Levels and Grids')

    print "Pushing the following elements to the \"Shared Levels and Grids\" Workset:"

    #Apply the workset to every element
    for e in found_elements:
        try:
            param = e.get_Parameter(BuiltInParameter.ELEM_PARTITION_PARAM)
            param.Set(workset.Id.IntegerValue)
            category_and_name = "Category: " + e.Category.Name + "  Name: " + e.Name + " updated."
        except:
            category_and_name = "Category: " + e.Category.Name + "  Name: " + e.Name + " failed to update."
        print category_and_name
    t.Commit()&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jul 2021 15:38:00 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/set-element-workset/m-p/10453162#M53143</guid>
      <dc:creator>PerryLackowski</dc:creator>
      <dc:date>2021-07-08T15:38:00Z</dc:date>
    </item>
  </channel>
</rss>

