QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
7天前
查看: 2988|回复: 2
收起左侧

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

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

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

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

x
如何从多个文件中提取属性块的信息??2 O: V" T5 d9 E$ g; E
我做了几个文件,其中的材料采用属性块输入,现在想进行材料汇总,需要从多个文件中提取属性块信息,各文件属性快的属性完全一致,如何实现?
发表于 2009-1-23 09:13:21 | 显示全部楼层 来自: 中国浙江宁波
使用VBA开发,利用objectdbx(免费)术,可以在打开CAD平台而不打开要查询的文件的情况下读取图纸中的信息!普通的objectdbx依赖CAD平台,不打开CAD平台的DBX技术要向autodesk公司购买;
  \/ q3 j( T& f6 h例程:' L% f9 Q, k. X+ ?
Option Explicit
  ^+ f* {) W% pDim objDbx As AxDbDocument
! C) t& {% q& A, z$ B' E-' Example of batch for listing all layers on all drawings in a directory.
# t$ z1 \+ s. h" sPrivate Sub ListLayers()% ?5 _# b2 E& W: U  _
Set objDbx = GetInterfaceObject("ObjectDBX.AxDbDocument")
( m! o7 d- A  R" e0 ^6 CDim inDir As String+ v. A) g/ T8 @# X3 K! ]/ B
Dim elem As Object; Y- z- ^3 T/ S/ {
Dim filenom As String
0 H; O" b' O, s1 i: v9 d# iDim WholeFile As String
* y) `' Q" H2 g! M5 YDim newHeight As Double
2 B% o: e* d; ^$ e9 N! ^/ {inDir = "r:\projekt\3828\A"  Y$ t5 Z1 O: h& k4 ]7 W. Q+ [, g
filenom = Dir$(inDir & "\*.dwg")
2 i+ A; L* p* C- j% HDo While filenom <> ""+ s* a0 l1 q. T
    ThisDrawing.Utility.Prompt vbCrLf & "File: " & filenom* y0 i! ]: g0 X. d7 y/ t# X
    ThisDrawing.Utility.Prompt vbCrLf & "-----------------"( H. K1 D! A$ U) e! E
    WholeFile = inDir & "\" & filenom& p: v* ~* {$ _( C; g; S
    objDbx.Open WholeFile/ `2 W6 t. K: C5 J
    For Each elem In objDbx.Layers" B& |6 b% o$ q) y: s& k$ K3 w
            ThisDrawing.Utility.Prompt vbCrLf & elem.Name
& a# H6 J; j( |; k# u( p4 M! W$ a7 Q    Next
9 C5 x" W% @( I+ N) A. a* a7 C( }    Set elem = Nothing0 a8 Z; n; Y4 V8 h: H- V0 y
    objDbx.SaveAs WholeFile
9 n4 o  b2 G0 F, y" f) B9 {    filenom = Dir$! L) z& m. D8 q! |
    ThisDrawing.Utility.Prompt vbCrLf
5 [4 _* R6 B' ?2 ]0 g! ALoop
" t! Y) F8 R% ~; _  f' }& q, f; HEnd Sub, y, t' a2 K, P* `
: n: t4 E) A9 B& K/ A! b" y
对属性块的访问方法跟VBA访问方式相同;
/ T! u+ g4 i! S* O( Q+ }# W, O" r7 _: n* S/ Q, z
关于VLISP如何使用DBX可以到这看看:http://www.mjtd.com/a2/list.asp?id=315
: B% i, f) E: P$ p' G  \; H# E, E
, u3 D# d/ Q+ m! C[ 本帖最后由 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 )

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