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()
$ g: [! }2 p5 ODim work As Workspace 4 }$ s6 J4 _/ k( F, B
Dim new As Database
3 ]7 ]7 F4 C' b7 r9 e$ bDim elem As Object   h/ p% Z/ ]; i9 Y; @
Dim rs As Recordset
. ^: O! E6 k0 w2 A9 D. `) a5 HDim RowNum As Integer * `5 b7 A* g* D
Set work = DBEngine.Workspaces(0) $ a5 [( X' @9 Y( \9 ~! ^& U
Dim dbs As Database $ N  l$ [3 A5 a- g/ U6 k( \
Dim tdfNew As TableDef ! U% I( I- h8 J) Z7 |" K9 S! B  O
Dim tdf As TableDef 0 M# b" n$ U( n! v$ O
Dim dbsname As String
* H* i* Y8 h; O* K( J' sDim array1 As Variant
1 K: ?& B" h, n! f( s; nDim array2 As Variant ‘声明所需的变量及类型
7 n9 ~+ }& H/ s# B% Adbsname = “D:\材料表.mdb” ' B: |$ q$ {' |& c2 ]
‘声明Access数据库写到哪一个文件 ( R1 D2 M# _2 ?7 ?9 {" G- f' Q
On Error Resume Next
# w+ D2 S( o1 a/ ^' f+ t% e: @- QSet dbs = work.CreateDatabase(dbsname, _
+ I3 K  N, A# [# z/ d& udbLangGeneral) - K' V0 [, Q2 K' w1 R
If Err Then ! G) _; }# K8 T  Q* Q: }; c
Kill (dbsname)
2 R- x: @% q9 `! T‘发现要写入的Access数据库文件已存在就将其删除 7 R4 @. ]4 n; A6 K& o! C9 n! F
Set dbs = work.CreateDatabase(dbsname, _ . c$ @7 S, `1 N6 _, |- N% X
dbLangGeneral)
/ o' c" Y; {2 _4 Y- p) gEnd If
" @# q& I: P# _9 U, KSet tdfNew = dbs.CreateTableDef
1 F, s  t& }! f(“电气 _材料明细表”)
4 ]4 ]. V, D5 y" ]‘建立一个名为电气材料明细表的表 + {- @/ B8 ^- e
RowNum = 0
! |) j" P9 l3 _+ E, HDim Header As Boolean
. d# R3 L4 `- B, x8 jHeader = False " B, W" S1 v, ^9 q4 o6 u% Q6 l" _8 ]
For Each elem In ThisDrawing.ModelSpace
; c0 \$ V# G8 N8 |2 @‘在CAD模型空间,查找所有图形对象
" q+ o6 x' }  P3 S5 y6 \- j1 GWith elem
* S  a, f0 Z# D5 A# G( m3 L, Y' }0 X2 |If StrComp(.EntityName,_ 2 K1 I! g# Y5 h6 b) |, v$ R# ~% Q* M( z
“AcDbBlockReference”, 1) = 0 Then % f2 I7 o# G/ @3 j2 K) `' T7 y
If .HasAttributes Then + @7 l0 g3 Q$ J. s5 O
array1 = .GetAttributes
# a* ^" a5 C) R1 n; W! `& Q6 [array2 = .GetConstantAttributes
0 G* h0 m( U1 X2 B% c2 N' u7 s9 ]‘设置array1指向图形对象的属性 7 V$ o! z  }! p5 v8 Q
‘设置array2指向图形对象的固定属性 ( i6 P) {9 c: X, D- _  Q
For Count = LBound(array2) To _
# a5 S$ R; b; n* eUBound(array2) ) q; }1 k- b4 ~* m2 O
If Header = False Then ' Y% d+ }; [# {& S$ a9 ^
If StrComp(array2(Count).EntityName, _
. x- U# ?% L% ?( K1 \+ e“AcDbAttributeDefinition”, 1) = 0 Then
( Y3 t/ e; _) q1 A& @# U# y5 g& R5 gtdfNew.Fields.AppendtdfNew._ 6 {/ k5 D; H% T" J1 h0 u
CreateField(array2(Count).TagString, dbText)
& b7 |; O& `, C0 z/ dEnd If
' G" E. e! y+ n5 v: W‘读出属性值读出,作为Access数据库表的标题 6 L8 t1 W/ t0 S% b! y
End If - g& x- W, f/ D2 x7 Z" f( n
Next Count
4 h% _2 U7 T2 d: f9 ~For Count = LBound(array1) To _
6 y0 Z7 X7 }  h7 x4 ^2 X; B$ QUBound(array1)
4 K. K, J7 ?  ~& n7 S' {If Header = False Then
" x2 K7 N; E3 h% Z/ n0 S9 @If StrComp(array1(Count).EntityName, _
3 \- X2 S+ C6 L“AcDbAttribute”, 1) = 0 Then ; J( J  n4 _; Z) b4 ~
tdfNew.Fields.Append tdfNew. _
1 H6 u" }+ o! a. Q, v6 lCreateField(array1(Count).TagString, dbText) ' d3 u0 }, H- l9 w+ t  h! {0 {$ H
End If
9 _0 P: d% Q  c: T& S% rEnd If
7 W" j; d- u) c8 Y# o( l8 S: XNext Count
5 O' X5 ?. N' j! P) U0 @3 L1 LIf Header = False Then
" F- V/ H: L7 M; c6 [; ~' a5 G' }& pdbs.TableDefs.Append tdfNew
! e$ I' ^6 c  a8 @' G% ~- Y7 NSet rs = dbs.OpenRecordset 5 ^+ ]; q7 @3 x/ A1 U0 ?
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 2 L1 O; A$ [. n
End If
5 ]  G% A1 P( X$ FRowNum = RowNum + 1
: t3 v4 S8 o& g; `* G" i- Y0 krs.AddNew ‘增加一笔新记录   t% M, _3 g1 |# j; N( t, B$ ^# z
For Count = LBound(array2) _
* s+ r! a# F% g1 n: G8 t0 aTo UBound(array2) $ j: ~9 y6 G0 W2 Q
rs(Count).Value = array2(Count).TextString
7 p9 z) u( l: m' tNext Count ‘读固定属性值
7 ?& ?* t8 f- MFor Count = LBound(array1) To _
+ D3 r; Z6 c% a6 H3 |; Y7 kUBound(array1) & G& l) B, n# [# }% B5 T  G
rs(UBound(array2) + Count + 1).Value = _
; Y9 m/ q1 Y+ W8 Xarray1(Count).TextString
4 c7 _) E* y8 N, A+ DNext Count ‘读输入属性值 / r& a  m; B$ x; j& M
rs.Update ‘增加新记录修改结束
3 i8 J* e! ^: Q9 FHeader = True " ^+ G7 t9 W, U( m. G7 v: W
End If # u2 w# G. j: M0 R8 ^
End If
& @/ D# U7 @0 |6 e, I# F; TEnd With 6 m. |. k  n: w+ Q4 e
Next elem 9 ?0 l* M: t, a3 `
rs. Close ‘关闭记录,释放资源 4 B1 M4 \0 `" _1 B
dbs.Close ‘关闭数据库,释放资源 - e4 d4 ^2 Z5 T9 V6 ^7 ]5 C' {# U
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot+ V( W$ [8 J! A3 Q% H  D: y
真是太好了 5 f; A7 `% g2 N; e& @
這就是我要的 ^^
发表于 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-27 09:35

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

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

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