如何在AutoCAD 2019中自动加载.dll插件? 最好不要更改AutoCAD目录中的任何文件(我不是管理员)。 我正在尝试加载关闭AutoCAD时在Excel文件中注册的此插件。它是用.net在vb中创建的。
我已经尝试过,但是失败了,因为我不是管理员,并且无法更改AutoCAD目录中的文件:
必须有一个不涉及在AutoCAD目录中手动编辑文件的解决方案。特别是因为它打算在我工作的公司的200多台计算机中使用。
我使用vb中的.net在Visual Studio中创建了此插件,如下所示:
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
如果我可以在这里写一些其他东西来至少自动启用事件注册,而不必总是通过在AutoCAD中单击“ AddAppEvent”命令来启用它,那将是很可爱的。而且我还想自动化插件的加载,而不是每次我打开autoCAD文件时都必须手动点击“ netload”并选择.dll文件。
非常感谢。
答案 0 :(得分:2)
只需使用ApplicationPlugins文件夹。
这就是AutoCAD加载插件的方式。 (可以是Dll的)
在此处查看示例:
答案 1 :(得分:1)
就AutoCAD所知,只能通过注册表编辑或通过链接中提到的文件来自动加载插件。 没有管理员权限,就我所知,没有办法解决此问题
答案 2 :(得分:0)
我知道如何自动加载。实际上非常简单:
我创建了一个名为acad.lsp的lsp文件
该文件调用netload命令来加载我的.dll(以及我创建的其他命令)。
我将文件存储在C:\ Program Files \ Autodesk \ AutoCAD 2019 \ Support
现在,每次我打开AutoCAD时,它都会自动加载我的插件!