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()
' D/ G8 c  a- HDim work As Workspace
( ], U" M5 ?# j* ^# bDim new As Database
7 e- t1 L- g. F4 ]4 S0 }Dim elem As Object
2 q. q  _7 Z! R' N/ v: _1 ?Dim rs As Recordset ! v1 C  D$ \3 B5 r
Dim RowNum As Integer * l6 [; l& K) M2 d0 V
Set work = DBEngine.Workspaces(0) 3 f  X, f; F- c4 Z9 |: z* [
Dim dbs As Database # R; {9 v3 Y) R( ~8 y
Dim tdfNew As TableDef
- e( q6 H' I& t: X0 NDim tdf As TableDef
. j4 j- k7 Z& e6 G8 W3 E9 q! S! HDim dbsname As String ' j$ C5 ]! V+ v; F6 D  c# v+ k5 q
Dim array1 As Variant 2 M7 R6 r% P, A1 q
Dim array2 As Variant ‘声明所需的变量及类型 ' o9 i: E( A7 t4 I  ~/ r
dbsname = “D:\材料表.mdb”
; i  n5 i) Y8 ]% b( |‘声明Access数据库写到哪一个文件
0 `# A8 x- y' v/ ]On Error Resume Next
7 d# K, H. [, S: P4 E1 h8 ]5 cSet dbs = work.CreateDatabase(dbsname, _
1 o  ^9 D7 H3 c( E8 idbLangGeneral)
2 |# n+ j  ^( p+ Y. JIf Err Then
2 f) d' I4 c# m) r8 b* c5 HKill (dbsname)
0 Y  I. @2 V( ~4 `‘发现要写入的Access数据库文件已存在就将其删除 + n& u/ D' S! `$ _! @* K" X. x
Set dbs = work.CreateDatabase(dbsname, _
4 ^" p/ Z8 d( X7 ?0 WdbLangGeneral)
+ ?5 m1 p' h. UEnd If
4 G- M3 k0 ~- G: pSet tdfNew = dbs.CreateTableDef
* ]6 Y! w; o" `+ \# a& b3 k( \(“电气 _材料明细表”)
' }  F; R2 ?$ i# l' A6 t‘建立一个名为电气材料明细表的表 " ~( s, l- P( R6 O9 `4 O7 Z
RowNum = 0
: v- Y4 Z" @3 O- s" qDim Header As Boolean 0 k! u$ n  D6 x
Header = False 8 F0 u/ K0 p9 ]6 b1 c3 a
For Each elem In ThisDrawing.ModelSpace ) g* D6 ]4 T* @, g1 P7 i
‘在CAD模型空间,查找所有图形对象 % [7 Q8 }0 B: Y0 y+ t
With elem ! h4 E* Z& i# G
If StrComp(.EntityName,_ 6 Q: U2 E) W4 v7 k, a; ]; G
“AcDbBlockReference”, 1) = 0 Then
- C: o' v. c1 ~' m" nIf .HasAttributes Then
* C' _+ ]) r7 t/ carray1 = .GetAttributes - U1 S5 C* @$ G% [/ }9 z, n) E3 D/ W
array2 = .GetConstantAttributes / w" c) z" }; |# a/ ?# d7 i
‘设置array1指向图形对象的属性 2 f  @7 X! j6 [+ t' X
‘设置array2指向图形对象的固定属性
  ^- T0 k5 l* c3 |/ sFor Count = LBound(array2) To _
5 Y3 G. G9 c. Q% z5 o- M' |UBound(array2)
3 \% {% b0 B2 a- @If Header = False Then 8 q0 H+ v) P4 U% E# M1 w
If StrComp(array2(Count).EntityName, _ ! ?# z4 S# U, p: B1 \$ a9 |& n
“AcDbAttributeDefinition”, 1) = 0 Then 5 S( o8 ^+ j; y: z( a
tdfNew.Fields.AppendtdfNew._
! D4 n5 q) X7 h4 C/ hCreateField(array2(Count).TagString, dbText) 7 ?, O, ~5 l, Y8 ?9 V. r. p
End If , I% _! p$ o" }' c- N0 t
‘读出属性值读出,作为Access数据库表的标题
' T; e, k8 B% B% q% _End If
+ `/ z$ P: @# Y# |Next Count
$ d; X) t7 V( i# W  m# L' TFor Count = LBound(array1) To _ - U# ~( k7 B$ }" K
UBound(array1) ( |# t0 ?( h4 c9 O; d: S
If Header = False Then
2 Y9 O, }2 B7 d3 U, c  G2 HIf StrComp(array1(Count).EntityName, _ ) X5 @7 \! c' ]; ^; A
“AcDbAttribute”, 1) = 0 Then $ m9 A- A7 |5 L, }
tdfNew.Fields.Append tdfNew. _ ; G1 x- N9 x( N$ r7 E7 _, A
CreateField(array1(Count).TagString, dbText)
" c) h9 O; M* S- U  ?End If
% z# l9 F  a/ H0 G- C1 z- TEnd If
, V5 x7 e" @. N& tNext Count 3 n0 ~' u' L" {* U' {
If Header = False Then 2 O1 d  r7 D+ ]0 R# C/ Q4 `
dbs.TableDefs.Append tdfNew ! U% k& \- L0 P* O
Set rs = dbs.OpenRecordset ' }4 u1 ~2 ?+ I. r8 m
(“电气材料 _明细表”, dbOpenTable) ‘打开记录
+ V$ \( P0 W  P  k% Q. PEnd If , _: x! s. t, f$ H$ r; E* [
RowNum = RowNum + 1 ! ?: O8 ~0 x, t  q. W
rs.AddNew ‘增加一笔新记录
9 F# H( @* O; v5 g. eFor Count = LBound(array2) _
, x8 `( b' v2 H, z2 cTo UBound(array2)
4 }/ d) h, q- zrs(Count).Value = array2(Count).TextString
+ R" n0 I6 N! ]( o* pNext Count ‘读固定属性值 + d8 r. a8 z) v+ i3 q6 i
For Count = LBound(array1) To _ 9 f; {* Y% {2 [  u* r. [6 O& G
UBound(array1) & C" g: l1 C9 o$ ^
rs(UBound(array2) + Count + 1).Value = _
6 v7 w5 F( b2 b5 ~' Uarray1(Count).TextString
7 {3 I4 n- P; n, H0 I' j9 M# \1 @Next Count ‘读输入属性值
; R- |2 m5 B+ @/ Brs.Update ‘增加新记录修改结束
3 ?/ o# z! E' JHeader = True
, V" y$ `' ~' AEnd If
0 d7 `7 y  _, {) {4 `End If
, C( w+ ?0 `, @: L0 {8 }End With
7 C; x( }$ z3 W4 g" G: @Next elem , |) M) W. F5 |+ Z% i
rs. Close ‘关闭记录,释放资源 # _2 u$ N, _7 C$ b+ j; W& j; [
dbs.Close ‘关闭数据库,释放资源
) T/ U8 ?7 E# m: [/ ?End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot0 G2 C2 A: o( Y# F# R3 G
真是太好了
3 ]5 q& {! b% e! ~這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-6 16:58

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

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

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