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()
7 F9 s; L5 @7 pDim work As Workspace $ z. \1 y7 t- x( M0 J5 u# D
Dim new As Database 1 j* [$ M1 }6 z* q# e' u
Dim elem As Object % T# L" f% H* R, `+ Z% q& J* a
Dim rs As Recordset
2 [/ R) c! D$ RDim RowNum As Integer
& B5 U' i! _8 @& o; \. Y, eSet work = DBEngine.Workspaces(0)
4 w+ P3 @- ^$ u5 t6 `% c+ x0 wDim dbs As Database
& U; X% V* s# m" d; ?0 pDim tdfNew As TableDef
  k3 Y' Y% Z2 m+ A! X9 c1 F  oDim tdf As TableDef ' ^" c& x7 Z& m2 U4 n$ C
Dim dbsname As String
$ p/ l% T' I- B' C, WDim array1 As Variant $ Z/ \. k; H( U/ f" k! ?
Dim array2 As Variant ‘声明所需的变量及类型 5 I5 g0 e+ o) B) g5 \3 p9 z3 r
dbsname = “D:\材料表.mdb”
/ I- K+ B5 t0 U% p3 q  J' a* r‘声明Access数据库写到哪一个文件 # P/ \) U. `4 q+ R& h( m* W
On Error Resume Next
( E7 Q/ x& v9 d. Z6 e5 b) b3 VSet dbs = work.CreateDatabase(dbsname, _
( _4 v* O* M1 w% idbLangGeneral)
/ q0 e) b. J7 q4 {. X8 |+ p6 fIf Err Then
. P, J+ ~- ^1 `' v: U- jKill (dbsname) : A( Q/ d& ~* z  g# a" b7 S
‘发现要写入的Access数据库文件已存在就将其删除 $ m+ h5 f" M7 \6 J) N# n! Z) |
Set dbs = work.CreateDatabase(dbsname, _ + e& q% ^1 ?( h
dbLangGeneral)
- `  M" ]! s: k  O& iEnd If : B6 o/ K' P- M, H& Y
Set tdfNew = dbs.CreateTableDef . M# H2 U! c  v9 y0 j
(“电气 _材料明细表”) : u. ~* e- z% `
‘建立一个名为电气材料明细表的表 ' L  O9 `9 `" P# u: m& ^
RowNum = 0
% L' f) r% s# a3 v. tDim Header As Boolean   z/ E: U9 F, S" R6 F4 A9 U
Header = False
' q/ Q+ b  ~4 |- H; x1 |. HFor Each elem In ThisDrawing.ModelSpace
/ D( i% C* O* M; `+ `1 Q- Q‘在CAD模型空间,查找所有图形对象 7 d2 O" c( C/ v. w$ C( y! Z
With elem
9 r- V" X8 [- u3 a7 m0 N, O# B$ kIf StrComp(.EntityName,_ 3 X3 n' I7 G4 q" ?
“AcDbBlockReference”, 1) = 0 Then " {9 [9 D! T/ V2 G2 `+ ~+ d
If .HasAttributes Then
. |% P  F: j) parray1 = .GetAttributes 1 o8 R5 G$ ]+ w* S8 O
array2 = .GetConstantAttributes 3 G( N! e& t3 T6 Z4 r! V; Q9 A
‘设置array1指向图形对象的属性
1 b6 _+ C6 C$ l7 s, q  O5 A& v‘设置array2指向图形对象的固定属性 " a  D) N* K) c
For Count = LBound(array2) To _ 0 }- v2 i4 m7 X2 T; {# K! i
UBound(array2)
& ]* Z2 S; [- T# n5 mIf Header = False Then - L7 |! j  V! e8 @5 G
If StrComp(array2(Count).EntityName, _
: p1 t/ N# ^' o“AcDbAttributeDefinition”, 1) = 0 Then 2 e) _, w- L7 N4 D2 }2 t
tdfNew.Fields.AppendtdfNew._ 8 D6 I. g2 L2 q% l9 x
CreateField(array2(Count).TagString, dbText)   b1 x: V+ D2 ]4 ]
End If   a% `* W( s; g8 W3 n. S
‘读出属性值读出,作为Access数据库表的标题
  [6 ^4 \5 s& @9 qEnd If
, \, D& O  U8 n$ r1 ^& N7 z% CNext Count ) p6 U& E1 J; p5 a( B  a
For Count = LBound(array1) To _ # i0 p" y" `& i% N$ g2 Z
UBound(array1)
+ o1 r3 X* d- C- ^0 Z% AIf Header = False Then
  }- |" ]6 L0 N! DIf StrComp(array1(Count).EntityName, _
, B2 A( y. h' j( E0 ?“AcDbAttribute”, 1) = 0 Then 6 ~. O; w9 V3 O: F+ m+ b+ S/ V" Q4 F. m
tdfNew.Fields.Append tdfNew. _
' `' W" U: I* q' a& Q3 KCreateField(array1(Count).TagString, dbText)
$ n( z; A) O+ T+ \! Y2 kEnd If
2 n3 u: D; E) G  _9 _End If
6 P$ t$ ~9 v% C2 M/ uNext Count + w' A6 k/ v0 w5 _
If Header = False Then
% h4 n+ K1 i3 C7 i% ?dbs.TableDefs.Append tdfNew ! `+ M% C* t. q9 {  N
Set rs = dbs.OpenRecordset
$ I$ F' ~. x: O1 K& z& q(“电气材料 _明细表”, dbOpenTable) ‘打开记录
9 I& T: i' A$ _2 m1 SEnd If
7 M4 t9 i* V/ m* QRowNum = RowNum + 1 / r2 j: s4 L) }0 t3 P* H6 @
rs.AddNew ‘增加一笔新记录
- u! i# I+ q) k3 kFor Count = LBound(array2) _ 0 g, q1 Y( P. B' b4 z
To UBound(array2)
( T5 o6 C* O& mrs(Count).Value = array2(Count).TextString
  X; R! ]: e7 nNext Count ‘读固定属性值 % w5 I( `( h/ Q( s' c
For Count = LBound(array1) To _
3 X" _% o1 g& Z1 a5 O0 oUBound(array1)
6 d, B' e6 \! O7 Vrs(UBound(array2) + Count + 1).Value = _ + b7 |" w; r# U4 R7 m9 w  ~, x/ ~
array1(Count).TextString
/ B( n5 }& N4 \# SNext Count ‘读输入属性值 : R; J) j, N) X; P6 v
rs.Update ‘增加新记录修改结束
3 l/ t' c- ]6 h/ N5 G. |4 b- ^Header = True 4 J' w, X+ B! e% Y  S. a
End If 7 S3 V" i  u) b+ n2 q' M
End If . ]5 _. J& S6 i+ p: }# p1 d! J( c
End With : G- H! K% o! _4 R# b, X
Next elem
5 }/ G& c# F: I. }  h9 @rs. Close ‘关闭记录,释放资源
- q0 l; P9 Q8 Edbs.Close ‘关闭数据库,释放资源
4 }0 }& o0 m, S- I8 l+ |" rEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot  Y4 O& m1 I1 J% `
真是太好了
+ z6 x" Z- h' L+ E7 a/ t! u; 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-1-31 15:55

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

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

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