一、背景
小伙伴们在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