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() & Q: b. s7 j# s, f; E0 P
Dim work As Workspace ( S7 {( @$ V: {8 A& H/ S
Dim new As Database
+ b6 S0 Z6 T5 N0 f7 |& b/ IDim elem As Object ) [9 _! V$ }* u3 F5 l
Dim rs As Recordset
/ B" n# S  B4 n) e" E) YDim RowNum As Integer
0 a9 Y. N4 x6 u' E1 T$ s( B* l- PSet work = DBEngine.Workspaces(0) 4 t7 U+ K4 C; u0 `+ g& @# f
Dim dbs As Database ( f* X  S& M6 d) p3 a( T, z  d
Dim tdfNew As TableDef 6 y0 L! S, v; N! }5 Q# h
Dim tdf As TableDef
$ d9 v5 d, q: p! bDim dbsname As String   Z& o3 F9 ^4 B" x7 A3 F% W( o! G
Dim array1 As Variant 5 g( n6 J+ C9 ?1 c. R
Dim array2 As Variant ‘声明所需的变量及类型 3 y9 s, q) n1 h3 _
dbsname = “D:\材料表.mdb”
! ?2 A' M$ R3 ^2 N  E: p‘声明Access数据库写到哪一个文件
6 H2 |+ y. T' n. xOn Error Resume Next 7 F: ^: `1 }" \# ]6 o. D
Set dbs = work.CreateDatabase(dbsname, _
% i6 Z& g  E7 V7 w8 SdbLangGeneral)
$ i/ a; P5 o/ q8 o6 nIf Err Then
! N% C* V+ F9 }6 {Kill (dbsname)
. G9 X, J  w/ F5 S! t3 g‘发现要写入的Access数据库文件已存在就将其删除
& l/ K4 k! @) VSet dbs = work.CreateDatabase(dbsname, _
9 u) {. c5 P$ c; J! s6 ndbLangGeneral) & G' b  G" s% J. M
End If 6 B8 J: {# d4 z
Set tdfNew = dbs.CreateTableDef
6 E& }1 |6 ~! x* X(“电气 _材料明细表”)
# D2 R8 l8 O1 I0 {1 a, @‘建立一个名为电气材料明细表的表
6 N8 k8 b* \, T# t+ ]% f3 yRowNum = 0
" N8 `3 L8 w9 MDim Header As Boolean
1 S# X# B- p9 W, \# i" x( a7 hHeader = False
' ?0 U; e. A1 h; p; HFor Each elem In ThisDrawing.ModelSpace
" ?, A: G& w2 a" q‘在CAD模型空间,查找所有图形对象
. z9 Z1 o9 D( ?, ~& p' VWith elem $ V7 T* P; H' m: L" a
If StrComp(.EntityName,_ . w# J% u7 m; j6 b+ [; l2 W& I+ b
“AcDbBlockReference”, 1) = 0 Then
4 h! C* F0 u& _- M: o3 pIf .HasAttributes Then 0 Z: W" q. m- Z4 s) u8 r
array1 = .GetAttributes 1 `1 i8 M: J) Y; g& e& ]( e+ Z
array2 = .GetConstantAttributes
) J9 g# ]* {7 l‘设置array1指向图形对象的属性 ; E. I, k$ e- H9 B
‘设置array2指向图形对象的固定属性 & A* n* d/ H7 |6 b# F3 `: u
For Count = LBound(array2) To _ - W7 i( `8 [" N' D& C' ~* H
UBound(array2) 0 N* w8 A+ ^& R5 e: K# Q1 Y: ?4 F. o
If Header = False Then
  s2 {% \; ^% ]If StrComp(array2(Count).EntityName, _ % H! _- G5 {, Q7 b
“AcDbAttributeDefinition”, 1) = 0 Then & j2 K0 b# ~2 R# e% o! P3 J* j3 z
tdfNew.Fields.AppendtdfNew._
; p( y. F2 R6 S) e$ oCreateField(array2(Count).TagString, dbText)
$ I8 p3 T+ e4 m+ k* nEnd If
" V3 O6 \; r& @‘读出属性值读出,作为Access数据库表的标题 ( G$ K: w* X0 V
End If
/ \# v" h6 h' g. z" [" n% s! qNext Count ' ?, V1 P( }+ l, y# D
For Count = LBound(array1) To _
. M; s# O1 h3 s3 ?$ {& N* W  iUBound(array1) - ~( Z& i- B% N$ \- d  e) J
If Header = False Then
/ R! C7 R  v3 p& C* V& ^* M  B7 tIf StrComp(array1(Count).EntityName, _ 5 ^3 V9 h  Q  n: T0 M
“AcDbAttribute”, 1) = 0 Then 6 R$ P5 s  X# E$ y2 E, Q
tdfNew.Fields.Append tdfNew. _
5 Z6 Y0 [5 N, c" T; u* q* w6 FCreateField(array1(Count).TagString, dbText)
0 ?+ M/ ]: a6 @6 T* `, o7 [/ yEnd If
$ ^7 [( s7 ^4 ?, F/ G8 r$ n8 L9 REnd If 3 g1 O! u  Q' i( j2 c
Next Count ! m+ t% ^- |" U+ M
If Header = False Then
6 ]4 Q8 H  y( k# W9 A3 Odbs.TableDefs.Append tdfNew
4 C0 w' i" l. B: fSet rs = dbs.OpenRecordset " g/ H: N0 Q: R+ w' H
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 6 i: e% b1 J; @! `0 K
End If
) K9 M  o  Q' p; L  k2 m! o& b* Z- aRowNum = RowNum + 1 " G, i: j5 o, M
rs.AddNew ‘增加一笔新记录
6 G  C' d, k- g0 s9 g' `8 pFor Count = LBound(array2) _
1 Q$ x# d0 a" i! }: f$ ~To UBound(array2)
3 u$ V6 q! L9 o5 C/ h& @7 L4 m  K6 m. nrs(Count).Value = array2(Count).TextString 8 y, {9 V% K: P
Next Count ‘读固定属性值 : V; z  c; F' p0 B4 U3 T2 X
For Count = LBound(array1) To _
1 L1 Z5 O& s6 u! yUBound(array1)
$ W6 T$ y' i" e$ Y  D/ z& j3 ?rs(UBound(array2) + Count + 1).Value = _
1 M" t3 u4 u% o7 N) b- q' ?array1(Count).TextString 7 V+ b& \$ w3 P) U
Next Count ‘读输入属性值
; E8 i' G1 w& u1 b* s" Zrs.Update ‘增加新记录修改结束 ( p: I' j  p+ o
Header = True . D  _9 L+ J. m6 N- ~! o" z& m8 O
End If
$ A  O- y( i  `" `% H6 SEnd If
% M$ {4 l3 v2 J9 hEnd With ! ^1 J0 @( ~0 ^' _7 o
Next elem & c) m$ N" Z5 z: L
rs. Close ‘关闭记录,释放资源 2 V4 L3 u1 q9 _6 w) q
dbs.Close ‘关闭数据库,释放资源 : J) }% E; r, t: N6 r7 x
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
* x( W7 x8 D# M1 j! e! b真是太好了 . N7 E; P  N# G3 X
這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-2-14 09:42

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

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

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