public static List <IntersectionMepCurve> HTMLToMEPIntersections(Document hostdoc, string path) { var rowLog = LoggingMachine.NewLog("Распознование коллизий", "", "Не найден файл с элементом, не обновлена связь или элементы уже удалены"); var angledPipeLog = LoggingMachine.NewLog("Распознование коллизий", "", "Труба или воздуховод не лежат в допустимой плоскости"); CollisionReportTable table = new CollisionReportTable(path); List <IntersectionMepCurve> result = new List <IntersectionMepCurve>(); try { foreach (var row in table.Rows) { var item = HTMLRowToIntersection(row, hostdoc, rowLog, angledPipeLog); result.Add(item); } result.RemoveAll(x => x == null); LoggingMachine.Show(); } catch (DocumentNotFoundException e) { TaskDialog.Show("Ошибка", e.Message); } catch (DocumentNotLoadedException e) { var td = new TaskDialog("Ошибка"); td.MainInstruction = e.Message; td.MainContent = "Обновите связанный документ и повторите попытку"; td.Show(); } return(result); }
public TwoDoc(Document doc, CollisionReportTable table) { InitializeComponent(); CurrentDoc = doc; Table = table; var linkedDocs = new FilteredElementCollector(doc).OfClass(typeof(RevitLinkInstance)).Cast <RevitLinkInstance>().Select(x => new TwoDocComboBoxItem(x)).ToArray(); LinkComboBox1.Items.AddRange(linkedDocs); LinkComboBox2.Items.AddRange(linkedDocs); LinkComboBox1.SelectedIndex = LinkComboBox2.SelectedIndex = 0; textBoxExample1.Text = table.Rows[0].E1_Path; textBoxExample2.Text = table.Rows[0].E2_Path; Suggest(); }
private void loadReport(string path) { Table = new CollisionReportTable(path); this.Text = "Просмотр коллизий: " + System.IO.Path.GetFileName(path); dataGridView.DataSource = Table.Rows; }