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()
9 g( p2 M, _/ p/ a8 G" u- ?$ bDim work As Workspace
3 Q" C2 q5 H0 N8 I. ~Dim new As Database : u' J% S" a# a- @
Dim elem As Object
3 i% }' m& D, P2 V, Z7 BDim rs As Recordset 5 K4 k  D6 b; w; H" }$ C. W( T
Dim RowNum As Integer
4 b* W* S: ]8 T9 xSet work = DBEngine.Workspaces(0)
4 C3 z! H* G) G" d$ A! p3 jDim dbs As Database
4 d1 J, _0 \1 c2 ^9 a3 nDim tdfNew As TableDef
0 u3 U4 N* W1 U* f! v. CDim tdf As TableDef
. Q% M+ }- O2 r. d& T8 q9 Y0 LDim dbsname As String - }/ A9 \& A# m3 f% h
Dim array1 As Variant
; K. ]* Y1 z9 @2 n) UDim array2 As Variant ‘声明所需的变量及类型
# P. W" Y$ d. jdbsname = “D:\材料表.mdb” " c' X- t$ J3 ]& i* z- Z; T& I* ~1 ?
‘声明Access数据库写到哪一个文件
+ f3 o8 |% b: e2 W0 h- Q. E8 Z6 v+ }On Error Resume Next # E# ^( Z4 M) g6 v3 K' c1 n- t5 e+ S8 ]
Set dbs = work.CreateDatabase(dbsname, _ . s5 |6 o6 b9 i
dbLangGeneral) + \  m/ j7 S; ^0 B3 t( I
If Err Then
/ {4 v- m8 f) V8 z1 dKill (dbsname) * J1 _' T; D. b2 b- `8 a3 P
‘发现要写入的Access数据库文件已存在就将其删除 % }3 z; A5 }$ U9 d) J( m' Y
Set dbs = work.CreateDatabase(dbsname, _ 9 ~7 ]& l. v4 g, [! N0 s% w  E. \
dbLangGeneral) - \& E. C7 Q" {" F  b" J
End If 9 X. f' ~9 Y3 @1 r* @9 S
Set tdfNew = dbs.CreateTableDef
* h+ a/ j$ b! J. q; S- K) Q(“电气 _材料明细表”)
% r* {1 _' \) @8 Y* B‘建立一个名为电气材料明细表的表
0 Q* U) P! h& zRowNum = 0
0 {" z2 w0 O' H; K) }+ RDim Header As Boolean
6 R' z0 l* M( j* g/ o# S0 I& RHeader = False
3 k- h8 D( ]) S& ]. CFor Each elem In ThisDrawing.ModelSpace
+ J0 A4 K1 {. ]& K! B( L‘在CAD模型空间,查找所有图形对象 6 M8 m1 W! f3 J$ w
With elem
- R2 z  p% q7 I) S, Y2 d, ^, gIf StrComp(.EntityName,_ ( K3 j) x" [; j9 t7 b+ y8 y! g
“AcDbBlockReference”, 1) = 0 Then
9 N" c$ u) V* W+ |  ZIf .HasAttributes Then 8 H7 O( l* _2 v3 t2 |
array1 = .GetAttributes " B; J, k3 A; ~, `9 i% l& c
array2 = .GetConstantAttributes 2 ^, a/ m0 v& J. n
‘设置array1指向图形对象的属性
% b/ j- h; f6 ~‘设置array2指向图形对象的固定属性 - b$ j; M( ]& \+ @# u  o4 h7 @- {4 g/ m
For Count = LBound(array2) To _ 7 R" d! h' t- K) X- l7 @- `
UBound(array2)
( R6 j& U8 v" z: V) }$ XIf Header = False Then
, H1 ]# A$ M% i# R% q/ l9 B- e2 AIf StrComp(array2(Count).EntityName, _ 1 a  L2 z. ^6 h$ z/ Q4 N% ^
“AcDbAttributeDefinition”, 1) = 0 Then
- b7 x, q. ^  [' l, ?- i2 FtdfNew.Fields.AppendtdfNew._   L  ~! E( T4 s' ]9 }
CreateField(array2(Count).TagString, dbText)
, n- p, e# W" \End If
2 n- @. S( H1 E‘读出属性值读出,作为Access数据库表的标题 ! w2 I" ?' I; b+ E2 l
End If 0 L3 W/ F- R3 W) y  j5 h/ ?. O" \
Next Count
3 h6 }0 N$ e. x7 p0 e# _For Count = LBound(array1) To _
8 u9 a/ Y0 Q/ X1 x; }! y; i/ ~UBound(array1)
/ W' @: t8 G( v5 [- T; sIf Header = False Then
) e- o4 X& O. LIf StrComp(array1(Count).EntityName, _ ; d( N, H4 t7 ^% U
“AcDbAttribute”, 1) = 0 Then
2 V* C  I6 [  k( g6 RtdfNew.Fields.Append tdfNew. _
  H- a) C# C# {CreateField(array1(Count).TagString, dbText)
# c- M$ {; r3 ?  gEnd If
& |" m. f& D/ ?7 H4 M% }  uEnd If 5 S  Z5 K5 I, ~% ]2 ^5 h- K% b& a) E
Next Count
& W! c0 h6 E/ ]( y+ FIf Header = False Then
/ b# B/ X& g  H7 ]8 _0 e) Fdbs.TableDefs.Append tdfNew ) h( [7 \. g7 f. T& z
Set rs = dbs.OpenRecordset
. _3 v$ ]" @4 N(“电气材料 _明细表”, dbOpenTable) ‘打开记录
, Y  P3 [. u) ~! E' I% ~End If 5 x/ V3 S9 E- C/ G4 K& @* n5 ?2 J# l( ^
RowNum = RowNum + 1 " ~+ Z9 ]- {% R9 ?) h. Q! b0 ]% c2 J
rs.AddNew ‘增加一笔新记录 / h8 _( Z: j; i" q9 B% F+ o; m
For Count = LBound(array2) _ * ~, y$ L7 X$ l; _+ x; b! D
To UBound(array2)
* K: g, M% {8 X8 Q5 @9 @7 T/ yrs(Count).Value = array2(Count).TextString
" M  z% r! |1 ?( ]: }3 C" q7 [Next Count ‘读固定属性值
* N% ?2 n1 K, N; CFor Count = LBound(array1) To _
7 S% K7 v; T0 p, S1 j- W5 PUBound(array1)   T" `  V( V) x7 }5 ^
rs(UBound(array2) + Count + 1).Value = _ & J  [0 c" Y) u
array1(Count).TextString
6 ?" c' p$ P; S! w, ?1 C/ E3 mNext Count ‘读输入属性值 ! B$ R. y& H% X1 T% G
rs.Update ‘增加新记录修改结束
1 r! y+ A' g4 d% c; j2 l) JHeader = True ) }+ T/ U4 v8 o& `
End If
4 P  ]( r  n% [3 _- ~End If + `7 ~& a2 m$ l# k, H: m
End With
8 p6 h; \1 D0 ]! k* X3 FNext elem 5 F; D# f' d6 |4 Y$ Y
rs. Close ‘关闭记录,释放资源
% Q1 j9 r  P9 E: ^; S7 F6 idbs.Close ‘关闭数据库,释放资源 , p$ A3 W; @; g: j0 n
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot% q. C% c' W( N- a# H8 w3 b1 ^
真是太好了 0 Q/ w, v7 j4 ]- f; j" F$ C
這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于|免责|隐私|版权|广告|联系|手机版|CAD设计论坛

GMT+8, 2026-1-23 13:19

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

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

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