hardwired 发表于 2008-2-25 08:42:22

暗淡的文本值/文本的不同颜色...

嗨,
这是给所有VBAist的!
我想,如果可能的话,能够以不同的颜色显示所有维度,这取决于它们是否显示真正的暗淡值或它们的文本已被覆盖...
例如,如果一个维度的文本已被以任何方式编辑,我希望文本是一种颜色,例如蓝色,但是...如果维度显示其真实的维度值并且在文本覆盖中没有任何内容被编辑,那么将此文本着色为红色...
可以做到这一点吗,如果可以,有人能给我指出我需要的任何方向或开始我...
干杯,
Paul
base point Designzltd...
XP Pro/AutoCAD 2008...
奔腾核心2 Q6600四核
华硕P5N-E SLI主板
4GB DDR2 RAM
2 x SLI NVIDIA 8500GT SLi 1024MB DDR2 PCI-Express显卡
**** Hidden Message *****

hardwired 发表于 2008-2-25 09:08:35

极简主义快速和肮脏的概念验证代码。不检查锁定图层等。此外,颜色是相反的,红色=覆盖,蓝色=真。
Sub ColorByOveride()
    Dim blockAs AcadBlock, _
      ent    As AcadEntity, _
      diment As AcadDimension
      
    For Each block In ThisDrawing.Blocks
      If block.IsLayout Then
            For Each ent In block
                If ent.ObjectName Like "AcDb*Dimension" Then
                  Set diment = ent
                  diment.TextColor = IIf(diment.TextOverride = "", acBlue, acRed)
                End If
            Next ent
      End If
    Next block
End Sub

hardwired 发表于 2008-2-28 10:15:27

嘿,MP,谢谢你的代码,工作一个梦想,只是需要尝试添加一些其他因素,但不知道如何.想要检查TextOverride的“”尺寸值代码,并且不要为这些值着色,也不为任何字符串值着色,如“TBC”或“PANEL LENGTH”等,只是任何被覆盖的数值等价值,所以例如............未编辑维度(无文本重写)将是白色(正常暗色)文本。
显示维度值的文本值的编辑(覆盖)维度将为绿色。
被覆盖的尺寸(如“纸张长度”)将是白色(正常的暗色)文本。
用文本度量值加字符串值(如“2400 SHEET LENGTH”)覆盖的维度对于字符串将是白色文本,但对于数字是绿色。我希望这是有道理的,它对我来说确实如此,但它会,哈哈。。

hardwired 发表于 2008-2-29 06:52:16

分享您的代码,以便我们查看并为您指明正确的方向。

hardwired 发表于 2008-2-29 07:26:11

嗨,MP,
我完全有你之前给我的东西,好吧,也许有一些小的调整,但现在没什么疯狂的。
Sub DimOverrideMarker()
Dim blockX As AcadBlock
Dim entX As AcadEntity
Dim dimentX As AcadDimension
   
For Each blockX In ThisDrawing.Blocks
    If blockX.IsLayout Then 'If its a layout..
      For Each entX In blockX
            If entX.ObjectName Like "AcDb*Dimension" Then
                Set dimentX = entX
                dimentX.TextColor = IIf(dimentX.TextOverride = "", acWhite, acGreen)
            End If
      Next entX
    End If
Next blockX
End Sub

hardwired 发表于 2008-2-29 08:39:38


很高兴听到它有所帮助。既然你请客,我就要一个泛银河漱口杯;谢了。

hardwired 发表于 2008-2-29 11:13:11

啊...道格拉斯·亚当斯先生...四部分的三部曲...遗憾地错过了。我会在“餐馆”给你买一个...干杯,格伦。
页: [1]
查看完整版本: 暗淡的文本值/文本的不同颜色...