public PanelBlRefExport(BlockReference blRef, PanelBtrExport panelBtrExport)
 {
     IdBlRefAkr = blRef.Id;
      Position = blRef.Position;
      PanelBtrExport = panelBtrExport;
      Transform = blRef.BlockTransform;
      Extents = blRef.GeometricExtents;
 }
示例#2
0
        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();
        }
示例#6
0
 public ContourPanel(PanelBtrExport panelBtr)
 {
     this.panelBtr = panelBtr;
 }