QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如何从多个文件中提取属性块的信息??
* N$ }/ ]' @1 h; N( Z4 X5 d1 L我做了几个文件,其中的材料采用属性块输入,现在想进行材料汇总,需要从多个文件中提取属性块信息,各文件属性快的属性完全一致,如何实现?
发表于 2009-1-23 09:13:21 | 显示全部楼层 来自: 中国浙江宁波
使用VBA开发,利用objectdbx(免费)术,可以在打开CAD平台而不打开要查询的文件的情况下读取图纸中的信息!普通的objectdbx依赖CAD平台,不打开CAD平台的DBX技术要向autodesk公司购买;% {5 Z- r- n; P
例程:
3 M8 ~, S5 H+ X+ lOption Explicit: x8 H3 X* Z! l; a
Dim objDbx As AxDbDocument
3 Y( r% x, G$ Q5 u+ X( i. Z; G' E-' Example of batch for listing all layers on all drawings in a directory.
8 M" [  M: S1 \' b9 l6 r1 `Private Sub ListLayers()" v5 _" }/ L. A: Z' O4 G
Set objDbx = GetInterfaceObject("ObjectDBX.AxDbDocument")
! ~: f4 }' u  Q& Y$ r" H1 B; h8 [Dim inDir As String
7 m0 P5 @+ \1 zDim elem As Object& X% I( K( o7 t+ q6 ]/ _! F
Dim filenom As String
/ A$ |; ~* S. q/ y. K  O, a; s* vDim WholeFile As String7 s( p# }# ?) I0 f: Q% V% s
Dim newHeight As Double
" I* E6 u8 g# T1 E6 G, t9 {inDir = "r:\projekt\3828\A"
# |+ G7 |) L$ N+ u0 _filenom = Dir$(inDir & "\*.dwg")
3 V: y8 q, n8 U" v- rDo While filenom <> ""- `: r7 f( y! G. x8 n- C# E! @
    ThisDrawing.Utility.Prompt vbCrLf & "File: " & filenom
. p2 A/ z# M* R0 Y* S+ o    ThisDrawing.Utility.Prompt vbCrLf & "-----------------"7 M  U' m. i" F
    WholeFile = inDir & "\" & filenom. }% J6 Q: @1 Y# b4 \
    objDbx.Open WholeFile( A" \  ^& M- U- Y+ g0 }
    For Each elem In objDbx.Layers
2 A7 |3 Y. L; W# O            ThisDrawing.Utility.Prompt vbCrLf & elem.Name
1 ~9 L2 h9 B( D" x    Next
2 G" e8 [4 e/ ~' v/ W" i. \7 q4 G    Set elem = Nothing/ A4 N. m. e- q; s' i+ A0 R
    objDbx.SaveAs WholeFile
- O% S3 w( w) Q; x: h5 ?1 G    filenom = Dir$( i  H9 a* _! t4 v3 W+ ^
    ThisDrawing.Utility.Prompt vbCrLf
4 U5 }7 W) \9 G. PLoop
$ f; @5 \/ h$ O4 v) gEnd Sub
2 m" ]; P0 I% r/ H% x# o0 J7 x: B/ O& J5 V
对属性块的访问方法跟VBA访问方式相同;4 i5 n6 i' ]7 F

! u. ^" X2 i( e3 K5 n( ]关于VLISP如何使用DBX可以到这看看:http://www.mjtd.com/a2/list.asp?id=315
8 g+ v7 O( W: F9 H) K
" K) }" p, h0 c2 s6 Z  f[ 本帖最后由 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 )

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