public PanelBlRefExport(BlockReference blRef, PanelBtrExport panelBtrExport) { IdBlRefAkr = blRef.Id; Position = blRef.Position; PanelBtrExport = panelBtrExport; Transform = blRef.BlockTransform; Extents = blRef.GeometricExtents; }
public static void Check() { Album album = new Album(); Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (t = db.TransactionManager.StartTransaction()) { var bt = db.BlockTableId.GetObject(OpenMode.ForRead) as BlockTable; var ms = db.CurrentSpaceId.GetObject(OpenMode.ForWrite) as BlockTableRecord; idBtrDesc = bt["Примечание"]; Point3d pt = Point3d.Origin; foreach (var idBtr in bt) { if (!idBtr.IsValidEx()) { continue; } var btr = idBtr.GetObject(OpenMode.ForWrite) as BlockTableRecord; if (Panels.MarkSb.IsBlockNamePanel(btr.Name)) { var blRefObr = findOBR(btr); if (blRefObr == null) { continue; } //var blRef = new BlockReference(pt, blRefObr.BlockTableRecord); //ms.AppendEntity(blRef); //t.AddNewlyCreatedDBObject(blRef, true); //pt = new Point3d(pt.X, pt.Y-7000,0); PanelBtrExport btrPanel = new PanelBtrExport(idBtr, null); btrPanel.iterateEntInBlock(btr, false); ContourPanel contour = new ContourPanel(btrPanel); var pl3dId = contour.CreateContour2(btr); var pl3d = pl3dId.GetObject(OpenMode.ForWrite); pl3d.Erase(); var ptDesc = btrPanel.ExtentsNoEnd.Center(); int shiftEnd = getShiftEnds(btr.Name); ptDesc = new Point3d(ptDesc.X + 313 + shiftEnd, -2218, 0); insertDesc(blRefObr, ptDesc); } } t.Commit(); } }
public static void Check() { Album album = new Album(); Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (t = db.TransactionManager.StartTransaction()) { var bt = db.BlockTableId.GetObject(OpenMode.ForRead) as BlockTable; var ms = db.CurrentSpaceId.GetObject(OpenMode.ForWrite) as BlockTableRecord; idBtrDesc = bt["Примечание"]; Point3d pt = Point3d.Origin; foreach (var idBtr in bt) { var btr = idBtr.GetObject(OpenMode.ForWrite) as BlockTableRecord; if (Panels.MarkSb.IsBlockNamePanel(btr.Name)) { var blRefObr = findOBR(btr); if (blRefObr == null) continue; //var blRef = new BlockReference(pt, blRefObr.BlockTableRecord); //ms.AppendEntity(blRef); //t.AddNewlyCreatedDBObject(blRef, true); //pt = new Point3d(pt.X, pt.Y-7000,0); PanelBtrExport btrPanel = new PanelBtrExport(idBtr, null); btrPanel.iterateEntInBlock(btr, false); ContourPanel contour = new ContourPanel(btrPanel); var pl3dId = contour.CreateContour2(btr); var pl3d = pl3dId.GetObject(OpenMode.ForWrite); pl3d.Erase(); var ptDesc = btrPanel.ExtentsNoEnd.Center(); int shiftEnd = getShiftEnds(btr.Name); ptDesc = new Point3d(ptDesc.X + 313+shiftEnd, -2218, 0); insertDesc(blRefObr, ptDesc); } } t.Commit(); } }
public ConvertCaption(PanelBtrExport panelBtr) { this.panelBtr = panelBtr; }
public void DefinePanels(List<Facade> facades) { // определение экспортируемых панелей - в файле АКР Dictionary<ObjectId, PanelBtrExport> dictPanelsBtrExport = new Dictionary<ObjectId, PanelBtrExport>(); //RTreeLib.RTree<Facade> treeFacades = new RTreeLib.RTree<Facade>(); //facades.ForEach(f => // { // try // { // treeFacades.Add(ColorArea.GetRectangleRTree(f.Extents), f); // } // catch { } // }); ProgressMeter progress = new ProgressMeter(); progress.SetLimit(Service.SelectPanels.IdsBlRefPanelAr.Count); progress.Start("Определение панелей в файле АКР"); foreach (var idBlRefPanel in Service.SelectPanels.IdsBlRefPanelAr) { progress.MeterProgress(); if (HostApplicationServices.Current.UserBreak()) throw new System.Exception("Отменено пользователем."); using (var blRef = idBlRefPanel.Open(OpenMode.ForRead, false, true) as BlockReference) { // панель определения блока PanelBtrExport panelBtrExport; if (!dictPanelsBtrExport.TryGetValue(blRef.BlockTableRecord, out panelBtrExport)) { panelBtrExport = new PanelBtrExport(blRef.BlockTableRecord, this); dictPanelsBtrExport.Add(blRef.BlockTableRecord, panelBtrExport); } panelBtrExport.Def(); // панель вхождения блока PanelBlRefExport panelBlRefExport = new PanelBlRefExport(blRef, panelBtrExport); panelBtrExport.Panels.Add(panelBlRefExport); //// определение фасада панели //panelBlRefExport.Facade = defFacadeForPanel(treeFacades, blRef, panelBtrExport, panelBlRefExport); } } PanelsBtrExport = dictPanelsBtrExport.Values.ToList(); progress.Stop(); }
public ContourPanel(PanelBtrExport panelBtr) { this.panelBtr = panelBtr; }