乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 105|回复: 3

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

[复制链接]

16

主题

49

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2008-7-12 16:05:00 | 显示全部楼层 |阅读模式
请问VBA如何把对象前置或后置呢?也就是改变对象的绘图次序!谢谢大家。
回复

使用道具 举报

16

主题

49

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 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
回复

使用道具 举报

8

主题

31

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
63
发表于 2008-8-14 18:13:00 | 显示全部楼层
好久没来了
来了就有收获
我顺路问楼上个问题
就是关于面域(一个非连续的面域,分散开的,但是一个整体)填充
可以填充就是不能正常显示
连续的面域的填充就很理想
不知道我说明白没有
谢谢
回复

使用道具 举报

0

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2015-9-10 22:11:00 | 显示全部楼层

老师,我以前在win8上用cad2006测试你的代码没有错误,现在在win8上cad2006和xp上cad2008测试都提示未找到主键,是怎么回事呢?报错行为:Set sentityObj = eDictionary.GetObject("ACAD_SORTENTS")
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 21:15 , Processed in 0.400742 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表