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()
$ d3 y: b& c" j1 zDim work As Workspace
& w) B+ x# s4 a8 d" W$ KDim new As Database - I8 u4 L1 R" I" [" K
Dim elem As Object
- ~4 u1 I' D/ QDim rs As Recordset
% x; |( n# N+ z$ C+ gDim RowNum As Integer . N, P. x6 j4 e( l
Set work = DBEngine.Workspaces(0)
0 k1 F2 d$ @/ }" f; B% m; }Dim dbs As Database ! i, }+ E) W" h9 f
Dim tdfNew As TableDef " P4 W# v- R/ L9 y3 F
Dim tdf As TableDef
- T1 I4 x! j2 d- R9 c3 hDim dbsname As String
: N  c1 K+ b" k; R- QDim array1 As Variant
6 f& P3 a, I: ]9 x& x/ W7 RDim array2 As Variant ‘声明所需的变量及类型
8 ~4 G$ v1 d$ ^& @: x0 h3 qdbsname = “D:\材料表.mdb”
9 b1 h+ G& D3 ]6 A‘声明Access数据库写到哪一个文件
' q# _: B6 S( f# I/ yOn Error Resume Next ( [+ H" r" G, g% x2 S* U: q
Set dbs = work.CreateDatabase(dbsname, _ ! O5 s7 N5 `( U0 O7 k3 p
dbLangGeneral)
* n; D6 e+ L1 O1 i9 xIf Err Then & f" V/ _! k6 A  M9 G6 w) x+ h# ~
Kill (dbsname)
# S  Z8 G. b- x3 |+ Q: Q( N2 h' ^‘发现要写入的Access数据库文件已存在就将其删除
; b) P: b' M7 U3 e! D' Y* BSet dbs = work.CreateDatabase(dbsname, _
5 M$ L1 i! w' M# e# _4 V) WdbLangGeneral) 1 a' ]0 v/ x& X* `7 V$ a5 a- Y( u
End If
% z: T( H$ ~& b+ d" e. _8 V  N5 M4 e7 zSet tdfNew = dbs.CreateTableDef
0 J; l/ e; {8 r. w: }3 `(“电气 _材料明细表”)
9 d2 r8 x% c* L( `- L‘建立一个名为电气材料明细表的表
$ l9 B' R) V: z9 r& ?2 qRowNum = 0
5 @" ?- Z8 _5 ?1 h" L0 WDim Header As Boolean
9 U2 Z- O4 o" gHeader = False % C# ^) H* u* d6 T
For Each elem In ThisDrawing.ModelSpace ) b+ Q' V% s4 i
‘在CAD模型空间,查找所有图形对象
/ v# p' C4 p  a& O; S& ~With elem
& o% x. k- A6 f* TIf StrComp(.EntityName,_   j- A4 \' a" `5 i5 q3 S1 [
“AcDbBlockReference”, 1) = 0 Then
: \! l2 p0 g7 xIf .HasAttributes Then
, j! R8 Q0 `5 A. x( o0 d: Q# C* larray1 = .GetAttributes 6 O4 V& c* f( {3 x4 k  g
array2 = .GetConstantAttributes 7 \$ ?2 i3 i/ \& k
‘设置array1指向图形对象的属性 : L4 M1 [& Z* X8 w
‘设置array2指向图形对象的固定属性 8 H" |0 K  C- D! g; _1 S
For Count = LBound(array2) To _ : D$ ]; l! N: P2 e
UBound(array2)
4 g% [9 t% B* l& o$ uIf Header = False Then
+ c/ ^& I0 p0 O9 u* A5 ]If StrComp(array2(Count).EntityName, _
- n7 n$ v4 Z' _# F7 _$ O' K* O“AcDbAttributeDefinition”, 1) = 0 Then
# C' R6 E5 c, c$ z% K  P: _tdfNew.Fields.AppendtdfNew._
0 z+ D9 v4 X5 Y! tCreateField(array2(Count).TagString, dbText)
5 {( l$ x5 C. Q1 n9 U9 ~) ?End If
/ P$ `" V2 G- c' O‘读出属性值读出,作为Access数据库表的标题
3 I$ u; U1 X3 A1 |4 vEnd If 6 ~" J' T  v. G" N
Next Count & u& v1 B' t) H8 f1 N; ?& A6 `
For Count = LBound(array1) To _
7 R, }7 h$ B! C& ^UBound(array1)
2 W. v1 E  ^1 u  t, m7 jIf Header = False Then
# H& U2 b$ F+ {' _0 q1 H- ^If StrComp(array1(Count).EntityName, _ # ^9 i" u. l8 H( t! z
“AcDbAttribute”, 1) = 0 Then
6 i) w6 |( w. P' L1 l5 {0 ptdfNew.Fields.Append tdfNew. _ * I1 W3 V, [. C7 |1 m
CreateField(array1(Count).TagString, dbText)
6 j3 F3 i0 V! ]End If 8 F- G4 k6 R9 g5 a3 f
End If , `, q/ p7 _7 }. E( m8 o3 @
Next Count . B' D* ]1 [& Q  n3 E
If Header = False Then
- M8 t1 D. ?( X5 zdbs.TableDefs.Append tdfNew
7 M: `: U/ V, ]1 v, ~: s3 u) V) XSet rs = dbs.OpenRecordset
* }! h* ?# k0 h! ~$ F, K% f2 f. i(“电气材料 _明细表”, dbOpenTable) ‘打开记录 ( ?& E9 }! ?, t& B' ]( o. C: B
End If 4 k) L3 i2 Q; Y. t
RowNum = RowNum + 1 & p. d  e$ D, ~  v8 B( H
rs.AddNew ‘增加一笔新记录
% O' ~6 {& k. lFor Count = LBound(array2) _
, k) K/ X$ R3 QTo UBound(array2) 4 ~# _5 r/ V* J$ o. g( p
rs(Count).Value = array2(Count).TextString
. N3 h. ~! P2 y$ w' O  b! E, {Next Count ‘读固定属性值
  j9 L% P$ g4 w! y! J9 SFor Count = LBound(array1) To _
3 Q% U) Z7 V/ S; j4 dUBound(array1)
3 q* ~( X9 O: e4 Q, ~' Y- W( z. Ors(UBound(array2) + Count + 1).Value = _ - R8 Y. S  C3 O  `
array1(Count).TextString ( |! p  G1 I" e/ j6 m% ]6 w
Next Count ‘读输入属性值
5 Y7 B! R& Y) y" e5 F! n4 vrs.Update ‘增加新记录修改结束 - b! ?: V0 U# u' z8 }6 X
Header = True % c) \# ]2 a+ y! ?% ^+ W5 P
End If : U1 ]  L! `: V
End If % l3 O3 h$ E- s9 |/ D* H
End With $ S3 ~# C/ K, g% |
Next elem / W1 P) T8 V# \1 l" _4 N- l
rs. Close ‘关闭记录,释放资源
4 C3 E) U# E, J2 _7 edbs.Close ‘关闭数据库,释放资源
& Y: g  s, i2 }8 ?  n$ }End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
& A& N& b3 m( h$ R4 q9 I' F5 r真是太好了
. [& K  e4 h- b7 p6 X. ]這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于|免责|隐私|版权|广告|联系|手机版|CAD设计论坛

GMT+8, 2026-3-2 05:10

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

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

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