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()
+ }; M4 P& s. h( J$ f; VDim work As Workspace
& f  q0 P4 [$ j, ?0 NDim new As Database
, l" y1 l: q7 z2 xDim elem As Object
+ `" n  k% v8 nDim rs As Recordset
* r9 @( R7 P2 V) z6 ]Dim RowNum As Integer " b. D0 C, \3 ]1 s* q1 f
Set work = DBEngine.Workspaces(0)
$ p8 ~$ e$ p6 V; \5 {$ t& rDim dbs As Database
' d/ r( F3 c& h+ ~Dim tdfNew As TableDef
8 M7 A. x/ I" V% B- a, W0 |' q2 wDim tdf As TableDef
6 X: q2 Q% O) ?: b( GDim dbsname As String
& Z1 W+ ?- Z( b/ k: ^Dim array1 As Variant ) K9 p& Z4 O* P5 ^5 d
Dim array2 As Variant ‘声明所需的变量及类型 ; [$ i; E9 W, X, R- p7 c
dbsname = “D:\材料表.mdb”
# o3 `, H4 r' ?7 s" P- O‘声明Access数据库写到哪一个文件
: d0 o1 a9 y& C, Y% w* w- e) C6 `- YOn Error Resume Next / x1 S# {5 Y: U$ E: S4 _
Set dbs = work.CreateDatabase(dbsname, _
& U/ m3 ~4 V) q$ J. _dbLangGeneral)
+ N- ?8 q. {; K  e* t9 b' L5 fIf Err Then 9 Z5 F5 {( A0 c$ ]6 s# K
Kill (dbsname)
3 S% a9 i/ V+ ^7 S7 P‘发现要写入的Access数据库文件已存在就将其删除 ( G2 x! S' Q" N$ B  U; A) {
Set dbs = work.CreateDatabase(dbsname, _
9 }( [$ k' Y; j4 `dbLangGeneral)
) L7 T/ B, P' V) EEnd If
' H% m/ J' F$ F% cSet tdfNew = dbs.CreateTableDef ' M3 P1 o$ T+ E0 z" j3 K4 d
(“电气 _材料明细表”) ' H; j/ d2 C) F! B4 d, r- I( z
‘建立一个名为电气材料明细表的表
: a% `+ ~6 i+ c4 Y( FRowNum = 0
  Q/ j  j: `7 g8 JDim Header As Boolean
7 X+ n7 L+ L2 w3 H2 C* V/ q8 yHeader = False
. y/ I$ }( s8 _2 Y' @5 L& P0 yFor Each elem In ThisDrawing.ModelSpace ! }/ Y9 \% z% _" F* M% i2 Z7 I
‘在CAD模型空间,查找所有图形对象
9 i+ o' ~& \( [' g" }/ EWith elem $ K/ j- b8 A8 s3 R: r6 v
If StrComp(.EntityName,_ 8 R3 `" A2 X$ [6 ~
“AcDbBlockReference”, 1) = 0 Then 3 I. j+ d# [0 m& H
If .HasAttributes Then 6 f2 N$ P2 _1 R
array1 = .GetAttributes
; r- t( |5 O% J7 X! [1 h1 v: ^array2 = .GetConstantAttributes
- Q) C" g0 v" P' l3 B‘设置array1指向图形对象的属性   @' Q2 p! l2 [4 \/ u3 w
‘设置array2指向图形对象的固定属性 , S* I0 B2 p; s0 j# J4 `; u
For Count = LBound(array2) To _ 4 F7 Y$ {* ~+ j
UBound(array2) + `# f( Z/ E* Y
If Header = False Then
+ m: y6 a7 D9 v: v1 T3 |2 a2 F: X2 cIf StrComp(array2(Count).EntityName, _
9 s, g# {- Y% C3 O7 k' {2 y“AcDbAttributeDefinition”, 1) = 0 Then * F* D3 G- ~6 a$ J* m  v. E1 D6 F
tdfNew.Fields.AppendtdfNew._
0 ~# c; N. o( @CreateField(array2(Count).TagString, dbText) 1 f3 m( ~; ?: J/ S& n8 b
End If # W% m, r1 n. p2 o
‘读出属性值读出,作为Access数据库表的标题
5 I2 e' O! s' AEnd If
0 Q4 B( E9 w, K9 f/ ~4 g7 ?% JNext Count 8 F! J! x. p+ m* }
For Count = LBound(array1) To _ ( n/ v: U/ Q6 x8 X; i7 m) B6 j
UBound(array1) + H! x9 P; w; ]! O( |9 m: `" R7 A
If Header = False Then % j! n3 i  i7 q, v% {
If StrComp(array1(Count).EntityName, _ 5 Z! s  W% ~( T, Y. r. O
“AcDbAttribute”, 1) = 0 Then $ c6 O2 Q$ Z( q! a8 ]2 U# O
tdfNew.Fields.Append tdfNew. _
% a3 J2 _' C% W8 D- F. o/ _5 J- }! FCreateField(array1(Count).TagString, dbText)
2 g+ q9 s( b! c9 L% r4 cEnd If * Z/ z4 K& o; w( R4 E1 b
End If
7 h/ I+ C' B; z* @; JNext Count / C% i2 N1 E' d1 z9 p
If Header = False Then   ^: u# H+ a. l1 N! X
dbs.TableDefs.Append tdfNew
- B: C, L8 A. MSet rs = dbs.OpenRecordset
. L) p6 ^: F; t6 E% @+ ~3 |* e(“电气材料 _明细表”, dbOpenTable) ‘打开记录
3 b; W* H' ?: Y& ?$ }* }; I+ wEnd If $ \9 Y& l* S8 {2 l
RowNum = RowNum + 1
( u) H. |# C  q2 E% Krs.AddNew ‘增加一笔新记录
5 X- r0 {2 v5 Z9 @. |& Z' XFor Count = LBound(array2) _
# ^% T& M/ o0 I- E1 t. jTo UBound(array2)
9 }+ f& \6 m" c6 H0 _' U; Jrs(Count).Value = array2(Count).TextString 8 u/ _7 ^1 O6 {
Next Count ‘读固定属性值 3 T; v* q5 j+ t
For Count = LBound(array1) To _
( H7 I$ E- d. P) o, OUBound(array1) 1 q0 |2 l2 l. j8 _9 K" ]
rs(UBound(array2) + Count + 1).Value = _ # _* X1 u! j5 l; ]  ]! p4 Z
array1(Count).TextString
0 X' p( u' k6 h+ J  d' UNext Count ‘读输入属性值 ; Y. ~2 B; {7 `. w# H
rs.Update ‘增加新记录修改结束
3 @3 w$ ], J" K9 z, dHeader = True 5 G+ t8 W' _5 K/ X( v
End If
$ T3 U& R* \! N6 fEnd If
  w, I$ [, z  z5 }+ K9 T9 PEnd With $ j# Z0 k/ @7 H. O5 a
Next elem
4 a: @  h, O5 T7 F0 F  y" P" @rs. Close ‘关闭记录,释放资源 - k9 o4 y$ o: }: \3 ~% K
dbs.Close ‘关闭数据库,释放资源
# {# G% J7 Y* D# H4 j- i+ JEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot3 R8 d( V$ ]( P( a' J
真是太好了 , B- V( u/ X& J: p4 S3 l# ?
這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 19:28

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

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

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