乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 44|回复: 8

[编程交流] vb代码在au中打开图形

[复制链接]

18

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
107
发表于 2022-7-6 16:37:25 | 显示全部楼层 |阅读模式
我的系统中有autocad2007和autocad LT 2006,我想用vb在autccad LT 2006中打开dwg文件。6代码。
 
我想修改上述代码并在Lt中打开dwg图形
或者寻找合适的vb。6代码
 
  1. Dim DwgName As String
  2.        On Error Resume Next
  3.        Set acadApp = GetObject(, "AutoCAD.Application")
  4.        If Err Then
  5.            Set acadApp = CreateObject("AutoCAD .Application")
  6.            Err.Clear
  7.        End If
  8. '        If Right(App.Path, 1) = "" Then
  9. '            DwgName = "C:\13027167-GX2.dwg"
  10. '        Else
  11. '            DwgName = "C:\13027167-GX2.dwg"
  12. '        End If
  13.        Set acadDoc = acadApp.ActiveDocument
  14.        If acadDoc.FullName <> DwgName Then
  15.            acadDoc.Open DwgName
  16.        End If
  17.        Dim str As String, str1 As String
  18.        str1 = "_-insert" & vbLf & """" & "C:\14001120-AA8232-AC8232-AZ665.dwg" & """" & vbLf & "0,0,0" & vbLf & vbLf & vbLf & vbLf & "z" & vbLf & "a" & vbLf
  19.        'str = "dwin" & vbLf
  20.        acadDoc.SendCommand str1
  21.       ' acadDoc.SendCommand str
  22.        acadApp.Visible = True
回复

使用道具 举报

0

主题

132

帖子

198

银币

限制会员

铜币
-21
发表于 2022-7-6 16:49:43 | 显示全部楼层
我不相信LT版本在当前状态下可以用VB访问。
回复

使用道具 举报

1

主题

50

帖子

49

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 16:53:21 | 显示全部楼层
这是正确的。LT中没有COM接口,因此没有
 
设置acadltap=CreateObject(“AutoCADLT.Application”)
 
您可以使用LT Extender在LT中获取lisp。
您可以使用VB在Windows中“运行”dwg文件,如果您有文件关联,这将在LT中打开它。
回复

使用道具 举报

18

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
107
发表于 2022-7-6 17:01:24 | 显示全部楼层
我同意,但如果系统中只有LT或autocad 2007,则可以使用此shell命令打开图形
 
但我想在命令行中传递一些值,我不知道如何在lt中传递
 
  1. Option Explicit
  2. Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
  3.                    ByVal hwnd As Long, _
  4.                    ByVal lpOperation As String, _
  5.                    ByVal lpFile As String, _
  6.                    ByVal lpParameters As String, _
  7.                    ByVal lpDirectory As String, _
  8.                    ByVal nShowCmd As Long) As Long
  9. Private Const SW_HIDE As Long = 0
  10. Private Const SW_SHOWNORMAL As Long = 1
  11. Private Const SW_SHOWMAXIMIZED As Long = 3
  12. Private Const SW_SHOWMINIMIZED As Long = 2
  13. Private Sub Command1_Click()
  14.    ShellExecute Me.hwnd, "open", "C:\Users\Public\Test1.dwg", vbNullString, "C:", SW_SHOWNORMAL
  15. End Sub
回复

使用道具 举报

18

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
107
发表于 2022-7-6 17:09:50 | 显示全部楼层
哪里可以买到LT Extender。它是免费版本吗?
回复

使用道具 举报

1

主题

50

帖子

49

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 17:18:00 | 显示全部楼层
http://www.lt-extender.com
 
我以前在挪威卖这个插件。
现在我出售Bricscad作为Acad和LT的替代品:)
回复

使用道具 举报

18

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
107
发表于 2022-7-6 17:25:13 | 显示全部楼层
你好Ragnar Thor
 
我已经下载了briscad trail版本
 
请用vb帮助我。6打开和插入dwg图纸的代码
 
当做
山姆
回复

使用道具 举报

1

主题

50

帖子

49

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 17:32:06 | 显示全部楼层
它几乎与AUtoCAD相同。
例如:
 
  1.    Dim bcad As AcadApplication
  2.    Dim I As Integer
  3.    On Error Resume Next
  4. Retry:   'In case Bricscad is closing down
  5.    Set bcad = GetObject("", "BricscadApp.AcadApplication")
  6.    If Err = -2147023179 Then
  7.        I = I + 1
  8.        Err.Clear
  9.        If I > 1000 Then Exit Function
  10.        GoTo Retry
  11.    Set bcad = CreateObject("BricscadApp.AcadApplication")
  12.    End If
  13.    bcad.Visible = True
回复

使用道具 举报

18

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
107
发表于 2022-7-6 17:42:45 | 显示全部楼层
谢谢Mikkelsen
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 19:15 , Processed in 0.430566 second(s), 81 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表