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()
1 G2 d: ~% m2 c- ^! C9 H7 d; W0 MDim work As Workspace , S4 u" s, I2 e* C1 I4 ?) Q1 o  ^
Dim new As Database
1 W3 F  n5 i5 ^: a9 [Dim elem As Object
  h1 l$ u0 L' K& G7 qDim rs As Recordset 2 i, m% e5 w5 @0 \- E/ S
Dim RowNum As Integer
  u# D: q2 O0 n8 cSet work = DBEngine.Workspaces(0)
% ^# B% P. i% R& i0 M' v3 l  L& yDim dbs As Database
1 a1 n' `9 b1 T1 p" i& pDim tdfNew As TableDef
$ ^: Z6 R; s2 [  QDim tdf As TableDef 7 V# J; q& Y) H1 G3 ^
Dim dbsname As String % ?& Y1 [! @% {; K8 S/ `3 P
Dim array1 As Variant ' C5 f# I. _/ K3 U/ h: L
Dim array2 As Variant ‘声明所需的变量及类型
: z+ z- f7 y2 N4 l9 u+ V" kdbsname = “D:\材料表.mdb” 4 h: k- a* Q4 L* z+ I' \
‘声明Access数据库写到哪一个文件 ( K7 F* U# ]7 _) q& n+ x) @* {
On Error Resume Next
4 m9 ~4 ^- c7 M2 e* JSet dbs = work.CreateDatabase(dbsname, _ 3 w' u0 F' M6 P; w* l. s( Y% t
dbLangGeneral) 8 A- u7 _! k, B/ b7 K
If Err Then
$ _9 X% }  p( E) o) yKill (dbsname) & U6 J" r- y2 G  D5 ~, |8 c; n
‘发现要写入的Access数据库文件已存在就将其删除
6 C* i  @; N' k+ l1 wSet dbs = work.CreateDatabase(dbsname, _
  y' q0 L8 z$ W: ddbLangGeneral)
4 v- U' ?# g+ N7 MEnd If
& \6 C5 Y2 |; J& _7 q) p1 l6 \2 }Set tdfNew = dbs.CreateTableDef # `' L6 T$ x: p; Q
(“电气 _材料明细表”) 6 U* ^! [$ ~9 e( @3 x
‘建立一个名为电气材料明细表的表 % c: ^# m. [; H; o% @9 G
RowNum = 0 ) k( ^; l3 {& u- w4 r+ {# y& M+ k
Dim Header As Boolean
; [) s+ M  \0 M* QHeader = False
2 q1 ?% m0 Z+ `4 L! KFor Each elem In ThisDrawing.ModelSpace " D$ K8 u1 b/ ]% l: ?0 F1 Y
‘在CAD模型空间,查找所有图形对象 / N) T6 T% U6 G0 Q1 [) x
With elem 1 S1 v9 [0 M) c% U2 R2 Z
If StrComp(.EntityName,_
. n! Y8 W0 }9 w5 g3 g' y: H“AcDbBlockReference”, 1) = 0 Then 5 u& l( H( f2 Y
If .HasAttributes Then
: ~+ |' {( ]/ k. B, C! r4 darray1 = .GetAttributes * g9 t* b; M# g3 Q& N3 H
array2 = .GetConstantAttributes
$ q8 _8 N; H: R% o. G3 Q! b‘设置array1指向图形对象的属性 3 X1 _& ]* H  _
‘设置array2指向图形对象的固定属性 8 _/ B/ L4 Q. [0 i2 e+ }7 x, s) D8 l
For Count = LBound(array2) To _
2 ?% S( a1 A, f: {/ j& b, t% g4 UUBound(array2)
6 H2 F2 m) S( IIf Header = False Then
0 k) ?$ [4 n6 [$ ?If StrComp(array2(Count).EntityName, _ + E5 B, O8 f) |1 v' R& N1 Z4 F, n
“AcDbAttributeDefinition”, 1) = 0 Then
  z0 h3 _5 d9 Y' S+ l' NtdfNew.Fields.AppendtdfNew._
4 `3 d4 s7 G* `CreateField(array2(Count).TagString, dbText)
8 Y& k$ X: J* U4 d) oEnd If
8 \! q9 R* L0 F$ V0 ~  e‘读出属性值读出,作为Access数据库表的标题 / I4 Y/ M* l- U4 y' G, C, Y
End If
6 `& u/ ^, x1 \) C1 i8 D+ o7 n7 q' uNext Count ) I, f6 _0 \7 w- P/ ?# U7 P  i
For Count = LBound(array1) To _
. z! g2 v  Z* C0 e' P9 yUBound(array1)
. u1 x" X- J2 {5 |) g5 [If Header = False Then
# |1 }5 h4 ~3 P: D; K$ d* }; S( KIf StrComp(array1(Count).EntityName, _ 6 ^0 {# ~2 Y3 j/ c6 M
“AcDbAttribute”, 1) = 0 Then
+ ^& R  E1 K: |! G/ ^7 q2 NtdfNew.Fields.Append tdfNew. _
6 l- M& ?' }% w( NCreateField(array1(Count).TagString, dbText) 6 V$ T+ T; `) j+ }1 r  e
End If
* v/ o! S% r: O5 aEnd If
" M$ W$ a' P% Y+ P% NNext Count
5 g; o7 t4 N" B$ @If Header = False Then 6 C  E3 h/ v/ d! V& M3 f# f
dbs.TableDefs.Append tdfNew
5 J* [& K- u1 j& LSet rs = dbs.OpenRecordset
1 k; ~2 u7 g/ C4 Q5 R7 U(“电气材料 _明细表”, dbOpenTable) ‘打开记录
  @1 s% h# Z  |End If
) q" U2 Y8 [! b5 y: c+ }0 ~RowNum = RowNum + 1
9 k! o$ E- h: a3 Ors.AddNew ‘增加一笔新记录 8 X1 T+ {, d1 }5 t' p
For Count = LBound(array2) _
0 [( A$ J$ H- jTo UBound(array2)
2 w- [, g" N. `+ U( ]rs(Count).Value = array2(Count).TextString $ D  U7 M  q* K! ^/ I  H2 \5 C
Next Count ‘读固定属性值 1 }1 R0 H+ V) @  r  D7 b1 c
For Count = LBound(array1) To _
! b5 W/ @. l$ e. mUBound(array1) 1 U% |) E2 Z2 L( m7 e/ F! q
rs(UBound(array2) + Count + 1).Value = _
4 W& G5 C- e! D8 B; p% Harray1(Count).TextString ' ?6 ]8 Y: K' u- U
Next Count ‘读输入属性值 0 l* L5 c7 x3 P& v. N1 A) A2 I3 F5 k
rs.Update ‘增加新记录修改结束   @  Q3 t: U- x! ]! F
Header = True 1 \3 Z9 ?. r& ?; m+ u) X! @2 t. m
End If
* \) p. ^! G- F" i3 h" W4 ^End If ) n' A0 j. L. x% Z  g7 i( n
End With # v2 z. B7 _$ L: n
Next elem ( |; ~9 c* |. f" C; u, k
rs. Close ‘关闭记录,释放资源 * O9 B  n+ M% }: o4 V
dbs.Close ‘关闭数据库,释放资源
' f. e- h) ^) u" I$ @7 D* {End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
: {. Z. i2 c! A7 J9 O真是太好了 & g9 v. @5 \7 ^( H1 a$ ]( Q. s# g
這就是我要的 ^^
发表于 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-2 19:29

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

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

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