QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如何从多个文件中提取属性块的信息??+ G; p' ]9 ]  N8 r4 J6 @4 J
我做了几个文件,其中的材料采用属性块输入,现在想进行材料汇总,需要从多个文件中提取属性块信息,各文件属性快的属性完全一致,如何实现?
发表于 2009-1-23 09:13:21 | 显示全部楼层 来自: 中国浙江宁波
使用VBA开发,利用objectdbx(免费)术,可以在打开CAD平台而不打开要查询的文件的情况下读取图纸中的信息!普通的objectdbx依赖CAD平台,不打开CAD平台的DBX技术要向autodesk公司购买;$ [; s6 p" M& f7 T/ z- b
例程:
( B0 n. @+ Z# k. b* ~( Q: }- \; [8 POption Explicit4 S% C( G  r7 h( A5 [
Dim objDbx As AxDbDocument' N  X& c7 b/ i& F# v
' E-' Example of batch for listing all layers on all drawings in a directory. * A7 \0 A0 i! {5 M1 S! K- L  o7 x" Q
Private Sub ListLayers()
$ m+ [' w; q+ D& o% qSet objDbx = GetInterfaceObject("ObjectDBX.AxDbDocument")( K" v# I0 o, f& f: v0 J) G1 _& T
Dim inDir As String/ S6 [3 d% v: }4 I* a
Dim elem As Object0 H2 E. i' K$ p2 X
Dim filenom As String! W1 M, `3 ^2 r
Dim WholeFile As String
% s# x2 @2 e- vDim newHeight As Double/ m3 y/ F# ]- x& l3 i9 Y5 i
inDir = "r:\projekt\3828\A"
8 E- ?' h' e" x, L. Dfilenom = Dir$(inDir & "\*.dwg"): t9 l1 R! t2 @: x: q! e
Do While filenom <> ""! a6 A& Q8 k- s6 r0 ^
    ThisDrawing.Utility.Prompt vbCrLf & "File: " & filenom9 a) e, w) X$ `; @* w8 e* X
    ThisDrawing.Utility.Prompt vbCrLf & "-----------------"
3 Z- t3 q  {, I6 `5 p    WholeFile = inDir & "\" & filenom  V/ v3 {* W7 S
    objDbx.Open WholeFile( W  `- S4 v* j2 h! _
    For Each elem In objDbx.Layers
! T0 p7 o9 n: T; s3 M7 j            ThisDrawing.Utility.Prompt vbCrLf & elem.Name
; K0 _& \% C- g9 K    Next
; @4 A+ ~% ?) [1 B8 g    Set elem = Nothing$ F, Q# [2 g4 W# G% T% s
    objDbx.SaveAs WholeFile. c  R: V6 f6 q8 r6 K
    filenom = Dir$
* C+ e2 B% C9 K# ^    ThisDrawing.Utility.Prompt vbCrLf- Q8 S; |: D9 V/ ]7 s
Loop, G+ O8 k+ r. u# Q3 K
End Sub
: T0 w$ L5 L0 \
: o+ x$ }1 `5 p+ [2 L: z9 p对属性块的访问方法跟VBA访问方式相同;
: h$ E/ |  O! C. B7 S  h7 ~: V( P/ |6 j7 i
关于VLISP如何使用DBX可以到这看看:http://www.mjtd.com/a2/list.asp?id=315
& D- p8 f4 c. i0 y7 o7 [9 K1 F4 _, X+ u2 P1 Q
[ 本帖最后由 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 )

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