QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如何从多个文件中提取属性块的信息??' u! C/ q8 W5 h: {* ]2 D, C* w* b- c* a
我做了几个文件,其中的材料采用属性块输入,现在想进行材料汇总,需要从多个文件中提取属性块信息,各文件属性快的属性完全一致,如何实现?
发表于 2009-1-23 09:13:21 | 显示全部楼层 来自: 中国浙江宁波
使用VBA开发,利用objectdbx(免费)术,可以在打开CAD平台而不打开要查询的文件的情况下读取图纸中的信息!普通的objectdbx依赖CAD平台,不打开CAD平台的DBX技术要向autodesk公司购买;: F- }! T8 r, G) [, h
例程:; |* D# B0 Q. Y- k' x& n( Q" E
Option Explicit; \* E! z* C( \" y0 J
Dim objDbx As AxDbDocument
  B9 z6 R7 X3 e2 [4 d' E-' Example of batch for listing all layers on all drawings in a directory.
3 G4 |8 a" X6 F. \5 `3 N( e* ]! nPrivate Sub ListLayers()
. u( s( M& n7 f: A, C7 ?Set objDbx = GetInterfaceObject("ObjectDBX.AxDbDocument")
% Z3 j6 ?3 R; _Dim inDir As String
! I/ {* H. ^) `. |Dim elem As Object9 b' {9 H; l, b6 [/ G
Dim filenom As String/ O3 K5 x) F3 @2 W/ I) ?
Dim WholeFile As String
* {) _% j$ [' {( \' c: G. HDim newHeight As Double: H: _; Y* l) ]! l) }) ^5 V$ m1 J
inDir = "r:\projekt\3828\A"3 i9 O' O, [; {( P
filenom = Dir$(inDir & "\*.dwg")2 o  v0 B9 U3 A6 W7 k
Do While filenom <> ""
3 G$ O  z8 O3 N' G3 |0 [    ThisDrawing.Utility.Prompt vbCrLf & "File: " & filenom. Z" {& p( \* X9 J2 v
    ThisDrawing.Utility.Prompt vbCrLf & "-----------------"+ T$ k( `) q5 Y
    WholeFile = inDir & "\" & filenom
/ ?. e0 C" n  H% E# w+ |    objDbx.Open WholeFile
9 v  ^4 e2 q, {- w/ h    For Each elem In objDbx.Layers! t, T" Y0 m2 ]. P, F2 U) N
            ThisDrawing.Utility.Prompt vbCrLf & elem.Name& ?7 j5 W4 V9 v( p6 c3 F. b
    Next
' n9 ?) ?* a& t9 b+ `& e2 _2 m0 z    Set elem = Nothing
. d0 Q- ~2 S) f, G    objDbx.SaveAs WholeFile
! q1 P' q/ b( L( i1 ?  v    filenom = Dir$5 u( K$ `3 h" E  O% B' {
    ThisDrawing.Utility.Prompt vbCrLf. H5 F! x- a% Z3 g0 E
Loop
1 p' F$ q' |7 C* Y, Q, Y3 NEnd Sub
0 M* W. t% ^' K% Z
2 `* p) x4 W. i- B7 @7 u+ R% F$ ^8 Q# ~对属性块的访问方法跟VBA访问方式相同;& x. z; t* t! ~# ?  ~
4 S; t5 a6 T+ G) V6 _9 N. B
关于VLISP如何使用DBX可以到这看看:http://www.mjtd.com/a2/list.asp?id=315' E* M( q8 Z, l) N, L. l
2 L( u* m2 B4 k9 a
[ 本帖最后由 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 )

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