其他分享
首页 > 其他分享> > CAD二次开发插入栅格图片

CAD二次开发插入栅格图片

作者:互联网

        [CommandMethod("TESTIMAGE")]
        public void TSTImage() {

            Document doc = Application.DocumentManager.MdiActiveDocument;
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
            Database db = HostApplicationServices.WorkingDatabase;
            using (Transaction trans = doc.TransactionManager.StartTransaction())
            {
                BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForWrite);
                BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
    
                
                RasterImageDef imageDef =  db.AddImageDef(trans, @"D:\用户目录\Desktop\Love\图片.png");
                if (imageDef != null) {
                    RasterImage rasterImage = new RasterImage();
                    
                    rasterImage.ImageDefId = imageDef.ObjectId;
                    ObjectId imageId = btr.AppendEntity(rasterImage);
                    if (imageId.IsNull)
                        throw new Autodesk.AutoCAD.Runtime.Exception(ErrorStatus.NullObjectId);
                    trans.AddNewlyCreatedDBObject(rasterImage, true);
                    RasterImage.EnableReactors(true);
                    rasterImage.AssociateRasterDef(imageDef);
                    rasterImage.Orientation = new CoordinateSystem3d(Point3d.Origin, Vector3d.XAxis, Vector3d.YAxis);

                }

                trans.Commit();
            }

        }

 

标签:rasterImage,db,RasterImage,栅格,imageDef,二次开发,trans,BlockTableRecord,CAD
来源: https://www.cnblogs.com/chenshuangjian/p/15971079.html