<?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: Concatenate in Revit API Forum</title>
    <link>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5376223#M75097</link>
    <description>&lt;P&gt;One way to acheive this is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Transaction t1 = new Transaction(doc, "Place Instance");&lt;BR /&gt;t1.Start();&lt;BR /&gt;string sharedParameterFile = @"D:\MySharedParameters.txt";&lt;BR /&gt;DefinitionFile informationFile = null;&lt;BR /&gt;System.IO.FileInfo documentMessage = new System.IO.FileInfo(sharedParameterFile);&lt;BR /&gt;bool fileExist = documentMessage.Exists;&lt;BR /&gt;if (!fileExist)&lt;BR /&gt;{&lt;BR /&gt;System.IO.FileStream fileFlow = System.IO.File.Create(sharedParameterFile);&lt;BR /&gt;fileFlow.Close();&lt;BR /&gt;}&lt;BR /&gt;app.SharedParametersFilename = sharedParameterFile;&lt;BR /&gt;informationFile = app.OpenSharedParameterFile();&lt;BR /&gt;DefinitionGroups informationCollections = informationFile.Groups;&lt;BR /&gt;DefinitionGroup informationCollection = null;&lt;BR /&gt;informationCollection = informationCollections.get_Item("MyParameters");&lt;BR /&gt;if (null == informationCollection)&lt;BR /&gt;{&lt;BR /&gt;informationCollections.Create("MyParameters");&lt;BR /&gt;informationCollection = informationCollections.get_Item("MyParameters");&lt;BR /&gt;}&lt;BR /&gt;Definition information = informationCollection.Definitions.get_Item(parameter1.name + "-" + parameter2.name);&lt;BR /&gt;if (null == information)&lt;BR /&gt;{&lt;BR /&gt;informationCollection.Definitions.Create(&lt;SPAN&gt;parameter1.name + "-" + parameter2.name&lt;/SPAN&gt;, Autodesk.Revit.DB.ParameterType.Text);&lt;BR /&gt;information = informationCollection.Definitions.get_Item(&lt;SPAN&gt;parameter1.name + "-" + parameter2.name&lt;/SPAN&gt;);&lt;BR /&gt;}&lt;BR /&gt;// Create a new Binding object with the categories to which the parameter will be bound&lt;BR /&gt;CategorySet categories = app.Create.NewCategorySet();&lt;BR /&gt;Category floorsClassification = null;&lt;BR /&gt;// use category in instead of the string name to get category&lt;BR /&gt;//in place of&amp;nbsp;&lt;SPAN&gt;BuiltInCategory.OST_StructuralColumns specify the category that you want&lt;/SPAN&gt;&lt;BR /&gt;floorsClassification = doc.Settings.Categories.get_Item(BuiltInCategory.OST_StructuralColumns);&lt;BR /&gt;categories.Insert(floorsClassification);&lt;BR /&gt;InstanceBinding caseTying = app.Create.NewInstanceBinding(categories);&lt;BR /&gt;// Add the binding and definition to the document&lt;BR /&gt;bool boundResult = doc.ParameterBindings.Insert(information, caseTying);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now Populate the parameter [&lt;SPAN&gt;parameter1.name + "-" + parameter2.name&lt;/SPAN&gt;] with the cocatenated values&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Parameter param = fi.get_Parameter(&lt;SPAN&gt;parameter1.name + "-" + parameter2.name&lt;/SPAN&gt;);&lt;BR /&gt;param.Set(&lt;SPAN&gt;parameter1.value + "-" +&amp;nbsp;parameter2.value&lt;/SPAN&gt;);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;t1.Commit();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I hope that helps.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks &amp;amp; Regards&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 03 Nov 2014 04:58:58 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2014-11-03T04:58:58Z</dc:date>
    <item>
      <title>Concatenate</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5374615#M75095</link>
      <description>I am new to c# programming and am trying to create a program that would concatenate 2 parameters into a single parameter on sheets. I have been able to run a foreach to pull a list for each parameter, however I am stuck on combining the 2 parameters into one. Does anyone have any suggestions?</description>
      <pubDate>Sat, 01 Nov 2014 01:49:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5374615#M75095</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-11-01T01:49:57Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5375877#M75096</link>
      <description>&lt;P&gt;Dear Wwydock,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your query.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please forgive a poor nerd if I tell you that parameters cannot be concatenated.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I assume what you mean is that you would like to concatenate their values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That can easily be achieved, assuming they are strings, simply using the + operator on them:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;  string s = "hello";
  s = s + ", " + s;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now I further assume that you would like to display the concatenated value on your sheet.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am not sure how that can be achieved. One way is probably to define a shared parameter, populate it with the concatenated value and display that.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That is probably overkill, though, and there are probably much better ways to go.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this helps get you started, at least.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jeremy&lt;/P&gt;</description>
      <pubDate>Sun, 02 Nov 2014 20:21:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5375877#M75096</guid>
      <dc:creator>jeremytammik</dc:creator>
      <dc:date>2014-11-02T20:21:07Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5376223#M75097</link>
      <description>&lt;P&gt;One way to acheive this is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Transaction t1 = new Transaction(doc, "Place Instance");&lt;BR /&gt;t1.Start();&lt;BR /&gt;string sharedParameterFile = @"D:\MySharedParameters.txt";&lt;BR /&gt;DefinitionFile informationFile = null;&lt;BR /&gt;System.IO.FileInfo documentMessage = new System.IO.FileInfo(sharedParameterFile);&lt;BR /&gt;bool fileExist = documentMessage.Exists;&lt;BR /&gt;if (!fileExist)&lt;BR /&gt;{&lt;BR /&gt;System.IO.FileStream fileFlow = System.IO.File.Create(sharedParameterFile);&lt;BR /&gt;fileFlow.Close();&lt;BR /&gt;}&lt;BR /&gt;app.SharedParametersFilename = sharedParameterFile;&lt;BR /&gt;informationFile = app.OpenSharedParameterFile();&lt;BR /&gt;DefinitionGroups informationCollections = informationFile.Groups;&lt;BR /&gt;DefinitionGroup informationCollection = null;&lt;BR /&gt;informationCollection = informationCollections.get_Item("MyParameters");&lt;BR /&gt;if (null == informationCollection)&lt;BR /&gt;{&lt;BR /&gt;informationCollections.Create("MyParameters");&lt;BR /&gt;informationCollection = informationCollections.get_Item("MyParameters");&lt;BR /&gt;}&lt;BR /&gt;Definition information = informationCollection.Definitions.get_Item(parameter1.name + "-" + parameter2.name);&lt;BR /&gt;if (null == information)&lt;BR /&gt;{&lt;BR /&gt;informationCollection.Definitions.Create(&lt;SPAN&gt;parameter1.name + "-" + parameter2.name&lt;/SPAN&gt;, Autodesk.Revit.DB.ParameterType.Text);&lt;BR /&gt;information = informationCollection.Definitions.get_Item(&lt;SPAN&gt;parameter1.name + "-" + parameter2.name&lt;/SPAN&gt;);&lt;BR /&gt;}&lt;BR /&gt;// Create a new Binding object with the categories to which the parameter will be bound&lt;BR /&gt;CategorySet categories = app.Create.NewCategorySet();&lt;BR /&gt;Category floorsClassification = null;&lt;BR /&gt;// use category in instead of the string name to get category&lt;BR /&gt;//in place of&amp;nbsp;&lt;SPAN&gt;BuiltInCategory.OST_StructuralColumns specify the category that you want&lt;/SPAN&gt;&lt;BR /&gt;floorsClassification = doc.Settings.Categories.get_Item(BuiltInCategory.OST_StructuralColumns);&lt;BR /&gt;categories.Insert(floorsClassification);&lt;BR /&gt;InstanceBinding caseTying = app.Create.NewInstanceBinding(categories);&lt;BR /&gt;// Add the binding and definition to the document&lt;BR /&gt;bool boundResult = doc.ParameterBindings.Insert(information, caseTying);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now Populate the parameter [&lt;SPAN&gt;parameter1.name + "-" + parameter2.name&lt;/SPAN&gt;] with the cocatenated values&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Parameter param = fi.get_Parameter(&lt;SPAN&gt;parameter1.name + "-" + parameter2.name&lt;/SPAN&gt;);&lt;BR /&gt;param.Set(&lt;SPAN&gt;parameter1.value + "-" +&amp;nbsp;parameter2.value&lt;/SPAN&gt;);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;t1.Commit();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I hope that helps.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks &amp;amp; Regards&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Nov 2014 04:58:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5376223#M75097</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-11-03T04:58:58Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5377163#M75098</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the code i had been working with. I do want to concatenate the values for the 2 shared parameters, eventually pushing them into the Sheet name parameter. But i appear to be stuck at combining the values.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;		public void MyFirstMacro()
		{
			Document doc = this.ActiveUIDocument.Document;
            string Discipline = "";
	            foreach (Element e in new FilteredElementCollector(doc).OfClass(typeof(ViewSheet)))
	            {
	                Parameter parameter = e.get_Parameter("SHEET DISCIPLINE");
	                string title = parameter.AsString();
	                Discipline += title + "\n";
	            }
	          string Title = "";  
	            foreach (Element e in new FilteredElementCollector(doc).OfClass(typeof(ViewSheet)))
	            {
	                Parameter parameter = e.get_Parameter("SHEET_TITLE 1");
	                string SheetName = parameter.AsString();
	                Title += SheetName + "\n";
                }
	           string sheet=Discipline+" "+Title;
	        
	            TaskDialog.Show("List",sheet);
		}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Nov 2014 14:24:14 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5377163#M75098</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-11-03T14:24:14Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5379343#M75099</link>
      <description>&lt;P&gt;Dear Wwydock,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for the more detailed explanation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So you have accessed and concatenated the existing parameter values and you would like to display the value of the string variable 'sheet' in a new parameter.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sanjaymann basically explained all you have to do.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would recommend&amp;nbsp;taking the following steps:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. If you have niot already done so, forget about your immediate tasks and first take a couple of hours to thouroughly work through the Revit API getting started material:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thebuildingcoder.typepad.com/blog/about-the-author.html#2" target="_blank"&gt;http://thebuildingcoder.typepad.com/blog/about-the-author.html#2&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. Part of getting started with the Revit API includes installing the Revit SDK and documentation. Do so.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3. Look at the FireRating SDK sample. That demonstrates all the steps you need. The same functionality is also included in The Building Coder expanded version of the Revit API training labs, in the Xtra modules for lab 4, for C# and VB respectively, in the following external command implementations:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style="line-height: 15px;"&gt;Lab4_3_1_CreateAndBindSharedParam&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="line-height: 15px;"&gt;Lab4_3_2_ExportSharedParamToExcel&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="line-height: 15px;"&gt;Lab4_3_3_ImportSharedParamFromExcel&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here are the GitHub links to the project and those modules:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style="line-height: 15px;"&gt;&lt;A href="https://github.com/jeremytammik/AdnRevitApiLabsXtra" target="_blank"&gt;https://github.com/jeremytammik/AdnRevitApiLabsXtra&lt;/A&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="line-height: 15px;"&gt;&lt;A href="https://github.com/jeremytammik/AdnRevitApiLabsXtra/blob/master/1_Revit_API_Intro/SourceCS/4_ElementModification.cs" target="_blank"&gt;https://github.com/jeremytammik/AdnRevitApiLabsXtra/blob/master/1_Revit_API_Intro/SourceCS/4_ElementModification.cs&lt;/A&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="line-height: 15px;"&gt;&lt;A href="https://github.com/jeremytammik/AdnRevitApiLabsXtra/blob/master/1_Revit_API_Intro/SourceVB/4_ElementModification.vb" target="_blank"&gt;https://github.com/jeremytammik/AdnRevitApiLabsXtra/blob/master/1_Revit_API_Intro/SourceVB/4_ElementModification.vb&lt;/A&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jeremy&lt;/P&gt;</description>
      <pubDate>Tue, 04 Nov 2014 10:20:15 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5379343#M75099</guid>
      <dc:creator>jeremytammik</dc:creator>
      <dc:date>2014-11-04T10:20:15Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5379491#M75100</link>
      <description>&lt;P&gt;Ok, I think I understand the issue. You want to loop through all sheets in the document and rename them to be the combination of "SHEET DISCIPLINE" and "SHEET_TITLE 1"?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If that is correct, then try this out, I fixed up your code a little to do as I describe above. Please note that I haven't tested this, so it might need a small tweak here or there, let me know.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;public void MyFirstMacro()
{
	Document doc = this.ActiveUIDocument.Document;
	
	string newSheetNames = "";
	
	using(Transaction trans = new Transaction(doc, "Rename Sheets")
	{
		trans.Start();
		
		foreach (Element e in new FilteredElementCollector(doc).OfClass(typeof(ViewSheet)))
		{
			ViewSheet sheetView = e as ViewSheet;

			Parameter paramDiscipline = sheetView.get_Parameter("SHEET DISCIPLINE");
			string sheetDiscipline = paramDiscipline.AsString();
			
			Parameter paramTitle = sheetView.get_Parameter("SHEET_TITLE 1");
			string sheetTitle = paramTitle.AsString();
		
			string combinedName = sheetDiscipline + " " + sheetTitle;
		
		
			// This will assign the new name to the sheet
			sheetView.Name = combinedName;

			newSheetNames += combinedName + "\n";
		}

		trans.Commit();
	}

	TaskDialog.Show("List",newSheetNames);
}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now that I've done your homework for you, you've now got time to do all those things that Jeremy suggested &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Nov 2014 11:52:49 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5379491#M75100</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-11-04T11:52:49Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5380663#M75101</link>
      <description>&lt;P&gt;I will do the homework after i get this working. I am using the sharp develop for modifying the macro, however everytime i try&amp;nbsp;to run the build for&amp;nbsp;i get a syntax error and missing a} at the smart and commit parts respectively. I dont what the syntax error is at the start and i keep going through&amp;nbsp; a perpetual loop of adding and removing } at the commit. I tried changing the location for the dialog box command and even removing it.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Nov 2014 18:35:17 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5380663#M75101</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-11-04T18:35:17Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5381279#M75102</link>
      <description>&lt;P&gt;Oh I just loadied this into teh macro editor and found 2 simple errors, one yours and the other mine &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The first line should be:&amp;nbsp; &lt;STRONG&gt;Document doc =&amp;nbsp;this.Document; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There was also a closing brace missing from the transaction initialisation (my fault) and should look like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;using(Transaction trans =&amp;nbsp;new&amp;nbsp;Transaction(doc,&amp;nbsp;"Rename Sheets"))&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That's what I get for writing code in notepad instead of an IDE&amp;nbsp;with brace matching &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Nov 2014 23:05:54 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5381279#M75102</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-11-04T23:05:54Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5393993#M75103</link>
      <description>&lt;P&gt;That makes sense now. I was wondering how do you filter for a particular category to create a similar macro to combine 2 parameters into 1 for my mechanical equipment. When i try substituting OfCategory(OST_BuiltInCategory.Mechanicalequipment for OfClass(Typeof(Viewsheet) i recieve errors. Am i going in the wrong direction for that?&lt;/P&gt;</description>
      <pubDate>Mon, 10 Nov 2014 23:19:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5393993#M75103</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-11-10T23:19:07Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5394039#M75104</link>
      <description>&lt;P&gt;Sanjaymann,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does the coding that you posted mean that it is continuously running? I did not see commit at the end of it. I substituted my parameters and changed the categories to viewsheet and i was getting errors for app, .value and .name. Is the .value and&amp;nbsp;.name&amp;nbsp;because my parameter is in quotes? Below is what i have.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;			Document doc = this.Document;
			Transaction t1 = new Transaction(doc, "Place Instance");
				t1.Start();
				string sharedParameterFile = @"I:\Will's Stuff\My Template\For Revit\Shared Parameters\Shared Parameters.txt";
				DefinitionFile informationFile = null;
				System.IO.FileInfo documentMessage = new System.IO.FileInfo(sharedParameterFile);
				bool fileExist = documentMessage.Exists;
				if (!fileExist)
				{
				System.IO.FileStream fileFlow = System.IO.File.Create(sharedParameterFile);
				fileFlow.Close();
				}
				app.SharedParametersFilename = sharedParameterFile;
				informationFile = app.OpenSharedParameterFile();
				DefinitionGroups informationCollections = informationFile.Groups;
				DefinitionGroup informationCollection = null;
				informationCollection = informationCollections.get_Item("MyParameters");
				if (null == informationCollection)
				{
				informationCollections.Create("MyParameters");
				informationCollection = informationCollections.get_Item("MyParameters");
				}
				Definition information = informationCollection.Definitions.get_Item("SHEET DISCIPLINE".name + " " + "SHEET_TITLE 1".name);
				if (null == information)
				{
				informationCollection.Definitions.Create("SHEET DISCIPLINE".name + " " + "SHEET_TITLE 1".name, Autodesk.Revit.DB.ParameterType.Text);
				information = informationCollection.Definitions.get_Item("SHEET DISCIPLINE".name + " " + "SHEET_TITLE 1".name);
				}
				// Create a new Binding object with the categories to which the parameter will be bound
				CategorySet categories = app.Create.NewCategorySet();
				Category floorsClassification = null;
				// use category in instead of the string name to get category
				//in place of BuiltInCategory.OST_StructuralColumns specify the category that you want
				floorsClassification = doc.Settings.Categories.get_Item(BuiltInCategory.OST_Views);
				categories.Insert(floorsClassification);
				InstanceBinding caseTying = app.Create.NewInstanceBinding(categories);
				// Add the binding and definition to the document
				bool boundResult = doc.ParameterBindings.Insert(information, caseTying);
				 
				 
				//Now Populate the parameter [parameter1.name + "-" + parameter2.name] with the cocatenated values 
				 
				Parameter param = fi.get_Parameter("SHEET DISCIPLINE".name + " " + "SHEET_TITLE 1".name);
				param.Set("SHEET DISCIPLINE".value + "-" + "SHEET_TITLE 1".value);&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Nov 2014 23:49:00 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5394039#M75104</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-11-10T23:49:00Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5394949#M75105</link>
      <description>&lt;P&gt;Dear wwydoc,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can commit the transaction once you are done with the creation of the parameters and setting their values.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Replace&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Definition information = informationCollection.Definitions.get_Item("SHEET DISCIPLINE".name + " " + "SHEET_TITLE 1".name);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;with&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Definition information = informationCollection.Definitions.get_Item("SHEET DISCIPLINE"+ " " + "SHEET_TITLE 1");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Replace&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;informationCollection.Definitions.Create("SHEET DISCIPLINE".name + " " + "SHEET_TITLE 1".name, Autodesk.Revit.DB.ParameterType.Text);&lt;BR /&gt;information = informationCollection.Definitions.get_Item("SHEET DISCIPLINE".name + " " + "SHEET_TITLE 1".name);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;informationCollection.Definitions.Create("SHEET DISCIPLINE"+ " " + "SHEET_TITLE 1", Autodesk.Revit.DB.ParameterType.Text);&lt;BR /&gt;information = informationCollection.Definitions.get_Item("SHEET DISCIPLINE" + " " + "SHEET_TITLE 1");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Replace&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Parameter param = fi.get_Parameter("SHEET DISCIPLINE".name + " " + "SHEET_TITLE 1".name);&lt;BR /&gt;param.Set("SHEET DISCIPLINE".value + "-" + "SHEET_TITLE 1".value);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Parameter discparam=&amp;nbsp;&lt;SPAN&gt;fi.get_Parameter("SHEET DISCIPLINE");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Parameter sheetparam=&amp;nbsp;&lt;SPAN&gt;fi.get_Parameter("SHEET_TITLE 1");&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Parameter param = fi.get_Parameter("SHEET DISCIPLINE"+ " " + "SHEET_TITLE 1");&lt;BR /&gt;param.Set(&lt;SPAN&gt;discparam.AsString()&lt;/SPAN&gt;&amp;nbsp;+ "-" + &lt;SPAN&gt;sheetparam.AsString()&lt;/SPAN&gt;);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope that helps.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Nov 2014 10:20:27 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/concatenate/m-p/5394949#M75105</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-11-11T10:20:27Z</dc:date>
    </item>
  </channel>
</rss>

