明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1618|回复: 2

版主给我开通进入cad博客的权限吧,我贡献一个修改数字的程序

[复制链接]
发表于 2006-3-8 20:52:00 | 显示全部楼层 |阅读模式
'此程序在cad2002上测试通过,cad2006上须改动" If Val(TXTSTR) <> 0 And WS = "2" Then" 为"If Val(TXTSTR) = 0  "
  1. Public Sub modify_GC()
  2.   Dim SSETS As AcadSelectionSet
  3.   'Dim Element As Object
  4.   'Dim ENTITY As AcadEntity
  5.    Dim entity As AcadEntity ';定义为Object或ACADObject或AcadEntity都可以,但有区别!
  6.    Dim GCTET As String
  7.    Dim gcdlayer As AcadLayer
  8.    Dim gzz As Double
  9.    'Dim WS As String '小数点位数
  10.   'Set gcdlayer = ThisDrawing.Layers.Item("Gcd")
  11.   'MsgBox "jtgjj"
  12. On Error Resume Next
  13. ' WS = InputBox("请输入小数点位数,默认为2位:", , "2")
  14. gzz = InputBox("*****请输入改正值,默认为0:*****", , "0")
  15.   If Not IsNull(ThisDrawing.SelectionSets.Item("GCDSET")) Then
  16.      Set SSETS = ThisDrawing.SelectionSets.Item("GCDSET")
  17.      SSETS.Delete
  18.   End If
  19.   Set SSETS = ThisDrawing.SelectionSets.Add("GCDSET")
  20.   
  21.    'Set ssets = ThisDrawing.SelectionSets.Add("SSET")
  22.     SSETS.Select acSelectionSetAll
  23.    
  24.   
  25.    For Each entity In SSETS
  26.     'If ENTITY.ObjectName = "AcDbText" Then
  27.       TXTSTR = entity.TextString
  28.       If Val(TXTSTR) <> 0 And WS = "2" Then
  29.         entity.TextString = Format((Val(TXTSTR) + Val(gzz)), "0.00")
  30.         Else: entity.TextString = Format((Val(TXTSTR) + Val(gzz)), "0.0")
  31.           If entity.ObjectName = "AcDbText" Then
  32.           entity.color = acGreen + acRed
  33.           entity.Update
  34.           End If
  35.       End If
  36.      
  37.      'MsgBox entity.ObjectName
  38.       'entity.Highlight
  39.      ' MsgBox ENTITY '
  40.       'currentspace = ThisDrawing.ActiveSpace
  41.    
  42.      'GCTEXT = Element.TextString
  43.    'If Val(ENTITY) <> 0 Then
  44.     'ENTITY = Format(ENTITY, "0.0")
  45.    'ENTITY.Update
  46.   
  47.    '
  48. ' End If
  49.    Next
  50.    MsgBox "数据修改完毕!"
  51.    Exit Sub
  52.    MsgBox "出问题啦!"
  53.    
  54. End Sub
发表于 2006-3-8 21:33:00 | 显示全部楼层

过段时间升级了服务器再说吧,目前网站空间不够用,暂时不考虑申请。

程序应考虑更大的给用户的灵活性,而你的程序只给用户保留小数后一位或两位的功能,不能再有其它,明显还不够灵活。希望再改进。

 楼主| 发表于 2006-3-11 18:24:00 | 显示全部楼层

要想改变小数点位数只要把下面的" ' "删掉即可,用户可以在InputBox中输入要保留的小数位数

' WS = InputBox("请输入小数点位数,默认为2位:", , "2")

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 06:23 , Processed in 0.181861 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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