QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如何从多个文件中提取属性块的信息??" b6 v1 t. q' Q
我做了几个文件,其中的材料采用属性块输入,现在想进行材料汇总,需要从多个文件中提取属性块信息,各文件属性快的属性完全一致,如何实现?
发表于 2009-1-23 09:13:21 | 显示全部楼层 来自: 中国浙江宁波
使用VBA开发,利用objectdbx(免费)术,可以在打开CAD平台而不打开要查询的文件的情况下读取图纸中的信息!普通的objectdbx依赖CAD平台,不打开CAD平台的DBX技术要向autodesk公司购买;3 ^! u% H2 t2 J; l$ h: f
例程:
& x! C/ _6 e# G( c! J! {- V  f( Q" k' GOption Explicit& r8 f, w- b4 P! G2 Z
Dim objDbx As AxDbDocument$ _7 C( n' {! D9 G
' E-' Example of batch for listing all layers on all drawings in a directory.
1 j  r6 q! p2 |7 O# `  l' PPrivate Sub ListLayers()
+ ?6 G7 t: \: Q/ _- a  y9 c! U# ISet objDbx = GetInterfaceObject("ObjectDBX.AxDbDocument")8 p  L: f& n. k. B, U
Dim inDir As String
" N4 H% |% i' k% vDim elem As Object
0 A! V; ?9 d8 UDim filenom As String
. q' z4 M. i1 K: y5 R2 u. |Dim WholeFile As String
( g& F+ p7 W  q% v0 q+ DDim newHeight As Double
' }% S  F8 H$ q) x; }9 t& jinDir = "r:\projekt\3828\A"9 {/ Q$ W. m( x4 O& p1 k7 L
filenom = Dir$(inDir & "\*.dwg")( y+ P; I! ~% w/ w+ h
Do While filenom <> ""  d" ~6 g7 r1 j3 t- q
    ThisDrawing.Utility.Prompt vbCrLf & "File: " & filenom
& O7 u& d" j2 K    ThisDrawing.Utility.Prompt vbCrLf & "-----------------"
( o7 W, z1 l# v7 X; V    WholeFile = inDir & "\" & filenom; x, R- C1 X' f5 X
    objDbx.Open WholeFile- ~0 B6 a0 _2 w! t
    For Each elem In objDbx.Layers5 i6 O: S- B( k- r4 ~0 u6 E0 a( a
            ThisDrawing.Utility.Prompt vbCrLf & elem.Name1 @6 e$ I. o* N1 V9 t- v
    Next
8 i9 Y8 J/ B, f5 F; {# o    Set elem = Nothing- c: i0 k& K: |: W6 T9 D
    objDbx.SaveAs WholeFile' F( v' d1 p% e3 m2 g( G; U: {, Y
    filenom = Dir$
: R  h! _; |5 S2 v    ThisDrawing.Utility.Prompt vbCrLf
6 |% w, B8 l/ ~; o# L4 BLoop
4 s$ P& X0 m* }$ v& {End Sub
5 x/ e2 y+ H+ u3 r6 @2 Z
' h' L( f7 j+ Q" O- }: Z: [1 f对属性块的访问方法跟VBA访问方式相同;
0 o' R5 l6 Z( h2 c0 p
1 t( j* a  C3 }1 U- }关于VLISP如何使用DBX可以到这看看:http://www.mjtd.com/a2/list.asp?id=3157 N# ~! t( k6 u* ]! e1 Y' O# }
3 D5 h$ C! @8 C/ H  Q9 k
[ 本帖最后由 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 )

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