我正在尝试将 dll 文件自动加载到 Autocad 2018。
我怎样才能做到这一点?
我想自动化,所以它可以在启动时完成。使用 netload 一切正常。
我使用了 *.lsp 方式。有人可以帮忙吗?我在网上找到了很多方法,但没有一个有效。
我正在尝试将 dll 文件自动加载到 Autocad 2018。
我怎样才能做到这一点?
我想自动化,所以它可以在启动时完成。使用 netload 一切正常。
我使用了 *.lsp 方式。有人可以帮忙吗?我在网上找到了很多方法,但没有一个有效。
AutoCAD 在启动时加载用 .Net 编写的 .dll 文件的官方方法是使用自动加载器功能。您基本上将 .dll 与您想要的任何其他文件捆绑到默认文件夹中,AutoCAD 在启动时读取该文件夹以加载所有插件。如果您想将插件 (.dll) 作为安装文件分发以安装在多台机器上,这尤其有用。
第一步是在“ %ProgramData%/Autodesk/ApplicationPlugins
”中创建一个捆绑文件夹。bundle 文件夹是一个以 .bundle 结尾的普通 windows 文件夹(例如 MyApp.bundle)
在此文件夹中,您需要有一个名为 ("Contents") 的文件夹和一个名为 (" PackageContents.xml
") 的文件。
将 .dll 放在内容文件夹中
里面的代码PackageContents.xml
可以像下面这样简单(更改“ MyApp
”、“ MyName
”等内容,它应该适合你):
<?xml version="1.0" encoding="utf-8"?>
<ApplicationPackage SchemaVersion="1.0" ProductType="Application" Name="MyAPP" AppVersion="1.0" Description="MyAPP, My description" Author="My Name" Icon="./Contents/MyAPPIcon.ico" OnlineDocumentation="http://MyWebSite.com" HelpFile="" ProductCode="{xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx}" FriendlyVersion="1.0" SupportedLocales="Enu" AutodeskProduct="AutoCAD">
<CompanyDetails Name="My Name" Phone=" " Url="http://MyWebsite.com" Email="MyName@MyWebSite.com" />
<Components Description="Main">
<RuntimeRequirements SupportPath="./Contents" OS="Win32|Win64" Platform="AutoCAD*" SeriesMin="R19.0" SeriesMax="R22.0" />
<ComponentEntry AppName="MyAPP" Version="1.0" ModuleName="./Contents/MyAPP.dll" AppDescription="My description" LoadOnAppearance="True" LoadOnAutoCADStartup="True" LoadOnCommandInvocation="True">
</ComponentEntry>
</Components>
</ApplicationPackage>
我认为以上内容足以回答您的问题,但如果您需要更多阅读以下链接中的文章:http: //adndevblog.typepad.com/autocad/2013/01/autodesk-autoloader-white-paper.html
使用注册表也很容易,这是我的首选方式。请参阅下面的链接。要进行部署,您可以创建一个安装程序来设置注册表项,或者如果您有一些在 AutoCAD 之外执行的代码,您可以直接在代码中进行部署。
您将NETLOAD
命令放在一个LSP
文件中,然后将该LSP
文件添加到您的启动套件中。
另请记住,路径需要使用 2 个反斜杠,如下所示:
(command "netload" "C:\\Internal Tools\\Detect Overlap\\Type 5\\x86\\Detect Overlap.dll")