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()
- Y4 ^# P1 h! `, ?# v7 S9 ~5 B: IDim work As Workspace * {3 D+ s+ O; N% t- O- [, D# ?
Dim new As Database / n! y2 f9 {+ Z; U# p. W4 Y
Dim elem As Object
3 g! U: k% j  Y& z! }Dim rs As Recordset , i& F: C' U5 G
Dim RowNum As Integer . S% e7 _) W" B. L# P
Set work = DBEngine.Workspaces(0)   M" y5 n  C7 }
Dim dbs As Database
/ n1 @+ H# f( y- w" e/ p; ]Dim tdfNew As TableDef
' f* ?* {" q. WDim tdf As TableDef
9 G1 \% A( @& _+ d9 `& MDim dbsname As String 8 i! A+ \5 [6 X" H6 k4 i
Dim array1 As Variant 3 N) W9 d  a; @- ?; G
Dim array2 As Variant ‘声明所需的变量及类型 ) L7 x4 I( h( v% D. w, v$ G0 `
dbsname = “D:\材料表.mdb”
- }. W; y6 R" Q' ^0 l‘声明Access数据库写到哪一个文件 ! X4 |' Q/ [% U% @) Z& I: P: y/ {# G; e& ]
On Error Resume Next # z/ C" }1 e, o( i" I, |: P* n2 }0 E
Set dbs = work.CreateDatabase(dbsname, _ ) R5 l$ |! l. w( o* d
dbLangGeneral) 8 I7 p- F/ t% J7 H1 `$ C/ Y
If Err Then 5 Z/ S- @' p6 D; U# f% n; h: M" }
Kill (dbsname) $ ~/ ^4 Z" d0 t  `7 {
‘发现要写入的Access数据库文件已存在就将其删除
4 j, a! a$ x" e8 C- t0 m) v8 iSet dbs = work.CreateDatabase(dbsname, _
# f9 U) I- ^! J* |. |dbLangGeneral) ) k) X  E" Z/ j! |
End If
# r0 q, c0 L& b) wSet tdfNew = dbs.CreateTableDef . d4 r6 k4 P6 _
(“电气 _材料明细表”) ' }1 t- @* p  I8 Y# Z$ ~% R; m
‘建立一个名为电气材料明细表的表 - h! s6 e6 A  W5 R* b6 `2 i  I
RowNum = 0
  [$ r- ?  A* D, @/ ^$ eDim Header As Boolean
, V2 k  ^* h  r1 dHeader = False
) B1 K& d5 R4 q7 p4 XFor Each elem In ThisDrawing.ModelSpace
5 A5 H9 l* y3 j+ L+ _' l‘在CAD模型空间,查找所有图形对象
3 `6 B6 g+ M. a4 ~) K9 I/ _With elem # u" N+ S$ }: P
If StrComp(.EntityName,_
# Z3 H( Q( o8 a' a$ i“AcDbBlockReference”, 1) = 0 Then
6 W0 W# u7 G; VIf .HasAttributes Then
: {, S- `& Z9 b- ^' ^  F  `array1 = .GetAttributes - j( n% U/ G, ^- S, c
array2 = .GetConstantAttributes
7 H5 L* e( Q' m3 v* Z# G‘设置array1指向图形对象的属性
+ `3 [: Y0 ]4 |2 p1 F) ^‘设置array2指向图形对象的固定属性
$ V- l1 K; K5 D3 H* B' a) zFor Count = LBound(array2) To _ ( ]3 [0 W/ c7 ^5 G
UBound(array2) 0 W  B, B  @7 ^( j$ s2 S
If Header = False Then
) K( O; G; l; I& `- ?If StrComp(array2(Count).EntityName, _   D1 V$ N+ G" [& c5 f0 v
“AcDbAttributeDefinition”, 1) = 0 Then & X+ J. a+ O; z+ \0 ]/ o( g
tdfNew.Fields.AppendtdfNew._ ! T* _0 |% R1 L, e  M" B
CreateField(array2(Count).TagString, dbText)
4 @/ [: T( X6 E# `! P0 `3 ]' BEnd If * G: m4 e+ p4 y  F6 M
‘读出属性值读出,作为Access数据库表的标题 4 A$ D6 V7 |, H& D5 {
End If
1 k- M( p9 ^8 \8 k/ n3 b. {/ qNext Count / L- K* J  ^* W# m6 K" ~
For Count = LBound(array1) To _   w  O! m0 B" f  T; J% j# x! L
UBound(array1)
5 J$ b6 T+ e5 w& E; p! t$ N) Y5 IIf Header = False Then ! h8 x" H( ~- H# f3 T3 }( }, ~8 d
If StrComp(array1(Count).EntityName, _ $ L3 @" L# [' D2 ]$ _
“AcDbAttribute”, 1) = 0 Then
# @; ]6 o$ r5 [- F7 LtdfNew.Fields.Append tdfNew. _ * j+ a( c, ]) l2 Y  }/ O4 L2 k
CreateField(array1(Count).TagString, dbText)
3 t1 ~% h8 E9 v+ k( NEnd If + x2 X& S' |1 r" J6 ^" E' F% j
End If
/ {$ P' \8 l; W% eNext Count # I. {- i5 U  r! y# N. @1 ]
If Header = False Then
+ z# z( P+ Z3 |, E! Z# [dbs.TableDefs.Append tdfNew
( L* S  @, P4 o+ e5 S, }0 YSet rs = dbs.OpenRecordset
  D& K; N* o! ^5 ?' K! Z# A( @+ S(“电气材料 _明细表”, dbOpenTable) ‘打开记录
5 T9 p$ s+ v& @/ p; U# @. iEnd If ' S& e+ {0 N  P7 h, |: [9 M& c1 x0 C  n
RowNum = RowNum + 1 1 z/ b! F" X) k& z
rs.AddNew ‘增加一笔新记录
& @4 r- J1 a8 _4 b! d  jFor Count = LBound(array2) _
6 W; `& o0 p- v8 W8 k6 t9 F: M2 y& uTo UBound(array2) 2 \7 T4 v, z# _/ a7 [
rs(Count).Value = array2(Count).TextString ! m$ B' e9 \5 T( I, w- j# r  s" K
Next Count ‘读固定属性值
* q  X6 E) S1 l  X8 eFor Count = LBound(array1) To _
# }  R- t$ I1 s' I$ OUBound(array1) ) @/ p0 C" q; I
rs(UBound(array2) + Count + 1).Value = _ - o8 G* v8 Y- ~& _+ E% F
array1(Count).TextString
# m3 j( h8 P2 {2 cNext Count ‘读输入属性值 ! S$ Y2 W2 L; d7 C: q- j
rs.Update ‘增加新记录修改结束
% b8 D' K% q( T  N" s( BHeader = True 9 T, B1 q! [4 x" Q. `3 z$ V+ e# Q  X1 S
End If 1 T, n. c2 _( G( _9 t
End If
9 A, w7 @* w/ g* HEnd With , Y4 X2 D/ n. A
Next elem   M1 L+ P5 _" N) ~3 w
rs. Close ‘关闭记录,释放资源
3 ^1 o/ J4 m$ u! Ddbs.Close ‘关闭数据库,释放资源 ! h7 ?4 f7 [/ f  |% L- L
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
- q% ]% i% s. F0 n真是太好了
: G: D. i2 p- ~! R, x這就是我要的 ^^
发表于 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-13 03:32

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

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

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