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()
9 }. @* M4 L1 e2 j! M. [Dim work As Workspace   ]# O8 P* k1 q# t; g& @
Dim new As Database
& y3 L- w$ s8 J" {' u2 ^+ L- lDim elem As Object
! X  t/ [* {/ z% b. `Dim rs As Recordset
# ^+ d  X4 P0 C( FDim RowNum As Integer
8 e0 c2 o/ u% I7 W) X$ \Set work = DBEngine.Workspaces(0)   [3 K4 m1 [, F$ T( \6 F7 ?
Dim dbs As Database
: i, C4 m) F  Y" x) WDim tdfNew As TableDef 1 ~8 `: `; G) S' s" j* P0 r! ?  V
Dim tdf As TableDef . N" p+ Q" a2 P1 @
Dim dbsname As String 5 N0 |, b# `* T+ l$ \+ Y6 u' j
Dim array1 As Variant 2 o. B9 O2 A- r7 ^$ n$ o; S! }
Dim array2 As Variant ‘声明所需的变量及类型 1 q9 E5 o3 c+ Q: c
dbsname = “D:\材料表.mdb”
3 Q0 O( ~; {: s6 R$ @% ^4 t‘声明Access数据库写到哪一个文件
* B+ ~  k8 Y/ EOn Error Resume Next   y7 z. A3 @1 I
Set dbs = work.CreateDatabase(dbsname, _ 8 j5 ]" d8 c; h0 C- a- e
dbLangGeneral) 2 S0 R- C' _3 S8 J$ R  D- f
If Err Then
: k4 D8 ]  n6 m9 j4 rKill (dbsname) . P5 z4 Y+ A; `& c" b
‘发现要写入的Access数据库文件已存在就将其删除
4 w0 x/ p: T3 r: pSet dbs = work.CreateDatabase(dbsname, _ - j9 Z; ^& a9 I; x
dbLangGeneral) . |+ O" o1 [. p* f  ~3 q+ E
End If - I: y) @6 Z- H% o
Set tdfNew = dbs.CreateTableDef . N% s8 V% u. W6 v# w# F5 z! v
(“电气 _材料明细表”) 0 k+ O2 B9 N( M7 O
‘建立一个名为电气材料明细表的表 & o- k! g$ l0 r; b" M6 n9 a; S2 g# l
RowNum = 0 * Z) f9 s1 \& ~5 C6 ^% ~( `# C
Dim Header As Boolean
& C% \, T8 [" `# `Header = False ( r3 h/ x7 v8 O% I7 M6 s
For Each elem In ThisDrawing.ModelSpace 1 R; D$ D5 k$ }4 w# [( K
‘在CAD模型空间,查找所有图形对象
, Y: K% f( B& j* q" A# r  lWith elem 7 U* n1 I: v( M
If StrComp(.EntityName,_ " B- c1 j7 c; S8 ^; D& W; D' T% _
“AcDbBlockReference”, 1) = 0 Then
- L7 ?* `* r: ^+ I' N: V4 hIf .HasAttributes Then
+ r2 c' y5 k6 _) P+ jarray1 = .GetAttributes
6 T5 d/ P) w4 _/ x  parray2 = .GetConstantAttributes
5 A, A6 b- ~7 N. z/ `‘设置array1指向图形对象的属性 6 J9 _" w3 U  k: R' h' a- r- o
‘设置array2指向图形对象的固定属性 0 U" f5 F9 R4 U  C7 q
For Count = LBound(array2) To _ ( C$ A* b; @  p( `  ~5 K; {
UBound(array2)
; [7 N  r7 a' F& v2 XIf Header = False Then
- H+ X0 c0 A& e, H% \3 rIf StrComp(array2(Count).EntityName, _ % v, t3 a! f8 G
“AcDbAttributeDefinition”, 1) = 0 Then 3 y/ a7 |# M' ]4 X5 b0 v# B0 B+ Y+ M
tdfNew.Fields.AppendtdfNew._
$ u3 j  ~2 n; C" i# M' M& T' lCreateField(array2(Count).TagString, dbText)
; R. O( O7 e' XEnd If
  J* b7 l! V% w. v‘读出属性值读出,作为Access数据库表的标题
% B) ^& E) g6 T1 O/ HEnd If
, }4 S8 V8 `/ c" L) D' kNext Count
: Q; r6 c& A7 _9 u  l1 ~  ^# qFor Count = LBound(array1) To _ " l4 [6 N2 i2 H' S- W$ I5 J
UBound(array1)
8 r' v: ?) w0 Z6 F" n  @5 iIf Header = False Then
, M- G  u' z7 t# L5 eIf StrComp(array1(Count).EntityName, _ 8 y. W& N7 w0 W: F
“AcDbAttribute”, 1) = 0 Then
' R9 r: {. ]; a' otdfNew.Fields.Append tdfNew. _
& E; L+ {5 g0 l6 W, }& v" C" s, }CreateField(array1(Count).TagString, dbText)
4 G6 ?/ a+ a0 C7 dEnd If
3 G! _$ v! k" w. q# Y: o3 h, YEnd If : \( {5 ?0 R7 e  t: N0 r3 J
Next Count
8 [+ E8 u4 N! R& p% xIf Header = False Then
' z& a' m2 z3 R5 @# u* Edbs.TableDefs.Append tdfNew
( R, q. K1 q" r4 F8 ~' ySet rs = dbs.OpenRecordset
6 @& ]# N* J9 I' M$ \9 G; C) r3 I(“电气材料 _明细表”, dbOpenTable) ‘打开记录 ( P/ ?- z$ l/ Q& H7 Z" D
End If : K. J0 x" \# |7 {# c. o9 l
RowNum = RowNum + 1 1 B/ H2 n( |3 ]: a; [9 D0 l7 H5 C
rs.AddNew ‘增加一笔新记录
& M. A, x0 r+ P. Q3 jFor Count = LBound(array2) _ " Y) z' ^. g  B+ Z5 \' p6 O
To UBound(array2)
( t  o3 R5 ^# d- ?3 ?rs(Count).Value = array2(Count).TextString
+ S* ^9 p( K1 d% j+ JNext Count ‘读固定属性值
9 A7 ]9 G- d: R5 e1 aFor Count = LBound(array1) To _ ) l# V6 v; z& K, v
UBound(array1)
$ E4 T3 M. ?/ s6 m# K0 y2 W% O/ t% W5 |rs(UBound(array2) + Count + 1).Value = _ . o; o0 |2 H+ y& `1 V7 l0 S* f2 C
array1(Count).TextString 6 p( ~( e/ r' ]) H
Next Count ‘读输入属性值 3 Z* w$ j; W# ?
rs.Update ‘增加新记录修改结束 9 y2 Y  ~. }  Q& F  ~. k& y( Z
Header = True ( p, L' Q  W7 K
End If
% c1 u) \, g1 N/ i4 ^4 P, wEnd If
$ Z" x! H9 {& B5 F! s2 Z4 k0 dEnd With
! ?$ ~" S7 T/ T9 T: dNext elem
- ?' I# R  d% Ors. Close ‘关闭记录,释放资源
0 }( c. |; E0 ~  Q9 I. k" Gdbs.Close ‘关闭数据库,释放资源
- R. A% V. V8 u$ H2 T! ]! c2 YEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot% r( Y" Y. `6 c% @! {
真是太好了
% P. D, b; `8 Y3 a這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-11 09:49

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

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

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