zoukankan      html  css  js  c++  java
  • AutoCAD .NET二次开发(一)

    其他话不多说,直接进入主题,既然是二次开发,当然是用CAD平台已经封装好了很多类,我们需要熟悉和使用它们。常用的AutoCAD .NET API的四个主要DLL文件是:

    名称

    作用

    备注

    AcDbMgd.dll

    处理图形文件中存储的对象

     

    AcMgd.dll

    处理AutoCAD应用程序和用户接口

     

    AcCui.dll

    处理自定义文件

     

    AcCoreMgd.dll

    处理编辑器、发布与打印、定义AutoLISP命令和函数

    AutoCAD 2014版

    我们现在不必去深究这些类库的构造,这四个引用 的位置可以在CAD的安装路径下找到,(<盘符>:program FilesAutoCAD 2013),先来一个测试实例:

    新建类库项目,添加AcDbMgd和AcMgd引用,将引用的"复制本地"属性设置为False

    设置项目属性中"调试"启动外部CAD程序。

    添加测试代码,新建一个DWG文件。

    启动调用,程序将打开Cad2013,在命令行中输入"netload",加载生成的dll文件,输入命令"NEWDWG"进行测试。

    在调试过程中遇到的主要问题有:

    问题一:未能找到类型或命名空间名称"CommandMethod"(是否缺少 using 指令或程序集引用?)

    解决:如果是13以上的版本,除了添加AcDbMgd和AcMgd引用外,还应添加accoremgd引用,然后就是using了。

    问题二:特性"CommandMethod"对此声明类型无效。它只对"method"声明有效。

    解决:CommandMethod语句之后的有效行必定要是一个函数。

    问题三:程序集生成 -- 引用的程序集"accoremgd.dll"针对其他处理器

    解决:操作系统版本问题,将目标平台改为x64即可。

    问题四:netload加载时错误: 未能完成程序集的安装(hr = 0x8007000b)。探测终止。

    解决:Framework平台是4.0,其中的Linq引用有问题,不用它,去掉即可。

  • 相关阅读:
    Python格式化输出%s和%d
    操作数据库
    协议类介绍
    并发和并行和压测 、对带宽的理解解释
    悠悠大神的 并发当前目录下所有文件的方法(还没试过)
    post参数的方法 json data 和特别的传参
    接口测试简介
    appium的三种等待方式 (还没实践过,记录在此)
    人生进步目标
    保持一个会话 添加 HTTP Cookie管理器
  • 原文地址:https://www.cnblogs.com/liweis/p/4560790.html
Copyright © 2011-2022 走看看