static private void addRefMgr(RibbonTab ribTab) { //create the panel source Autodesk.Windows.RibbonPanelSource ribSourcePanel = new RibbonPanelSource(); ribSourcePanel.Title = "References"; //now the panel RibbonPanel ribPanel = new RibbonPanel(); ribPanel.Source = ribSourcePanel; ribTab.Panels.Add(ribPanel); //create button Refm Autodesk.Windows.RibbonButton ribButton1 = new RibbonButton(); ribButton1.Orientation = System.Windows.Controls.Orientation.Vertical; BitmapImage bmpI = ArCaUtils.GetBitmapImage(ArCaManaged.Properties.Resources.RefMgr); ribButton1.LargeImage = bmpI; ribButton1.Image = bmpI; ribButton1.Size = RibbonItemSize.Large; ribButton1.Text = "Reference Manager"; ribButton1.ShowText = true; ribButton1.CommandParameter = "refm "; ribButton1.ShowImage = true; ribButton1.CommandHandler = new AdskCommandHandler(); ribSourcePanel.Items.Add(ribButton1); }
static public BitmapImage GetThumbnail(string blockName) { Bitmap bmpPreview; using (Database dbRef = new Database(false, true)) { // Read the DWG dbRef.ReadDwgFile(DBPath, FileShare.Read, true, ""); using (Transaction trans = dbRef.TransactionManager.StartTransaction()) { BlockTable bt = trans.GetObject(dbRef.BlockTableId, OpenMode.ForRead) as BlockTable; BlockTableRecord BlcTabRec = trans.GetObject(bt[blockName], OpenMode.ForRead) as BlockTableRecord; bmpPreview = BlcTabRec.PreviewIcon; } } return(ArCaUtils.GetBitmapImage(bmpPreview)); }
public DWGFileModel(string sFilePath) { _sFilePath = sFilePath; _sFileName = Path.GetFileNameWithoutExtension(sFilePath); _sFileDate = String.Format("{0:MM/dd/yyyy}", File.GetLastWriteTime(sFilePath)); _sFileSize = String.Format("{0:MM/dd/yyyy}", File.GetLastWriteTime(sFilePath)); FileInfo fi = new FileInfo(sFilePath); _sFileSize = (fi.Length / 1024).ToString() + " KB"; _bIsChanged = false; _sMessageProcess = "Unprocessed"; using (Database db = new Database(false, true)) { // Read the DWG db.ReadDwgFile(sFilePath, FileShare.Read, true, ""); _btmImage = ArCaUtils.GetBitmapImage(db.ThumbnailBitmap); } }
static private void addCusEnt(RibbonTab ribTab) { //create the panel source Autodesk.Windows.RibbonPanelSource ribSourcePanel = new RibbonPanelSource(); ribSourcePanel.Title = "WT-Tools Entities"; //now the panel RibbonPanel ribPanel = new RibbonPanel(); ribPanel.Source = ribSourcePanel; ribTab.Panels.Add(ribPanel); //create button Autodesk.Windows.RibbonButton ribButtonGrating = new RibbonButton(); ribButtonGrating.Orientation = System.Windows.Controls.Orientation.Vertical; BitmapImage bmpI = ArCaUtils.GetBitmapImage(ArCaManaged.Properties.Resources.grating); ribButtonGrating.LargeImage = bmpI; ribButtonGrating.Image = bmpI; ribButtonGrating.Size = RibbonItemSize.Large; ribButtonGrating.Text = "Grating"; ribButtonGrating.ShowText = true; ribButtonGrating.CommandParameter = "grating "; ribButtonGrating.CommandHandler = new AdskCommandHandler(); //create button Autodesk.Windows.RibbonButton ribButtonRamp = new RibbonButton(); ribButtonRamp.Orientation = System.Windows.Controls.Orientation.Vertical; BitmapImage bmpIRamp = ArCaUtils.GetBitmapImage(ArCaManaged.Properties.Resources.Ramp); ribButtonRamp.LargeImage = bmpIRamp; ribButtonRamp.Image = bmpIRamp; ribButtonRamp.Size = RibbonItemSize.Large; ribButtonRamp.Text = "Ramp"; ribButtonRamp.ShowText = true; ribButtonRamp.CommandParameter = "ramp "; ribButtonRamp.CommandHandler = new AdskCommandHandler(); //create button //create a Ribbon List Button Autodesk.Windows.RibbonSplitButton ribListBtn = new RibbonSplitButton(); Autodesk.Windows.RibbonButton ribButtonQuota = new RibbonButton(); ribButtonQuota.Orientation = System.Windows.Controls.Orientation.Vertical; BitmapImage bmpIQuota = ArCaUtils.GetBitmapImage(ArCaManaged.Properties.Resources.Quota); ribButtonQuota.LargeImage = bmpIQuota; ribButtonQuota.Image = bmpIQuota; ribButtonQuota.Size = RibbonItemSize.Large; ribButtonQuota.Text = "Arrow"; ribButtonQuota.ShowText = true; ribButtonQuota.CommandParameter = "quota arrow "; ribButtonQuota.CommandHandler = new AdskCommandHandler(); Autodesk.Windows.RibbonButton ribButtonQuota_Leader = new RibbonButton(); ribButtonQuota_Leader.Orientation = System.Windows.Controls.Orientation.Vertical; BitmapImage bmpIQuota_Leader = ArCaUtils.GetBitmapImage(ArCaManaged.Properties.Resources.Quota_Leader); ribButtonQuota_Leader.LargeImage = bmpIQuota_Leader; ribButtonQuota_Leader.Image = bmpIQuota; ribButtonQuota_Leader.Size = RibbonItemSize.Large; ribButtonQuota_Leader.Text = "Leader"; ribButtonQuota_Leader.ShowText = true; ribButtonQuota_Leader.CommandParameter = "quota leader "; ribButtonQuota_Leader.CommandHandler = new AdskCommandHandler(); Autodesk.Windows.RibbonButton ribButtonQuota_Plane = new RibbonButton(); ribButtonQuota_Leader.Orientation = System.Windows.Controls.Orientation.Vertical; BitmapImage bmpIQuota_Plane = ArCaUtils.GetBitmapImage(ArCaManaged.Properties.Resources.Quota_Plane); ribButtonQuota_Plane.LargeImage = bmpIQuota_Plane; ribButtonQuota_Plane.Image = bmpIQuota; ribButtonQuota_Plane.Size = RibbonItemSize.Large; ribButtonQuota_Plane.Text = "Plane"; ribButtonQuota_Plane.ShowText = true; ribButtonQuota_Plane.CommandParameter = "quota plane "; ribButtonQuota_Plane.CommandHandler = new AdskCommandHandler(); ribListBtn.Text = "Quota"; ribListBtn.Size = RibbonItemSize.Large; ribListBtn.ShowText = true; ribListBtn.Items.Add(ribButtonQuota); ribListBtn.Items.Add(ribButtonQuota_Leader); ribListBtn.Items.Add(ribButtonQuota_Plane); ribSourcePanel.Items.Add(ribButtonGrating); ribSourcePanel.Items.Add(ribButtonRamp); ribSourcePanel.Items.Add(ribListBtn); }
public BitmapImage GetBitmap() { //Suprimido pq tava dando fatal erro quando lia do bloco externo //if (_bDbIsInExternalDWG) // db.ReadDwgFile(ArCaRefMgrController.DBPath, FileShare.Read, true, ""); //else try { Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument; using (Database db = doc.Database) { using (Transaction trans = db.TransactionManager.StartTransaction()) { try { Manager manager = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.GraphicsManager; Device device = manager.CreateAutoCADOffScreenDevice(); using (device) { device.OnSize(new System.Drawing.Size(100, 100)); Autodesk.AutoCAD.GraphicsSystem.Model model = manager.CreateAutoCADModel(); using (model) { //Suprimido pq tava dando fatal erro quando lia do bloco externo //if (rbWhite.IsChecked != true) // device.BackgroundColor = System.Drawing.Color.Black; //else device.BackgroundColor = System.Drawing.Color.White; double dMinX = 0, dMinY = 0, dMinZ = 0; double dMaxX = 0, dMaxY = 0, dMaxZ = 0; Boolean isUnstarted = true; Autodesk.AutoCAD.GraphicsSystem.View view = new Autodesk.AutoCAD.GraphicsSystem.View(); ObjectIdCollection objIdColl2 = new ObjectIdCollection(); //As pitombas dos objectsId estao trocando de numero quando eu do Read no DWG, to tendo que lere os Ids no Bloco denovo if (_bDbIsInExternalDWG) { using (Transaction tr = db.TransactionManager.StartTransaction()) { BlockTable bt = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable; BlockTableRecord btr = tr.GetObject(bt[_objBlockModNew.Name], OpenMode.ForRead) as BlockTableRecord; foreach (ObjectId entId in btr) { objIdColl2.Add(entId); } } } else { objIdColl2 = objIdColl; } foreach (ObjectId objId in objIdColl2) { // será usado pra definir limites para criar bitmap using (DocumentLock dl = doc.LockDocument()) { Entity ent = trans.GetObject(objId, OpenMode.ForRead) as Entity; //Min Point if (ent.GeometricExtents.MinPoint.X < dMinX || isUnstarted) { dMinX = ent.GeometricExtents.MinPoint.X; } if (ent.GeometricExtents.MinPoint.Y < dMinY || isUnstarted) { dMinY = ent.GeometricExtents.MinPoint.Y; } if (ent.GeometricExtents.MinPoint.Z < dMinZ || isUnstarted) { dMinZ = ent.GeometricExtents.MinPoint.Z; } //Max Point if (ent.GeometricExtents.MaxPoint.X > dMaxX || isUnstarted) { dMaxX = ent.GeometricExtents.MaxPoint.X; } if (ent.GeometricExtents.MaxPoint.Y > dMaxY || isUnstarted) { dMaxY = ent.GeometricExtents.MaxPoint.Y; } if (ent.GeometricExtents.MaxPoint.Z > dMaxZ || isUnstarted) { dMaxZ = ent.GeometricExtents.MaxPoint.Z; } isUnstarted = false; view.Add(ent, model); } } Point3d p3dLeftLower = new Point3d(dMinX, dMinY, dMinZ); Point3d p3dRightTop = new Point3d(dMaxX, dMaxY, dMaxZ); device.Add(view); view.ZoomExtents(p3dLeftLower, p3dRightTop); System.Drawing.Rectangle rect = new System.Drawing.Rectangle();// view.Viewport; bmpPreview = view.GetSnapshot(rect); return(ArCaUtils.GetBitmapImage(bmpPreview)); } } } catch (System.Exception ex) { trans.Abort(); return(null); } } } } catch (System.Exception ex) { return(null); } }