QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如何从多个文件中提取属性块的信息??* {; }& ?( Y' F% a4 B# g5 X
我做了几个文件,其中的材料采用属性块输入,现在想进行材料汇总,需要从多个文件中提取属性块信息,各文件属性快的属性完全一致,如何实现?
发表于 2009-1-23 09:13:21 | 显示全部楼层 来自: 中国浙江宁波
使用VBA开发,利用objectdbx(免费)术,可以在打开CAD平台而不打开要查询的文件的情况下读取图纸中的信息!普通的objectdbx依赖CAD平台,不打开CAD平台的DBX技术要向autodesk公司购买;
0 p: f. s5 G  R7 h+ J例程:7 g2 \( M* c, m1 }# e6 A: Y
Option Explicit
- ~  i9 |9 g" x% K* s4 W/ \3 KDim objDbx As AxDbDocument
, l# ^, j  Y+ d( t; y4 X: j; v- o5 X' E-' Example of batch for listing all layers on all drawings in a directory.
7 }0 I& n; L+ PPrivate Sub ListLayers()
1 }* K: R1 A  r% Q) h) j, |! WSet objDbx = GetInterfaceObject("ObjectDBX.AxDbDocument")% V9 |% h% }. Z% s5 y4 Z
Dim inDir As String5 {. F7 d5 F# w$ M* n$ m4 F
Dim elem As Object
2 D- H& O. N& K4 t- U2 v: p1 [% @Dim filenom As String
1 o" M$ X9 u: M- |Dim WholeFile As String( c# s) h% t, _, o
Dim newHeight As Double
2 T4 }7 I# |- IinDir = "r:\projekt\3828\A"& `5 t& x9 e( q
filenom = Dir$(inDir & "\*.dwg")
3 l+ t' g0 d& G. m& ~+ a( \Do While filenom <> ""
3 T" k4 }' s7 R: |    ThisDrawing.Utility.Prompt vbCrLf & "File: " & filenom
+ R2 t& V/ n% }: j3 p" B    ThisDrawing.Utility.Prompt vbCrLf & "-----------------"
& ^! i8 g/ [: l7 e5 n# b- g& W    WholeFile = inDir & "\" & filenom
1 V4 B; P+ G' s( Q$ t6 X    objDbx.Open WholeFile3 z2 V! p# Z/ k  G+ v8 M% p! L/ G
    For Each elem In objDbx.Layers
- w% `2 n# l: J' ]- B. \; ], e            ThisDrawing.Utility.Prompt vbCrLf & elem.Name, O% c) u8 s  I$ x9 X; ?8 ?& f
    Next9 p9 k0 Z  j4 B9 k; Q, Z6 ?
    Set elem = Nothing
# k2 l+ {: `% ?% W' [8 a' ?    objDbx.SaveAs WholeFile
1 u( m$ {0 W3 D! B3 T2 |2 ?    filenom = Dir$% i% g2 C' \4 W4 J6 g- H5 y& \
    ThisDrawing.Utility.Prompt vbCrLf
, L# \3 U  c  @) jLoop
1 _6 x* }' n! n7 B, EEnd Sub
! o- L7 U  j% a# C9 m7 F  Q6 h/ J
对属性块的访问方法跟VBA访问方式相同;
2 b3 Z  G4 c# O
9 R5 |* m2 l3 `1 m$ q! D关于VLISP如何使用DBX可以到这看看:http://www.mjtd.com/a2/list.asp?id=3152 m9 R; c4 A. n5 U7 r# I% F& z$ d
7 Z+ T4 m! ~- {+ ]2 U
[ 本帖最后由 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 )

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