2.ObjectArx .NET 二次开发入门(CAD 2016)

这篇具有很好参考价值的文章主要介绍了2.ObjectArx .NET 二次开发入门(CAD 2016)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

愿你出走半生,归来仍是少年! 

目录

1. 环境准备

1.1 ObjectArx .NET

1.2 VS安装

 1.2.1 CAD与Visiul Studio版本对照

 1.2.1 Visiul Studio2022关于.NET 4.5的处理

2.Hellow World

2.1新建项目

2.2加载依赖

2.3 编写第一个命令

2.4 生成、加载并测试


        开发这事情,本着有新的肯定用新的思想,上一章学习并分享了基于CAD2021的SDK开发环境入门。但是最近公司生产人员反馈,CAD2021他喵的挂不上cass。基于此,博主在网上找了找,发现CAD2016能支持CASS10.1.6版本,无奈下只有基于CAD2016进行开发后续工作。 

1. 环境准备

1.1 ObjectArx .NET

        上一章讲到CAD2021对应的ObjectArx SDK可以再CAD的开发者中心进行下载,但是最低的版本也就是2018的SDK。此处为珍藏的CAD2016 Object ARX SDK ,下载后解压到本地。

2.ObjectArx .NET 二次开发入门(CAD 2016)
ObjectARX 2016

1.2 VS安装

 1.2.1 CAD与Visiul Studio版本对照

        VS版本视对应的CAD版本进行下载安装,如下:

2.ObjectArx .NET 二次开发入门(CAD 2016)
版本对照

 1.2.1 Visiul Studio2022关于.NET 4.5的处理

         由于博主的VS版本为2022,天生不包含 NET Framework 4.5,需要自行处理。

2.ObjectArx .NET 二次开发入门(CAD 2016)
VS2022 NET支持

         手下需要手动下载.NET Framework 4.5的包,下载完成进行当做压缩文件进行解压,并将其中build\.NETFramework\v4.5文件夹复制到C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5,具体如图:

2.ObjectArx .NET 二次开发入门(CAD 2016)
拷贝

        现在打开VS2022就可以创建NET4.5的项目了。 

2.Hellow World

2.1新建项目

        本次环境为CAD2016,Vs为2022。根据CAD版本,对应的是.NET FrameWork 4.5。

2.ObjectArx .NET 二次开发入门(CAD 2016)
新建项目

2.2加载依赖

        右键“引用”,选择“添加引用”,并选择之前ObjectArx .NET的解压文件夹下"inc"文件夹内的dll文件,并将复制本地更改为“False”。将“复制本地”设置为“False”将指示 Microsoft Visual Studio 不要在项目的生成输出中包含引用的 DLL。如果将引用的 DLL 复制到生成输出文件夹,则在 AutoCAD 中加载程序集文件时可能会导致意外结果

2.ObjectArx .NET 二次开发入门(CAD 2016)
添加依赖
2.ObjectArx .NET 二次开发入门(CAD 2016)
设置引用

2.3 编写第一个命令

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime; 

namespace CadPlugin
{
    public class Test
    {
        [CommandMethod("AdskGreeting")]
        public void AdskGreeting()
        {
            // Get the current document and database, and start a transaction
            Document acDoc = Application.DocumentManager.MdiActiveDocument;
            Database acCurDb = acDoc.Database;

            // Starts a new transaction with the Transaction Manager
            using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())
            {
                // Open the Block table record for read
                BlockTable acBlkTbl;
                acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,
                                             OpenMode.ForRead) as BlockTable;

                // Open the Block table record Model space for write
                BlockTableRecord acBlkTblRec;
                acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace],
                                                OpenMode.ForWrite) as BlockTableRecord;

                /* Creates a new MText object and assigns it a location,
                text value and text style */
                using (MText objText = new MText())
                {
                    // Specify the insertion point of the MText object
                    objText.Location = new Autodesk.AutoCAD.Geometry.Point3d(2, 2, 0);

                    // Set the text string for the MText object
                    objText.Contents = "Greetings, Welcome to AutoCAD .NET";

                    // Set the text style for the MText object
                    objText.TextStyleId = acCurDb.Textstyle;

                    // Appends the new MText object to model space
                    acBlkTblRec.AppendEntity(objText);

                    // Appends to new MText object to the active transaction
                    acTrans.AddNewlyCreatedDBObject(objText, true);
                }

                // Saves the changes to the database and closes the transaction
                acTrans.Commit();
            }
        }
    }
}

2.4 生成、加载并测试

        针对解决方案右键进行生成,在debug里面会发现一个新的“CadPlugin.dll”文件。

        打开CAD2016,并输入"netload”命令,选择上面提到的CadPlugin.dll文件,确认加载后完成加载。在cad中输入“AdskGreeting”命令,可发现执行成功(命令里面的内容就是往图上插入一个TEXT)。文章来源地址https://www.toymoban.com/news/detail-507704.html

2.ObjectArx .NET 二次开发入门(CAD 2016)
打开Cass
2.ObjectArx .NET 二次开发入门(CAD 2016)
加载Demo
2.ObjectArx .NET 二次开发入门(CAD 2016)
命令执行

到了这里,关于2.ObjectArx .NET 二次开发入门(CAD 2016)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Cad二次开发关于多段线

    NumberOfVertices 是一个表示多段线(Polyline)对象中顶点数量的属性。顶点表示多段线上的角点或拐点,决定了多段线的形状。 在AutoCAD等CAD软件中,多段线是由一系列直线段组成的图形对象。它可以包含任意数量的顶点,并且可以是开放的或闭合的。 NumberOfVertices 属性用于获取

    2024年02月14日
    浏览(13)
  • 【CAD二次开发】给CAD添加TRUSTEDPATHS避免dll插件信任弹窗

    【CAD二次开发】给CAD添加TRUSTEDPATHS避免dll插件信任弹窗

    找到配置文件目录,遍历下面的每个配置文件; 找到 Variables 下的 TRUSTEDPATHS 项目;在后面添加新的目录即可,多个目录使用分号分隔;

    2024年02月07日
    浏览(7)
  • QGIS二次开发:集成二维CAD控件MxDraw

    QGIS二次开发:集成二维CAD控件MxDraw

    本文记录在QGIS中集成MxDraw控件的方法。 参见笔者博文“FreeCAD二次开发:集成二维CAD控件MxDraw”所述的安装方法。 参见笔者博文\\\"Windows 10下编译安装QGIS\\\"所述的编译安装方法。 按照QGIS的管理,Qt ui文件可放到src/ui目录及其子目录下。因此,可将MxDrawView.ui拷贝到src/ui/gd目录下,

    2024年02月15日
    浏览(11)
  • c# CAD二次开发 模拟CAD移动图形, 通过圆现在注记,改变图形颜色

    c# CAD二次开发 模拟CAD移动图形, 通过圆现在注记,改变图形颜色 using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.Runtime; using System; using System.Collections.Generic; using System.Linq; using System.Text; using Application = Autodesk.AutoCAD.Applicat

    2024年02月07日
    浏览(20)
  • CAD二次开发,安装程序中写注册表

    CAD二次开发,安装程序中写注册表

    我们知道,dll加载到cad中后使用 就可以拿到当前cad的注册表,那么如果想在安装程序时写,此时并没有cad的环境,要怎么办呢? cad在安装后,会在注册表的 计算机HKEY_LOCAL_MACHINESOFTWAREAutodeskHardcopy 目录下存放所有已安装的cad的注册表位置 如图,由于我只安装了一个,所以

    2023年04月11日
    浏览(9)
  • 【CAD二次开发】重新加载acad.pgp快捷菜单文件

    【CAD二次开发】重新加载acad.pgp快捷菜单文件

    为了加快绘图速度,好多人会进行CAD快捷命令的修改,那怎么在不需要重启CAD的情况下自动更新? CAD修改acad.pgp,快捷命令后,自动更新。 方法一 命令行输入reinit,命令。 在弹出的窗口中,选择‘PGP文件’,那么修改后的快捷命令将更新。 方法二 c#代码的方式

    2024年02月09日
    浏览(13)
  • 【ArcGIS Pro二次开发】(17):打开GDB、SHP、CAD等各种数据

    【ArcGIS Pro二次开发】(17):打开GDB、SHP、CAD等各种数据

    1、打开表格【Table】 2、打开要素类【FeatureClass】 3、以表格的形式打开一个要素类 这里虽然是以表格的形式打开,但是实际上它仍然是一个要素类,可以自由转换格式。 4、打开要素数据集【FeatureDataset】 需要注意的是,打开shp文件,可以带【.shp】的后缀,也可以不加。 如

    2023年04月21日
    浏览(40)
  • U8二次开发CO-基于Net8调用COM对象

    以前没有碰过U8,只知道基于Net平台构建,本次业务需求是要把钉钉和U8打通,完成代办和消息提醒。网上搜索U8相关二开资料后发现,都是一些技术片段,零零碎碎的不成体系,也有可能是大客户都去U9或者Cloud了,老旧的8面临过气与替换(个人意见),遂边琢磨边做一些示

    2024年04月14日
    浏览(18)
  • 基于Python的UG二次开发入门

    基于Python的UG二次开发入门

    环境配置: NX12.0 Python3.6.1 Pycharm2023 1.1 安装UG 去微信公众号搜“软件安装管家”,在软件目录中找到UG12.0安装教程,一步步跟着安装就行,这里不多赘述。 1.2 安装Pycharm 下载地址:PyCharm: the Python IDE for Professional Developers by JetBrains。 网上关于Pycharm的安装教程也比较丰富,这里

    2024年02月05日
    浏览(8)
  • 超全 泛微 E9 Ecology 9开发资料大全 开源资源下载 泛微E9二次开发 泛微开发实战经验 泛微开发实战例子 泛微二次开发项目例子 泛微二次开发Demo 泛微二次开发完整例子 泛微二次开发入门

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包