Добрый день!
Пытаюсь построить линию по двум координатам:
1) Можете пояснить первые данные строчки:
Application app = Documents.Application;
Document doc = app.ActiveDocument;
View view = doc.ActiveView;
Вот так строит линию в 2018 возможно и в 2017 будет может быть даже 2016 и 2015. А там метод создания самой линии примерно как у Вас в коде
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
[Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)]
public class CreateLine : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
UIApplication uiApp = commandData.Application;
UIDocument uidoc = uiApp.ActiveUIDocument;
Autodesk.Revit.ApplicationServices.Application app = uiApp.Application;
Document doc = uiApp.ActiveUIDocument.Document;
View view = doc.ActiveView;
Transaction transaction = new Transaction(doc, "CreateLine");
try
{
transaction.Start();
XYZ start = new XYZ(0, 0, 0);
XYZ end = new XYZ(100000, 5000, 0);
Line line = Line.CreateBound(start, end);
doc.Create.NewDetailCurve(view, line);
}
catch (Exception ex)
{
message += ex.Message;
return Autodesk.Revit.UI.Result.Failed;
}
finally
{
transaction.Commit();
}
return Result.Succeeded;
}
}
по Вашему вопросу что смогу поясню
...
Document doc = app.ActiveDocument;
View view = doc.ActiveView;
...
doc - это текущий документ. В нём видимо всё хранится. Все стены окна двери и пр.
view - это выбранный на данный момент Вид. Например план 1-го этажа. Выберите план 1 -го этажа и линия отобразится на нём если в переопределении вида в свойствах не задано другое.
даже если я где то не прав в определениях. Для разбора старта -как что создать - пойдёт.