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 a2 ?" D8 w# X& Z$ _, XDim work As Workspace ) d& J) i; I6 f# R6 ~, L
Dim new As Database 0 G1 g: d  K+ h$ q* f
Dim elem As Object 4 v) z. Y5 J" f( j# }8 Q/ @
Dim rs As Recordset 7 H  ~$ Y% r) u- I
Dim RowNum As Integer
" G5 T' i3 W0 E0 E  z% y+ R: uSet work = DBEngine.Workspaces(0)
# I+ x. M/ Q$ \4 i% J: ~Dim dbs As Database
: K! h1 u0 p8 G- H, NDim tdfNew As TableDef
7 ~8 X3 F& R% ~& `. @, W( DDim tdf As TableDef
, r1 j+ N' w3 r/ L: H) x$ RDim dbsname As String
( y' c# U3 Q0 e; x5 QDim array1 As Variant
( ]1 [9 h: `6 ~# j6 b5 }4 w. LDim array2 As Variant ‘声明所需的变量及类型
& g/ D) [. P  c( [. _2 c2 I: Pdbsname = “D:\材料表.mdb”
$ c$ H; w& w% b8 }5 R5 r‘声明Access数据库写到哪一个文件 9 q4 Y5 g7 I8 J6 o9 Y% F& Z( `6 I
On Error Resume Next
2 Z- I" O( Q2 ?6 A+ \7 W8 |, ?  K5 GSet dbs = work.CreateDatabase(dbsname, _
& Y% J) u; `2 A" ?7 gdbLangGeneral) 4 I& q. q' R' j' N) t/ }0 v/ w
If Err Then
2 ^  {) ?4 u2 P! b5 N' gKill (dbsname)
" \1 z0 c6 s* o‘发现要写入的Access数据库文件已存在就将其删除 4 y, s7 p# Y1 D0 G% l
Set dbs = work.CreateDatabase(dbsname, _
* b) V9 E8 o+ `. Y- ddbLangGeneral) : J! a& C/ t" F" n/ b1 v
End If
6 {( z# h6 @& j1 z5 n1 `7 HSet tdfNew = dbs.CreateTableDef * I5 C4 j! `% H6 K
(“电气 _材料明细表”)
. t% i/ n7 u: `# s‘建立一个名为电气材料明细表的表
6 [2 H" m" q( y: g% `RowNum = 0 ; o  ~& j% N! ^0 [
Dim Header As Boolean : L" I& |: Q1 K; n
Header = False 9 H, ^) m$ ]" k% g
For Each elem In ThisDrawing.ModelSpace
2 j/ T0 h6 f) N! a& V‘在CAD模型空间,查找所有图形对象
2 P; ?  K" E1 l7 b5 d# _) BWith elem
! r* ]2 C3 y3 H5 c" tIf StrComp(.EntityName,_ ; D" b5 b) V1 v7 [2 X
“AcDbBlockReference”, 1) = 0 Then
: p: m  r) r1 h; I- U6 Q' pIf .HasAttributes Then
3 O* E/ K* x* |. q0 Darray1 = .GetAttributes / z1 p) v, {8 B& {
array2 = .GetConstantAttributes
. e  {5 H& ~; ?‘设置array1指向图形对象的属性
/ [9 C: @6 N  k9 f‘设置array2指向图形对象的固定属性 / f% p- a3 s$ h& @. Z0 B; s
For Count = LBound(array2) To _
* `2 ]  X$ \; k3 I5 qUBound(array2)
7 W5 a( m* {5 b. }If Header = False Then 5 G* P& C  a1 C& t5 X
If StrComp(array2(Count).EntityName, _ 5 |( u: e1 D- D/ c5 G2 y
“AcDbAttributeDefinition”, 1) = 0 Then % W) b& A1 f, {
tdfNew.Fields.AppendtdfNew._ " y8 {; r% @$ Z5 K! e& w
CreateField(array2(Count).TagString, dbText)   ?# v$ J+ h6 o( u" `
End If ( S6 O6 M$ j6 T: h+ f0 T1 v8 a8 O
‘读出属性值读出,作为Access数据库表的标题
( W% O. @; r0 |" z3 FEnd If " ^9 ~, r1 F0 @7 n5 S/ H5 ?! K
Next Count + c7 v+ ?- K3 p
For Count = LBound(array1) To _
' v% g3 c$ J0 ~: mUBound(array1)
$ S' g) X. q( o4 g5 L3 O) C3 fIf Header = False Then 9 \0 H' s; `$ }3 O' h' j' ]
If StrComp(array1(Count).EntityName, _
. N- R9 u) q2 u$ W! W& a5 E, `“AcDbAttribute”, 1) = 0 Then
  u: l' O3 y+ [) [. q. stdfNew.Fields.Append tdfNew. _ 6 ?  ]" w$ _" B; b
CreateField(array1(Count).TagString, dbText)
$ S5 I  ]" [, X1 s. `- W& NEnd If
; W! t- x  U1 X& @End If   F' F$ t  t; h) K# z) l, z8 \0 j6 ?$ c
Next Count ' ^. `5 I8 d6 R
If Header = False Then ( K2 d/ W, Q2 F) K3 [/ P7 i& K
dbs.TableDefs.Append tdfNew ( U8 Y* f0 Z' w  G
Set rs = dbs.OpenRecordset
* v3 g- z( P) ], ^* h( l* A& ](“电气材料 _明细表”, dbOpenTable) ‘打开记录
# j  h' r3 N% H! ~* o4 eEnd If 5 @/ L/ g. F5 r! c+ M; P
RowNum = RowNum + 1 $ P& R) ]+ p8 y
rs.AddNew ‘增加一笔新记录
% v$ m" E9 }. I& @' Q3 o8 y  xFor Count = LBound(array2) _
" u: Q2 I) N( K8 P! kTo UBound(array2)
) H7 G( K, |$ b) c  w! Krs(Count).Value = array2(Count).TextString
6 |- O" L- V- h# S- cNext Count ‘读固定属性值
$ i% ?/ {8 T  ^% x6 x# dFor Count = LBound(array1) To _
' B$ Z1 v" W6 P. }1 v. bUBound(array1) 5 k* j; A  s5 f; v
rs(UBound(array2) + Count + 1).Value = _ $ F; j/ h( y$ F& B, ~- `
array1(Count).TextString
, x* P0 ?$ t$ }' I) D) |3 Y8 ]2 M8 WNext Count ‘读输入属性值 6 d* V0 }# X8 x) s% f: ~
rs.Update ‘增加新记录修改结束 0 M* p0 M. v1 w" {
Header = True * l+ N7 z, {$ e) ]( m0 j
End If ) g" i3 V/ q7 V& ]$ k2 p7 b
End If
/ a) {4 c5 h5 n4 f9 rEnd With   r; g& a% ^: D) q8 x3 M, @
Next elem 0 a6 W& R9 ^2 d8 }
rs. Close ‘关闭记录,释放资源
$ {- \( N4 w8 Z, x: _+ c3 s# Hdbs.Close ‘关闭数据库,释放资源 ) |/ `4 M1 o* [% a2 `+ l9 W. _
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
% n" }. a& P4 ~5 h3 O/ g7 u真是太好了 ; }9 X9 E$ z8 l' R, P
這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-6 13:20

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

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

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