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()
5 R) w) ?) j! {( |Dim work As Workspace , }! [* g! {( ]+ z1 A! x' e
Dim new As Database
5 T. X( r. R! B8 aDim elem As Object
. f  C9 |* q" p% E# c% v1 PDim rs As Recordset
* K) e3 X" c; g4 h( j9 }/ q3 eDim RowNum As Integer   X0 h, k. W( U1 S* j4 Z
Set work = DBEngine.Workspaces(0) 6 T9 P! ^, n: }  N6 a9 I8 B0 a
Dim dbs As Database
$ |1 r/ P( j8 z% w4 HDim tdfNew As TableDef ' x9 k9 ]! r# F- [
Dim tdf As TableDef
2 v* Y2 C# o1 _1 rDim dbsname As String 4 F" |# D' }" e- v2 H
Dim array1 As Variant
1 r0 _+ q* S" B. U" }Dim array2 As Variant ‘声明所需的变量及类型 . ]( k/ Z1 ~3 Q3 F  W$ A* \
dbsname = “D:\材料表.mdb” . m) z2 H( X" P/ o' f8 u
‘声明Access数据库写到哪一个文件
; Q  x( O. ?) \1 yOn Error Resume Next ! x- C$ J* |5 E4 H
Set dbs = work.CreateDatabase(dbsname, _
8 l& C4 [( U& r& PdbLangGeneral) , |! U# ~2 k- _9 ^6 g- V0 t
If Err Then * N5 u- \. n; X+ b3 c1 t
Kill (dbsname)
) t# K6 j& q4 b8 L4 h‘发现要写入的Access数据库文件已存在就将其删除 + o1 |6 S  ]7 b% c, l% |- X' N. K
Set dbs = work.CreateDatabase(dbsname, _
+ N& r2 a5 v! D2 a' \& p; j0 wdbLangGeneral)
; F7 T6 H7 S% ~. kEnd If ) p# t3 J/ g/ N3 q! O  ?
Set tdfNew = dbs.CreateTableDef
/ d5 c+ O( Z6 Z( e8 Q/ F(“电气 _材料明细表”) . F. k( O! L# W' o' ]
‘建立一个名为电气材料明细表的表 . @/ `! c0 i6 e3 |0 Q) P9 d5 ^7 x! T
RowNum = 0 ( D) m4 \" g) f% K9 M3 X0 E
Dim Header As Boolean + C0 }, B' s0 R) J3 u
Header = False
% z2 N' Y  H$ t! C, e2 g7 P$ _For Each elem In ThisDrawing.ModelSpace - L" S# V$ v0 v1 B5 Q
‘在CAD模型空间,查找所有图形对象 " |/ Z3 ~" K' E' A; w
With elem ! a* @( [9 T: r8 U2 x8 R7 z$ C
If StrComp(.EntityName,_ $ M- r2 r) ~: V+ k4 E9 Z4 b
“AcDbBlockReference”, 1) = 0 Then 0 b# Q* m' ?" i2 o& v; |7 l
If .HasAttributes Then 2 @* M6 ~$ v7 f% M9 A( h- Y3 R
array1 = .GetAttributes ( N2 p. y7 X9 o# z
array2 = .GetConstantAttributes
. e1 D& A0 N* f2 ^  e‘设置array1指向图形对象的属性
# W; \9 F8 Q% p0 v2 r  j‘设置array2指向图形对象的固定属性 / l2 y7 a/ h4 @% Q# k( W9 I) k6 _1 W
For Count = LBound(array2) To _
5 R) U5 R* Q: x0 H% IUBound(array2)
) P2 N0 R9 {7 Q. nIf Header = False Then
5 x( a  }. o  P/ l0 ZIf StrComp(array2(Count).EntityName, _ $ f# L# l0 `$ J
“AcDbAttributeDefinition”, 1) = 0 Then 4 ^& q4 }; F$ @& ]3 S: Z8 c
tdfNew.Fields.AppendtdfNew._
1 m+ H0 [' l4 F" MCreateField(array2(Count).TagString, dbText)
/ p% M) S1 z" L7 E! B2 jEnd If
3 ~. r4 k1 z) {: e* |‘读出属性值读出,作为Access数据库表的标题
; S1 _! a1 Z0 z% n* Y; B- `End If
8 R& |$ \1 ^8 J" h0 x5 A  mNext Count 4 x$ e) I" a: L; w: e5 q2 Q
For Count = LBound(array1) To _
8 J) y) ]% K% w, o$ @UBound(array1) " v, D; f6 ]" a* S. X9 L" K
If Header = False Then : Z7 t" G  p( J. v$ P/ K
If StrComp(array1(Count).EntityName, _
/ `; B3 F- ~- Y7 W  N. z- y) y6 f“AcDbAttribute”, 1) = 0 Then
; L; i; X  p2 r, i8 y. StdfNew.Fields.Append tdfNew. _ 9 F0 l. ?9 a. p
CreateField(array1(Count).TagString, dbText)
+ B" ?. J; k* \7 K5 e! B# KEnd If
: Z  |7 M0 n3 }- x, oEnd If ' h' o, X5 Z; h0 d
Next Count
. ~8 l3 y- _8 D# _If Header = False Then - U# [7 X+ F7 K8 ]- r
dbs.TableDefs.Append tdfNew 5 X! D4 k* D6 |1 e9 m" \6 y6 H7 c
Set rs = dbs.OpenRecordset & ^. k3 S3 ^7 J4 W! U8 L
(“电气材料 _明细表”, dbOpenTable) ‘打开记录
" [( [2 g! d/ [' D6 L, p5 t  TEnd If . F6 H$ }, f* y2 r
RowNum = RowNum + 1
9 ]. W  J# w& N$ a: P: n' S( ors.AddNew ‘增加一笔新记录 4 g, D; e* p1 ]: F
For Count = LBound(array2) _ " t  U7 P$ q8 D, u( H6 m
To UBound(array2) & `' }1 n& E: @. }
rs(Count).Value = array2(Count).TextString
6 p2 v  x( k5 S* Q' {7 a, dNext Count ‘读固定属性值 & E2 [1 v, T  f' X; T( Z/ ?' G
For Count = LBound(array1) To _ $ D  h6 L& D8 N. U
UBound(array1)
# \$ ]) O7 w/ p; L$ V# prs(UBound(array2) + Count + 1).Value = _
6 ^0 {4 I  {* Uarray1(Count).TextString
4 y% M4 |2 }8 i" M" p- BNext Count ‘读输入属性值
% S! Y8 k* ]+ N0 j$ u  Lrs.Update ‘增加新记录修改结束 : z4 |; m( t$ U
Header = True
  k) G& C% e5 J& ~End If
% S, P' i% G' |& L5 c1 ^' g: YEnd If
% d) ^9 |# Y) K  T  nEnd With
3 d% H% l5 q- a  I/ WNext elem 6 V  E/ X  ]2 Q' H$ e# B# C( N0 f7 s
rs. Close ‘关闭记录,释放资源 ) t# X4 _; h( V8 z
dbs.Close ‘关闭数据库,释放资源 " M% p3 h' ~! {* u( Z
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot9 v2 [% m2 Q* Z7 _; T0 Q  S$ x
真是太好了
2 i# R% s  I; F( Z: `這就是我要的 ^^
发表于 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-4 08:08

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

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

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