CAD设计论坛

 找回密码
 立即注册
论坛新手常用操作帮助系统等待验证的用户请看获取社区币方法的说明新注册会员必读(必修)
12
返回列表 发新帖
楼主: gysheng

cad统计材料表

[复制链接]
发表于 2008-10-17 16:08 | 显示全部楼层
下载不了了????
发表于 2008-10-17 16:10 | 显示全部楼层
怎么下载啊,为什么下不了?
发表于 2008-10-20 15:19 | 显示全部楼层
不知道是做什么用的
发表于 2008-12-10 13:25 | 显示全部楼层

顶起

请用过的同志说明一下怎么用
发表于 2009-1-6 13:04 | 显示全部楼层
Sub list() " \8 o: Q. o) P7 a6 o+ h$ j
Dim work As Workspace 1 U4 V6 l: K! M* K3 Y6 ]
Dim new As Database / H8 Y6 U% g+ e5 o! t# V
Dim elem As Object & Z: c% L* F/ [4 M, u/ g
Dim rs As Recordset 4 A9 ^6 a' Q4 q0 E, J  R3 t3 G) a
Dim RowNum As Integer 2 a  F/ a2 o2 f8 q4 c8 D3 D. P
Set work = DBEngine.Workspaces(0) 9 M0 I% f  |8 x8 P5 G: k
Dim dbs As Database
7 q$ c# K) ]9 o; TDim tdfNew As TableDef * s7 E: L- i. D' F: @  B
Dim tdf As TableDef
& a9 ^; \. a: PDim dbsname As String
4 D& D4 @: a$ D6 y+ _; x% wDim array1 As Variant 4 f/ P) g/ i( M
Dim array2 As Variant ‘声明所需的变量及类型 + e5 }4 i. L  R( P2 h% o
dbsname = “D:\材料表.mdb” 0 K0 L0 s8 r! y: q
‘声明Access数据库写到哪一个文件 " [+ F% ]5 H, g: y+ J) R. Z8 ~
On Error Resume Next
1 [5 W+ o( G! B8 V4 _5 {Set dbs = work.CreateDatabase(dbsname, _ 0 ^# R1 x0 i, r
dbLangGeneral)
/ O1 n! q1 m' v( ^6 I) xIf Err Then
% [8 g& ^/ K& zKill (dbsname)
" e7 H) _2 I# x" P$ J‘发现要写入的Access数据库文件已存在就将其删除
, L! h6 o. h- N; ^1 xSet dbs = work.CreateDatabase(dbsname, _ 1 l' m- |$ N4 I
dbLangGeneral) . i8 ]3 F) J% s7 j+ y
End If 9 Z/ D6 x/ f2 l% @; S
Set tdfNew = dbs.CreateTableDef
* G, x6 n7 d$ Z0 _6 l! _(“电气 _材料明细表”)
( W8 M" i$ z( v5 a‘建立一个名为电气材料明细表的表 9 Z0 E+ R4 Y. i% T$ t1 m
RowNum = 0
' V: K/ D) @3 P, G: r) rDim Header As Boolean
' g9 _$ N9 Z& m  i" XHeader = False
+ k$ f5 Z3 \, |4 g+ B7 i+ m; F! v8 NFor Each elem In ThisDrawing.ModelSpace ! a, G% J( S- b4 n
‘在CAD模型空间,查找所有图形对象
3 v) {- V7 N) RWith elem , {. P: Z: c: F3 n$ J
If StrComp(.EntityName,_
6 f" z- q8 T$ c$ g“AcDbBlockReference”, 1) = 0 Then + t: D0 [/ `# j0 [  y# l
If .HasAttributes Then
/ e# k* ?$ @9 g5 k0 k3 farray1 = .GetAttributes
* n( R. l) l& K: yarray2 = .GetConstantAttributes
1 ?* g: V1 {5 y% v4 }‘设置array1指向图形对象的属性
0 [7 W6 e5 a! I& T‘设置array2指向图形对象的固定属性 6 l. w$ \* |% f# P
For Count = LBound(array2) To _
3 w, O5 q+ z; @$ g5 n) RUBound(array2)
- d% h9 I% u" B: z/ R& A% mIf Header = False Then
; X! ?+ B( [5 G! M) cIf StrComp(array2(Count).EntityName, _
7 ^! x4 w: ]) B) i“AcDbAttributeDefinition”, 1) = 0 Then
0 Z& |) O7 T0 x$ ~1 L# g8 C8 ~- gtdfNew.Fields.AppendtdfNew._ / \; h6 Z8 L9 t2 D* w
CreateField(array2(Count).TagString, dbText)
0 B6 U8 a# p& D, |# a4 d" dEnd If : f% N( P1 Z5 `$ L& t: B+ o) W
‘读出属性值读出,作为Access数据库表的标题 * q% x# w# e* _2 S% Z
End If + q" c$ x7 I7 S) f4 Y! x: o7 l! x; o
Next Count 2 j3 U; x+ }: E3 I9 o# ~
For Count = LBound(array1) To _
! a0 C5 b# m: h5 V& S0 xUBound(array1) / m" f( m3 c. D; ?
If Header = False Then : U3 T: u8 q8 V6 a" W4 l! g
If StrComp(array1(Count).EntityName, _ # [8 R. P# ~) A7 S  r, j2 m; v
“AcDbAttribute”, 1) = 0 Then
3 r+ o" F7 N& E" R$ [0 I5 d/ BtdfNew.Fields.Append tdfNew. _
" O" M; n( \. KCreateField(array1(Count).TagString, dbText)
- a# u3 w) @( nEnd If
, E( G1 L4 S% o7 @- q- E& f$ X) eEnd If ) Q" a( i' L. @/ L) p* ]7 Q" d
Next Count ! L1 x5 r+ ^. ?" ?) }3 D4 b: O
If Header = False Then
7 v. z1 l7 Z, @& T  s, c2 `6 Qdbs.TableDefs.Append tdfNew
1 }8 u$ M/ s5 l/ k; `" K8 R- ]; `5 Z: kSet rs = dbs.OpenRecordset 5 A  U- V8 f1 B% f5 W
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 . o& y, `( h" q3 ]( C% v5 w
End If
+ g0 ?5 |6 @9 BRowNum = RowNum + 1 6 A6 F" a% w" l  z3 E  W
rs.AddNew ‘增加一笔新记录
, v  U0 k8 n/ uFor Count = LBound(array2) _
) O0 Z/ ?( q* M# E/ N3 DTo UBound(array2)
' E# \3 l& r3 i$ F" b  vrs(Count).Value = array2(Count).TextString
8 ^9 l7 W6 O! K* b. Y  WNext Count ‘读固定属性值
: m" v- u+ \7 h# S1 zFor Count = LBound(array1) To _ ( K* p4 d6 ]+ q& E( Q
UBound(array1) & c5 b4 d. Q! c2 S
rs(UBound(array2) + Count + 1).Value = _
: F9 ?) T' I& b$ _+ A) Warray1(Count).TextString $ L% j5 T# u6 b9 R
Next Count ‘读输入属性值
1 H9 ^1 u& o; B- _rs.Update ‘增加新记录修改结束
0 l; V& M6 h+ q5 g" j* {$ H9 g8 aHeader = True 4 W9 ?2 U  t+ ]7 r& d5 p7 s
End If
- q; T! u( \3 B* PEnd If $ M/ I7 a0 E6 a0 h  A0 j: A
End With
& f  s# t: B! A- b4 TNext elem . \4 S% Z! n1 J: J' U0 g
rs. Close ‘关闭记录,释放资源
( ?3 Y( J* P1 r% o; Edbs.Close ‘关闭数据库,释放资源
$ i+ N& ]8 C6 CEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot! P' T3 F5 x/ o$ R: f7 _
真是太好了 / ^" Y$ V% X, ?( q$ _+ e3 r
這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于|免责|隐私|版权|广告|联系|手机版|CAD设计论坛

GMT+8, 2024-11-25 06:35

CAD设计论坛,为工程师增加动力。

© 2005-2024 askcad.com. All rights reserved.

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