C#之CAD二次开发(7) 图形编辑

# 0. 引言

 

学习了如何创建图形后,需要分析如何对图形进一步操作,如:颜色改变、移动、复制、旋转、镜像、删除等,这些都是一些基本操作。

还是同样的配方,我们将这些操作都封装成一个一个的方法,以后需要的时候调用即可!

 

# 1. 封装

 

这里需要说明的是,对图形操作如改变颜色、移动、复制等这些操作需要分为图形是否已经添加到图形数据库中,也就是图形是不是新创建的。

用代码说话,看代码就明白了:

 

## (1)改变颜色

 

如果图形已经在图形数据库中:

我们传入图形对象的ObjectId就行了,因为图形已经在图形数据库中了,后面的一个参数colorIndex是颜色索引,用来传入颜色

颜色编辑完整代码:

        /// <summary>
        /// 改变图形颜色
        /// </summary>
        /// <param name="c1Id">图形的ObjectId</param>
        /// <param name="colorIndex">颜色索引</param>
        /// <returns>图形的ObjectId</returns> 图形已经添加图形数据库

        public static ObjectId ChangeEntityColor(this ObjectId c1Id, short colorIndex)
        {
            // 图形数据库
            Database db = HostApplicationServices.WorkingDatabase;
            // 开启事务处理
            using (Transaction trans = db.TransactionManager.StartTransaction())
            {
                // 打开块表
                BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
                // 打开块表记录
                BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
                // 获取图形对象
                Entity ent1 = (Entity)c1Id.GetObject(OpenMode.ForWrite);
                // 设置颜色
                ent1.ColorIndex = colorIndex;
                trans.Commit();
            }
            return c1Id;
        }

 

如果图形没有添加到图形数据库中:

与上面不同的是这时候我们直接传入图形对象作为参数

 

此外我们需

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
C#中进行CAD二次开发,可以利用AutoCAD的API(应用程序接口)来实现CAD连接和操作。AutoCAD提供了一组强大的API,使我们能够与AutoCAD进行交互,并对CAD文件进行读取、编辑和创建等操作。 以下是连接CAD的一般步骤: 1. 安装AutoCAD软件:首先,您需要安装AutoCAD软件,以便使用其API进行开发。请确保您安装的是与您的开发环境相匹配的版本。 2. 引用AutoCAD的API:在C#项目中,您需要引用AutoCAD的API库。通常,可以在Visual Studio中通过右键单击项目,然后选择“添加引用”来添加对AutoCAD库的引用。 3. 创建连接:在C#代码中,您可以使用`AcadApplication`类创建与AutoCAD的连接。例如: ```csharp AcadApplication cadApp = new AcadApplication(); cadApp.Visible = true; // 可选,使AutoCAD窗口可见 ``` 4. 打开CAD文件:使用连接对象,您可以打开现有的CAD文件或创建新的文件。例如: ```csharp AcadDocument doc = cadApp.Documents.Open("C:\\path\\to\\your\\drawing.dwg"); ``` 5. 进行操作:通过连接对象,您可以执行各种CAD操作,例如读取实体、修改属性、添加图形等。具体的操作方法可以参考AutoCAD的API文档和示例代码。 6. 关闭连接:当您完成操作后,记得关闭连接并释放相关资源。例如: ```csharp doc.Close(); cadApp.Quit(); ``` 以上是连接CAD的基本步骤,您可以根据自己的需求进行进一步的开发和定制。希望对您有帮助!如果您有更多具体的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值