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() - G2 S) R& W( }4 G! k) ~- X
Dim work As Workspace
. e7 R+ o8 J8 z- s- KDim new As Database " r- K4 }8 t, A0 y
Dim elem As Object ' a) R1 H: s; Q& l
Dim rs As Recordset
, g8 U, e# W# K; m( v2 KDim RowNum As Integer * H2 \0 T- Z: o1 v% n
Set work = DBEngine.Workspaces(0) 8 K/ G6 e; o7 ?8 v
Dim dbs As Database
+ x5 \; Y8 \& ~9 u" XDim tdfNew As TableDef 8 S4 a: Q7 f; N* F$ v+ X7 b
Dim tdf As TableDef   {5 B7 s7 P$ x# f, ]1 G
Dim dbsname As String
' d' Y' K& k: B" {( a" V  cDim array1 As Variant
$ }; S8 q3 [! N! K) dDim array2 As Variant ‘声明所需的变量及类型
$ H; i" E# l: }, g3 ]* ?4 Ydbsname = “D:\材料表.mdb”
/ K. l' S$ Y0 A, h‘声明Access数据库写到哪一个文件
5 y4 U7 @7 i' M& r5 t# p# W: rOn Error Resume Next ' k% e# h  C, J9 C1 c; J' z. \# ~
Set dbs = work.CreateDatabase(dbsname, _
) ^/ r, F* q/ o3 ~dbLangGeneral) 0 O" `. {& l! Y- j" u
If Err Then * a7 r7 Q' G  t7 t
Kill (dbsname)
% z, i( i' \! |1 a) K# C‘发现要写入的Access数据库文件已存在就将其删除 5 ]$ ~. U. p9 i
Set dbs = work.CreateDatabase(dbsname, _ ) v3 u; t2 i: ~4 E. z
dbLangGeneral)
" i# [" m. b- K; H: R( F* WEnd If
9 }: I4 r( v+ b# t0 W7 d  SSet tdfNew = dbs.CreateTableDef
" D) N' y  s  O1 S' U4 _% l" H(“电气 _材料明细表”) 6 P2 z* \# s" L6 k
‘建立一个名为电气材料明细表的表
$ n3 h8 Y7 P) z' F. Y  U1 b- }% VRowNum = 0 0 T( G) R" P% L8 W7 ~: a
Dim Header As Boolean : ~# r  L$ D& Y, D
Header = False
, h+ @" b! Y( w, BFor Each elem In ThisDrawing.ModelSpace
+ e& S! l. D! r8 x/ h‘在CAD模型空间,查找所有图形对象
) {. g3 @7 e; U) U) kWith elem 0 I# f& a7 V. P; {5 c
If StrComp(.EntityName,_
! P$ K% O- F$ F4 w! q2 [0 @4 I“AcDbBlockReference”, 1) = 0 Then ) X- ]# S! @) C8 F
If .HasAttributes Then 4 ^5 |/ _  o/ T4 y  N# X
array1 = .GetAttributes 8 p- H( j$ [9 l7 S
array2 = .GetConstantAttributes 2 p  U  \5 S" `
‘设置array1指向图形对象的属性
  |. a6 X# }+ }9 ]& y‘设置array2指向图形对象的固定属性
+ P7 S& X3 D& j. ~4 Q$ B/ j% ^For Count = LBound(array2) To _
! @5 o/ v; p7 q% F6 UUBound(array2)
, t* n4 w4 Y9 r" i8 u! t, B3 eIf Header = False Then
4 ^8 I) m& x0 ~If StrComp(array2(Count).EntityName, _ . k( c# s6 n2 F5 O
“AcDbAttributeDefinition”, 1) = 0 Then 2 {) p+ R& W$ A: z$ F9 k( ?: @* d
tdfNew.Fields.AppendtdfNew._
. W+ V2 s! \5 Y+ P: r' tCreateField(array2(Count).TagString, dbText)
! X5 |* Z- b% E$ ZEnd If
! |8 {; Q  _7 h6 l‘读出属性值读出,作为Access数据库表的标题
  T( [, \1 \/ ^, n3 \4 b9 d9 EEnd If
; Y; v% Q3 C3 \/ DNext Count , @  ], m2 Z4 ~6 j$ ]9 w
For Count = LBound(array1) To _
' [, ~4 ~% _4 u4 Q, M  {2 s; n+ UUBound(array1) / w  X( g: o9 v& }: y" t
If Header = False Then ) R4 _$ Y- [# h! ?0 y! t/ y
If StrComp(array1(Count).EntityName, _
4 P2 z2 s$ w* N: q“AcDbAttribute”, 1) = 0 Then
; I( O+ S9 l. |& d$ mtdfNew.Fields.Append tdfNew. _ & A% K  x" a" u
CreateField(array1(Count).TagString, dbText)
. y% O9 Q: ^1 E) E- eEnd If $ D- f+ }9 {- J( o: w" H/ Z
End If
( _) @3 z$ ?" K1 i. P4 fNext Count
! I0 h( d# L: H! {; @If Header = False Then ( ~0 O! G7 f* n* s& y
dbs.TableDefs.Append tdfNew 1 L8 \* Y, R: u' |" c8 ~) i
Set rs = dbs.OpenRecordset & K1 O- i$ e! F' a6 G
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 2 Q& H. Y9 \; [2 h- m& o- r& u3 F( C, _
End If
9 y7 q8 I% J2 C0 a; G& P7 dRowNum = RowNum + 1
& _9 ?3 _% x% H( H% `rs.AddNew ‘增加一笔新记录
7 O" \$ p1 U. q: c) f' sFor Count = LBound(array2) _ - ^1 ?9 ]' R3 V+ Y/ Q
To UBound(array2) " G. _1 \3 |, V; N5 m% O( f
rs(Count).Value = array2(Count).TextString
8 ?8 N" \: {5 M# p. \Next Count ‘读固定属性值 : k! A1 H, r6 t" o5 J( ]
For Count = LBound(array1) To _
4 c8 X- W8 f( \- pUBound(array1)
, u1 U% a0 _2 h/ e# x2 n( E3 d) \rs(UBound(array2) + Count + 1).Value = _ ' B  u: {% O& u; l2 S) {
array1(Count).TextString
4 E2 G! |) A; WNext Count ‘读输入属性值
) B# L9 {" i  {  @rs.Update ‘增加新记录修改结束 . h$ [% p( j: @% k  f
Header = True
6 @( W# r2 c) T. D+ \4 R1 m+ K, bEnd If % e7 j; z; \9 |
End If / Q3 L9 S  ~4 {4 N! L
End With : H& H3 F; N! ]0 y  f* T8 P- i
Next elem $ [% Z, a1 w& Y: J" S' L: q
rs. Close ‘关闭记录,释放资源
. ~) V) b9 r: ~4 I8 Z& E- Gdbs.Close ‘关闭数据库,释放资源
. @0 \9 B, n/ L  Q- @2 K+ MEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot% |/ N9 F; e" E  p
真是太好了
2 Q0 {1 |# @5 m- {' C) S8 ~( z這就是我要的 ^^
发表于 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-11 17:41

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

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

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