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()
. h3 p; V6 J9 A: SDim work As Workspace $ z. s3 `4 N( O; n" m/ O
Dim new As Database
% r3 Y# ?5 X9 Q+ `Dim elem As Object
4 g3 q* h9 S4 {6 u# VDim rs As Recordset ; g: [  P4 K2 F  F- X
Dim RowNum As Integer " R+ l; e3 y8 _  T3 {& W! W
Set work = DBEngine.Workspaces(0) $ q. k1 ?9 t" j) Y
Dim dbs As Database 5 |2 L( d1 |  D3 P
Dim tdfNew As TableDef
. D8 K" |% ^3 L, ~* |! p  CDim tdf As TableDef 6 x0 A9 [4 ?) ^9 f
Dim dbsname As String
) h/ m3 M/ d9 h- U! c& _- TDim array1 As Variant
: {2 E, |) X1 n4 zDim array2 As Variant ‘声明所需的变量及类型 - [7 H/ Z6 U: r/ F" R- c
dbsname = “D:\材料表.mdb”
5 D1 I( q, c2 {& Z‘声明Access数据库写到哪一个文件
  D. n" F: [' b7 }/ u* A7 yOn Error Resume Next
, X7 {2 n7 H( Y8 d# c  wSet dbs = work.CreateDatabase(dbsname, _
& p7 \9 B$ |" A/ {dbLangGeneral)
( a" h0 T2 R: `( E) iIf Err Then
5 q6 A& O9 @5 Q4 e1 [! }Kill (dbsname)
# _) c; \4 ?1 v6 L/ N‘发现要写入的Access数据库文件已存在就将其删除
: h7 ]; w* f4 i$ GSet dbs = work.CreateDatabase(dbsname, _ ' g9 a/ g0 f$ H) X
dbLangGeneral)
: O( B2 p5 A" `- B8 zEnd If
; U9 C& i0 g0 U+ }6 BSet tdfNew = dbs.CreateTableDef
9 f4 ^( a- U/ Q0 d(“电气 _材料明细表”)
& M( e5 H2 S2 \( l3 g, O‘建立一个名为电气材料明细表的表 ' e5 r7 o" f1 w" Q
RowNum = 0
& K. L# ]4 o/ M2 {) aDim Header As Boolean 2 U0 ~# G, q  m
Header = False + S) v8 R1 n3 M2 Y: Z
For Each elem In ThisDrawing.ModelSpace 9 k) l3 b( G2 ^0 v
‘在CAD模型空间,查找所有图形对象
/ ]$ b: P! G0 K& }( _) rWith elem 4 ~. I- D' T) `6 Q1 T. X0 S
If StrComp(.EntityName,_
4 ~. A* D) j9 D4 ]8 K0 V“AcDbBlockReference”, 1) = 0 Then / n0 H/ @& Z( k8 e2 N, J# Q" P
If .HasAttributes Then
( }1 Y( R8 ?0 Barray1 = .GetAttributes
5 d8 F6 [' }" @" Harray2 = .GetConstantAttributes & X7 N. t5 ^2 Y. [
‘设置array1指向图形对象的属性
4 r/ C( b  h. B- v9 b‘设置array2指向图形对象的固定属性 9 k: Z/ C) u1 `; p3 @
For Count = LBound(array2) To _
* S8 R" M: m+ HUBound(array2)
3 Q* o  d6 t( d/ Q3 RIf Header = False Then
6 T" _$ I/ T) z( D' K. xIf StrComp(array2(Count).EntityName, _ : k& ]' g0 x- r% c3 e8 u' Y
“AcDbAttributeDefinition”, 1) = 0 Then " s# v' c& m- u* ?! w2 S
tdfNew.Fields.AppendtdfNew._
/ b, d/ P* G  ]& fCreateField(array2(Count).TagString, dbText)
7 z/ ?7 J6 r- x+ S5 C1 MEnd If
/ D- O! j$ E/ G1 u4 G. ]" O‘读出属性值读出,作为Access数据库表的标题
  v1 `3 V; C8 V3 [8 |$ qEnd If ; X4 G  V# O; m( P
Next Count
, M1 W! t* Q4 e- u" _For Count = LBound(array1) To _
7 N) H1 Z6 g" n2 F" xUBound(array1)
6 z+ Z4 Q- f7 L" n4 m# ZIf Header = False Then 3 P7 ~* e- R9 ~* D
If StrComp(array1(Count).EntityName, _ 4 I( q3 x: }1 y
“AcDbAttribute”, 1) = 0 Then
' _6 w8 l" e) ktdfNew.Fields.Append tdfNew. _   g/ J9 c* s: F7 j# H+ R6 I) a
CreateField(array1(Count).TagString, dbText)
( s6 m5 J; D2 x; V, q; B3 \End If
6 K+ B% G' O) R+ @. AEnd If
: \. \& h; M2 l) [Next Count
& v# V- R2 C3 c# fIf Header = False Then . a% K6 y7 z5 b+ h4 K& P
dbs.TableDefs.Append tdfNew ! ?$ f! _' H! r$ O
Set rs = dbs.OpenRecordset
% o1 c8 |0 p$ W1 H(“电气材料 _明细表”, dbOpenTable) ‘打开记录
9 c7 `; o- ]; a* T) k/ ?; o* J5 PEnd If
/ S, @9 o; ^6 D+ ^$ X' ZRowNum = RowNum + 1
3 k8 [3 o3 |6 H: v  L4 U/ Ers.AddNew ‘增加一笔新记录 . T$ A- G& Y' L5 I' Q* t
For Count = LBound(array2) _
. v* _' b2 O' \' @3 ATo UBound(array2) 2 k% r5 O# M2 Q* U
rs(Count).Value = array2(Count).TextString
+ P; u/ I9 ?/ j$ O8 t0 I4 {! YNext Count ‘读固定属性值
) r; u4 t8 ]. m; Y3 d; MFor Count = LBound(array1) To _
4 c  K0 [4 L/ L5 \6 A  P9 d5 [UBound(array1)
2 G* f+ \& H* Z% Ers(UBound(array2) + Count + 1).Value = _
, W/ B1 A- h& B4 M7 ]array1(Count).TextString 6 D5 B! h+ J" m1 e3 }
Next Count ‘读输入属性值
9 D$ {# ^* P  B9 Jrs.Update ‘增加新记录修改结束 " {( l7 q% R: r+ t/ a/ t
Header = True . V- M6 a. c, h# c3 i9 a* w  l
End If 9 V8 Q" g5 t/ \
End If
  ]4 [4 a5 i" t/ }7 x% y: j6 QEnd With # \" m" \% y5 U" h. r
Next elem
9 L# h4 L. ~5 v* `: d( P. k, k% t' L- Xrs. Close ‘关闭记录,释放资源 / P: p" X. L; t9 O5 p% Q
dbs.Close ‘关闭数据库,释放资源
; h/ }7 I4 k. H7 N' x* jEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
; H4 g  K2 t  @) G6 d* B真是太好了 5 y3 x0 P+ y* s8 x, E: r
這就是我要的 ^^
发表于 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-27 01:40

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

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

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