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()
. w- w, u- R2 f9 v0 c7 SDim work As Workspace
$ F$ A$ W8 u/ ], q- w/ Y# oDim new As Database ' a3 M0 u( F3 k- h3 D/ g4 b
Dim elem As Object
8 r8 D; F7 |9 M! M( x7 S( H8 W. @Dim rs As Recordset + |, a3 f/ k" j5 e, h
Dim RowNum As Integer
+ t9 l( t# S. K# E! ?2 ], OSet work = DBEngine.Workspaces(0) , ~: T  x# X9 O
Dim dbs As Database
5 T" X: q6 Q' F0 i- T! M/ \Dim tdfNew As TableDef
  P0 A' }- k- V( q; q. H1 B# lDim tdf As TableDef
& N6 {6 v. H$ {+ d* Q; m1 ?Dim dbsname As String 3 P% T9 g. i) P. m0 O
Dim array1 As Variant
# f" a! F% F$ ~* W; x) `Dim array2 As Variant ‘声明所需的变量及类型 : C/ P5 }5 i5 U+ X" U0 g: Z8 a
dbsname = “D:\材料表.mdb” 9 H3 R) P2 P/ H6 q
‘声明Access数据库写到哪一个文件 ! T+ ~, P1 f) J8 T9 s) v
On Error Resume Next ' a1 ?$ {1 y  Y* [. K6 o
Set dbs = work.CreateDatabase(dbsname, _ 7 A2 \- `" @4 D6 T$ Z
dbLangGeneral) 6 F+ r' _3 F- J" s( s2 `# {
If Err Then
) p: \: Z; Y& m3 d% ^+ O& j/ xKill (dbsname)
5 |* b; _; J/ @- W0 `- I‘发现要写入的Access数据库文件已存在就将其删除
8 a' U/ p/ k7 T: I# W4 c' g* {  jSet dbs = work.CreateDatabase(dbsname, _
* t1 `% F0 {; D& L% m+ T" K/ ?dbLangGeneral)
* S8 D% h( i9 S( v" C% z+ UEnd If 2 O2 W& O3 l$ |
Set tdfNew = dbs.CreateTableDef
$ K" l% G: a7 [; S; o8 Z(“电气 _材料明细表”) ( @  V( x* L! j
‘建立一个名为电气材料明细表的表 - `  z# t& }6 ^3 Z1 o# ]: ]. e8 j: b* H
RowNum = 0 7 H" K' j* U% u  O# U1 D) |7 U2 ~
Dim Header As Boolean + [2 O$ s& S4 K9 b4 T  ]4 j
Header = False : i6 c1 h/ Q1 `# D+ n3 @9 F
For Each elem In ThisDrawing.ModelSpace 1 q( K6 \& d" c: i$ U
‘在CAD模型空间,查找所有图形对象
1 N; N; H! E. e' k$ a0 Z5 a8 }8 XWith elem " H. t1 ?& Z* G( x6 k/ q
If StrComp(.EntityName,_
; k: U3 h# h' A“AcDbBlockReference”, 1) = 0 Then 5 A( X8 |( b$ f, S  C
If .HasAttributes Then
  N, u4 b  p2 Z) Harray1 = .GetAttributes   A; P# a7 V0 |: Q- b
array2 = .GetConstantAttributes
+ c% K* c$ p' X# K7 J. j‘设置array1指向图形对象的属性 , G6 j$ f% l+ M' G  B, R
‘设置array2指向图形对象的固定属性 0 q1 M% C( W0 r$ U# d0 H
For Count = LBound(array2) To _ 2 e% a5 r# }4 I5 q$ p2 I
UBound(array2) . o+ i  P5 |, i2 K
If Header = False Then : S) c: H+ u) P1 C& W! G* f! U  y
If StrComp(array2(Count).EntityName, _
, y$ e- N9 P% N# Z- }. m“AcDbAttributeDefinition”, 1) = 0 Then
0 s2 R$ {) b  W* {tdfNew.Fields.AppendtdfNew._
, Y) e( |( }6 n( Y  BCreateField(array2(Count).TagString, dbText) 8 W' H/ ?3 c6 X% Y; l: F
End If
: q: Z$ b8 a. v. w: g' |, j8 M+ K‘读出属性值读出,作为Access数据库表的标题 / M! {. L! A$ I/ R
End If # U3 {' B3 n+ k: a5 W
Next Count
6 I0 Z& n0 U0 }2 D; h* g5 t- I; AFor Count = LBound(array1) To _   w4 v; G% k4 M  A5 e
UBound(array1)
' ^9 c; W/ O5 yIf Header = False Then 8 [% y+ K+ D( \0 N/ L
If StrComp(array1(Count).EntityName, _
2 e+ r" S4 q& ^9 R“AcDbAttribute”, 1) = 0 Then
0 I( d# U6 `: g" Q+ ZtdfNew.Fields.Append tdfNew. _
2 {7 r: v0 K3 FCreateField(array1(Count).TagString, dbText)
2 \. W  z% ]9 u% l! y; EEnd If
5 \4 F" w6 C) SEnd If & u7 T8 e/ s3 U% \* D6 x
Next Count . Y0 p8 w% z7 p% D
If Header = False Then
3 o6 Y4 t1 Z" a" |  zdbs.TableDefs.Append tdfNew 2 z7 [, h1 }1 l
Set rs = dbs.OpenRecordset ; f. v: q5 P/ U3 k3 |8 G' H7 D9 e7 M
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 9 l1 |6 S3 @8 y! W$ Y+ {2 h
End If ; ^% f; L4 b1 S% O7 j" D4 l: Z, ~
RowNum = RowNum + 1
8 @8 S1 t1 y+ M2 H: A) `# Yrs.AddNew ‘增加一笔新记录 4 e0 Q7 X. X. j5 @( v5 N
For Count = LBound(array2) _
. A! j0 P1 D* }/ F# s. |To UBound(array2) , T8 D8 ^/ T$ s0 f0 u' t  x2 Y( K- P! l1 i
rs(Count).Value = array2(Count).TextString
% [9 p1 y! I4 b% O& o* b/ dNext Count ‘读固定属性值 % A  g  _- ^. t# X
For Count = LBound(array1) To _
1 l' u, l. |, w7 I; i, xUBound(array1)
9 c' V# l$ X0 ^+ b1 b. ars(UBound(array2) + Count + 1).Value = _ * r1 E, i3 y  h* c
array1(Count).TextString
$ s4 c; _0 D/ B+ K5 W/ S: Q) E/ vNext Count ‘读输入属性值 , c  B- D$ I7 N8 i, J# C  z
rs.Update ‘增加新记录修改结束
, B9 \* }" F& s- kHeader = True
: a2 k% D0 X* H  L; QEnd If 7 L; E7 B9 v! ]6 b
End If
4 [" N- a% N0 H+ a9 W0 kEnd With 6 r# H) Z* @4 `$ y
Next elem
( Z2 q3 C- F- z$ N0 U8 V. krs. Close ‘关闭记录,释放资源
& l7 Q7 E7 [  ?; o/ ?9 c! L$ h# o) qdbs.Close ‘关闭数据库,释放资源
' d* Q- |8 L4 a/ V8 wEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
- e$ E4 g" Y  n4 H! z3 q' t真是太好了 0 @6 h) B7 n! W# z  x2 k- U
這就是我要的 ^^
发表于 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-22 12:50

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

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

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