• 【Hello AutoCAD 001】学习AutoCAD VB.Net开发第01课


    题记:

             昨天拿到的《AutoCAD VBA&VB.Net开发基础与实例教程》,然后就是很草率的下决心学习VB.Net对AutoCAD的二次开发。

            上学的时候曾经学过AutoCAD的二次开发,当时比较感兴趣的是VBA,但是VBA有几个比较明显的弱点:一是VBA开发的程序都是开放源代码的,二是VBA功能上毕竟比较弱。

            于是想使用Vb.Net进行AutoCAD的开发,于是就买了这本号称国内第一本的介绍AutoCAD VB.Net开发的书。

    题记2:

            看过两遍电影《朱莉与茱莉亚》,也想仿效朱莉把自己的学习动态记录下来。

    声明:本人是纯种的编程爱好者,不是科班出身,说了什么行外话或者有什么错误,急切的请各位大虾们批评指正,不胜感激。

    OK,开篇:Hello world!

    《AutoCAD VBA&VB.Net开发基础与实例教程》前面多半是关于《VBA》的介绍,不是不感兴趣,是真的没时间去研究了,于是从第15章开始,也即从“.Net开发AutoCAD入门”一章开始。

    书中用的.Net平台是Visual Studio 2005,AutoCAD版本是2007。我习惯使用Visual Studio 2008,而AutoCAD使用2006。大体上应该是一样的(我想)。

    第一个程序的步骤是这样的:

    1. 新建类库;

    2. 加载引用:加载AutoCAD目录下的acdbmgd.dll和acmgd.dll两个程序集(组件),并将两个引用的“复制本地”属性设为False;

    3. 在代码窗口顶部添加导入命名空间:

    1 Imports Autodesk.AutoCAD.ApplicationServices
    2  Imports Autodesk.AutoCAD.EditorInput
    3  Imports Autodesk.AutoCAD.Runtime

    4. 在Class1中添加代码:

    代码
    Public Class Class1
    <CommandMethod("Hello")> _
    Public Sub Hello()
    '获取当前活动文档的editor对象,也就是命令行
    Dim Ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor
    '调用Editor对象的WriteMessge函数在命令行上显示文本
    Ed.WriteMessage("欢迎进入.Net开发AutoCAD的世界!TranSteel")

    End Sub
    End Class

    5. 运行:

    5.1 启动外部程序:在本解决方案的属性中修改调试选项卡,在“启动操作”中选择启动外部程序按钮,并找到acad.exe文件。

    5.2 运行程序,会自动启动AutoCAD,在AutoCAD中使用NetLoad命令,选择生成的Hello.dll文件(在..\Hello\bin\debug下),打开该dll,输入命令“Hello”,观看效果,若在AutoCAD的命令窗口中出现“欢迎进入.Net开发AutoCAD的世界!TranSteel”,则运行成功,否则肯定是哪里出错了。

    以上便是教材中的标准步骤,在我操作的工程中,遇到了有关“托管代码”的问题。即


    网络上随便搜搜,找到了解决方法(具体为什么,本着“好读书不求甚解”的精神,暂且放下,等咱成了.Net高手再返回头来深究):

    菜单—调试—异常—Managed Debugging Assistants—LoaderLock的“引发”选择不选。

    End

  • 相关阅读:
    Vue 踩坑-2 vue文件中style的scoped属性
    IIS发布Vue项目F5刷新404问题
    .NET Core 3.1 + Hangfire 配置以及踩坑
    Vue 踩坑-1-跨域问题
    Docker 部署VUE项目
    (转)如何利用EnteLib Unity Interception Extension 和PIAB实现Transaction的Call Handler
    Unity 中的策略注入(转)
    面向方面的编程、侦听和 Unity 2.0(转)
    Unity 中的拦截功能(转)
    [转]推荐分享22个优秀的项目管理与协作工具
  • 原文地址:https://www.cnblogs.com/transteel/p/1766184.html
Copyright © 2020-2023  润新知