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()
! u% X; g: Z  Z( PDim work As Workspace
% l4 R; x/ @+ o1 C! L; @1 hDim new As Database 5 f6 g3 H$ {5 Y4 Z& ~5 H
Dim elem As Object
# V: r, ^, O2 _. J0 B& ]& T) VDim rs As Recordset ; m2 ~9 }: ]( I8 h5 k
Dim RowNum As Integer
: i+ @/ _9 t/ ]7 I( C/ iSet work = DBEngine.Workspaces(0) 2 p, V. n: M4 F$ w
Dim dbs As Database 8 |9 _6 I5 }! Q. V+ ^( m0 G9 p
Dim tdfNew As TableDef
" W- Y. K' U% _) E7 q2 NDim tdf As TableDef 3 L) D  v9 e, O$ V$ g8 C9 V
Dim dbsname As String
5 d4 |8 a* q$ B7 MDim array1 As Variant 3 F- U+ u- l1 E4 V4 C
Dim array2 As Variant ‘声明所需的变量及类型
6 Y% q, A( h- W- m6 M7 Pdbsname = “D:\材料表.mdb” , e/ V: q9 R% ]4 o" G7 o, r+ x: V% m
‘声明Access数据库写到哪一个文件 ' T, }* n- ^/ ]" S" w+ [, y
On Error Resume Next
- k5 _9 f# Z6 bSet dbs = work.CreateDatabase(dbsname, _ ( ?' }0 G6 }# ?( O% \- y* V5 p" x
dbLangGeneral) ) t3 }" ]1 h& ?5 q: v  h
If Err Then
2 k- ]3 P: p( u# N; CKill (dbsname)
' ^7 J8 ~) F7 i3 Y‘发现要写入的Access数据库文件已存在就将其删除
- ?/ F3 ~! I# I7 m3 ~# r5 {Set dbs = work.CreateDatabase(dbsname, _ ; S2 v3 f/ y  }" q" ?% M3 [
dbLangGeneral)
+ V$ f0 W0 W% x3 a. d; @End If 9 O) q# U0 J9 L. x1 [% r' m
Set tdfNew = dbs.CreateTableDef 8 [  ?& W3 _- Z) ?# N+ ?" H
(“电气 _材料明细表”) # E& a9 K" c5 m2 l5 S9 u" S
‘建立一个名为电气材料明细表的表 # N' l+ b9 W' C' b, j2 X/ d
RowNum = 0 4 m  S2 O6 V9 Y9 k" o
Dim Header As Boolean : {  `! \# x5 I( g! ]# X
Header = False
, q2 c; s" D: o9 m4 B' {For Each elem In ThisDrawing.ModelSpace 9 f. W4 m' _/ a7 ^+ P5 J9 f
‘在CAD模型空间,查找所有图形对象
  `# z+ N; ^; c& l5 S2 W4 V. BWith elem 5 G8 ^1 d$ A: w0 F* L3 B! ^/ P
If StrComp(.EntityName,_ $ L$ n% v" k6 z: z" E/ M- ~, ?
“AcDbBlockReference”, 1) = 0 Then
" y$ F, E+ l( o1 B9 @) R& F* MIf .HasAttributes Then
- j# P1 w; V, N& q7 f# w- \$ \array1 = .GetAttributes
! _* j2 y7 I9 q; b. {, Y6 e; ]array2 = .GetConstantAttributes * b* Q1 X/ _8 D' W2 g2 F
‘设置array1指向图形对象的属性
$ Y1 ?2 x5 i! ?! g8 c" d‘设置array2指向图形对象的固定属性
5 W1 ?# r, Y- @  E9 x- jFor Count = LBound(array2) To _   a" N. a" P* f+ ^* v
UBound(array2)
% x1 H7 b' i+ w2 \) A* @0 p5 I. U( BIf Header = False Then
2 m! g& n( v( t7 R& y5 {/ v4 A" vIf StrComp(array2(Count).EntityName, _ ( M* y9 U3 d! N. ^
“AcDbAttributeDefinition”, 1) = 0 Then
# A+ ^8 Z4 V' v- @tdfNew.Fields.AppendtdfNew._ . `0 w& s4 }! U" @- A4 i3 \
CreateField(array2(Count).TagString, dbText)
: R6 M- R  G$ J  eEnd If
6 b' x9 G5 K; z' Q‘读出属性值读出,作为Access数据库表的标题
3 O! p1 Y3 O( T8 w9 K2 bEnd If - c& T4 n, g/ L
Next Count + W: `! k4 k8 v5 |; T1 @0 @
For Count = LBound(array1) To _
4 x1 p3 ^6 g9 q# x* Z( pUBound(array1)
, p+ c) G, e% j# Z. k6 \4 d; b$ e  aIf Header = False Then ; J, C# f2 w9 `, G
If StrComp(array1(Count).EntityName, _ 5 H2 n7 D$ H# E4 |
“AcDbAttribute”, 1) = 0 Then
5 p5 n4 e" w* Q# U6 {tdfNew.Fields.Append tdfNew. _ # L& y. f5 A) B& \
CreateField(array1(Count).TagString, dbText)
, w( p) M( L+ ^2 E7 \End If
3 X7 z) M9 L& x7 Y, JEnd If
; D: P9 e4 b0 R: YNext Count
1 Y& w* o1 d0 @) w) Y8 @If Header = False Then
* w/ c5 B8 W( L$ }! ydbs.TableDefs.Append tdfNew ' [) R" G0 ~! ^  ?/ b) _
Set rs = dbs.OpenRecordset
6 D- s5 l! |, n+ O' @: q8 t(“电气材料 _明细表”, dbOpenTable) ‘打开记录 - M9 a) c; B" I! F3 r/ k1 u+ z
End If
2 }$ V% E& e+ E/ l: zRowNum = RowNum + 1 8 U; _" K8 a) m* H# M
rs.AddNew ‘增加一笔新记录
8 k9 |- G) M' `8 J! wFor Count = LBound(array2) _ 0 P2 j9 U$ G( L" {' m
To UBound(array2)   h1 z; z- p- D, I
rs(Count).Value = array2(Count).TextString 6 e' W9 U% d6 l3 o- u  B+ ~# V
Next Count ‘读固定属性值 - i5 n7 b. @: h7 R' U6 h# o
For Count = LBound(array1) To _ . I- n+ \$ o# Y  Z
UBound(array1) ' F( [) k% ^* S% @+ b; t. B
rs(UBound(array2) + Count + 1).Value = _
0 n" P, y6 P+ ]/ K% |7 D6 B( o3 y7 warray1(Count).TextString
' y5 U( `3 `1 `' Z1 wNext Count ‘读输入属性值 , X1 j  g# d+ b' t
rs.Update ‘增加新记录修改结束 8 e$ E) s! Z7 J& i7 V' P2 Q
Header = True
2 h8 d0 }- Y; M  q( g! F, vEnd If 5 F6 ~8 b) e4 y- a! ]. p* n5 W8 C
End If * \' A" \6 m* b
End With ; b. E; I6 Q! |3 S- b
Next elem
" R+ X1 X/ b0 c( o$ ~9 A6 Ars. Close ‘关闭记录,释放资源 ( |; m5 u5 H0 |
dbs.Close ‘关闭数据库,释放资源
* J- z' `  h# Y  U! Y1 [End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot# p8 E0 p4 t  s$ ^( ^
真是太好了 & K3 O4 w& c: y% n0 C
這就是我要的 ^^
发表于 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-13 15:44

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

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

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