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()
) r' ?' \. q' f$ [4 Z' A( P4 c1 SDim work As Workspace   f9 j( s  s$ l
Dim new As Database
9 y$ V  |) }' W' e9 |Dim elem As Object # A( p9 e6 y6 K
Dim rs As Recordset . s, W8 [- a' q' E, D/ Z- p6 U
Dim RowNum As Integer   o2 f6 y+ B$ G, v: @
Set work = DBEngine.Workspaces(0) " S; n( ~  @6 u5 _0 M) g) b7 D
Dim dbs As Database
( g. s9 ]; A! [" |8 z+ i) XDim tdfNew As TableDef
  x* c/ y9 S: R0 u! C) g1 JDim tdf As TableDef
. r5 f  o, L4 O8 _/ }( G' ~! H: ODim dbsname As String
$ O/ v' V( t# L' B( O' @Dim array1 As Variant , S& c/ ~' `" w
Dim array2 As Variant ‘声明所需的变量及类型 + d' X, J* ~; N( j
dbsname = “D:\材料表.mdb”
  |  @  q( x3 S3 M‘声明Access数据库写到哪一个文件 ' ^# N1 B2 n" ?) o, [6 j' f' C
On Error Resume Next ) p" h( W* v2 ~% {! [- w5 d
Set dbs = work.CreateDatabase(dbsname, _ & L( L. O" d; W7 O! r2 W
dbLangGeneral) % h! O+ Y& F+ B1 m% Z. f7 ^; K4 X
If Err Then
5 @5 Z; H. ^7 t% _6 K, T: `% ~, _0 ?Kill (dbsname)
! n% K4 v8 O$ q- f  f5 V‘发现要写入的Access数据库文件已存在就将其删除 $ o0 y4 ?1 _  Z* Q) D. _7 V7 L
Set dbs = work.CreateDatabase(dbsname, _
" `, e2 e2 S8 a) vdbLangGeneral)
5 f% ?" V$ E% H) ?) Y* o( l, aEnd If
, Y+ C5 m/ M) JSet tdfNew = dbs.CreateTableDef
3 D+ t* y6 w/ ^) I7 K; v: o/ V(“电气 _材料明细表”)
/ U2 M6 f/ s* E‘建立一个名为电气材料明细表的表 : o8 f* [3 |! |0 G
RowNum = 0
3 A- v, z4 ~8 ?- [! s3 D4 _# GDim Header As Boolean
8 o$ I( ?% P6 PHeader = False
. v- \7 c( w& X9 V) m2 F7 wFor Each elem In ThisDrawing.ModelSpace $ s' Q2 [* E( x" O" A
‘在CAD模型空间,查找所有图形对象 0 D3 Y6 t4 m4 ~% ^# J) C# f" k
With elem , Q& z/ v4 ?! o* R& C
If StrComp(.EntityName,_
9 x& B1 H) \* i& j+ ^, C“AcDbBlockReference”, 1) = 0 Then
) E1 S; O9 C6 S- p; EIf .HasAttributes Then
$ h& E3 d2 D9 f) [& j9 |9 barray1 = .GetAttributes 6 [, j+ H2 I' M$ Y* l% q1 T
array2 = .GetConstantAttributes
" e8 p- k0 u2 u6 p3 G! W9 I  `‘设置array1指向图形对象的属性
+ _) c/ g9 ]0 b; s) v  K6 T‘设置array2指向图形对象的固定属性
, R8 U: E" L* j# i9 X% `6 X7 V. yFor Count = LBound(array2) To _ 8 T3 v1 l% \% q' t1 X3 B  w
UBound(array2) 1 ?* v% d; S/ Q# m' |& E  n
If Header = False Then , D& F, M8 r0 _$ d7 R9 n; s
If StrComp(array2(Count).EntityName, _
/ c) A8 M$ t" A7 r6 }“AcDbAttributeDefinition”, 1) = 0 Then / }+ u7 @! D- `, Q: K1 u
tdfNew.Fields.AppendtdfNew._
. }) O8 Y' o9 \, {' x- N4 \CreateField(array2(Count).TagString, dbText)
9 U7 z, O: \/ X8 a1 p+ NEnd If
9 @: p4 J0 R* m& `! _‘读出属性值读出,作为Access数据库表的标题 : O1 c1 d" f4 k( L
End If
9 O9 r9 E* B( ]9 M+ K: tNext Count + f* ]9 @, l  z/ C
For Count = LBound(array1) To _ 9 {% l" _5 B$ K+ |9 g
UBound(array1)
' Y$ A3 Q4 K4 x: @# TIf Header = False Then 3 [# S4 L; \9 o" j/ y$ R
If StrComp(array1(Count).EntityName, _ % j# S% t+ ~7 ]( M( V  H
“AcDbAttribute”, 1) = 0 Then ( ~( O8 f) k0 z: o8 g
tdfNew.Fields.Append tdfNew. _ 9 f, J2 V2 e- ~
CreateField(array1(Count).TagString, dbText)
+ G6 D' I( H- V. S" J( x0 z2 f, hEnd If
0 e6 f. N7 K* T1 P, T2 WEnd If " h3 x7 e4 I$ T( l2 k- ?5 a0 I
Next Count
. N- c0 ^5 Y3 R: K3 LIf Header = False Then 4 s- Z% u3 p* \- _1 K! ^" F7 W/ v' X
dbs.TableDefs.Append tdfNew
2 ~9 \1 u2 n; C  N# v; r- BSet rs = dbs.OpenRecordset 5 O8 B% h- z& b- i
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 / x- S5 X, J: Y! A
End If
) J9 k' a2 v3 O5 PRowNum = RowNum + 1 : W4 d6 U- X; F: t) M! o' J& K
rs.AddNew ‘增加一笔新记录 ( A# U, {* u% G. q( i  L- F0 Q
For Count = LBound(array2) _ , P5 O9 m1 }- I
To UBound(array2) : J& n, {# U( v8 j( u
rs(Count).Value = array2(Count).TextString 5 Y1 F* T" ?9 B) P& C
Next Count ‘读固定属性值 " z0 S! a" X! C
For Count = LBound(array1) To _
% M4 D, J" _) w$ BUBound(array1)
( d+ H# D$ p' a$ B  hrs(UBound(array2) + Count + 1).Value = _ & c4 a: e4 f: S5 z
array1(Count).TextString 1 z( D) D' D# I9 l/ D% ]
Next Count ‘读输入属性值
9 s0 E8 {& R. V0 ~+ W& T; Ers.Update ‘增加新记录修改结束 ) }1 g% o' n% r, Z6 f
Header = True 2 s; O" @3 m' J# P2 |
End If 8 O* L6 C% V/ s# v& M( T
End If
3 K/ M$ |9 C- Z% j- p" `End With - X* H, b8 K# F$ ^; d
Next elem 9 z! @' o3 j; {. [0 Z
rs. Close ‘关闭记录,释放资源 & v. q6 p& [3 H, Z0 i
dbs.Close ‘关闭数据库,释放资源 $ [" ]7 u- H) ]+ s* k* O/ ~$ b  P5 D7 ?7 L' F
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot4 s, `( l4 k3 j5 \' U( o
真是太好了 ( P) T+ w" C9 C9 d' f" F! Z
這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-5 21:53

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

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

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