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() 9 C% w! J, o0 _1 D. H
Dim work As Workspace
+ ~/ [: o1 M$ g7 j5 A, sDim new As Database
" n( V2 ~) m# i' E! r5 }3 LDim elem As Object
# e9 t( }5 I  H" tDim rs As Recordset 2 ?! t  j2 z/ Z# k2 W
Dim RowNum As Integer % }# ~! H! d1 ?7 i7 K# A
Set work = DBEngine.Workspaces(0) + Z/ @4 R! d' N  \7 G, x, o& }
Dim dbs As Database - P2 u/ R2 K8 C9 K& w3 O
Dim tdfNew As TableDef * [% y* Y7 y7 y* p* p
Dim tdf As TableDef 6 L  m0 |6 |2 s& D
Dim dbsname As String
; y) A5 v' i3 j/ bDim array1 As Variant
) q" w( S+ I; a* E  JDim array2 As Variant ‘声明所需的变量及类型 ( J0 [3 F6 j9 A) d
dbsname = “D:\材料表.mdb”
# n2 H- u; F1 L9 w9 B- m2 p‘声明Access数据库写到哪一个文件
; f, b4 k# P" [7 P, m. ?2 O6 sOn Error Resume Next
  S" K& W/ r5 ?- ]Set dbs = work.CreateDatabase(dbsname, _ 0 s" p% f- z/ g1 N. U" Q
dbLangGeneral)
6 N/ k  Q. [" UIf Err Then
/ n8 }6 w* z' B4 v: KKill (dbsname) ( F, y6 e. L7 \" q3 C
‘发现要写入的Access数据库文件已存在就将其删除
5 P6 ^! E! K4 |  ^- t' K0 nSet dbs = work.CreateDatabase(dbsname, _ 9 M+ z! I% F) D
dbLangGeneral)
" Q+ Z0 c4 X* ]; x( J; y  @. TEnd If
+ D8 i& O% e; ^1 N* kSet tdfNew = dbs.CreateTableDef 1 c5 A4 z( R5 P6 C) M- h5 {* R
(“电气 _材料明细表”)
: G, k) ?3 B+ D8 r) l3 ?‘建立一个名为电气材料明细表的表 " o$ R4 @9 Q% D7 v: V
RowNum = 0 5 L" \7 g2 v$ e. S9 m$ i% V
Dim Header As Boolean
# }" \2 Q0 ~8 v6 ~! x  OHeader = False
+ x+ F9 _+ H# f0 B9 TFor Each elem In ThisDrawing.ModelSpace 0 a+ L& {0 `) v! R) ^  y
‘在CAD模型空间,查找所有图形对象 " B9 W7 \8 y+ E. D0 b  S
With elem 1 R/ Y% i. q; _0 w5 U2 K' G: i3 U- f
If StrComp(.EntityName,_
# x/ f& u  K; n0 |, m/ [! R+ S“AcDbBlockReference”, 1) = 0 Then 9 K0 j0 ~$ `& T5 }
If .HasAttributes Then / Z' b) c/ M1 m. P8 M0 F0 D
array1 = .GetAttributes
  `- b) x1 k  X* g8 C$ aarray2 = .GetConstantAttributes
6 R2 j  P) C/ W* L* z‘设置array1指向图形对象的属性
+ Z& }" c7 b! e7 B% M2 X7 `‘设置array2指向图形对象的固定属性
+ d: r5 S/ k7 E& dFor Count = LBound(array2) To _
. ]# K  J- s- ^  J% p0 A5 EUBound(array2)
$ C& ~0 l/ i6 Y: Y: u+ |If Header = False Then " F; O" {! C$ |: }# b
If StrComp(array2(Count).EntityName, _
* m" Z# V! h' r9 h9 C  X“AcDbAttributeDefinition”, 1) = 0 Then
0 g( c/ |* N1 t) @  ]* CtdfNew.Fields.AppendtdfNew._
- i! u, O" u/ z  C: ACreateField(array2(Count).TagString, dbText) ) |$ K" E! k& j* V
End If
0 A9 Z/ v. S6 [0 H$ j/ M‘读出属性值读出,作为Access数据库表的标题 5 u6 m3 ^" A4 Q! h2 t5 a
End If
" Z$ p, q, y5 ~, r4 i6 A4 g9 y' iNext Count ) P) n9 i, M; }+ Q3 v* R! }' h* P
For Count = LBound(array1) To _ 5 q; y  v& l+ |. b
UBound(array1)
' e, B3 X8 C8 I" m* EIf Header = False Then * l+ x! x3 q7 y, J  X1 n* p$ c
If StrComp(array1(Count).EntityName, _
! O$ n6 l5 g  ^) y; x6 P* K8 x) x& h“AcDbAttribute”, 1) = 0 Then
& e9 Q4 D, |, J' L$ `+ l4 MtdfNew.Fields.Append tdfNew. _ / n3 h! l) e) t: L
CreateField(array1(Count).TagString, dbText)
4 m; Z7 ~; I+ ~/ U2 FEnd If 8 b9 W% ]/ A3 ?' ]6 h% H; p
End If
# s+ W5 d5 C! v/ V" I, dNext Count
; v* X$ P9 y& @  R7 ]9 `If Header = False Then
* M2 v2 D, I2 W" f; ^dbs.TableDefs.Append tdfNew
; G5 R* a$ o0 L: O# TSet rs = dbs.OpenRecordset
0 v. o7 z* x  G& n8 Y3 g1 |; Y(“电气材料 _明细表”, dbOpenTable) ‘打开记录
& ^* j% N. J! e- M: P5 q) m! OEnd If
3 O0 Q, o) b5 Z, e9 G- I& s1 l3 Z; PRowNum = RowNum + 1 ' O7 y* h6 L( m2 e$ B! T4 v
rs.AddNew ‘增加一笔新记录 ( [. y. V7 p+ E0 f
For Count = LBound(array2) _
' S9 I; y3 E1 e) N3 X2 dTo UBound(array2)
9 o/ l2 ~/ r! A* `3 R* H' Brs(Count).Value = array2(Count).TextString / |$ ^9 m* w% F5 r5 ]2 X
Next Count ‘读固定属性值 & F. w" T8 P4 G: \% K
For Count = LBound(array1) To _
, |6 M, o5 B* T" b; o; E2 i' eUBound(array1) : V8 d$ O7 e' K  M
rs(UBound(array2) + Count + 1).Value = _
0 ]* J; `3 v" barray1(Count).TextString ' k$ n% A1 M4 e5 u- X$ {9 d7 `
Next Count ‘读输入属性值
+ F& d% n8 t+ G' f1 n7 V) d7 Jrs.Update ‘增加新记录修改结束
& K- l1 ]$ b; h& UHeader = True
- x) i4 U- @0 Q  Y/ z) \% {End If
( s" F9 x& B; L+ M9 }2 c# JEnd If 7 ?& S+ N  h. H* s2 j6 e9 J; O$ S  H* ~
End With
( H% i+ n) q& \  INext elem
, B% }& M) \3 n) j! v/ c! q- zrs. Close ‘关闭记录,释放资源
* h) I! s0 U4 Q* c3 }) j# A/ Sdbs.Close ‘关闭数据库,释放资源 ! z( y$ M- n$ l0 P, W" ^8 s
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
) g; M, y6 C8 ?' R" ^- Q) [真是太好了
+ @1 `, g1 o) \5 ^& Y7 f這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-2-22 08:11

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

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

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