Maverick® 发表于 2007-6-7 13:05:09

分解Dims

大家好,我是新来的论坛,我已经涉足VBA,到目前为止,我不是专家
我想找出一种分解维度的方法 如有任何建议,我们将不胜感激
谢谢,丹Sub ExplodeDim()
Dim sstext As AcadSelectionSet
Dim blk As AcadBlockReference
Dim oEnt As AcadEntity
Dim FilterType(1) As Integer
Dim FilterData(1) As Variant
    On Error Resume Next
    ThisDrawing.SelectionSets.Item("XDim").Delete
    Set sstext = ThisDrawing.SelectionSets.Add("XDim")
    FilterType(0) = 67
    FilterData(0) = 0
    FilterType(1) = 0
    FilterData(1) = "Dimension"
    sstext.Select acSelectionSetAll, , , FilterType, FilterData
   
    For Each oEnt In sstext
      If TypeOf oEnt Is AcadDimAligned Then
            If oEnt.TextColor = 5 And oEnt.TextOverride" " And oEnt.TextOverride"" Then
                  'Explode Dim here
            End If
      End If
    Next
End Sub

Maverick® 发表于 2007-6-7 13:20:14


来自AutoCAD Bible…&039
你永远不能破坏维度
&039
无论如何……我不'我不相信它可以用VBA编程
说到爆炸尺寸。。。。。http://www.penwill.com/cadgall07.html

Maverick® 发表于 2007-6-7 13:28:50

你可以用这个,但它'这是一种黑客……Public Sub Main()
    Dim objDim As AcadDimension
    Dim varPickPoint As Variant
    Dim PickPoint As String
   
    ThisDrawing.Utility.GetEntity objDim, varPickPoint, "Pick a dimension to explode..."
    PickPoint = varPickPoint(0) & "," & varPickPoint(1) & "," & varPickPoint(2)
   
    ThisDrawing.SendCommand "EXPLODE " & PickPoint & vbCrLf
End Sub

Maverick® 发表于 2007-6-7 13:32:57

可以使用过滤器选择所有维度对象,然后使用;sendcommand“;方法唐#039;我没有时间编码,只是一个想法。

Maverick® 发表于 2007-6-7 15:49:57


是的,但在这种情况下,我只希望分解几个特定的DIM
我的研究确实发现了一条线索,但这个网站不见了:>检查Randall Rath和#039;网站并进行搜索。它是;可以通过编程方式分解它们,而不是作为维度
>毕竟,尺寸只是未命名的块。Randall#039;的文章将;解释一下,但如果我没记错的话,一个维度#039;s手柄是一个数字;小于其块名称。无论如何,看看他的网站
谢谢,丹

Maverick® 发表于 2007-6-7 16:14:15

*旁注*;松鼠的名字被释放了 跑为了你的理智而奔跑!

Maverick® 发表于 2007-6-7 16:19:30


好的,我刚开始……请给我一个提示

Maverick® 发表于 2007-6-7 16:20:22

啊!其中'这是我的空心花生?!

Maverick® 发表于 2007-6-7 16:31:20

 对不起,丹 只是参考RR 我们这里的一些人和他有一点历史 他用一只松鼠作为他的化身 完全离题了,我只是没有#039;我有一阵子没看到他的名字了 

Maverick® 发表于 2007-6-7 16:39:04

这很有道理……谢谢!
页: [1] 2
查看完整版本: 分解Dims