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) V# k; b# q8 X$ TDim work As Workspace 2 L% W6 O5 \# f* c! |+ p
Dim new As Database
! E2 o9 ]) Q7 f& `" _' sDim elem As Object
8 k/ S* k- g8 cDim rs As Recordset - o) Z( z1 e9 L- u* Q' z
Dim RowNum As Integer
& E  z9 C% N- P7 i  CSet work = DBEngine.Workspaces(0) ' M' `9 ^7 V5 ^% Y* }8 I# h
Dim dbs As Database
3 d, o! W# d6 Q& N6 vDim tdfNew As TableDef & ?$ F- y: s7 }; |+ _- f2 l
Dim tdf As TableDef
+ ~/ i& [1 j: \+ ^' j( hDim dbsname As String 4 X. {7 I8 m1 `
Dim array1 As Variant
& H' T0 Q8 C" H. b7 @: Y, bDim array2 As Variant ‘声明所需的变量及类型 % r0 |9 j7 `* o, P6 ~
dbsname = “D:\材料表.mdb” 2 X7 S5 c0 o9 A$ [. v6 K) o0 A
‘声明Access数据库写到哪一个文件
: N( p! a' R* D* Y+ ~( \On Error Resume Next
  V" L# _% A& t0 a, o7 vSet dbs = work.CreateDatabase(dbsname, _
% E- l9 K3 k1 B7 h6 n/ }1 tdbLangGeneral) $ K# q' z  c; h0 U! W0 a2 X
If Err Then 3 M0 d; `: y2 g4 \
Kill (dbsname)
) ^, O) f+ [  V* ~% X‘发现要写入的Access数据库文件已存在就将其删除 # v2 T- w3 o: U( ~2 V. I! J
Set dbs = work.CreateDatabase(dbsname, _
0 D9 L+ c) Z/ p& ~3 j( PdbLangGeneral) ( n: Q& `% r3 F: a; g) t8 F
End If
; r0 {! ^' X* E0 qSet tdfNew = dbs.CreateTableDef * q6 c/ F: U8 P3 v
(“电气 _材料明细表”)
- e4 a4 o4 h: ~5 u‘建立一个名为电气材料明细表的表 " N2 s- r4 u: B! C6 b+ ?8 N8 H
RowNum = 0
4 N9 x0 l7 Q/ Z6 X: o, g1 }6 K' zDim Header As Boolean % u4 u2 m8 X2 ]' @) G
Header = False 3 j# c  `& o) H) C, B) H# F
For Each elem In ThisDrawing.ModelSpace
( x) D' t( b# `# i" f‘在CAD模型空间,查找所有图形对象 3 t% V0 _9 `) A0 u8 k
With elem ; a8 L# @7 Z9 V8 T
If StrComp(.EntityName,_ " b) N) Q8 A3 a# |4 T! G
“AcDbBlockReference”, 1) = 0 Then & e3 j" p8 p' j: D0 E) @
If .HasAttributes Then
; w- s# t8 B) o) k% l* Zarray1 = .GetAttributes
3 [& `/ j0 p4 i( yarray2 = .GetConstantAttributes
! X8 F0 n9 v5 j  `; V‘设置array1指向图形对象的属性 # }& A4 e4 r- y
‘设置array2指向图形对象的固定属性
6 c) m/ l" G0 E" }For Count = LBound(array2) To _ 6 a$ e; m: E2 {0 O! G
UBound(array2)
' q+ n/ Q0 k. [+ jIf Header = False Then 7 M  t" }; Q. V
If StrComp(array2(Count).EntityName, _
5 ^3 P2 m2 S/ A* j7 q& h! L3 f( J& A/ x“AcDbAttributeDefinition”, 1) = 0 Then
; o- k7 [& z7 t* q; l! q$ AtdfNew.Fields.AppendtdfNew._ , J( ^* N( D" [1 r) t0 w
CreateField(array2(Count).TagString, dbText) + H2 o" P. Y4 |, ^
End If
$ G; H2 g- m- l# |0 D4 j- L9 x‘读出属性值读出,作为Access数据库表的标题 0 A: @7 U* d+ p
End If . b2 r- A; ]3 c$ C
Next Count 4 \, T4 ^/ R4 P+ A
For Count = LBound(array1) To _
' b* U8 N' B7 g0 xUBound(array1)
+ {$ Y& ]) ?# X# n) ~# ^1 XIf Header = False Then , ]" l0 s% o- C: t8 ^
If StrComp(array1(Count).EntityName, _
9 k# `2 H) ^; u( R“AcDbAttribute”, 1) = 0 Then 9 f% O! L$ y0 C5 b  v/ x# i1 ~
tdfNew.Fields.Append tdfNew. _ ; N) v0 x+ E/ v) f' l. [1 t
CreateField(array1(Count).TagString, dbText) $ Z! k' G6 I9 h: y& j, e; E" A
End If
/ G' a# s% ^. C, xEnd If
, H! D3 `0 G% M; t0 @( yNext Count - h0 x) q. m5 N" m' Q+ m( I
If Header = False Then . Q% l% y; ~5 r
dbs.TableDefs.Append tdfNew " L/ z* _. T5 h- h
Set rs = dbs.OpenRecordset 7 R/ B- `" v, x# }) o1 A) L
(“电气材料 _明细表”, dbOpenTable) ‘打开记录
- H+ L( o! r; o7 b5 P+ iEnd If . p! H+ p0 C# J8 n3 G7 H
RowNum = RowNum + 1 0 G( b% e2 v  Z* }
rs.AddNew ‘增加一笔新记录
! [' a) @( |1 j7 YFor Count = LBound(array2) _ / `  Y. O- Y8 Q' t: R) |8 r
To UBound(array2) / V5 j# C3 c; ^" @
rs(Count).Value = array2(Count).TextString $ `) O; h, v/ @- v5 O; H: ^5 @
Next Count ‘读固定属性值 9 a6 {1 W/ E+ P- C% q
For Count = LBound(array1) To _ + A9 s1 G( |& {. B
UBound(array1)
  t0 K- M+ z; p" yrs(UBound(array2) + Count + 1).Value = _
3 h8 {; O+ H2 @- A* B& A; {# l+ Xarray1(Count).TextString
6 C* Y+ J8 E) s, F, ZNext Count ‘读输入属性值
5 q# P1 ^3 G" \# @0 ~rs.Update ‘增加新记录修改结束
. i& U& b- H# y& gHeader = True - X" S3 [: b7 {5 E9 ^1 m1 K
End If
/ O& X1 T0 g6 gEnd If $ ?1 e! f- G2 h( t% i2 [4 B1 S& D2 {
End With / c/ a2 Y9 G5 S: `3 ]2 m& X
Next elem , {; T8 c) r+ E0 E6 ], l7 Y
rs. Close ‘关闭记录,释放资源 2 U* F# T! |/ Z/ n; Y2 X
dbs.Close ‘关闭数据库,释放资源 + R3 P  X# a& e/ n9 r$ u
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
  `. o3 C( h' |9 m7 Z8 l2 M7 {真是太好了
/ G6 ]* r8 a; k+ l) \這就是我要的 ^^
发表于 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-13 09:38

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

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

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