Доброго времени. Задача создать плагин, который бы объединял значения нескольких параметров в один параметр.
Приложил готовое в динамо.
![](https://i.ibb.co/G54dS3H/Dynamo-analogy.png)
Сам код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.UI.Selection;
namespace CombineParameters
{
[Transaction(TransactionMode.Manual)]
public class Class : IExternalCommand
{
public Result Execute(ExternalCommandData commandData,
ref string message,
ElementSet elements)
{
UIApplication uiapp = commandData.Application;
UIDocument uidoc = uiapp.ActiveUIDocument;
//Application app = uiapp.Application;
Document doc = uidoc.Document;
//Create Filtered Element Collector and Filter
FilteredElementCollector collector = new FilteredElementCollector(doc);
ElementCategoryFilter filter = new ElementCategoryFilter(BuiltInCategory.OST_DuctFitting);
//Applying Filter
IList <Element> ducts = collector.WherePasses(filter).WhereElementIsNotElementType().ToElements();
foreach (Element e in ducts)
{
//Get Parameter values
string parameterValue1 = e.LookupParameter("AA").AsValueString();
string parameterValue2 = e.LookupParameter("BB").AsValueString();
string parameterValue3 = e.LookupParameter("CC").AsValueString();
string newValue = parameterValue1 + "-" + parameterValue2 + "-" + parameterValue3;
using (Transaction t = new Transaction(doc, "Set Parameter name"))
{
t.Start();
e.LookupParameter("DD").Set(newValue);
t.Commit();
}
}
return Result.Succeeded;
}
}
}
![](https://i.ibb.co/XJTqcdj/image.png)
Как видно, вставляется только тире. Не совсем понимаю почему и как исправить. (Приложил картинку)
PS: В этой теме только начинаю развиваться. Если можно, посоветуйте, пожалуйста, какие-либо качественные ресурсы, которые вам помогают. Спасибо.