明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1509|回复: 1

图纸编号程序求助

[复制链接]
发表于 2009-9-21 10:39:00 | 显示全部楼层 |阅读模式

我想编一个自动给图纸编号的程序,功能是给定一个之前编号中字符串和一个新编号的前缀,选择图中包含字符串的文字,然后按照屏幕中从左到右的顺序按照一定格式的前缀重新编号。

程序结构如下:

'第一部分:定义选择集,用来存放需要重新编号的旧图纸编号
  Dim qbhwenzi As String
  Dim hbhwenzi As String
   qbhwenzi = beforetext.text
   editbh.Hide
   On Error Resume Next
   Dim sset As AcadSelectionSet
   If Not IsNull(ThisDrawing.SelectionSets.Item("example")) Then
   Set sset = ThisDrawing.SelectionSets.Item("example")
   sset.Delete
   End If
   Set sset = ThisDrawing.SelectionSets.Add("example")

'第二部分:获取包含特定字符串的旧图纸编号,并存入选择集

 Dim FilterType(1) As Integer
    Dim FilterData(1) As Variant
    FilterType(0) = 0
    FilterData(0) = "TEXT"
    FilterType(1) = 1
    FilterData(1) = qbhwenzi + "**"
    sset.SelectOnScreen FilterType, FilterData
   
    Dim i As Integer
    Dim k As Integer
    Dim text1 As Variant
    Dim addtext As String
    Dim a As Integer
    Dim j As Integer
    '取得选择集元素的个数
    a = 0
    For Each text1 In sset
    a = a + 1
    Next text1

'第三部分:按照选择集中文字插入点X坐标从小到大的顺序,构建一个新的选择集,数组中元素按照从小到大排列

不知道怎么实现!!!!

'第四部分:'按照顺序更换新选择集中图纸编号
 For i = 1 To a
         If i < 10 Then
        addtext = "0" & i
        sset2.Item(i - 1).TextString = latertext + addtext
         Else
        addtext = i
         sset2.Item(i - 1).TextString = latertext + addtext
         End If
       Next

 楼主| 发表于 2009-9-21 10:51:00 | 显示全部楼层
我用了两个嵌套的循环语句,但是不太了解CAD里对象和属性,没弄成,请哪个高手指教下小弟!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 00:42 , Processed in 0.166497 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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