nhy12345678 发表于 2008-7-12 16:05:00

[已解决]VBA如何把对象前置或后置呢?

请问VBA如何把对象前置或后置呢?也就是改变对象的绘图次序!谢谢大家。

nhy12345678 发表于 2008-8-11 00:20:00

Sub dxzd()'选择对象然后更改绘图次序
    Dim ss As AcadSelectionSet
    Dim arr() As AcadObject
    Dim eDictionary As Object
    Dim sentityObj As Object
    Set eDictionary = ThisDrawing.ModelSpace.GetExtensionDictionary
    Set sentityObj = eDictionary.GetObject("ACAD_SORTENTS")
    If sentityObj Is Nothing Then
         Set sentityObj = eDictionary.AddObject("ACAD_SORTENTS", "AcDbSortentsTable")
    End If
    Set ss = ThisDrawing.SelectionSets.Add("ss")
    ss.SelectOnScreen
    ReDim arr(0 To (ss.Count - 1)) As AcadObject
    For i = 0 To ss.Count - 1
         Set arr(i) = ss.Item(i)
    Next
    ss.Delete
    sentityObj.MoveToBottom arr'置底
    'sentityObj.MoveToTop '置顶
    AcadApplication.Update
End Sub

muzi2005888 发表于 2008-8-14 18:13:00

好久没来了
来了就有收获
我顺路问楼上个问题
就是关于面域(一个非连续的面域,分散开的,但是一个整体)填充
可以填充就是不能正常显示
连续的面域的填充就很理想
不知道我说明白没有
谢谢

睡醒的蜗牛 发表于 2015-9-10 22:11:00


老师,我以前在win8上用cad2006测试你的代码没有错误,现在在win8上cad2006和xp上cad2008测试都提示未找到主键,是怎么回事呢?报错行为:Set sentityObj = eDictionary.GetObject("ACAD_SORTENTS")
页: [1]
查看完整版本: [已解决]VBA如何把对象前置或后置呢?