shamsam1 发表于 2022-7-6 16:37:25

vb代码在au中打开图形

我的系统中有autocad2007和autocad LT 2006,我想用vb在autccad LT 2006中打开dwg文件。6代码。
 
我想修改上述代码并在Lt中打开dwg图形
或者寻找合适的vb。6代码
 

Dim DwgName As String
       On Error Resume Next
       Set acadApp = GetObject(, "AutoCAD.Application")

       If Err Then
         Set acadApp = CreateObject("AutoCAD .Application")
         Err.Clear
       End If
'      If Right(App.Path, 1) = "\" Then
'            DwgName = "C:\13027167-GX2.dwg"
'      Else
'            DwgName = "C:\13027167-GX2.dwg"
'      End If
       Set acadDoc = acadApp.ActiveDocument
       If acadDoc.FullName <> DwgName Then
         acadDoc.Open DwgName
       End If
       Dim str As String, str1 As String
       str1 = "_-insert" & vbLf & """" & "C:\14001120-AA8232-AC8232-AZ665.dwg" & """" & vbLf & "0,0,0" & vbLf & vbLf & vbLf & vbLf & "z" & vbLf & "a" & vbLf
       'str = "dwin" & vbLf
       acadDoc.SendCommand str1
      ' acadDoc.SendCommand str

       acadApp.Visible = True


borgunit 发表于 2022-7-6 16:49:43

我不相信LT版本在当前状态下可以用VB访问。

Raggi_Thor 发表于 2022-7-6 16:53:21

这是正确的。LT中没有COM接口,因此没有
 
设置acadltap=CreateObject(“AutoCADLT.Application”)
 
您可以使用LT Extender在LT中获取lisp。
您可以使用VB在Windows中“运行”dwg文件,如果您有文件关联,这将在LT中打开它。

shamsam1 发表于 2022-7-6 17:01:24

我同意,但如果系统中只有LT或autocad 2007,则可以使用此shell命令打开图形
 
但我想在命令行中传递一些值,我不知道如何在lt中传递
 

Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                   ByVal hwnd As Long, _
                   ByVal lpOperation As String, _
                   ByVal lpFile As String, _
                   ByVal lpParameters As String, _
                   ByVal lpDirectory As String, _
                   ByVal nShowCmd As Long) As Long

Private Const SW_HIDE As Long = 0
Private Const SW_SHOWNORMAL As Long = 1
Private Const SW_SHOWMAXIMIZED As Long = 3
Private Const SW_SHOWMINIMIZED As Long = 2

Private Sub Command1_Click()
   ShellExecute Me.hwnd, "open", "C:\Users\Public\Test1.dwg", vbNullString, "C:\", SW_SHOWNORMAL
End Sub

shamsam1 发表于 2022-7-6 17:09:50

哪里可以买到LT Extender。它是免费版本吗?

Raggi_Thor 发表于 2022-7-6 17:18:00

http://www.lt-extender.com
 
我以前在挪威卖这个插件。
现在我出售Bricscad作为Acad和LT的替代品:)

shamsam1 发表于 2022-7-6 17:25:13

你好Ragnar Thor
 
我已经下载了briscad trail版本
 
请用vb帮助我。6打开和插入dwg图纸的代码
 
当做
山姆

Raggi_Thor 发表于 2022-7-6 17:32:06

它几乎与AUtoCAD相同。
例如:
 

   Dim bcad As AcadApplication
   Dim I As Integer
   On Error Resume Next
Retry:   'In case Bricscad is closing down
   Set bcad = GetObject("", "BricscadApp.AcadApplication")
   If Err = -2147023179 Then
       I = I + 1
       Err.Clear
       If I > 1000 Then Exit Function
       GoTo Retry
   Set bcad = CreateObject("BricscadApp.AcadApplication")
   End If
   bcad.Visible = True

shamsam1 发表于 2022-7-6 17:42:45

谢谢Mikkelsen
页: [1]
查看完整版本: vb代码在au中打开图形