如何在AutoCAD 2019中自动加载.dll插件?最好不要更改AutoCAD目录中的任何文件(我不是管理员)。我试图加载这个插件注册,在Excel文件中,当AutoCAD关闭.它是用.net在vb中创建的。
我已经尝试过了,但失败了,因为我不是管理员,无法更改AutoCAD目录中的文件:
https://knowledge.autodesk.com/support/autocad/troubleshooting/caas/sfdcarticles/sfdcarticles/How-to-autoload-DLLs-with-AutoCAD.html
必须有一个解决方案,不涉及手动编辑AutoCAD目录中的文件。特别是因为这是要用在200+电脑在公司我工作的公司。
我在Visual Studio中用VB中的.NET创建了这个插件,如下所示:
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Excel = Microsoft.Office.Interop.Excel
Imports System.IO
Public Class Class1
<CommandMethod("AddAppEvent")>
Public Sub AddAppEvent()
AddHandler Application.SystemVariableChanged, AddressOf appSysVarChanged
End Sub
<CommandMethod("RemoveAppEvent")>
Public Sub RemoveAppEvent()
RemoveHandler Application.SystemVariableChanged, AddressOf appSysVarChanged
End Sub
Public Sub appSysVarChanged(ByVal senderObj As Object,
ByVal sysVarChEvtArgs As Autodesk.AutoCAD.ApplicationServices.
SystemVariableChangedEventArgs)
Dim oVal As Object = Application.GetSystemVariable(sysVarChEvtArgs.Name)
Dim fileTest As String = "C:\Users\rita.aguiar\Documents\AutoCAD plug-in\Registo de Eventos.xlsx"
If File.Exists(fileTest) Then
File.Delete(fileTest)
End If
Dim oExcel As Object
oExcel = CreateObject("Excel.Application")
Dim oBook As Excel.Workbook
Dim oSheet As Excel.Worksheet
oBook = oExcel.Workbooks.Add
oSheet = oExcel.Worksheets(1)
oSheet.Name = "Fecho do AutoCAD"
oSheet.Range("A1").Value = "O AutoCAD foi encerrado."
oBook.SaveAs(fileTest)
oBook.Close()
oBook = Nothing
oExcel.Quit()
oExcel = Nothing
End Sub
End Class
字符串
这将是可爱的,如果有别的东西,我可以写在这里,至少启用事件的注册自动,而不是总是必须启用它击中“AddAppEvent”命令在AutoCAD中。我还想自动加载插件,而不是每次打开autoCAD文件时都要手动点击“netload”并选择.dll文件。
多谢了。
5条答案
按热度按时间0s7z1bwu1#
只需使用ApplicationPlugins文件夹。
这就是AutoCAD加载插件的方式。(可以是Dll)
文档在这里:https://help.autodesk.com/view/OARX/2023/ENU/?guid=GUID-5E50A846-C80B-4FFD-8DD3-C20B22098008
请参见此处的示例:https://help.autodesk.com/view/OARX/2023/ENU/?guid=GUID-40F5E92C-37D8-4D54-9497-CD9F0659F9BB的
s4chpxco2#
据我所知,与AutoCAD,插件只能自动加载与注册表编辑或编辑文件所提到的链接。没有管理员权限,就我所知,没有办法解决这个问题
7uhlpewt3#
你可以把所有你构建的文件,
.cuix
文件捆绑在一个名为“PluginName.bundle”的文件夹中,该文件夹还应该包含一个名为PackageContents.xml
的文件,并把它放在下面的位置-C:\ProgramData\Autodesk\ApplicationPlugins
。x1c 0d1x的数据
有关其他详细信息,请查看following link
下面是PackageContents.xml应该包含的内容的示例:
字符串
其他reference:
您应该为ProductCode创建一个新的GUID,但永远不要更改UpgradeCode。
emeijp434#
我知道如何自动加载。其实很简单
1.我创建了名为acad.lsp的lsp文件
1.该文件调用netload命令来加载my.dll(以及我创建的其他命令)。
1.我将文件存储在C:\Program Files\Autodesk\AutoCAD 2019\Support中
1.现在每次我打开AutoCAD它会自动加载我的插件!
yws3nbqq5#
accepted answer中的链接似乎被破坏了,并且在该答案中建议的使用
ApplicationPlugins
文件夹的方法对我不起作用。对我有效的是遵循Autodesk在following link中记录的以下步骤:
要自动加载DLL文件,您可以执行以下步骤:
字符串
更新路径和文件名以满足您的需要。