2017-09-18 52 views
0

嗨,我想加載DLL文件Autocad 2018我怎麼能實現這一點。 我想自動化,所以它可以在啓動時執行。淨負載一切正常。 我使用* .lsp方式。有人可以請幫助。我發現很多方法,但沒有工作。Autocad 2018 autoload dll

回答

1

AutoCAD的加載.dll文件.NET編寫的啓動文件正式的方式是使用自動加載功能。 您基本上會將.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="[email protected]" /> 
    <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

+0

雖然這工作兩個我有兩個問題給你。 1)這是如何幫助我自動執行命令的? 2)同樣在模塊名稱上,這是什麼路徑? – panoskarajohn

+0

問,我會盡力回答如果我可以 – mavios

+0

我寫了一個.net插件。我想自動運行一些 自定義命令。我想在.Net中執行它,因爲它比VBA/ActiveX(宏)提供更大的靈活性。 2. 如果我們看一下xml並在Module name =「./ Contents」 - >裏面看到,這會導致什麼?哪個文件夾? 3. xml如何幫助我實現自動化? – panoskarajohn

1

您將NETLOAD命令放在LSP文件中,然後將LSP文件添加到Startup Suite。

還要記住的路徑需要使用2個反斜線這樣的:

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

啓動套件在哪裏? – panoskarajohn

+0

在Autocad中,輸入APPLOAD,將會出現一個手提箱的圖片。 – braX

+0

好的,謝謝,我會測試它並讓你知道。 – panoskarajohn

1

這也是相當EA sy來處理註冊表,這是我的首選方式。請參閱以下鏈接。 要進行部署,您可以創建安裝程序來設置註冊表項,也可以在代碼中正確執行代碼,前提是您在AutoCAD之外執行了一些代碼。

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

+0

非常有趣的方式,老實說我害怕玩註冊表,但這似乎很容易。謝謝。 – panoskarajohn