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()
% v7 m+ C: s: }( S; D% o- ODim work As Workspace
5 E1 k+ G+ P" _; c" @6 E& m6 QDim new As Database
# J8 e/ {, N  Y7 [, u* _Dim elem As Object
( I$ _& [5 q9 T6 g' B* mDim rs As Recordset
2 _; p8 ?: e/ v; \" mDim RowNum As Integer
; R9 O( O5 b  F$ Y- DSet work = DBEngine.Workspaces(0)
) ^& W4 `3 c1 ]% A  y2 g/ wDim dbs As Database 2 U" X7 E, c% L7 F1 Z; ~
Dim tdfNew As TableDef
/ b5 O: A  y" b3 t# U' lDim tdf As TableDef 2 K4 _% Y. @4 E( N
Dim dbsname As String
1 Z( V) r/ |1 m" [: {7 ~3 TDim array1 As Variant
* ~% q# X$ o7 E5 A+ Y- mDim array2 As Variant ‘声明所需的变量及类型 $ e$ Y3 ?3 i; b
dbsname = “D:\材料表.mdb” 6 y5 N1 N) x# t  H# Q% X3 \! \
‘声明Access数据库写到哪一个文件 7 Q& V& b3 k! a. U2 ~  T6 W/ E
On Error Resume Next
/ f1 c2 M9 n. x: t: Q* Q1 f& R5 BSet dbs = work.CreateDatabase(dbsname, _
  ]8 \: y$ v6 @7 n6 m3 p/ S6 q( `$ kdbLangGeneral) ( t: e) p" u; m3 s. n9 @% [* T1 M
If Err Then 6 f* f8 S' S" W
Kill (dbsname) # v8 s+ U: k# M, T; r% L+ q
‘发现要写入的Access数据库文件已存在就将其删除 7 ^+ k& v8 J; u( c0 M& M
Set dbs = work.CreateDatabase(dbsname, _ 3 A5 K* r: H2 v! N4 d0 |8 J
dbLangGeneral)
2 o9 g: Z1 Y; l" k3 \End If % ~% e8 d! l: R) j
Set tdfNew = dbs.CreateTableDef + @% y, f! i' p: \; t  Q
(“电气 _材料明细表”) . J+ y# p" n5 w7 m% I
‘建立一个名为电气材料明细表的表
1 B4 x4 E8 C  \RowNum = 0
+ g% h' ^4 ]+ HDim Header As Boolean 8 I2 c4 f5 c2 J: V8 I0 v
Header = False 9 S: L9 \) x+ j
For Each elem In ThisDrawing.ModelSpace 5 I1 w5 P4 `7 b/ h" y
‘在CAD模型空间,查找所有图形对象
3 K. c  I* n% X- F" n  ?With elem : e! O0 q& L& \1 r1 f2 o/ H
If StrComp(.EntityName,_ % N. Z) j  |5 Q
“AcDbBlockReference”, 1) = 0 Then   r0 w9 d/ Y& A5 M3 m
If .HasAttributes Then
- i# m3 O: k/ e3 \array1 = .GetAttributes
# r/ ]: C+ q3 z0 X& J' z( Narray2 = .GetConstantAttributes % v# {0 u& k& w3 M. |& h3 h" F
‘设置array1指向图形对象的属性 8 u* O0 W5 F6 D6 f; g" n' p! C) q" W7 @6 R
‘设置array2指向图形对象的固定属性
! V' r8 S. X; i3 O: O" RFor Count = LBound(array2) To _
5 n& S8 y3 h5 S) W! n5 i8 UUBound(array2) & S3 P8 d: Q. m; u
If Header = False Then 4 ]% S! i) d, j4 j! m- D
If StrComp(array2(Count).EntityName, _
" b; G8 p# \5 I$ J0 K* E* _' ~“AcDbAttributeDefinition”, 1) = 0 Then + p0 s5 ?* b; x+ R
tdfNew.Fields.AppendtdfNew._ 2 F. k* r$ x, ^* F/ w% }
CreateField(array2(Count).TagString, dbText) 7 V2 D" r6 A6 C1 z, F4 l/ ?8 z
End If # S( R" _/ t9 E7 K0 P
‘读出属性值读出,作为Access数据库表的标题
) T( s# q9 y, y# j" k" tEnd If
3 j" L: H4 D% RNext Count ( O. D& P! Z7 e& h
For Count = LBound(array1) To _ ; W6 @4 i' @2 t( p3 ~2 e
UBound(array1)
  u# d9 x9 |4 lIf Header = False Then 6 u2 N6 m' N8 m7 F) e* U3 [) m
If StrComp(array1(Count).EntityName, _ ; [/ c# W! m' l) `
“AcDbAttribute”, 1) = 0 Then
: z& Z: y) Q, I2 L: Q. VtdfNew.Fields.Append tdfNew. _
4 s/ t. v, u8 h$ K3 U# TCreateField(array1(Count).TagString, dbText)
1 N0 {# B" D* \- Z) \0 {& K4 REnd If * N5 k' Z9 J# m& p- d/ @% v
End If
( g4 y, {$ j5 F5 F# fNext Count 3 c9 y8 s* u) f5 c2 k- q
If Header = False Then
$ P; c' N4 W% _+ D% I$ ndbs.TableDefs.Append tdfNew + X6 E/ u( L6 }8 z+ w
Set rs = dbs.OpenRecordset 3 }5 O/ C$ E9 D: }0 U) h
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 , X; Y9 s0 r1 t9 @: @
End If
9 [4 S. c5 V& oRowNum = RowNum + 1 ' R' l( J: o: Z; C" {0 ^, h- m
rs.AddNew ‘增加一笔新记录
  l& }1 x9 _' q8 ^% U( kFor Count = LBound(array2) _
+ g' W  m' A+ W9 S4 g$ \To UBound(array2)
: s3 A% L" S& @% E4 ^3 `rs(Count).Value = array2(Count).TextString
# l1 |- b/ z* Y/ m$ CNext Count ‘读固定属性值
: x3 ~2 u" k7 j. Z2 Y7 eFor Count = LBound(array1) To _
3 ~0 G& S9 W: P1 R& xUBound(array1)
( Y- W, J2 P0 W7 G4 Qrs(UBound(array2) + Count + 1).Value = _ # G/ f$ W3 x1 ]
array1(Count).TextString
, D! C8 W2 m2 j3 ~/ GNext Count ‘读输入属性值
8 r- M5 t5 f$ y: B6 H2 e2 M% w$ T! rrs.Update ‘增加新记录修改结束
  _( O1 k: n% p, |Header = True 2 W  T, _1 L1 q: C  J( U5 c
End If 5 e6 z' x, X3 e! D) v. M
End If
( R# [" E- z# BEnd With
8 S% ~: o4 v8 O" GNext elem : E! H, L* S/ N1 h9 E
rs. Close ‘关闭记录,释放资源
" ^# p6 H8 c' K/ ^1 ~dbs.Close ‘关闭数据库,释放资源
. L9 }, I' @' V8 s" C0 TEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
5 F% S, m; j! U) c9 G4 T( G真是太好了 9 C" w4 X, S3 f; Y* G* w9 x& K
這就是我要的 ^^
发表于 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-4 20:53

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

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

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