QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 2948|回复: 2
收起左侧

[求助] 如何从多个文件中提取属性块的信息??

[复制链接]
发表于 2009-1-23 07:07:17 | 显示全部楼层 |阅读模式 来自: 中国辽宁鞍山

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
如何从多个文件中提取属性块的信息??% y' W" O1 Z- K5 A' z
我做了几个文件,其中的材料采用属性块输入,现在想进行材料汇总,需要从多个文件中提取属性块信息,各文件属性快的属性完全一致,如何实现?
发表于 2009-1-23 09:13:21 | 显示全部楼层 来自: 中国浙江宁波
使用VBA开发,利用objectdbx(免费)术,可以在打开CAD平台而不打开要查询的文件的情况下读取图纸中的信息!普通的objectdbx依赖CAD平台,不打开CAD平台的DBX技术要向autodesk公司购买;
8 z( a( s$ G% ]  d: C, f7 z例程:
2 b# M- z; ^- ^( xOption Explicit& Q0 q+ h# ~* N: ^
Dim objDbx As AxDbDocument
4 m- X7 j0 {" T6 m# I- d' E-' Example of batch for listing all layers on all drawings in a directory. $ z( d) l  p4 o1 r1 K# _7 w9 L
Private Sub ListLayers()* \  S( M- s& J
Set objDbx = GetInterfaceObject("ObjectDBX.AxDbDocument")1 v6 O1 N' U9 o9 ^
Dim inDir As String# P3 K9 a( c" v8 z* O
Dim elem As Object
4 [9 ?5 U* m6 m% d8 i/ N7 FDim filenom As String5 M4 c6 K. g0 I: L% W% S$ u
Dim WholeFile As String' R8 o5 J0 t8 W, {
Dim newHeight As Double
' t# {# n& m0 sinDir = "r:\projekt\3828\A"
6 y6 B  \* u: o# U7 _1 k3 k. v; qfilenom = Dir$(inDir & "\*.dwg")6 o  k; z/ a& b
Do While filenom <> ""
5 u5 S5 O8 N) H" R    ThisDrawing.Utility.Prompt vbCrLf & "File: " & filenom
$ ?, D4 l& U6 O; Y: O" s    ThisDrawing.Utility.Prompt vbCrLf & "-----------------"# a" N8 A' X" G
    WholeFile = inDir & "\" & filenom
, L7 `" y4 n2 Z9 l" F! @1 s# \    objDbx.Open WholeFile
$ B: w/ G9 P& b    For Each elem In objDbx.Layers
1 R2 K( r; v* I4 Z* L0 a3 A) I            ThisDrawing.Utility.Prompt vbCrLf & elem.Name8 y; ]+ h0 p4 \; p3 f% y* C, f
    Next- y: }2 I0 p$ e! V" m* h2 q. |( \, z
    Set elem = Nothing
3 d3 ?# t! X" ^; S9 t& ^' D. l( ^    objDbx.SaveAs WholeFile
% X- o5 p. e$ Y8 k8 V8 h$ ]& _    filenom = Dir$/ E, s5 b3 y5 V; G$ R2 N
    ThisDrawing.Utility.Prompt vbCrLf
, \. `( Y, E. vLoop
9 S7 u! r* }' S6 X3 d1 h& rEnd Sub! L( |7 W) N7 P, J

$ ?7 z0 V" s, h. E/ p3 q. _+ G对属性块的访问方法跟VBA访问方式相同;7 U5 m; y) g1 D  u6 a5 Q7 o

" }# \* \( T) T9 x关于VLISP如何使用DBX可以到这看看:http://www.mjtd.com/a2/list.asp?id=315
; N7 W6 k* U  S* r7 ]6 ~7 s' K; ]0 K: I  C
[ 本帖最后由 sealive_leafage 于 2009-1-23 09:23 编辑 ]

评分

参与人数 1三维币 +8 收起 理由
woaishuijia + 8 应助

查看全部评分

 楼主| 发表于 2009-1-23 20:04:43 | 显示全部楼层 来自: 中国辽宁鞍山
谢谢sealive_leafage ,看来您是VBA的高手,如果采LISP如何解决这个问题?我用LSP比用VBA熟悉一些,请您帮忙想想办法,谢谢
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表