cad二开之不通过netload加载命令(bundle文件的使用)

一、背景

小伙伴们在cad二次开发时,当项目完成后,需要把程序做成安装文件,供他人使用,而不是通过netload去加载,那么如何实现呢?

二、解决思路

可以使用bundle文件,来包装自己的插件
第一步:在电脑中建立一个.bundle后缀的文件夹
比如:cadPlugin.bundle
在这里插入图片描述
第二步:将我们的插件dll文件放入其中
比如这里的插件在bundle文件下的debug目录中
在这里插入图片描述
第三步,在bundle文件夹下面,添加一个xml 文件,名称为PackageContents.xml

在这里插入图片描述
第四步,编写我们xml内容

<?xml version="1.0" encoding="utf-8" ?>
<ApplicationPackage SchemaVersion="1.0" AppVersion="1.0"
    ProductCode="{02933C01-125D-48EF-B577-08C3AEF6A23F}"
    Name="c3d测试插件"
>
  <CompanyDetails
    Name="xxx有限公司"
    Email="[email protected]"
  />
  <RuntimeRequirements OS="Win32|Win64" Platform="AutoCAD*" SeriesMin="R22.0" SeriesMax="R22.0" />
  <Components>
    <ComponentEntry
      ModuleName="./debug/cadPlugin.dll"
    />
  </Components>
</ApplicationPackage>

这里对以下几个关键的参数做解释
1.ProductCode
每一个插件都需要有一个惟一的guid,这个可以用vs,或者编程语言随机生成,只要格式正确即可。
2.RuntimeRequirements
这个表明了此插件的运行环境
Platform指的是当前插件可以运行的平台,AutoCAD*,表示所有autocad平台的软件都可以加载,如果写为Civil3D,则只有Civil3D能够加载
SeriesMin=“R22.0” SeriesMax=“R22.0”(限制为只在CAD2018中加载)
这两个参数分别指定了插件支持的cad版本范围,比如R22.0就指的是CAD2018,如果想知道具体所用CAD的Series是什么版本,可以在CAD中输入AcadVer来查看
3.ModuleName
这个就指明了这个bundle包会调用哪个dll,xml中采用了相对路径的写法,去指定为debug文件夹中的cadPlugin.dll

第五步,在做好上面的工作之后,将此bundle文件夹拷贝到
C:\Program Files\Autodesk\ApplicationPlugins 文件夹下面。

在这里插入图片描述
这样,在打开CAD的时候,就会自动调用这个插件了。

三、注意事项

1.之所以放在 C:\Program Files\Autodesk\ApplicationPlugins 目录下,一方面是因为这是CAD指定的目录之一,另一方面是因为C:\Program Files下的所有目录是CAD插件的可信目录,这样可以解决插件第一次加载时,弹出“无法验证该可执行文件的发布者…”的问题。
2.大家好,我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出BIM相关软件开发以及编程干货;
3.欢迎加入BIM行业开发交流1群,获取更多开发资料 群号:711844216

发布了105 篇原创文章 · 获赞 89 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/birdfly2015/article/details/103402644