明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1685|回复: 3

用vba能完成boundary的功能吗?

[复制链接]
发表于 2003-5-10 03:08:00 | 显示全部楼层 |阅读模式
用vba能完成boundary的功能吗?
发表于 2003-5-10 10:00:00 | 显示全部楼层

ACAD没有直接提供这个函数

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

版竹,请问SendCommand如何写参数

版竹,请问SendCommand如何写参数
发表于 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方法删除边界。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 16:54 , Processed in 0.172987 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表