乐筑天下

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

用vba能完成boundary的功能吗?

[复制链接]

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2003-5-10 03:08:00 | 显示全部楼层 |阅读模式
用vba能完成boundary的功能吗?
回复

使用道具 举报

26

主题

589

帖子

10

银币

中流砥柱

Rank: 25

铜币
693
发表于 2003-5-10 10:00:00 | 显示全部楼层
ACAD虽然没有直接提供这个函数,但是可以通过SendCommand来执行ACAD的内部命令。或者如果自己的很强的图形基础知识的话,也可以编一个处理边界的函数,因为Boundary本身也是基于这种技术的。
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2003-5-10 11:56:00 | 显示全部楼层
版竹,请问SendCommand如何写参数
回复

使用道具 举报

26

主题

589

帖子

10

银币

中流砥柱

Rank: 25

铜币
693
发表于 2003-5-10 12:18:00 | 显示全部楼层
Public Function Boundary(ByVal Point As Variant) As AcadLWPolyline
    On Error Resume Next
    Dim PrevTotal As Long
    PrevTotal = ThisDrawing.ModelSpace.Count
    ThisDrawing.SetVariable "NOMUTT", 1 '禁止不确定的消息反馈
    ThisDrawing.SendCommand "_-boundary" & vbCr & Point(0) & "," & Point(1) & vbCr & vbCr '调用BOUNDARY命令获取一点的边界
    ThisDrawing.SetVariable "NOMUTT", 0 '恢复普通模式的消息反馈
    If ThisDrawing.ModelSpace.Count.Count > PrevTotal Then
        Set Boundary = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count - 1)
    End If
End Function
当Boundary为Nothing时表示没有生成边界,这时点不在多边形内部,如果生成边界时,不需要这条多义线(如仅是判断点是否在多边形内部),应该用Delete方法删除边界。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 14:00 , Processed in 0.401609 second(s), 60 queries .

© 2020-2025 乐筑天下

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