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# E: X/ _5 [+ HDim work As Workspace
3 v( Q: K3 M9 ^' |Dim new As Database
" c9 F$ b: v2 fDim elem As Object ) e2 l( Q5 T2 u! e1 @4 [, K: L9 I7 K
Dim rs As Recordset
- ?6 w- N) E' O6 [# h3 |+ u8 ^, ADim RowNum As Integer
9 W3 C5 b5 }8 ZSet work = DBEngine.Workspaces(0)
5 @( E+ e$ T/ X5 V* JDim dbs As Database ! Z7 h; Q; s- }/ d
Dim tdfNew As TableDef
9 n% b4 x7 T' E3 J- P7 d. i/ NDim tdf As TableDef
% q: i: S8 p) X6 r7 bDim dbsname As String
. C% Y  [+ g. G" cDim array1 As Variant
* J- z7 `7 _9 e: b# X0 S: N$ m+ ^/ N* rDim array2 As Variant ‘声明所需的变量及类型
" G4 W. a% e; m; B2 adbsname = “D:\材料表.mdb” ) x3 O' ]3 X% g- x
‘声明Access数据库写到哪一个文件 5 N4 Q+ U: ]! j  R- T( x
On Error Resume Next
2 ^2 O$ K) T  B6 \( f3 U& WSet dbs = work.CreateDatabase(dbsname, _ . T; {, o# y2 P% J+ B+ n4 i
dbLangGeneral) ! K* \: P: l7 @2 ~3 T
If Err Then , ?5 k7 l2 a4 ^7 h2 O/ g
Kill (dbsname)
5 g* T  H  e' l3 ^  w1 K‘发现要写入的Access数据库文件已存在就将其删除
: G: r9 F' H. G9 q2 [Set dbs = work.CreateDatabase(dbsname, _
0 C9 g% |! w) l9 idbLangGeneral) 3 S5 }7 t" ~- _+ }% ]& B
End If
, k1 F3 b. X2 s# c2 SSet tdfNew = dbs.CreateTableDef
, k6 v# O% F9 ~- P7 V$ ^/ L(“电气 _材料明细表”)
& J. E0 [( A& ]4 x0 ~+ |‘建立一个名为电气材料明细表的表 7 ]: S% i2 J& z- Q) }0 A0 _
RowNum = 0
- A" T8 G; T) M& @; H& J2 e9 aDim Header As Boolean ! T# [7 N+ D, f
Header = False
1 a0 u! J! S: ^, K  r3 ^0 v8 {For Each elem In ThisDrawing.ModelSpace . l8 x. @2 i8 h6 D- _3 D* r+ Q" G
‘在CAD模型空间,查找所有图形对象 # ]- {& H/ d2 O- c; d
With elem $ d5 \& w7 p8 A/ Q
If StrComp(.EntityName,_ 9 i. E: H0 X" W
“AcDbBlockReference”, 1) = 0 Then ; o, H8 W5 b7 w2 J- m- c0 p
If .HasAttributes Then & `4 d' _- h  S8 h0 B$ ~
array1 = .GetAttributes - A  S  ?! k( N1 D3 l
array2 = .GetConstantAttributes + W* ]. U2 i# A: q8 N: g  \! N
‘设置array1指向图形对象的属性
9 G7 p. C* I$ Q‘设置array2指向图形对象的固定属性
. x9 n: n" q! v4 oFor Count = LBound(array2) To _ 8 i8 g) I! \! R. B" m, L
UBound(array2)
( {' A/ P8 n+ h) xIf Header = False Then   q' |6 c5 d& i$ Z
If StrComp(array2(Count).EntityName, _
' c6 o7 Q+ e5 V9 i  I5 ^“AcDbAttributeDefinition”, 1) = 0 Then 1 C7 K; S2 m( E) \4 E0 Q7 c  v
tdfNew.Fields.AppendtdfNew._ 5 e8 L# V  w; k& |
CreateField(array2(Count).TagString, dbText)
. j- {7 l) X) J0 G: u6 yEnd If ! ]0 G0 w6 _/ r- m
‘读出属性值读出,作为Access数据库表的标题 / O  }+ o" {- O4 Y
End If
/ j' l; _8 ]7 r' r# ~) KNext Count
& y. p2 z6 C1 T6 y" B2 sFor Count = LBound(array1) To _ + F* e' V6 b$ B
UBound(array1)
- Q/ h  W, ^1 G. U9 a: ?( \If Header = False Then
( Y8 D8 N; G3 pIf StrComp(array1(Count).EntityName, _ - |3 s9 K9 g; N$ t
“AcDbAttribute”, 1) = 0 Then " z$ Z7 l( K6 V4 s, v# \4 p% l
tdfNew.Fields.Append tdfNew. _ . T* m6 h5 b+ q2 L/ [1 b! R3 a
CreateField(array1(Count).TagString, dbText)
' {% [% |' W# y1 v7 X0 aEnd If
( |: `  o) _0 b4 o. b6 YEnd If
2 F2 ]) u" m7 s! ]# [4 F6 vNext Count . x9 ]; ~) p1 w% I
If Header = False Then
% E+ l; c* Y2 T2 A$ n" ldbs.TableDefs.Append tdfNew
  V. k8 p0 l0 h& l! d, i2 g, W2 g' [Set rs = dbs.OpenRecordset 8 j' }- m# d, H, i/ q0 S
(“电气材料 _明细表”, dbOpenTable) ‘打开记录
* K" c5 v- |; B  b- S) @% fEnd If
) O3 U& P$ ~' W1 O4 eRowNum = RowNum + 1
4 p, v. Z( ]: Y0 Q* q  Ers.AddNew ‘增加一笔新记录 ( k1 t6 ?% N1 q2 ^0 L
For Count = LBound(array2) _ ' a* N: @( P8 \( _% h! Q
To UBound(array2) 3 S- F! y0 Q; A" \2 r9 K2 P
rs(Count).Value = array2(Count).TextString
1 x6 w8 [7 q8 p" E( L! ~Next Count ‘读固定属性值 7 j0 n  |# y4 v
For Count = LBound(array1) To _ % m5 p( Q% A8 P& p1 Q
UBound(array1)
) n/ k4 f: s) ^9 brs(UBound(array2) + Count + 1).Value = _ 4 j# \+ |/ y. U3 A% x- ?$ ]5 P! [3 L
array1(Count).TextString
5 x/ Q/ X  @8 P3 E5 g% |Next Count ‘读输入属性值
2 k; f+ K9 d' _+ k1 r, u# s* srs.Update ‘增加新记录修改结束 & Z% V% j* _& s, h! |! e
Header = True % k$ g; j3 }- X; q+ w- |
End If
( g! M" g! W9 QEnd If + E$ x' r$ E# |) r
End With
) S( X$ n# Q0 b' D% _$ @Next elem % i6 }9 T, ^! J% v' }. o
rs. Close ‘关闭记录,释放资源 2 ?4 J  Z" r# M/ ~/ s! U) H. ^* `
dbs.Close ‘关闭数据库,释放资源
: R) ^! o2 o$ A, N- Z( NEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
, H; x% ?0 d2 ^5 u9 e! D: ~真是太好了
1 f9 m; d6 G7 ^7 C7 }  p這就是我要的 ^^
发表于 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 21:35

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

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

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