QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
8天前
查看: 2989|回复: 2
收起左侧

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

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

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

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

x
如何从多个文件中提取属性块的信息??
/ ~6 ^3 |% l$ {+ h" z1 G我做了几个文件,其中的材料采用属性块输入,现在想进行材料汇总,需要从多个文件中提取属性块信息,各文件属性快的属性完全一致,如何实现?
发表于 2009-1-23 09:13:21 | 显示全部楼层 来自: 中国浙江宁波
使用VBA开发,利用objectdbx(免费)术,可以在打开CAD平台而不打开要查询的文件的情况下读取图纸中的信息!普通的objectdbx依赖CAD平台,不打开CAD平台的DBX技术要向autodesk公司购买;
& i  z! H) k' M1 L例程:/ I- h7 \  Z5 F6 Q
Option Explicit+ @9 ~- N6 S5 P& q6 N4 G5 ^% j" s
Dim objDbx As AxDbDocument
7 l( n# h5 ^% P& R' E-' Example of batch for listing all layers on all drawings in a directory. & ]8 k2 ^/ ]$ b( y; A! z
Private Sub ListLayers()  w2 ~5 `. ]8 N$ W
Set objDbx = GetInterfaceObject("ObjectDBX.AxDbDocument")) q: i9 @) n; c
Dim inDir As String
! K& E3 R+ C6 G$ Y4 u+ Y' M: C3 t6 VDim elem As Object* V# G2 R/ p% Z/ D- \! S# b9 X" m
Dim filenom As String  @  D0 ]: F) k; a
Dim WholeFile As String7 S+ _7 g2 q) p
Dim newHeight As Double
1 X  S1 ?: Z0 ]' m3 T$ linDir = "r:\projekt\3828\A"
" C3 \6 {6 S# Afilenom = Dir$(inDir & "\*.dwg")
% g- E) x& y4 t0 c9 O& E# k' r/ z" kDo While filenom <> ""( `" t- |- n; x; b* ~6 x9 Y
    ThisDrawing.Utility.Prompt vbCrLf & "File: " & filenom
+ a1 e) q: N2 y# \. b    ThisDrawing.Utility.Prompt vbCrLf & "-----------------", f3 Z' C! s$ X5 @! P
    WholeFile = inDir & "\" & filenom
9 Y$ N' B" F8 _  q, g5 [( B% `    objDbx.Open WholeFile
4 f- s+ B, {5 j# F6 d6 V/ N( E0 f    For Each elem In objDbx.Layers2 `2 i  l4 x4 K5 C* M
            ThisDrawing.Utility.Prompt vbCrLf & elem.Name
8 k5 J( u. B/ p8 t$ P) }    Next2 h; h$ t: t# F8 u! ]+ p' R+ q
    Set elem = Nothing
0 V9 s0 `$ E9 J7 Q    objDbx.SaveAs WholeFile$ A0 W% M! {% s1 |0 Q) {
    filenom = Dir$
% I, N3 _% F5 y/ S7 E/ {# }0 m    ThisDrawing.Utility.Prompt vbCrLf* l+ u3 L& Y/ N5 H
Loop
/ a1 F' T6 ]) [+ z0 MEnd Sub
4 x6 L) g" ]$ u; O
) b  E" l7 n  U6 s) R对属性块的访问方法跟VBA访问方式相同;+ |, f8 C+ M$ K) B. {, z6 W1 m

; M& W5 n/ m8 a关于VLISP如何使用DBX可以到这看看:http://www.mjtd.com/a2/list.asp?id=315
2 s% l; e4 e% K- G2 z- m* G; C# ?8 k6 h
[ 本帖最后由 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 )

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