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()
6 }4 x" L3 }, s: f* H8 gDim work As Workspace
% D, J8 n0 G. P" ~) |+ FDim new As Database
& ?4 h* H! v& Z* O$ o! ]" lDim elem As Object
! f3 y7 E0 N: M+ Q' r  eDim rs As Recordset 3 r/ l  K! k# b: D$ d( B$ F/ B
Dim RowNum As Integer
: E- ]- g7 o" v; r! jSet work = DBEngine.Workspaces(0) 3 M  z) i/ g# H$ j
Dim dbs As Database
1 j; X3 @6 J2 I0 |3 TDim tdfNew As TableDef + z3 T+ R; i- B4 u" ~* a
Dim tdf As TableDef 1 [% b7 ~9 x1 _
Dim dbsname As String
: S9 ?# y  y& A+ D4 K4 B1 zDim array1 As Variant
9 ]6 D) J  G8 W* c- YDim array2 As Variant ‘声明所需的变量及类型
+ o: m; B& P9 |6 Q; H" `dbsname = “D:\材料表.mdb” 3 b: T1 {6 X, N0 n& }" Y
‘声明Access数据库写到哪一个文件
! U: h: x+ A; b  F+ kOn Error Resume Next
# V0 |# _: I' B& q5 y- |( i) ASet dbs = work.CreateDatabase(dbsname, _
$ W5 e5 W& o+ _4 }2 @2 ]  AdbLangGeneral)
" k1 |9 u& P) t& vIf Err Then
- Z, U; G  E, ZKill (dbsname)   v6 w& j1 V* z3 ?% b
‘发现要写入的Access数据库文件已存在就将其删除
& h9 _9 m% Q& m3 g4 T: N* GSet dbs = work.CreateDatabase(dbsname, _
5 P3 d7 t4 j+ n8 s% y/ wdbLangGeneral)
9 h. a! Y( B) y- LEnd If
5 D- m% n: _! b3 tSet tdfNew = dbs.CreateTableDef 3 a: }- s) ^  m- ]1 S7 T
(“电气 _材料明细表”)
( J6 Y1 q8 c! h* `8 _‘建立一个名为电气材料明细表的表
. g* E; a3 l3 \( X* _/ {2 e# h' {RowNum = 0 $ _' s8 P' i5 y0 y
Dim Header As Boolean
% L) W4 A* J4 T) U2 UHeader = False & f( e& L1 y  P6 R- w9 P% |0 F
For Each elem In ThisDrawing.ModelSpace 8 J  c' g; ^0 Y; c. E
‘在CAD模型空间,查找所有图形对象 : A! B* A& |" }2 G6 F/ p1 C
With elem
  Q) Q6 C! u$ _4 N' D& iIf StrComp(.EntityName,_ ; S3 A0 b/ P  _2 Z1 Q1 L4 m/ z
“AcDbBlockReference”, 1) = 0 Then * P' ?" L5 R8 x. C  h* A6 {2 p$ z
If .HasAttributes Then
. z3 P# _; d  {  H8 @array1 = .GetAttributes 5 ?) K/ G1 l2 T" U
array2 = .GetConstantAttributes   p6 ~  @" p5 M) s
‘设置array1指向图形对象的属性 : B; n' X1 z9 ?% w8 f  l7 W( r
‘设置array2指向图形对象的固定属性
' U. C8 q* L( t0 \For Count = LBound(array2) To _
* B4 p$ x2 @" v: M* W. \% o$ }- hUBound(array2) : m5 E8 X/ O4 B0 O
If Header = False Then , S( @; ^& x; L/ z$ _( v4 D; C
If StrComp(array2(Count).EntityName, _
* O, G; ~& o2 d5 U, K" o6 p# W  d“AcDbAttributeDefinition”, 1) = 0 Then
) Q, n2 z) n' c1 p: m. Z: f/ QtdfNew.Fields.AppendtdfNew._
! p( D& f  r: z. p) v3 S) W; r8 {CreateField(array2(Count).TagString, dbText)
/ t! s* @" f  m2 v6 }End If
- c$ C# f  E0 G( \- h9 ?‘读出属性值读出,作为Access数据库表的标题 % w: q/ K) w' L$ l1 L- _1 V
End If
1 t2 ]3 i2 I  q" h! j" |- _Next Count + ?5 B4 K+ W6 R4 o: e! C; E8 h
For Count = LBound(array1) To _ $ {* k- J8 @4 r5 p# @9 m( K
UBound(array1) & Y9 s: ^1 m  Q
If Header = False Then
" Z6 n7 w- r0 ~5 yIf StrComp(array1(Count).EntityName, _ # u* o: Q" o* ~9 Y5 T, ^
“AcDbAttribute”, 1) = 0 Then
, X  k. Z8 Q  }0 ?tdfNew.Fields.Append tdfNew. _
8 q4 `7 m/ Q& m3 ^* x7 kCreateField(array1(Count).TagString, dbText) . L9 }3 i3 I' E- \1 g( b( m1 |1 s
End If 2 Z! ~# Y- B/ R) q5 |+ h7 l' |; N
End If ) K+ s8 P4 o" v
Next Count 5 P) B: b) A$ A, E" ?; l
If Header = False Then & F* }: x- {- x* T  W
dbs.TableDefs.Append tdfNew . `/ r& s/ _8 E) b  ]$ g
Set rs = dbs.OpenRecordset
; G( d4 e% ?8 H+ [(“电气材料 _明细表”, dbOpenTable) ‘打开记录
* S. I8 i7 c& R! i- ~6 j( O+ ]8 ZEnd If
- R* q! P9 Q% W+ JRowNum = RowNum + 1 ' P! y3 P; w3 H1 y& o
rs.AddNew ‘增加一笔新记录 - @% z$ v, _# x3 D
For Count = LBound(array2) _
& g( U6 O7 L8 g  Q5 ?. j$ _To UBound(array2) ; C. G6 d# A$ O. Z
rs(Count).Value = array2(Count).TextString
; a4 S, E  ?2 {0 Q/ ^3 l' bNext Count ‘读固定属性值
, Z5 K* F# Z* h' XFor Count = LBound(array1) To _
# ^* l5 u( i/ o( g$ xUBound(array1) / G3 |$ i. m1 `8 t
rs(UBound(array2) + Count + 1).Value = _
) D9 ?5 i$ ]; {) S8 d; L% Oarray1(Count).TextString
  H$ z. D5 W$ |2 }0 R8 A$ ^- TNext Count ‘读输入属性值
& B3 w2 F$ }8 l; N9 p6 x% qrs.Update ‘增加新记录修改结束
) u5 Z4 m( w5 \2 nHeader = True 4 B' Z; o* N2 k3 W3 `% L
End If
* k% y5 y3 `, x9 ZEnd If - g4 O) V/ I, E
End With
2 l% L: b! A6 f4 DNext elem
& N" d' V' N* x, W2 D0 Q1 I* R( A9 J, crs. Close ‘关闭记录,释放资源
3 \; y3 T+ [) u% M" gdbs.Close ‘关闭数据库,释放资源 / v' r) F$ r2 ?- x
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
8 N9 I  \! _7 c真是太好了 - p" ]% M+ v2 V* ^, T! X7 I
這就是我要的 ^^
发表于 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-14 03:17

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

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

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