QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
11天前
查看: 2949|回复: 2
收起左侧

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

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

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

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

x
如何从多个文件中提取属性块的信息??
' c( F5 n5 [9 `2 ?我做了几个文件,其中的材料采用属性块输入,现在想进行材料汇总,需要从多个文件中提取属性块信息,各文件属性快的属性完全一致,如何实现?
发表于 2009-1-23 09:13:21 | 显示全部楼层 来自: 中国浙江宁波
使用VBA开发,利用objectdbx(免费)术,可以在打开CAD平台而不打开要查询的文件的情况下读取图纸中的信息!普通的objectdbx依赖CAD平台,不打开CAD平台的DBX技术要向autodesk公司购买;6 A* ?# I+ ^$ M
例程:1 f  b  X% C( _8 ^6 b
Option Explicit6 p) |6 N, D4 K
Dim objDbx As AxDbDocument
/ P, j  G- X3 w  w# y# }' E-' Example of batch for listing all layers on all drawings in a directory.
$ e9 n! \  Q4 p' c3 Y% q4 ZPrivate Sub ListLayers()
7 V  m7 w4 V3 Q' {# h) ?' {Set objDbx = GetInterfaceObject("ObjectDBX.AxDbDocument")) W. r- w9 z7 H8 u6 n& e2 {
Dim inDir As String
% J3 X; K3 k% F/ ^Dim elem As Object: ^' Z0 A0 b. z8 c$ w9 ^) w. w, K& L/ \
Dim filenom As String( m9 [2 w) V+ R, H! D! a% h0 v
Dim WholeFile As String
% T" i7 @% {! @1 v8 n, S+ iDim newHeight As Double
+ K9 f. C3 u. C, n0 U5 G; h8 ~inDir = "r:\projekt\3828\A"& l/ Z+ q% N" F2 @9 }! D
filenom = Dir$(inDir & "\*.dwg")& Q2 Z# ]4 h+ s* F' B- V( d- R
Do While filenom <> ""
7 p8 S" ^5 I! Q- q. V, Z    ThisDrawing.Utility.Prompt vbCrLf & "File: " & filenom3 P+ I* r  U4 R  a
    ThisDrawing.Utility.Prompt vbCrLf & "-----------------". N  _6 E& D: C1 L7 a" Y5 K
    WholeFile = inDir & "\" & filenom
3 ?1 W! Y) M% B5 R1 G, ?3 a    objDbx.Open WholeFile
% ]& ]# @* ]/ _" j6 ^1 a. \    For Each elem In objDbx.Layers4 L0 u  U) j/ b% G' l$ ]7 ~* t
            ThisDrawing.Utility.Prompt vbCrLf & elem.Name
5 _+ X) L5 ?3 A* J, T    Next* W! ]3 ]7 @" S# A+ H
    Set elem = Nothing  E( h& i! B% E, C- s
    objDbx.SaveAs WholeFile
# Q& \9 C& u' j+ A' _    filenom = Dir$
& t/ h! ]: A5 o. e    ThisDrawing.Utility.Prompt vbCrLf
2 L/ x3 ^+ g8 i) @; ?  g( c2 W8 |Loop; R- t, D4 C) W, ~  t0 J
End Sub
9 C0 n0 G. x& c' ?/ p  j& Y1 A; M+ z' u. ~; ]) n% T7 c- ~9 B
对属性块的访问方法跟VBA访问方式相同;
; ]! y& n" R  r- `  m" l
5 a8 {, B/ ~/ q1 T关于VLISP如何使用DBX可以到这看看:http://www.mjtd.com/a2/list.asp?id=315/ M4 @. G' N5 w1 o) C1 r" z

: b+ l# u% g, z  h3 [8 K[ 本帖最后由 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 )

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