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() / z  M( \& c+ d, g+ S, I: E4 |) E
Dim work As Workspace
% ~8 y5 t$ M( a1 c/ p  {3 QDim new As Database
1 N- R& D( l, R" R2 z& Z$ fDim elem As Object
4 o8 S- w7 r" o& O1 ?* M* LDim rs As Recordset
6 Z6 W; n; o# C. I3 X( \: FDim RowNum As Integer 1 N1 ]! _' b; \$ T
Set work = DBEngine.Workspaces(0) : [4 b/ F7 w- R+ ?
Dim dbs As Database
) m% u5 g9 q2 U, {; }Dim tdfNew As TableDef 1 q1 v% D$ Z( C6 R% G
Dim tdf As TableDef
9 o* K/ W: o0 Y) s, z9 J" j8 pDim dbsname As String
5 ?" _/ i$ _7 JDim array1 As Variant
( i+ i! |  Z7 |- [, |Dim array2 As Variant ‘声明所需的变量及类型
4 Q% J# m: z; Tdbsname = “D:\材料表.mdb” , s) v' N, o3 O* K. s
‘声明Access数据库写到哪一个文件
# y* H) M3 M$ w# n& ~7 yOn Error Resume Next
1 n# L7 Q; f3 H8 t' sSet dbs = work.CreateDatabase(dbsname, _ 5 y5 a$ Y+ Y& ]- t" C3 U: W* S
dbLangGeneral) 4 T! t1 c$ b6 n1 H: f
If Err Then 4 c  N# k7 f% N
Kill (dbsname)   O8 ~9 `% o4 j6 z# ^/ ]
‘发现要写入的Access数据库文件已存在就将其删除
( }8 c& ~  R- A  d/ h$ e2 o$ G+ rSet dbs = work.CreateDatabase(dbsname, _
' L$ G+ d3 ^8 f: v: ]dbLangGeneral)
6 o  E. b8 {6 VEnd If
1 q' P7 v  b; @3 R! R5 e( W( ^Set tdfNew = dbs.CreateTableDef 8 S% `4 g0 [$ v4 L$ U; w0 t# n
(“电气 _材料明细表”) & I6 M( c4 t9 b3 i/ u
‘建立一个名为电气材料明细表的表
: P# q# R/ @0 v, ^2 ^" \RowNum = 0
" F+ @, ^' ~$ n- L' s, g: L4 TDim Header As Boolean
/ V6 R: Z8 F' [; t7 aHeader = False
5 y5 Q2 t: W$ c1 UFor Each elem In ThisDrawing.ModelSpace
; [# Z8 P3 J: m. n‘在CAD模型空间,查找所有图形对象
+ Q! P" D( M, o; y, T/ DWith elem ; e( y! s* g% T* F5 t
If StrComp(.EntityName,_ - f' h0 I( g! D5 J
“AcDbBlockReference”, 1) = 0 Then
8 ?6 e7 E1 A3 A7 l) A- zIf .HasAttributes Then + m# B7 j! X% `8 ]; X
array1 = .GetAttributes
  s. }* ?) D; o( Z5 B/ {0 R8 Barray2 = .GetConstantAttributes / N& r7 V7 z9 ]6 p- ?3 T2 D
‘设置array1指向图形对象的属性
8 O( Z# U( t; _4 K1 ?‘设置array2指向图形对象的固定属性 % e7 U; e' Z' Q2 L$ ~" t: @+ m
For Count = LBound(array2) To _
' {7 Q& A* N) cUBound(array2)
; k  m, J- {. [9 W3 IIf Header = False Then + w3 J) H1 ]9 w' _* E- ?
If StrComp(array2(Count).EntityName, _
2 X; l5 L* o" U" n1 U“AcDbAttributeDefinition”, 1) = 0 Then ! c& z3 z9 l2 o0 {; h) U. H
tdfNew.Fields.AppendtdfNew._
! S, B5 V7 ~) t7 n2 |/ X' rCreateField(array2(Count).TagString, dbText)
) ^/ d* p# h# n. ~& g) y6 @End If
7 ]1 R. I" k; B‘读出属性值读出,作为Access数据库表的标题
" J8 K/ f; G& F+ e: {( ]End If
+ O& k/ i  N+ l) Q& x  h5 K( SNext Count ; p$ u  Y, n+ B9 [# Y8 f
For Count = LBound(array1) To _
0 N; ^2 |; @! a: F& kUBound(array1)
' b1 e+ O' ^- p8 J# a4 NIf Header = False Then
$ B+ M! }! \) T1 LIf StrComp(array1(Count).EntityName, _ 9 ~5 b; d3 p5 z
“AcDbAttribute”, 1) = 0 Then 3 x9 O0 u  q0 P% ^: {9 a( w2 y% c( i; Q6 o
tdfNew.Fields.Append tdfNew. _ 3 j5 b0 P! f+ b5 i/ Y) J
CreateField(array1(Count).TagString, dbText) 6 y% {6 f* a) i! x/ D& v3 V
End If
4 ~+ |: @$ D; R0 I& wEnd If 1 n" h. B! `7 f7 l
Next Count 7 @9 e# S! M+ Q9 W
If Header = False Then   {* W. Q; u2 I, U  N* L
dbs.TableDefs.Append tdfNew
) b% H, s* t4 q( T9 F- o6 o, ?; pSet rs = dbs.OpenRecordset , b/ l- ?0 x* v
(“电气材料 _明细表”, dbOpenTable) ‘打开记录
1 j: I8 y& X5 p* yEnd If * s( I% R( ~; o& G
RowNum = RowNum + 1 4 q# k" e; G" s
rs.AddNew ‘增加一笔新记录
. a% k# @* x, lFor Count = LBound(array2) _ ! T* g( A5 m; D- y( n) b
To UBound(array2)
) ~* A# ~* Q. r2 R  @rs(Count).Value = array2(Count).TextString + b1 b* D) c! L2 n) J  ^
Next Count ‘读固定属性值
) W# V5 h5 |. j2 k0 {For Count = LBound(array1) To _ 0 r- D0 s  Z+ [  |0 Y
UBound(array1)
! L/ w' F8 v! T# _4 I" jrs(UBound(array2) + Count + 1).Value = _
+ ^8 v8 f# P& Q. u, [; Harray1(Count).TextString
$ O9 K' h) K3 b$ M( BNext Count ‘读输入属性值 ) b8 F7 o6 O* T+ U, Y: \- ]
rs.Update ‘增加新记录修改结束
) W) `9 ]- Q5 p+ Y$ m; e2 BHeader = True
) a: C) w0 f, \& g- n, h6 QEnd If
% @  s5 m) I% V8 U% iEnd If
+ T9 E$ K. s0 C2 z) x. T  P8 HEnd With
8 I+ i+ l4 r' kNext elem
6 _: J' W% |: \" ]8 n4 _2 Vrs. Close ‘关闭记录,释放资源 $ ?. j4 h) ]) ]$ d6 v; r
dbs.Close ‘关闭数据库,释放资源
- Q+ i% T8 u. F' Z+ P! {End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot' X5 n6 a, k  b& f4 c
真是太好了
3 D+ m% w( T8 R. Q* N# 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, 2026-2-21 05:20

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

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

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