/// <summary>Вставка семейства</summary>
/// <param name="uiApplication"></param>
private void InsertFamily(UIApplication uiApplication)
{
try
{
var insertionPoint = XYZ.Zero;
var doc = uiApplication.ActiveUIDocument.Document;
FamilyInstance familyInstance = null;
using (Transaction tr = new Transaction(doc, "PIK_ShowZero"))
{
tr.Start();
Family family = (Family)doc.GetElement(_familyElementId);
FamilySymbol familySymbol = (FamilySymbol)doc.GetElement(family.GetFamilySymbolIds().First());
if (!familySymbol.IsActive)
familySymbol.Activate();
familyInstance = doc.Create.NewFamilyInstance(insertionPoint, familySymbol, StructuralType.NonStructural);
tr.Commit();
}
if (familyInstance != null)
{
var dialog = new TaskDialog("Системный ноль")
{
MainContent = "Семейство, обозначающее системный ноль, удачно вставлено"
};
dialog.AddCommandLink(TaskDialogCommandLinkId.CommandLink1, "Показать вставленное семейство");
var dialogResult = dialog.Show();
if (dialogResult == TaskDialogResult.CommandLink1)
{
uiApplication.ActiveUIDocument.ShowElements(familyInstance.Id);
}
}
else TaskDialog.Show("Системный ноль", "Не получилось вставить семейство");
}
catch (Exception exception)
{
Log.Error("ShowZero.InsertFamily", exception);
TaskDialog.Show("Блииииин :(",
"Что-то пошло не так:" + Environment.NewLine + exception.Message + Environment.NewLine +
exception.StackTrace);
}
}