乐筑天下

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

怎么通过一点获得一个封闭区域

[复制链接]

55

主题

282

帖子

5

银币

中流砥柱

Rank: 25

铜币
502
发表于 2007-5-12 09:07:00 | 显示全部楼层 |阅读模式
怎么通过一点获得一个封闭区域?就像cad里的填充那样!例如,几根直线首尾相接,我想直接点击几根直线组成的封闭区域中的一点,就返回一个封闭的区域,从而获取封闭区域的面积,如何实现?谢谢!
回复

使用道具 举报

25

主题

474

帖子

12

银币

中流砥柱

Rank: 25

铜币
572
发表于 2007-5-12 12:55:00 | 显示全部楼层
用boundary
回复

使用道具 举报

55

主题

282

帖子

5

银币

中流砥柱

Rank: 25

铜币
502
发表于 2007-5-12 15:29:00 | 显示全部楼层
问题是我不想弹出cad的对话框,直接用VBA调用boundary,但不弹出对话框!这样就好了!
回复

使用道具 举报

55

主题

282

帖子

5

银币

中流砥柱

Rank: 25

铜币
502
发表于 2007-5-12 15:41:00 | 显示全部楼层
搜了半天,原来
    Dim pnt
    Dim picked As Boolean
    pnt = ThisDrawing.Utility.GetPoint(, "点")
    ThisDrawing.SendCommand "-boundary" & vbCr & "a" & vbCr & "b" & vbCr & "e" & vbCr & vbCr & pnt(0) & "," & pnt(1) & vbCr & vbCr
     
这样就不弹出对话框了,但怎么返回获得的边界的,再搜一下!
回复

使用道具 举报

55

主题

282

帖子

5

银币

中流砥柱

Rank: 25

铜币
502
发表于 2007-5-12 15:56:00 | 显示全部楼层
怎么返回边界,如果边界不封闭就自动退出程序!这怎么解决呢?
回复

使用道具 举报

25

主题

474

帖子

12

银币

中流砥柱

Rank: 25

铜币
572
发表于 2007-5-12 15:57:00 | 显示全部楼层
先记住现有图形数量,求边界后多出的就是了
回复

使用道具 举报

55

主题

282

帖子

5

银币

中流砥柱

Rank: 25

铜币
502
发表于 2007-5-12 16:11:00 | 显示全部楼层
如果边界不封闭就自动退出程序!这怎么解决呢?就是怎么判断边界到底封不封闭!例如如果不封闭就msgbox "不封闭",以前好像有人问过,但不了了之!
回复

使用道具 举报

25

主题

474

帖子

12

银币

中流砥柱

Rank: 25

铜币
572
发表于 2007-5-12 16:47:00 | 显示全部楼层
如果求不出边界,图形就不封闭
回复

使用道具 举报

55

主题

282

帖子

5

银币

中流砥柱

Rank: 25

铜币
502
发表于 2007-5-12 18:33:00 | 显示全部楼层
谢谢了!结论是通过下面的代码创建封闭区域
    Dim pnt
    Dim picked As Boolean
    pnt = ThisDrawing.Utility.GetPoint(, "点")
    ThisDrawing.SendCommand "-boundary" & vbCr & "a" & vbCr & "b" & vbCr & "e" & vbCr & vbCr & pnt(0) & "," & pnt(1) & vbCr & vbCr
然后判断图元的个数有没有变化,可惜如果不封闭的话,先在命令行里显示cad的提示,就是不想让别人看到cad的提示痕迹!看来vba很难实现了!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-7 19:05 , Processed in 2.397765 second(s), 82 queries .

© 2020-2025 乐筑天下

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