Autocad 2018 autoload dll

时间:2017-09-18 14:45:52

标签: xml vb.net autocad-plugin autolisp

您好我正在尝试将dll文件加载到Autocad 2018我该如何实现。 我想自动化,所以它可以在启动时完成。随着netload一切正常。 我使用* .lsp方式。有人可以请帮助。我找到了很多方法,但没有办法。

3 个答案:

答案 0 :(得分:2)

AutoCAD在启动时加载.Net编写的.dll文件的官方方法是使用自动加载器功能。 您基本上将.dll与您想要的任何其他文件捆绑到一个默认文件夹中,AutoCAD在启动时读取该文件夹以加载所有插件。如果您希望将插件(.dll)作为安装文件分发以安装在多台计算机上,这一点尤其有用。

第一步是在" %ProgramData%/Autodesk/ApplicationPlugins"中创建一个包文件夹。 bundle文件夹是一个普通的windows文件夹,以.bundle(例如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

答案 1 :(得分:1)

您将NETLOAD命令放在LSP文件中,然后将LSP文件添加到启动套件中。

还要记住路径需要使用2个反斜杠:

(command "netload" "C:\\Internal Tools\\Detect Overlap\\Type 5\\x86\\Detect Overlap.dll")

答案 2 :(得分:1)

使用注册表也很容易,这是我的首选方式。见下面的链接。 要进行部署,您可以创建安装程序来设置注册表项,或者如果您在AutoCAD之外执行某些代码,则可以在代码中执行此操作。

https://knowledge.autodesk.com/support/autocad/troubleshooting/caas/sfdcarticles/sfdcarticles/How-to-autoload-DLLs-with-AutoCAD.html