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();
            }

        }
复制代码

 

posted @   百年一梦  阅读(429)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示