找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1257|回复: 8

[求助]:如何搜索闭合区域

[复制链接]

已领礼包: 1个

财富等级: 恭喜发财

发表于 2004-8-24 08:50:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
用VBA在MS如何实现“点取一点,搜索包含该点的最小区域”?
在ACAD中可以使用“Boundry”,然后得到最后一个实体来实现,MS中有类似的方法或其他方法吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-8-24 11:04:55 | 显示全部楼层
ms中不会有这么强健的函数吧?我的思路:是找到这个点附近所有的线,然后开始遍历这些线,找到符合条件线组成一个闭合最小区域。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-24 11:39:17 | 显示全部楼层
最简单用这个范围构造一个fence,然后用scan
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-24 12:51:29 | 显示全部楼层
在mdl中 可以使用mdlRegion_floodFill 函数
不过如果范围太大的话就不准确了 很大的话速度很慢 你可以试试看
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-24 13:15:07 | 显示全部楼层
前面我理解错了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2004-8-24 14:06:46 | 显示全部楼层
先谢谢各位啦
gp341,你有相关的例子发给我好吗?
我的信箱stoneball@163.com
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-25 13:21:04 | 显示全部楼层
请看以下一段文字,试试看能不能解决你的问题?
MicroStationDGN.Application.GetFloodBoundary()函数的说明:

Creates and returns a new Element whose property IsClosedElement is True and that represents the boundary of a planar region obtained by flood-filling from SeedPoint to the geometry supplied in CandidateElements or in the specified view.

Syntax

Set Element = object.GetFloodBoundary (CandidateElements, Template, SeedPoint [, ViewSpecifier [, FindHoles [, Tolerance [, FillMode]]]])

The GetFloodBoundary method syntax has these parts:

Part Description
object A valid object.
CandidateElements A Element () expression. The coplanar elements that are possible boundary candidates (may be empty).  
Template An Element expression. An existing element whose settings are used to initialize the new element. If Nothing, the new element's settings are initialized from MicroStation's active settings.  
SeedPoint A Point3d expression. The point at which to start the flood.  
ViewSpecifier Optional. A VARIANT expression. The view index (1 through 8) or View object to use for flattening candidate geometry, or zero to use the plane of the geometry.  
FindHoles Optional. A Boolean expression. Indicates whether the flood region contains holes.  
Tolerance Optional. A Double expression. The distance tolerance for vertex-vertex and edge-vertex coincidence. If negative or omitted, a default tolerance of 1.0e-5 is used.  
FillMode Optional. An MsdFillMode expression. Indicates whether the returned Element is filled. If the value is not specified or it is msdFillModeUseActive, MicroStation's active fill mode is used.  


Remarks

Important: The geometric arguments are given in the coordinate system of the currently active model. Therefore, before you call this method, you should ensure that the model to which you intend to add the element is the active model. (You can make a model active by calling the Activate method of the appropriate ModelReference object.)

If CandidateElements is empty, ViewSpecifier must contain a View object or a valid view index for a non-perspective view; the SeedPoint and the elements in the view are then flattened onto the view plane, and the returned flood boundary is in the parallel plane containing SeedPoint.

If CandidateElements is nonempty, then nonzero ViewSpecifier indicates a view as above onto which the CandidateElements and SeedPoint are flattened, but if ViewSpecifier is 0, then SeedPoint is projected onto the plane of CandidateElements before the flood computation, and the returned flood boundary is in this plane.


注:在MS V8.5以上的版本VBA才有这个函数的,而MS V8.1是没有的哟.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2004-8-26 08:29:31 | 显示全部楼层
我可只有MS V8.1
MS V8.5?那里有下?
还有,你在哪里找到的这些?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-26 13:16:55 | 显示全部楼层
你想下載MS V8.5 或2004,請在本論壇其它帖子中搜索.至於上述資料在其VBA的HELP裡查找.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-26 12:42 , Processed in 0.413824 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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