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() 2 }$ y' o+ V" d2 }8 V) k! X1 W
Dim work As Workspace
- n/ ^8 s2 w! l# ?, T$ rDim new As Database 8 T; {& U( ~, j$ z+ h" Y
Dim elem As Object
5 y  b5 y4 D6 n4 XDim rs As Recordset
! O2 Y" i4 [# f% D$ \Dim RowNum As Integer
/ X- P" \4 b; g. N0 mSet work = DBEngine.Workspaces(0) 8 d1 Y7 l- ?$ d  i% h+ _4 Z7 z
Dim dbs As Database * z7 a  O2 B  J! J( a& ?$ D
Dim tdfNew As TableDef
6 Z* y/ m- O/ k/ g5 r, [Dim tdf As TableDef
! I# k: T9 y/ ?. t6 [. sDim dbsname As String
4 H0 i7 T7 J( H3 JDim array1 As Variant   M( ^, ?# Z( x! h9 a* p
Dim array2 As Variant ‘声明所需的变量及类型
$ H- ~  m# Y% B7 ^$ b+ w- sdbsname = “D:\材料表.mdb”
2 ?9 k4 `5 ?: y( @4 [8 G. U# M‘声明Access数据库写到哪一个文件 : m  m* H3 m( L  e8 `
On Error Resume Next
5 b/ n+ R9 k. M% A6 uSet dbs = work.CreateDatabase(dbsname, _
+ }0 K6 g' B) V# SdbLangGeneral) $ L/ M8 _4 i8 D
If Err Then 3 O( u* S* i2 Q) Y
Kill (dbsname) ! M1 g9 n) B8 ~: q# ?% I
‘发现要写入的Access数据库文件已存在就将其删除
( ]( t9 d, r- o8 TSet dbs = work.CreateDatabase(dbsname, _
- c& e' `  q8 C0 pdbLangGeneral) ) s# E& Q3 I  N# R
End If 0 \8 r% I, ?( c: l0 }
Set tdfNew = dbs.CreateTableDef
4 w+ x( r! s& ?6 z0 ~(“电气 _材料明细表”)
9 u0 {3 U7 V5 a# s( {‘建立一个名为电气材料明细表的表 : t, \) E- x# q* l  _
RowNum = 0 / L) A" c0 n+ x: n
Dim Header As Boolean $ H6 S; a, i+ ?1 C" P& ^# c6 y
Header = False
. H0 I" N3 \. Y/ R- z7 d5 q! S) OFor Each elem In ThisDrawing.ModelSpace
4 z2 N( I' w3 l" g‘在CAD模型空间,查找所有图形对象
) g2 ?& a: Y" d$ V/ a: Q/ r0 A% ?With elem ( W* Y3 J. U' N( |. G
If StrComp(.EntityName,_
- d$ w4 a; b' U5 v“AcDbBlockReference”, 1) = 0 Then + V4 L; ^* H, Q
If .HasAttributes Then
- ]4 O4 _" @/ }: zarray1 = .GetAttributes % \) }+ C; H7 i
array2 = .GetConstantAttributes 8 ]* R) N5 O0 C" |9 _  c3 w$ Z
‘设置array1指向图形对象的属性 ) Q( h2 d# [7 v
‘设置array2指向图形对象的固定属性
2 r& {5 G4 G& ^' s4 qFor Count = LBound(array2) To _   N1 U' V. q3 ^8 g( d# E! u
UBound(array2) / d9 e4 a& q9 U' d. m/ {
If Header = False Then ' `/ |# I) U5 g- A9 T! s8 y4 P
If StrComp(array2(Count).EntityName, _
& h% e- \7 H! ?1 \9 \& a“AcDbAttributeDefinition”, 1) = 0 Then
' ?/ ?7 a* d% `tdfNew.Fields.AppendtdfNew._ ) Y6 |3 F8 z* H' v! ~7 k
CreateField(array2(Count).TagString, dbText) 4 p% L: _2 I7 J, n
End If
8 Y: f" t& y( g9 u+ w! L9 f& _‘读出属性值读出,作为Access数据库表的标题
# ?6 `0 a' }8 u/ f0 w0 lEnd If
* \2 @- [1 A& j" e" [) rNext Count
* L3 `5 K! y: X# s' jFor Count = LBound(array1) To _ # @) E9 _3 _6 O/ Q; |
UBound(array1) / Q, `9 W8 }& d/ N- Q3 n% j
If Header = False Then
9 X3 R% g+ L3 p. q: w, P* m2 LIf StrComp(array1(Count).EntityName, _ 8 I, ~: `7 b' K" h5 M
“AcDbAttribute”, 1) = 0 Then
% D/ p: J  R) W7 N1 m9 BtdfNew.Fields.Append tdfNew. _
* J2 ?+ N1 q# G' qCreateField(array1(Count).TagString, dbText) $ D* m, {' F% A$ h# U5 N
End If
2 g8 z& J4 V: @! l( tEnd If   ?7 }1 N. Q1 `% T0 n$ W
Next Count ; O' R- U! e/ o' `6 r
If Header = False Then ! [, v& c3 K! q
dbs.TableDefs.Append tdfNew
; G, I4 H0 N. [8 fSet rs = dbs.OpenRecordset
" m( i/ b; P* h/ |% @8 F. f4 P(“电气材料 _明细表”, dbOpenTable) ‘打开记录
' `* @9 k- z1 A8 y; UEnd If
9 }* e6 N% {' I& _+ TRowNum = RowNum + 1 0 N3 z. N% T- F: y5 y2 s4 n( }& l
rs.AddNew ‘增加一笔新记录
3 i% b1 |4 L; D( a9 N- \4 p* pFor Count = LBound(array2) _   v+ D4 G* K* S/ X9 v: F
To UBound(array2)
1 I4 ?7 c! x, n9 D3 ~rs(Count).Value = array2(Count).TextString
5 ]$ h" d- i6 H# w, p/ vNext Count ‘读固定属性值
5 C" ]) P6 U; ]# _, FFor Count = LBound(array1) To _ # ~, k8 E9 f5 E5 h0 M# y& `, U  \
UBound(array1) 9 y, _  U0 ^; I# k
rs(UBound(array2) + Count + 1).Value = _
; l% c3 Z/ I8 |1 R; i# _  n8 h; warray1(Count).TextString 7 I9 t2 X, C; ^2 I8 V6 K0 g0 `
Next Count ‘读输入属性值 ( e1 i( x7 b3 i! I/ k+ E3 h
rs.Update ‘增加新记录修改结束 : M! C7 x+ n# C! s- X( y5 V, s
Header = True 9 l5 t; w3 v9 S, ^, ?4 T4 H0 }& Z
End If
3 W  v1 E  b5 W5 p4 EEnd If
0 Q% D/ h0 J6 Q* h$ d* aEnd With
" o5 z9 G( A* z! yNext elem % ~' Z+ |3 ?, j2 x# p2 m
rs. Close ‘关闭记录,释放资源 & T. j8 e1 {; G! _
dbs.Close ‘关闭数据库,释放资源
8 `/ h- h3 L. VEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
) j0 `2 R6 Q- w* X; r1 V真是太好了 6 L' }7 \4 W" l) Y' |0 l3 U$ d3 ~
這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-3-3 03:06

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

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

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