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()
4 `% t  Q$ Q% E, p" X4 {  \* m4 {Dim work As Workspace ( _$ W6 I( V8 f
Dim new As Database
1 j; e! f) q# f1 [( U. b( GDim elem As Object
0 h9 i7 F# F! j+ P! `6 YDim rs As Recordset
7 `6 g1 }6 r/ f+ {$ e" A9 xDim RowNum As Integer
: \% k# ]9 v* e8 u- vSet work = DBEngine.Workspaces(0) 7 p2 d9 _# a( B* T. S
Dim dbs As Database 7 i  o7 K6 I3 [9 L
Dim tdfNew As TableDef % T* w6 g+ f# K; c/ S
Dim tdf As TableDef
* P7 j- _: T. E) [& SDim dbsname As String
: M4 a# X( s3 n2 V& G' yDim array1 As Variant 8 {9 g- i# W9 ~- S
Dim array2 As Variant ‘声明所需的变量及类型 ) x! \7 J+ q+ k1 q8 ~
dbsname = “D:\材料表.mdb” 2 E5 y! a# Z% \4 |$ f: ~
‘声明Access数据库写到哪一个文件 5 \! \2 L' r/ ]7 U% V, T
On Error Resume Next
( ?* x3 B1 C/ H% Y1 ]Set dbs = work.CreateDatabase(dbsname, _
* Q3 a3 t" s, q9 mdbLangGeneral) / t1 b5 w! ~/ |# r& g- O9 R1 K) G
If Err Then
  u2 B) x1 R8 iKill (dbsname) % T* J% K, c$ }% a$ v' P; B
‘发现要写入的Access数据库文件已存在就将其删除 4 r/ G: T; G( X6 M% r
Set dbs = work.CreateDatabase(dbsname, _ . P; f4 W! [. C$ S) P
dbLangGeneral) + B7 p( }0 _' g; T
End If 1 _( j& X+ M9 j% e1 t
Set tdfNew = dbs.CreateTableDef 3 S7 v8 Z3 J0 `- M/ ^$ [* Q
(“电气 _材料明细表”)
. B2 F; B' M1 L. {- R  Z& A: m6 l‘建立一个名为电气材料明细表的表
' u" a# J5 _. o# GRowNum = 0
+ e7 R$ |3 p$ yDim Header As Boolean
# h$ v. `8 K' MHeader = False
$ m% F+ r- |! K, l2 L' e' C  x, xFor Each elem In ThisDrawing.ModelSpace 3 c1 G% X, [6 v* m% B5 m
‘在CAD模型空间,查找所有图形对象
5 o9 T7 q  G# H, @5 b8 a0 BWith elem # p0 k7 V! D, z, ]8 Z1 k  M: a
If StrComp(.EntityName,_ 2 u! V; \/ v& w8 m- a0 k
“AcDbBlockReference”, 1) = 0 Then
8 K. `$ w: z3 L% iIf .HasAttributes Then
0 [0 @$ b7 M* O6 Jarray1 = .GetAttributes 2 C' r3 W1 e  [' h4 j2 B
array2 = .GetConstantAttributes $ \0 @- ]% h, f% ^" r0 l
‘设置array1指向图形对象的属性 . u  L# L0 c+ u' z, @% L+ @* m7 |
‘设置array2指向图形对象的固定属性 4 u* E: t, ~2 Q
For Count = LBound(array2) To _
0 U# O' @) h, h  b+ IUBound(array2) ! r( \. Z/ S- x) S) Q+ h5 \
If Header = False Then . Y8 L7 V+ [$ O0 Y1 \5 c5 i3 K
If StrComp(array2(Count).EntityName, _ ' W" b- G1 m! k1 ?: S' ]" _4 r
“AcDbAttributeDefinition”, 1) = 0 Then
( D, u9 H  H* A+ }/ h) J3 ttdfNew.Fields.AppendtdfNew._ ! @6 n( ~& _+ {; Q
CreateField(array2(Count).TagString, dbText) - U4 W6 j/ k6 A
End If ! B) t9 e  U, n" a% ?
‘读出属性值读出,作为Access数据库表的标题
) R. o- n" O' E9 jEnd If / V+ s2 k8 n5 v. u: u5 {$ d
Next Count
: ~- M8 ?) O3 _6 P, LFor Count = LBound(array1) To _
: t1 ^# x2 g. B0 H1 `2 x" NUBound(array1) " _1 y/ G' x/ z% u" b8 x
If Header = False Then
# B7 g  T" \1 W. m8 u2 GIf StrComp(array1(Count).EntityName, _ - J1 P7 N9 }, g: {) k5 L
“AcDbAttribute”, 1) = 0 Then , o* e  ~1 S* g* v! N& Y
tdfNew.Fields.Append tdfNew. _
, J) |6 Y( a! P( Z8 C/ n! Y6 c- cCreateField(array1(Count).TagString, dbText) % o. e: q3 n5 t8 d  X5 D
End If ( l5 ^; y- o5 m0 U. h
End If
) `4 U4 ~! e' P# M6 qNext Count
) C; M$ N; \& ~+ {& e8 W% H2 k* UIf Header = False Then
2 g1 R' z0 M$ ?/ g/ \' q, J9 sdbs.TableDefs.Append tdfNew ! X2 Z2 i1 C& c; b
Set rs = dbs.OpenRecordset 6 u7 V9 ^$ }8 z1 \
(“电气材料 _明细表”, dbOpenTable) ‘打开记录   u& I1 h) w& z
End If
; H8 s/ p! t0 _  b1 J) P, z5 T! XRowNum = RowNum + 1 $ x: e+ t- \! c( }( F
rs.AddNew ‘增加一笔新记录 ( G1 `1 C$ r* U
For Count = LBound(array2) _ " l2 t, ^, N" _" w( o
To UBound(array2) . Y, L: h+ ?( Y) p6 S
rs(Count).Value = array2(Count).TextString 2 c9 \3 M. c5 M
Next Count ‘读固定属性值
( {# a  C& l( g' m" m5 uFor Count = LBound(array1) To _ / `: A) \: r5 j2 ~8 o3 e
UBound(array1)
+ e- I4 W0 A7 O$ K4 u9 ^, Qrs(UBound(array2) + Count + 1).Value = _
2 O* T, T( Q' yarray1(Count).TextString
; k9 l* M1 h8 D9 e1 W2 FNext Count ‘读输入属性值
- U8 Y+ O/ S6 T& A. d9 ^5 Qrs.Update ‘增加新记录修改结束 . B: h5 o$ S7 W% l$ M. g
Header = True 6 s8 ?6 Q0 A" x* _2 N( W
End If
  G- C' \# w% k" I- y$ i0 ?& XEnd If
1 ]' r/ b) S6 `2 F/ e3 BEnd With
3 q! p, v2 d1 C. iNext elem & S+ U; f  J- k2 |, M- E* \
rs. Close ‘关闭记录,释放资源 & U3 _0 _( p& h! E: {% Y
dbs.Close ‘关闭数据库,释放资源
  q8 Q' l4 H( ]; ^/ mEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
4 g  l' Q& x8 _: q. P! N真是太好了
. R$ u# A4 r* j7 T4 `5 t/ F! f; L這就是我要的 ^^
发表于 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-7 07:22

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

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

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