QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2994|回复: 2
收起左侧

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

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

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

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

x
如何从多个文件中提取属性块的信息??
* c% x% Q+ ~6 I0 j2 e3 V% @我做了几个文件,其中的材料采用属性块输入,现在想进行材料汇总,需要从多个文件中提取属性块信息,各文件属性快的属性完全一致,如何实现?
发表于 2009-1-23 09:13:21 | 显示全部楼层 来自: 中国浙江宁波
使用VBA开发,利用objectdbx(免费)术,可以在打开CAD平台而不打开要查询的文件的情况下读取图纸中的信息!普通的objectdbx依赖CAD平台,不打开CAD平台的DBX技术要向autodesk公司购买;0 `$ }: I5 K3 W3 C( X4 K1 j
例程:: y; p& t+ m: G/ L
Option Explicit( _2 ?6 X3 T# K& v6 Y
Dim objDbx As AxDbDocument
+ P, Q4 K$ i" P# g( C- b7 i. c) m1 c' E-' Example of batch for listing all layers on all drawings in a directory. 8 h4 g2 `5 z  }; R0 E- E
Private Sub ListLayers()& @; l" H7 F$ h1 I
Set objDbx = GetInterfaceObject("ObjectDBX.AxDbDocument")
  s7 F/ K" ?+ u1 A4 r  t& r+ eDim inDir As String
) U3 O) B9 @9 R( r& X9 W0 {Dim elem As Object4 x9 r8 T2 Q& K6 f+ m
Dim filenom As String# n' o7 J9 K8 h, S7 `  L2 m
Dim WholeFile As String
* F% a1 B' z7 Y' W4 w1 }( `% k) gDim newHeight As Double- v% s9 Z% b" J  W7 b& s2 x
inDir = "r:\projekt\3828\A", i; i0 l1 p+ \& C" j: j$ V
filenom = Dir$(inDir & "\*.dwg")( b2 T' t6 D6 b# B* ?
Do While filenom <> ""
* Q: W' A& g4 R$ h% c, B9 v    ThisDrawing.Utility.Prompt vbCrLf & "File: " & filenom
: o6 p" `9 ^: A7 |4 C+ s    ThisDrawing.Utility.Prompt vbCrLf & "-----------------"' v$ l9 J4 Z3 Z) F4 h: `5 D
    WholeFile = inDir & "\" & filenom3 }) A8 L2 J4 M. j+ L( ^
    objDbx.Open WholeFile
8 r! M1 [& L7 a9 h) p5 W    For Each elem In objDbx.Layers
$ f  C# y: ]7 Z3 h2 f2 @% z0 i7 w            ThisDrawing.Utility.Prompt vbCrLf & elem.Name! {( S# D- `+ _# ^1 k! X- z
    Next
, s( v6 p- G0 X2 l! f; F    Set elem = Nothing1 X' Y* h3 n+ J: w3 p
    objDbx.SaveAs WholeFile
* j* R2 {2 E( B  x6 D    filenom = Dir$
" V, h6 q) z& f* m, V2 o! e    ThisDrawing.Utility.Prompt vbCrLf
8 j$ ^3 B% K* P, X5 E8 o- nLoop
7 P0 f. t8 g5 ~$ }# G% C' Z* LEnd Sub
  V3 {; V, V5 `# ~% I9 X% C- c: ]4 R! _( k
对属性块的访问方法跟VBA访问方式相同;7 M7 p9 h/ C. X. b/ W. a

/ t, j7 L5 t0 }: d关于VLISP如何使用DBX可以到这看看:http://www.mjtd.com/a2/list.asp?id=315* |8 a+ ]# v6 H0 i: l9 ^+ u" c
) z% t; `$ }" [, K% o
[ 本帖最后由 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 )

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