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() ( c- ~5 W" p+ X8 s) Z+ Z
Dim work As Workspace ; i  @3 K) f" f( R& j* {# H+ F
Dim new As Database
! }3 u( T# i. A5 g# `) TDim elem As Object 0 V4 `; v! M, [! _: |
Dim rs As Recordset . |" F' Y* O& T' ]' n% a4 d
Dim RowNum As Integer , f4 |# a# D) K" K. [& h
Set work = DBEngine.Workspaces(0)
# ?9 ~  V4 e- b* Q& o/ F" sDim dbs As Database % p  g. Y/ s( I% u
Dim tdfNew As TableDef
  K1 ~9 v7 z6 \: _- A. m' vDim tdf As TableDef
, g# g1 K: ^9 ~$ h2 g5 M5 }) F3 {6 dDim dbsname As String
) V6 v/ Z4 @) \5 sDim array1 As Variant   g4 `' D) x5 A- M- C
Dim array2 As Variant ‘声明所需的变量及类型
( ?( A2 D# o: E, M2 |dbsname = “D:\材料表.mdb” / W5 w, n7 Y: Q
‘声明Access数据库写到哪一个文件 9 _( M1 k( x+ Z6 k" k
On Error Resume Next
( }. G# J+ G# y0 MSet dbs = work.CreateDatabase(dbsname, _
( a. I0 U5 ]7 V) E" e' N4 IdbLangGeneral) , K- M! @9 D1 U* C! U  _! D% V
If Err Then
- u8 u% p* }3 ?5 s, x, J% f. tKill (dbsname)
2 j/ [5 u- f* U( J" B* X5 \0 {* ~‘发现要写入的Access数据库文件已存在就将其删除
3 |; f, P9 p) z: R- M, @Set dbs = work.CreateDatabase(dbsname, _
0 m5 M- y4 j! Q& o) |" MdbLangGeneral) + ]3 c  M8 y+ }1 V. I  M  F$ F, n% ~
End If : ~4 F% \+ c0 y9 `7 I
Set tdfNew = dbs.CreateTableDef . j' J' I* K' f
(“电气 _材料明细表”) # f0 \: m/ d6 G* U. G' y) s
‘建立一个名为电气材料明细表的表 ! p9 v4 ^/ g+ L( R! X
RowNum = 0 " F  J9 P0 C0 w; d% @
Dim Header As Boolean
  V7 }  V4 A) ]Header = False - r# {# Z3 o9 m/ Z, q
For Each elem In ThisDrawing.ModelSpace
+ D; B' d4 x" Q* V/ C‘在CAD模型空间,查找所有图形对象 , \- V. [; [, `5 }% e% X0 F
With elem
( N8 c0 S# _5 |If StrComp(.EntityName,_
, r  q, u, B' k" ^“AcDbBlockReference”, 1) = 0 Then
/ K; _' ?' m6 c& g4 KIf .HasAttributes Then
# m: W* k3 P! m$ Aarray1 = .GetAttributes . }# O2 H) {% J/ ~8 w* E2 l
array2 = .GetConstantAttributes ; M/ g% E' ~8 q8 l6 A, m  z0 O2 B2 Q
‘设置array1指向图形对象的属性
5 z( i+ H, {( w$ d‘设置array2指向图形对象的固定属性 2 h4 B* G5 A" l3 e/ b. r" t. P
For Count = LBound(array2) To _ , B. e) I) s  d
UBound(array2)
; X8 D, J1 R8 y" tIf Header = False Then
7 [* r2 L+ Q8 M: \# J! uIf StrComp(array2(Count).EntityName, _ / P, K2 Y' R* F2 x$ E% e
“AcDbAttributeDefinition”, 1) = 0 Then
8 P  Y4 e, q, f# N6 v& N8 v3 qtdfNew.Fields.AppendtdfNew._
6 X3 e1 A' |3 H0 C& `& h* xCreateField(array2(Count).TagString, dbText)
* f9 R' M# |* _* f: k, R: `End If
) \: j% `8 j# U" _/ N4 x8 J+ [# R; k‘读出属性值读出,作为Access数据库表的标题 4 Z$ p( M4 c+ ~( |/ H! i8 H$ L' f
End If
$ K; K- \$ X9 O3 C, w% p4 T4 VNext Count
& u2 L3 Y3 p( x. U1 JFor Count = LBound(array1) To _ 7 }& h0 U5 Z- `
UBound(array1)
$ O( z  `6 r/ i2 ~If Header = False Then ' m; r* W7 L" O; ?+ u" H$ V
If StrComp(array1(Count).EntityName, _ + \! _" y1 h3 W1 a" ^+ c
“AcDbAttribute”, 1) = 0 Then ) O/ k/ x/ _# k4 V; p0 O* z  D: @
tdfNew.Fields.Append tdfNew. _
! Q: c$ E, o/ U% b' X  G2 H6 E# RCreateField(array1(Count).TagString, dbText) 0 l, H) ]+ X6 _+ A* L6 ]
End If
) g3 v% {; m- F6 Z1 k; TEnd If # [  y; K# {/ X* H' x
Next Count 4 o- _" N/ f. Z8 c
If Header = False Then ; e3 W; i; I+ x6 u) Y. U" v& u5 k' a
dbs.TableDefs.Append tdfNew
% N4 ~$ ~4 L- t# E6 f" e; Q! ~Set rs = dbs.OpenRecordset $ n0 `# X% i/ E- _# n! c' D
(“电气材料 _明细表”, dbOpenTable) ‘打开记录
6 l# J# c! [% M. g+ dEnd If 9 ~0 I$ @4 @* W. M' i1 @
RowNum = RowNum + 1
. z% n) R4 ^: L8 a& D( ^" j: crs.AddNew ‘增加一笔新记录 # b3 ~+ s3 l% r/ z# c& I
For Count = LBound(array2) _
. n! l) f' q! f; c5 DTo UBound(array2)
! ?1 C* |- Y+ a) i9 Crs(Count).Value = array2(Count).TextString
( G; m/ p6 e5 Y- HNext Count ‘读固定属性值 5 h/ V! |$ U; [
For Count = LBound(array1) To _
/ k, N- L8 s$ Q  U4 dUBound(array1) ( l: M. M9 d% t: s! k' K8 P
rs(UBound(array2) + Count + 1).Value = _
/ P0 L0 k* V0 T. S, H# Xarray1(Count).TextString
' |; S: p' N5 ?4 a3 W3 ~) KNext Count ‘读输入属性值 6 k! X( G* y$ k% A9 c
rs.Update ‘增加新记录修改结束
# M" e% u. P4 M. MHeader = True / J" ]* X( R2 F' a! \0 X
End If 5 w% q, ~; L: M& Z* ~& I: \% `
End If
' }) v, _0 X% E, aEnd With
6 X/ `2 r2 V% MNext elem / e6 X5 M$ S$ N& C! v' ^3 M8 P
rs. Close ‘关闭记录,释放资源   T9 h* C  T' j% k0 I
dbs.Close ‘关闭数据库,释放资源 . L+ Z7 J4 [! L7 h
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
% ~" I/ T2 n' J; Z0 E3 Z! C4 b5 T真是太好了
& H. }7 m' y1 I% ]% B5 n這就是我要的 ^^
发表于 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-25 14:19

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

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

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