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()
: F) F; G' Q, c) @3 M. z' e5 ~  jDim work As Workspace
( \2 l/ b6 H. C  z1 E: V: rDim new As Database 0 u( @2 I( ^0 V5 k& r" L8 @. T
Dim elem As Object
# }# p+ l8 Y9 }& M6 ~+ K" ?Dim rs As Recordset
: m4 F+ ?' F9 g% o# QDim RowNum As Integer
% E3 j: R! m- |Set work = DBEngine.Workspaces(0) 5 q& f' y# o3 P' X0 n; v
Dim dbs As Database 4 K+ A1 Q: Y& j; {7 `9 G  A' V
Dim tdfNew As TableDef
, X+ }& J/ t4 r  Q$ l: DDim tdf As TableDef
) L- _) X3 N! W$ D' A2 bDim dbsname As String
2 x) K( |) Z0 m9 h. t3 wDim array1 As Variant # Z" g$ }# T: `* ?5 F
Dim array2 As Variant ‘声明所需的变量及类型 6 h# b* j% [3 `: g0 c9 ]1 q' l5 X9 j
dbsname = “D:\材料表.mdb” $ }/ J- U  Q9 C; g
‘声明Access数据库写到哪一个文件
' ^$ |2 Q0 R6 H2 O1 E4 L& hOn Error Resume Next / a( l' u5 C, V
Set dbs = work.CreateDatabase(dbsname, _ + ]& N" A# f! c* g  V! G
dbLangGeneral)
4 H9 w/ E7 S& h& j, [0 B6 OIf Err Then
# K+ n# r  [6 W/ G9 R0 ~Kill (dbsname)
+ Q; j( }( j5 ~) l# m' |7 h‘发现要写入的Access数据库文件已存在就将其删除
1 E3 _: q. y& _* T3 fSet dbs = work.CreateDatabase(dbsname, _
9 \7 S) m& r+ J) A+ }- v; `1 h/ ~* HdbLangGeneral)
* B+ X4 W! D; i2 u7 vEnd If
3 s# C; e0 s: @/ Z2 SSet tdfNew = dbs.CreateTableDef , O% E: @, V6 V7 r4 M6 }5 m
(“电气 _材料明细表”) ) t' t" F, ^4 H2 u$ ]
‘建立一个名为电气材料明细表的表 * X% \  u* M7 }  L  Z0 A
RowNum = 0
( R$ ^: G/ k& a% n. E% W- w$ uDim Header As Boolean
6 o$ e9 j0 s2 a# UHeader = False ) P7 f9 m( L/ w/ P8 N$ j: X  j
For Each elem In ThisDrawing.ModelSpace
) L( ?" |* ]# y4 p& ?! |6 o' J‘在CAD模型空间,查找所有图形对象 . d; E$ F4 b$ ]7 C5 s+ ?! w
With elem
# R" K2 {$ l; i* \6 F6 j0 I- nIf StrComp(.EntityName,_
4 m" t9 e) q9 t3 a) m$ a( |$ u“AcDbBlockReference”, 1) = 0 Then * b3 v; j+ a' }& j) Y( W! u+ }% e# j
If .HasAttributes Then : n# L8 V) j" p1 T0 T' R. o" B/ }
array1 = .GetAttributes
* y" Q, e/ @' W9 B# V# X! N: Qarray2 = .GetConstantAttributes ) F/ V  T6 t! y
‘设置array1指向图形对象的属性
! D1 S  n3 ~8 I/ C‘设置array2指向图形对象的固定属性 . _! M9 z# v/ {0 e8 ^6 u" s
For Count = LBound(array2) To _
+ O0 @7 V! W1 G/ r* Y5 l4 z& ]+ rUBound(array2)
1 O' d' U; L0 F2 r6 o8 qIf Header = False Then
4 p3 g! l$ a( DIf StrComp(array2(Count).EntityName, _ + K  G. z6 A$ B8 T
“AcDbAttributeDefinition”, 1) = 0 Then
9 {* X1 K* B8 g9 ZtdfNew.Fields.AppendtdfNew._ 1 Q  c9 B' w; i+ M
CreateField(array2(Count).TagString, dbText)
' U4 \" \+ _4 `9 MEnd If ' M. {1 t/ `& a# B% U# e
‘读出属性值读出,作为Access数据库表的标题
/ A! O) k" K: G3 Q9 yEnd If - G+ s6 x$ M$ c
Next Count
9 }) O; W0 P$ {For Count = LBound(array1) To _
) [& `! h8 |* {/ B6 n. z- a" O3 jUBound(array1)
. X% |$ _: I& |5 ?0 `! I4 K0 [If Header = False Then 0 p3 a$ G" v% B1 j. S
If StrComp(array1(Count).EntityName, _ 6 X0 e2 p0 C3 P8 Y( N
“AcDbAttribute”, 1) = 0 Then ( g9 q! b! Z4 ]4 G1 @
tdfNew.Fields.Append tdfNew. _ 6 y* c. X, o: _  u
CreateField(array1(Count).TagString, dbText)
1 A- o% [$ O% }* {% M( HEnd If 6 w  {6 u( a& [5 L6 r& Q
End If
0 D3 P5 I" A- h: m. A, LNext Count " Q3 {" {3 \7 h5 p: d' r0 J3 m
If Header = False Then   [* p. y, x' [5 o
dbs.TableDefs.Append tdfNew $ X5 W) l( [4 L& y: ]1 n% `9 x, B
Set rs = dbs.OpenRecordset / `8 k' ~9 o+ A6 F5 y+ N: B
(“电气材料 _明细表”, dbOpenTable) ‘打开记录
0 a) |; Y( A9 bEnd If
0 e( p: h& N/ B9 VRowNum = RowNum + 1 & B% n1 F' C' H; U
rs.AddNew ‘增加一笔新记录 , A5 f2 y( U: n0 p7 L7 t. Y
For Count = LBound(array2) _
- g: n6 k, }/ R% S5 R/ f0 tTo UBound(array2)
; ]- k$ e0 _' E+ y+ ?: hrs(Count).Value = array2(Count).TextString
) K' J7 j6 E  ~Next Count ‘读固定属性值
: l/ l1 P: e2 zFor Count = LBound(array1) To _
* [% S8 I+ V. p: F* h' D8 F, nUBound(array1) ) h2 Z8 i6 z" H1 u
rs(UBound(array2) + Count + 1).Value = _ ; C" X+ `' G  ~9 c/ k* F
array1(Count).TextString
8 A- |- K% ^* _Next Count ‘读输入属性值
  g& \+ J1 L" N3 G; ^  U, frs.Update ‘增加新记录修改结束
. O* f+ U& C2 {) l) t  m. L( }Header = True
/ B+ q; N4 j0 E. \( L7 dEnd If : k- H% i2 Y& J& |6 _( s; `) _
End If
8 K' E4 ?: z# J. k' JEnd With
+ ^7 v8 G. }9 D6 n+ C0 P2 SNext elem
8 d0 ]6 Y1 ~1 z) Y. `, c0 urs. Close ‘关闭记录,释放资源
2 L7 ]( {8 f# D; u1 H; x& @; w2 Hdbs.Close ‘关闭数据库,释放资源
8 f9 l; }8 P8 nEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot; z0 U4 }) G4 o1 \6 j3 S, J
真是太好了
8 ?9 ~; K8 d' @- O6 q( X; 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-15 12:06

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

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

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