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() ! `% Q+ c( ]1 ?! F7 G1 [, s2 H
Dim work As Workspace   R$ T" \( C! X) h. O
Dim new As Database
1 t5 h6 e1 W( W) N4 A! j1 d- N6 cDim elem As Object
" x1 v3 h- A$ XDim rs As Recordset / F" P/ X$ l# o; ~7 S
Dim RowNum As Integer
9 Q* d4 |) f  z% H2 l8 c& MSet work = DBEngine.Workspaces(0)
: E4 r, l! q" V/ L: X: |9 _Dim dbs As Database
: L3 Q9 R* Z1 d$ H$ |* _Dim tdfNew As TableDef
5 q5 Q# S& T" \- Y# KDim tdf As TableDef . |2 z7 @& [; L1 C+ l: Y( E
Dim dbsname As String
5 ^/ b: T9 P/ S! b$ y. s6 |: ADim array1 As Variant % R1 ~0 {) S6 l" i
Dim array2 As Variant ‘声明所需的变量及类型 ' O8 ^+ k2 R% ~- j6 r
dbsname = “D:\材料表.mdb” 7 q# S) x2 M( X# h
‘声明Access数据库写到哪一个文件 ! s% i6 h7 I3 D9 m6 I6 j) b
On Error Resume Next ' l* Z- b$ r! G3 S  V1 \& T% y9 H$ J
Set dbs = work.CreateDatabase(dbsname, _
' P* |$ I4 \$ U# x3 wdbLangGeneral)
3 c3 X% p2 G6 l% LIf Err Then   r2 a( e; k/ L2 q! A
Kill (dbsname)
8 h- O$ U2 a3 Y‘发现要写入的Access数据库文件已存在就将其删除 % q6 g9 T7 F9 N( I% B- ~
Set dbs = work.CreateDatabase(dbsname, _ 4 P/ r0 R5 @5 {2 u7 A  c9 Z+ g
dbLangGeneral)
7 w) @8 Q' G5 s5 i2 `End If 9 \; a% z% j* ^" N+ Q1 e( M
Set tdfNew = dbs.CreateTableDef
8 r: W6 X8 D$ A1 T- H(“电气 _材料明细表”) . e7 V3 ^8 W7 s9 s/ q6 I
‘建立一个名为电气材料明细表的表 ' s1 r3 O' Z9 T$ g
RowNum = 0
! s( P( N( A" v$ f! w2 {: ADim Header As Boolean
! s4 q4 R# T6 U, \/ WHeader = False
; Q& U$ k- n) cFor Each elem In ThisDrawing.ModelSpace
1 H6 v0 O/ }+ X3 \9 \% a" N‘在CAD模型空间,查找所有图形对象
- D$ v, Q$ D* O: XWith elem 7 [9 S! j  Z( d
If StrComp(.EntityName,_
) R  W. |; e4 o6 A5 i# e“AcDbBlockReference”, 1) = 0 Then 5 y6 M7 i) p# _" b9 J8 x
If .HasAttributes Then ) M8 b4 w5 W$ x# Q! g; X
array1 = .GetAttributes ) x! N- u; B+ `! f0 k8 T
array2 = .GetConstantAttributes
" K8 ?9 z7 F( L5 R7 r‘设置array1指向图形对象的属性
' C) N! c1 e3 e& M3 V‘设置array2指向图形对象的固定属性
5 S! D; Q% Q2 G" q* L+ k6 VFor Count = LBound(array2) To _
  `) c+ a, n4 R8 b( M0 O0 D0 y& UUBound(array2) " G' Z; B* |" o) q+ D7 n& k
If Header = False Then
5 r5 W. S1 s( ~$ ~5 j  f7 XIf StrComp(array2(Count).EntityName, _
; t+ T* Z- D" b) m, ~& ?“AcDbAttributeDefinition”, 1) = 0 Then
8 T6 {$ N$ v! Y( M$ ttdfNew.Fields.AppendtdfNew._
. e. ^$ K4 {; ]4 U2 N' c# eCreateField(array2(Count).TagString, dbText)
  n. b3 ]' ?) u8 AEnd If
6 U" ]: E* y  M- t) @/ L# o: z& k‘读出属性值读出,作为Access数据库表的标题
& v% |- u+ S! Q2 F1 ~* m, O% M9 pEnd If
. j# {- a/ l. u2 j. LNext Count 7 _2 v  S( x/ d' `$ F
For Count = LBound(array1) To _ % H& \* l+ M% W# |% F
UBound(array1) ) O/ {2 h  a: L; {$ ]
If Header = False Then 7 _" V! R/ H1 b$ x5 D1 E
If StrComp(array1(Count).EntityName, _
2 k4 ?1 {5 |6 Y* P, i" X! d7 s/ I“AcDbAttribute”, 1) = 0 Then 8 C8 ]7 g4 ]* q  Y3 L0 h+ ]- K5 d
tdfNew.Fields.Append tdfNew. _   |' r3 W! I! ]/ n2 S: t$ ^9 f
CreateField(array1(Count).TagString, dbText)
0 u  g2 V' E6 F( ZEnd If , {9 U  X, X# N6 r4 i: w0 z
End If
: x8 \. p: j, Y- INext Count
- a" i' Q6 u' v! a: V7 b( O3 ^If Header = False Then
! c( w7 M# {: K) ?( x! xdbs.TableDefs.Append tdfNew
7 t3 m. D$ s) E" r  O& sSet rs = dbs.OpenRecordset 2 K: _! j7 x3 w, i+ H) G6 M6 p1 _/ ?
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 " E* y2 n/ t* i, B
End If
) }6 ~3 G2 \" L6 C' \6 r* CRowNum = RowNum + 1
+ q  p. i# Y+ Hrs.AddNew ‘增加一笔新记录 9 |' r, z/ A. ?* h7 U
For Count = LBound(array2) _
) D2 E- F* `7 _. BTo UBound(array2) . L3 ]( H# P: I) x+ K% }
rs(Count).Value = array2(Count).TextString / f8 g( b4 a' p* z8 B: f8 v
Next Count ‘读固定属性值 ! p! O. P7 l* V
For Count = LBound(array1) To _
6 B% p( C1 h7 XUBound(array1) 7 B' G, j  d. C+ _; V2 X0 c% T1 X* W
rs(UBound(array2) + Count + 1).Value = _
! k. G) e' }6 O. D& sarray1(Count).TextString 5 _' B% O* @& b1 I6 K
Next Count ‘读输入属性值
* V3 K6 l' s5 Z4 q7 C7 Yrs.Update ‘增加新记录修改结束 ; ]. K( h9 m0 e
Header = True
% z* J8 A8 ^1 ]0 X6 [  ?6 M8 tEnd If 6 W( r) H# u/ y, j7 X" _% H
End If
4 L3 {3 v" }: j! G4 }2 A5 m% VEnd With   }+ o2 D/ r" b
Next elem 2 Y6 A, _3 j) X, ?; E
rs. Close ‘关闭记录,释放资源
7 r! x4 m2 t6 j7 edbs.Close ‘关闭数据库,释放资源
. y# \* s; j) e% uEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot' ]& ~  I6 m# e( t0 w3 S% n
真是太好了 & A) ?: n2 @" K; q; s3 R# r
這就是我要的 ^^
发表于 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 00:57

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

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

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