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() ( I! J: J% a/ c
Dim work As Workspace
- d5 {" P  l  j5 H6 c/ C) eDim new As Database ! u$ F- w* r( x5 J& W+ ]
Dim elem As Object 2 N! P/ I( Q* b' D+ a
Dim rs As Recordset
6 b9 W7 V1 y% ~5 G# BDim RowNum As Integer
2 _* b" b5 Z3 r6 r* s+ P  RSet work = DBEngine.Workspaces(0)
7 X5 ]$ O% n; W- \) \( B, l! T/ W" DDim dbs As Database
( Q( I/ [3 d1 _/ CDim tdfNew As TableDef 1 O# m: ^% W9 c9 f9 D# n
Dim tdf As TableDef % x6 A- @* t% s; l
Dim dbsname As String % z5 Q3 e1 b; e$ ~
Dim array1 As Variant 8 v7 K' q' M' N7 d" j
Dim array2 As Variant ‘声明所需的变量及类型
& S( I' J& ~+ @$ M# y( tdbsname = “D:\材料表.mdb” 1 ?/ ~" K3 I/ C
‘声明Access数据库写到哪一个文件 + I7 d0 q( I7 s) f" L+ U% Q
On Error Resume Next 3 O* x5 w7 h6 @& y8 S- t1 j, t
Set dbs = work.CreateDatabase(dbsname, _ 2 L8 h/ f6 }4 m$ e; q' N! M3 H
dbLangGeneral)
- H" N0 Y; q/ _# rIf Err Then " T6 F# g# w3 o* a* V
Kill (dbsname)
4 e% ~% V5 O* Y) \# n0 n‘发现要写入的Access数据库文件已存在就将其删除
4 E! k0 D0 i0 G( Z) M3 USet dbs = work.CreateDatabase(dbsname, _
* G* r; t8 ^9 Z6 i) ~: x; adbLangGeneral) # \$ K! |6 H- ^% N( ^! K! a+ u
End If $ i; ]0 Y: Z; j1 M2 c- K$ O
Set tdfNew = dbs.CreateTableDef
! `/ j& n) ~  ]0 [(“电气 _材料明细表”) 8 p1 A0 g9 T' {/ ?( B
‘建立一个名为电气材料明细表的表
1 P( q/ v' A' G  LRowNum = 0
9 }4 V7 ^6 v$ x, bDim Header As Boolean
) j" R- \: m/ t& Y7 B1 J( [  M3 FHeader = False ; @# W( r4 b) d1 H
For Each elem In ThisDrawing.ModelSpace
2 v( |* K% f6 n9 {‘在CAD模型空间,查找所有图形对象
7 e/ ?2 w5 A" u# ]With elem 7 P5 V% _7 U5 H( @; a& V
If StrComp(.EntityName,_
6 X- i3 N2 T; p3 x8 n! E; F' f“AcDbBlockReference”, 1) = 0 Then
0 U, F9 K; d$ `2 L+ E7 ]: L9 G5 ^If .HasAttributes Then 4 N% _% R. E0 ^7 n+ w6 [
array1 = .GetAttributes
% S* k* a& Q6 G8 }3 i3 Y& [array2 = .GetConstantAttributes 9 Y4 C# ^/ Q- V' _: l- t  q) U
‘设置array1指向图形对象的属性
) u6 L4 Z" ~0 M, \‘设置array2指向图形对象的固定属性   O- {4 ~3 N: ^# e/ k9 F2 S
For Count = LBound(array2) To _
0 J' l6 `$ F/ D* x3 bUBound(array2)
) A( R% Y* f* G+ x3 I$ b* {+ kIf Header = False Then 9 i% W2 K2 |( V* k2 Y3 H" {8 Z
If StrComp(array2(Count).EntityName, _ , U% D2 L2 t% n$ \) T, B! B* i
“AcDbAttributeDefinition”, 1) = 0 Then
# }. C- `( ]/ n7 K1 O1 D7 ytdfNew.Fields.AppendtdfNew._
5 t1 X/ ?' v/ r, }4 i8 JCreateField(array2(Count).TagString, dbText)
/ G4 q! r4 i" [$ vEnd If ; s( o) s( o6 p" d, T7 ~. J" |# t
‘读出属性值读出,作为Access数据库表的标题
: Q+ O6 j  ]: M+ ]End If
3 A) N* s% o6 T% Y& K. GNext Count
& Z! s9 ]% G/ S9 h( i4 BFor Count = LBound(array1) To _ / i( p1 x5 u1 r, R0 A+ v
UBound(array1) 9 T# w- H: G' a0 h6 b! P
If Header = False Then 1 `1 @$ `6 d: p
If StrComp(array1(Count).EntityName, _
. K8 P1 B8 S% p* a' B/ ?" v' R+ t“AcDbAttribute”, 1) = 0 Then
4 y4 D4 o3 B4 x5 U1 z% ^- D7 wtdfNew.Fields.Append tdfNew. _ % H$ L( ]5 s6 n" c& t$ K. s
CreateField(array1(Count).TagString, dbText)
- n; D  F. ]2 x" pEnd If . _' u! C+ t, v7 D' ]  P4 q6 X
End If
: D$ f7 B4 x: o1 R# k. `Next Count
: W7 m% L; f( M/ b7 g% f6 AIf Header = False Then 0 |/ [) P: Q7 J1 S; D* N
dbs.TableDefs.Append tdfNew
# o3 e- U% Q: X" u: HSet rs = dbs.OpenRecordset 5 {  k/ V9 P: }) m5 o4 R
(“电气材料 _明细表”, dbOpenTable) ‘打开记录
/ G& q! k5 r5 k& w" p' }9 V: w% }End If 1 Y5 ~2 q5 t  L/ k/ r3 d
RowNum = RowNum + 1 + [' C  P6 O( [7 o( _2 V* Z( d
rs.AddNew ‘增加一笔新记录
/ s7 G5 ^1 ~  M# @4 SFor Count = LBound(array2) _
; B7 _, y$ I! y4 LTo UBound(array2)
4 Z' S# i4 a1 H+ `6 srs(Count).Value = array2(Count).TextString % B: z& w" _; G5 c) s
Next Count ‘读固定属性值
0 k* a0 V6 ?; L3 [$ g. rFor Count = LBound(array1) To _ , B' g$ ~% T) V* [- }
UBound(array1)
& v$ w5 z! w* _0 i) M9 ]/ e7 yrs(UBound(array2) + Count + 1).Value = _ & Z1 J/ C, q3 y) v3 B6 y
array1(Count).TextString
4 i* ^& v: |) `6 ^7 l  K: K) QNext Count ‘读输入属性值
. V& |. o( D# K3 @( U5 u6 [' y5 lrs.Update ‘增加新记录修改结束 - ]4 ?! O8 S- `8 c, x
Header = True ; F. W  Z8 q8 B' N
End If
1 j6 r. E* O* ]) O8 q0 j: x7 iEnd If
8 O2 y$ M) l: ZEnd With 4 a7 b! @6 E* k
Next elem
! w# q! o+ k* n3 g0 B' q+ xrs. Close ‘关闭记录,释放资源 $ [' s! l* H, A4 v4 ~  {: @  H
dbs.Close ‘关闭数据库,释放资源 + @+ Z9 G1 D0 Q4 I. G8 O
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
8 P3 z8 i& j4 V& M3 n3 N真是太好了
; g8 Z; M) o: Y% Q2 Y這就是我要的 ^^
发表于 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-6 06:12

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

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

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