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()
; L9 c' }5 |% R( A, C/ `; |# ZDim work As Workspace
! P$ R7 p8 D+ A- H0 FDim new As Database 1 G- ?1 X- ~* `- ~. N2 W8 i) L
Dim elem As Object 4 r4 n5 W& R) G2 M+ i4 z8 y6 l
Dim rs As Recordset & |& v2 r* D$ d" W/ `% C& r( R, V
Dim RowNum As Integer
9 X- ^! b) z1 vSet work = DBEngine.Workspaces(0)
( ]+ @$ D5 q2 b; {. ~7 EDim dbs As Database
4 q+ M& x9 H7 f( w! x* X1 yDim tdfNew As TableDef 9 @8 X' e8 D1 ~9 I
Dim tdf As TableDef
, N% _* o# X4 f( MDim dbsname As String / P( W2 F' y5 P3 @9 M* {3 \9 b" q; `
Dim array1 As Variant
7 |& U! v, g' i3 ~; aDim array2 As Variant ‘声明所需的变量及类型 & D# i  u- j: Y, D
dbsname = “D:\材料表.mdb” + F* f( b5 W5 c% r/ p
‘声明Access数据库写到哪一个文件 ; m' r( h) O3 i0 d3 p: p
On Error Resume Next
  L0 O5 w& b" P# y, jSet dbs = work.CreateDatabase(dbsname, _
1 |' A: u' H' V. Q& a+ Q9 OdbLangGeneral) ) z- f0 n0 {4 {4 O" P) z- Z
If Err Then
9 G4 C2 K) h$ B3 r# oKill (dbsname)
" c" j8 @( T% }4 `‘发现要写入的Access数据库文件已存在就将其删除 0 l: ]1 ]: ^9 W2 Z
Set dbs = work.CreateDatabase(dbsname, _ ) H- p- s/ \6 G- D# b
dbLangGeneral) ) R- H4 a; y+ k, e5 g) N" m$ p# K0 w
End If 9 X: G' u0 t% g! v) n
Set tdfNew = dbs.CreateTableDef
8 l3 ?2 {% v% f5 f% V(“电气 _材料明细表”) + I  R0 p& X" m5 C2 X9 G3 J6 }# i) q
‘建立一个名为电气材料明细表的表
, x: J! }) @9 [/ WRowNum = 0
/ ]% L! D/ C1 d" I9 g2 nDim Header As Boolean 4 `/ Q% O. i! l2 M. O0 _  a  g
Header = False 3 M+ u1 r/ n0 s
For Each elem In ThisDrawing.ModelSpace 0 m7 I" ]0 t6 v: G( f
‘在CAD模型空间,查找所有图形对象
0 Q- ?' I9 ?/ w$ eWith elem
- }8 N9 ]+ |5 d! U) A' kIf StrComp(.EntityName,_   O: ~1 A4 J% W7 e) P1 L. s  \
“AcDbBlockReference”, 1) = 0 Then
2 C! D# a) ]2 t" S- `. X/ WIf .HasAttributes Then * S8 P; @! k, E- K( ~8 w1 }5 L
array1 = .GetAttributes 2 d) T8 ?. x- h, K* Q' ^* f; T
array2 = .GetConstantAttributes # q( a5 n2 l9 F
‘设置array1指向图形对象的属性
, M9 B: ^* M8 l: G' a! w7 m‘设置array2指向图形对象的固定属性
0 B( k' r8 l: @0 k3 yFor Count = LBound(array2) To _ 5 Z' O; W6 P+ M; x0 Q" d9 }
UBound(array2)
3 ^( t, Z8 ]0 XIf Header = False Then
" M6 u: V+ r8 dIf StrComp(array2(Count).EntityName, _ ! }+ J# O) v. a" q  _& f
“AcDbAttributeDefinition”, 1) = 0 Then . _  I" N) u! e2 w- }
tdfNew.Fields.AppendtdfNew._ 4 r$ `' ^' i( u: S# z3 f
CreateField(array2(Count).TagString, dbText) ! Q: w% Z& A/ ]% Z. ^4 }
End If 1 X( y% }, i6 s4 F% T* k% [
‘读出属性值读出,作为Access数据库表的标题
: t5 l& _6 K* U6 G: [End If & p0 o2 P! |* A$ O' q
Next Count
+ R2 Y; X0 n/ X8 \8 `4 @7 _, w& G5 XFor Count = LBound(array1) To _
* K+ b' ^$ z' v; vUBound(array1) 8 I) Z0 b% i' {: m" W
If Header = False Then
$ Z, l5 P8 C& D+ z" cIf StrComp(array1(Count).EntityName, _ " O* Q4 I. B, |4 y
“AcDbAttribute”, 1) = 0 Then * v$ d+ w. i. b# R4 ~: d6 S
tdfNew.Fields.Append tdfNew. _ 7 J- G: w9 j; X- {) V
CreateField(array1(Count).TagString, dbText)
! @- Y, K' H. Y, W; _! \+ {$ ]End If
  W3 I& _9 m* B0 V$ |End If   g+ x6 {" t  _) Q
Next Count   P% r( _' G) i( E3 g0 i$ g0 u/ M
If Header = False Then / h& X; D5 S" \8 c* D
dbs.TableDefs.Append tdfNew
  V- N4 t- e+ `3 ]$ `1 Z$ DSet rs = dbs.OpenRecordset 7 T7 }% H0 p6 W+ S
(“电气材料 _明细表”, dbOpenTable) ‘打开记录
2 Y  J% D  N* W' F1 `/ UEnd If % f7 F7 T4 [, O+ ^
RowNum = RowNum + 1
  d1 @. P1 Y5 `* V& Q; x* Crs.AddNew ‘增加一笔新记录
% X/ d. d7 L) X" W5 a- ZFor Count = LBound(array2) _ - r# ~7 r8 N0 F7 X1 [' c5 I- L
To UBound(array2)
: L" k3 U9 P1 c+ |) \4 Trs(Count).Value = array2(Count).TextString - H5 D& s  h1 p8 j/ f
Next Count ‘读固定属性值   J3 V  {/ l% c# i3 v
For Count = LBound(array1) To _
' A8 p& w! R& d# B; V; PUBound(array1) 3 ~1 l6 W( [5 j
rs(UBound(array2) + Count + 1).Value = _ ! i1 N8 V4 q' A( T1 ]  l
array1(Count).TextString
# B) _" J) y% iNext Count ‘读输入属性值
' w* V1 R5 O6 ]; |! k3 W: srs.Update ‘增加新记录修改结束 0 Y) S6 M3 J6 d5 S6 z  B
Header = True 6 `3 \1 o7 w6 I  e) \
End If
, v+ A9 s8 C7 e- l0 V- Q& |End If
' g# \& Z/ y" a0 PEnd With
. \/ h) J$ ^2 `3 m2 m' uNext elem ) J( R2 E. w: ~; j
rs. Close ‘关闭记录,释放资源
, a- ~1 N3 J8 t, z. x$ s! t# `+ mdbs.Close ‘关闭数据库,释放资源
3 c9 m' }/ `. T5 ?End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
3 V$ t3 q3 F3 |. f8 C" B8 P真是太好了
4 T, C/ \3 w  Q9 O& i7 O! h5 x這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-20 08:45

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

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

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