您的位置:首页 > 其它

AutoCAD .Net 程序自动加载 AutoLoader

2017-12-10 14:00 441 查看
AutoCAD .Net 程序如何实现在 AutoCAD 启动时自动加载呢?

我们通过一个实例来讲解。

现有程序 HelloAcad2014.dll。包含命令
HelloAcad
HelloUI


一、组织如下形式的文件夹 HelloAcad.bundle

HelloAcad.bundle

….Application

……..HelloAcad2014.dll

….PackageContents.xml

步骤:

1. 创建文件夹 HelloAcad.bundle

2. 在文件夹 HelloAcad.bundle 下创建 PackageContents.xml

3. 在文件夹 HelloAcad.bundle 下创建文件夹 Application

4. 将程序 DLL 置于文件夹 Application 中

PackageContents.xml 内容在本文最后。

二、放置文件夹 HelloAcad.bundle 于插件自动加载目录

将 HelloAcad.bundle 文件夹放置在

%ProgramFiles%/Autodesk/ApplicationPlugins 或

%APPDATA%/Autodesk/ApplicationPlugins 中

其中:

%ProgramFiles%/Autodesk/ApplicationPlugins 在我本机的路径为

C:\ProgramFiles\Autodesk\ApplicationPlugins

%APPDATA%/Autodesk/ApplicationPlugins 在我本机的路径为

C:\Users\Hisin\AppData\Roaming\Autodesk\ApplicationPlugins

AutoCAD 启动时会自动读取 PackageContents.xml 加载程序。

PackageContents.xml

<?xml version="1.0" encoding="utf-8"?>
<ApplicationPackage
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
HelpFile="./Application/UsersGuide.chm"
OnlineDocumentation="caxdev.com"
Name="HelloAutoCAD"
Description="HelloAutoCAD"
Icon="./Application/app.ico"
Author="HisinWang">
<CompanyDetails
Name="CAXDEV"
Url="www.caxdev.com"
Email="wangyao1052@163.com">
</CompanyDetails>
<Components>
<RuntimeRequirements OS="Win32|Win64" Platform="AutoCAD" SeriesMin="R19.0" SeriesMax="R19.1" />
<ComponentEntry
ModuleName=".\Application\HelloAcad2014.dll"
LoadOnAutoCADStartup="true"
LoadOnCommandInvocation="false"
AppDescription="HelloAutoCAD by Hisin Wang"
AppName="HelloAutoCAD"
AppType=".NET">

<Commands GroupName="TestCmds">
<Command Local="HelloAcad" Global="HelloAcad" />
<Command Local="HelloUI" Global="HelloUI" StartupCommand="True" />
</Commands>

</ComponentEntry>
</Components>
</ApplicationPackage>


<Command Local="HelloUI" Global="HelloUI" StartupCommand="True" />


中的
StartupCommand="True"
表示加载完成后自动运行该命令。

一般将初始化UI,比如挂载菜单的命令设置 StartupCommand 为 True。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  AutoCAD