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() * I$ g! }2 N! R6 n# S8 {
Dim work As Workspace
+ R* @7 f1 o8 r# kDim new As Database   q$ _/ n0 c. l- N; C- z
Dim elem As Object
3 R7 Y( {: t+ a( v" g* ODim rs As Recordset
8 h1 j% [. B$ }2 h8 @7 L# C$ lDim RowNum As Integer
7 ~( f6 s% \+ k9 X7 tSet work = DBEngine.Workspaces(0) - ~- _& E# \. K
Dim dbs As Database ! C2 I+ U/ ^2 X- c" ~
Dim tdfNew As TableDef
7 N! e$ v8 N. J/ G; tDim tdf As TableDef
  y- I/ \. n/ a9 w# s4 XDim dbsname As String
# V: t) B( J* n, S7 PDim array1 As Variant * D1 B4 V. Q8 I' z. k) W5 _$ l
Dim array2 As Variant ‘声明所需的变量及类型 5 S' J, i* R. m, P3 L
dbsname = “D:\材料表.mdb”
  j0 A6 T$ m7 d- q$ G3 m7 N‘声明Access数据库写到哪一个文件
0 @; z& \7 r  h! @( Z/ _- N5 \4 VOn Error Resume Next
" u4 b9 z5 A! o. W; ]+ h& |& \" u5 U3 HSet dbs = work.CreateDatabase(dbsname, _
0 m' Z7 n+ M# ]) C6 W+ {( x9 Z5 ]dbLangGeneral)
$ Z3 G' O* Y0 g# u  ~: a( \If Err Then
6 S, P/ r! e* O: L! W( Q8 A& YKill (dbsname) % `1 Q1 D7 Q5 }% I3 X3 S
‘发现要写入的Access数据库文件已存在就将其删除 / Q" |+ ?( {8 M: o/ W' W2 G
Set dbs = work.CreateDatabase(dbsname, _
2 s- f4 W7 u$ ]dbLangGeneral) " U! k7 B/ ~  ^; H+ z$ t2 V, Q
End If
. y0 `" Q2 v# _Set tdfNew = dbs.CreateTableDef
# M4 o4 j% z2 h5 |/ h(“电气 _材料明细表”) 6 u0 w% v' J+ y" M. L  X
‘建立一个名为电气材料明细表的表 & ^! j8 G( V/ y. T5 j. X( ?2 Z
RowNum = 0 6 `) `. I# w% R" }: o" W) m
Dim Header As Boolean
" u3 M* M! z" h' }6 \Header = False # o0 P1 N! g# a
For Each elem In ThisDrawing.ModelSpace 2 ?( _, Q3 f. y/ G  s$ ]' _! G
‘在CAD模型空间,查找所有图形对象 4 C2 _( N6 _' K( q7 R% r( q! j
With elem
& n( Z9 B- i5 F7 B6 q4 `If StrComp(.EntityName,_ # e5 \% U, x3 S; W0 n, r& w
“AcDbBlockReference”, 1) = 0 Then 2 t. j$ V' x  \! F+ C# j
If .HasAttributes Then
. G* k* t8 i% W3 _array1 = .GetAttributes
" N9 W  q) K, yarray2 = .GetConstantAttributes
2 t2 R# F2 b2 S1 M% k9 u; T+ `) p‘设置array1指向图形对象的属性 7 _8 ^" `; w) X' _% ~8 v/ ]9 F0 x
‘设置array2指向图形对象的固定属性 9 }1 |  v1 s: f# y! O; u2 A
For Count = LBound(array2) To _ 8 |& p# v$ r' _$ R; M
UBound(array2) 8 M. F) t. G; y. w( R$ L
If Header = False Then
) S' ~6 a3 Y* }# A$ ^; [% pIf StrComp(array2(Count).EntityName, _
: ~/ R  f9 \3 \“AcDbAttributeDefinition”, 1) = 0 Then 6 t6 x+ D  o/ Z8 F" p
tdfNew.Fields.AppendtdfNew._
2 U$ t8 `/ W3 J' t. MCreateField(array2(Count).TagString, dbText) + t: ~3 G! q9 u6 P1 e
End If
5 l7 r4 Q( @9 v$ [% @) i& B‘读出属性值读出,作为Access数据库表的标题
' N) N) S/ z) S& \0 z" g! L9 mEnd If 0 u7 r2 v/ f: h0 U% T. i
Next Count
0 b" d2 _# e+ c! b0 o: WFor Count = LBound(array1) To _ ( e( W" W) s) n& F$ \7 b  S' n% H
UBound(array1)
. T5 s- Y. V2 T( u. nIf Header = False Then
, l; ?, K, [4 t: c/ g2 GIf StrComp(array1(Count).EntityName, _ 8 z3 P, X  X7 ?5 s
“AcDbAttribute”, 1) = 0 Then , R" x! g8 f, @( U0 x
tdfNew.Fields.Append tdfNew. _
" ]% [8 j- o/ F3 g" K5 n7 FCreateField(array1(Count).TagString, dbText)
& l2 t$ Y7 q2 Q4 eEnd If " M# v. _5 M! T1 H$ @" l3 v  f
End If 4 L4 P3 Z! M" I  \7 b% r
Next Count
+ B. q* |0 j; h5 X4 i4 ]' DIf Header = False Then
: q8 z' z. }* g' R/ Xdbs.TableDefs.Append tdfNew
0 K9 \, H, `' S. kSet rs = dbs.OpenRecordset % t& ]; M% V3 Z; f
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 8 l8 C) v% j) p* N" F
End If
7 {' ?7 ^* b3 B9 M* N6 V/ a% HRowNum = RowNum + 1 # \* c" }5 F- x
rs.AddNew ‘增加一笔新记录 * r- u# X0 [* v/ T
For Count = LBound(array2) _
2 e0 N# K9 {7 m2 f, m) y/ VTo UBound(array2)
3 |5 p; u- i- x: A1 @9 [0 }rs(Count).Value = array2(Count).TextString
/ E2 g3 D3 T. d4 ?% RNext Count ‘读固定属性值
; h7 U! c; z7 A, U7 h3 ^For Count = LBound(array1) To _ / C7 i( X0 z3 g5 N. N+ Q
UBound(array1) 3 d5 {9 }% g3 F( f* w8 D" M
rs(UBound(array2) + Count + 1).Value = _ ; K2 R; Y( l2 V% A: f
array1(Count).TextString
* w' [7 w) K6 ONext Count ‘读输入属性值
$ k7 r1 |/ a- O, ers.Update ‘增加新记录修改结束
5 X( h) r4 ?8 S2 u4 ~Header = True
& V4 f8 R9 O# C1 CEnd If 8 d! p% S2 V# }4 r
End If ; A2 p; r: E& @0 E% q) X/ c) m4 t- D' I
End With
1 k5 i; E2 M7 {9 T4 D  |7 Q" s! O2 YNext elem
8 Y" d2 d4 F+ M" Q4 Zrs. Close ‘关闭记录,释放资源 + d1 O5 [8 _( B4 R; o
dbs.Close ‘关闭数据库,释放资源
  U# u. Z, T0 p) h, HEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot7 _3 d8 t* T/ e; S' q. }! z5 Z
真是太好了
5 D/ {# o4 m( D7 T& |這就是我要的 ^^
发表于 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-18 18:51

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

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

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