乐筑天下

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

ObjectDBX

[复制链接]

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2006-9-28 06:50:23 | 显示全部楼层 |阅读模式
有没有办法用ObjectDBX读取一些系统变量

回复

使用道具 举报

0

主题

8

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2006-9-28 13:07:06 | 显示全部楼层
不……不是我'我知道
回复

使用道具 举报

0

主题

9

帖子

4

银币

初来乍到

Rank: 1

铜币
9
发表于 2006-9-28 13:20:49 | 显示全部楼层
我模糊地记得它返回了当前图形中的系统变量,在其中执行代码(可能是错误的)
建议:存储您'我们对自定义字典感兴趣,或者将其作为扩展数据附加到图形中的某些对象,稍后可以通过objectdbx访问它们。
回复

使用道具 举报

0

主题

5

帖子

5

银币

初来乍到

Rank: 1

铜币
6
发表于 2006-9-28 14:31:50 | 显示全部楼层
因为ObjectDBX对于未打开的图形和自动CAD最有用;系统变量要么存储在图形中,要么存储在应用程序级别,为什么(如果我可以大胆地问的话)您要读取它们
我只是想知道你'我们正在努力。
回复

使用道具 举报

0

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
7
发表于 2006-9-28 17:22:47 | 显示全部楼层
我需要检查图纸是公制还是英制
AutoCAD系统变量测量值为英制,用于打开或插入文件作为块
回复

使用道具 举报

0

主题

9

帖子

5

银币

初来乍到

Rank: 1

铜币
12
发表于 2006-9-29 05:59:24 | 显示全部楼层
不太确定,但我认为这是不可能的,用ObjectDBX方法IMHO试试这个:
  1. Option Explicit
  2. Public Function GetVars(selfiles As Variant, sysVarName As String) As Variant
  3. Dim fName As String
  4. Dim acdoc As AcadDocument
  5. Dim sysvar() As Variant
  6. Dim m As Integer
  7. For m = 0 To UBound(selfiles)
  8. fName = selfiles(m)
  9. Set acdoc = Application.Documents.Open(fName, True)
  10. ReDim Preserve sysvar(m)
  11. sysvar(m) = acdoc.GetVariable(sysVarName)
  12. acdoc.Close
  13. Next m
  14. GetVars = sysvar
  15. End Function
  16. Public Sub FindFile(ByRef files As Collection, strDir, strExt)
  17.   Dim strFileName
  18.   If (Right(strDir, 1)  "") Then
  19.     strDir = strDir & ""
  20.   End If
  21.   strFileName = Dir(strDir & "*.*", vbDirectory)
  22.   Do While (strFileName  "")
  23.     If (UCase(Right(strFileName, 3)) = UCase(strExt)) Then
  24.       files.Add strDir & strFileName
  25.     End If
  26.   strFileName = Dir
  27.   Loop
  28.   
  29. End Sub
  30. Sub Test()
  31. Dim dmod
  32. dmod = ThisDrawing.GetVariable("SDI")
  33. If dmod  0 Then
  34. ThisDrawing.SetVariable "SDI", 0
  35. End If
  36. Dim path As String
  37. path = "D:\AUTOLISP\LISPS\PRIMITIVES\#FILE&S\PURGE" '' change your path here
  38. Dim collFiles As New Collection
  39. Call FindFile(collFiles, path, "DWG")
  40. Dim i As Integer
  41. ReDim selfiles(collFiles.Count - 1) As String
  42. For i = 1 To collFiles.Count
  43. selfiles(i - 1) = collFiles.Item(i)
  44. Next
  45. Dim sysvar() As Variant
  46. sysvar = GetVars(selfiles, "measurement")
  47. ThisDrawing.SetVariable "SDI", dmod
  48. Dim dataVar(999, 1) As Variant
  49. For i = 0 To UBound(sysvar)
  50. dataVar(i, 0) = selfiles(i)
  51. dataVar(i, 1) = sysvar(i)
  52. Next
  53. End Sub
脂肪;J#039~
回复

使用道具 举报

0

主题

10

帖子

4

银币

初来乍到

Rank: 1

铜币
11
发表于 2006-9-29 07:56:51 | 显示全部楼层
您使用的是什么版本的AutoCAD?
回复

使用道具 举报

0

主题

9

帖子

4

银币

初来乍到

Rank: 1

铜币
9
发表于 2006-9-29 09:04:32 | 显示全部楼层
我使用Autocad mechanical 2006
回复

使用道具 举报

0

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
8
发表于 2006-9-29 10:53:04 | 显示全部楼层
在这种情况下,我认为有一种方法可以通过.NETAPI使用C#或VB.NET实现
你有兴趣试一试吗?
回复

使用道具 举报

0

主题

9

帖子

3

银币

初来乍到

Rank: 1

铜币
11
发表于 2006-9-29 11:06:24 | 显示全部楼层

哦,是的,我'm
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-7 18:07 , Processed in 0.320451 second(s), 72 queries .

© 2020-2025 乐筑天下

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