找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2084|回复: 4

[API建议] AcDbCurve类的getClosestPointTo方法

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-12-10 20:51:41 来自手机 | 显示全部楼层 |阅读模式

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

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

×
API中没有找到这个函数用法
AcDbCurve::getClosestPointTo函数
virtual Acad::ErrorStatus
getClosestPointTo(
const AcGePoint3d& givenPnt,
const AcGeVector3d& direction,
AcGePoint3d& pointOnCurve,
Adesk::Boolean extend = Adesk::kFalse) const;

givenPnt

输入点(WCS坐标中),用于找出曲线上的最近点

direction

输入法向矢量(WCS坐标中),用于平面投影

pointOnCurve

返回曲线上与givenPnt最近的点(WCS坐标中)

extend

输入布尔值,表示在搜索最近点时是否延伸曲线

此函数将曲线投影至由givenPnt和normal定义的平面,找出曲线上与givenPnt最近的点,再将这个最近点投影回原始曲线上并在pointOnCurve中返回结果。

如果extend == Adesk::kTrue,则曲线沿它的路径延伸以找出最近点。

如果成功则返回Acad::eOk。根据执行返回错误值。

在派生类中,此函数必须可以投影至由一个点(givenPnt)和一个法向矢量(normal)定义的平面上,如果需要可延伸曲线的投影,找出与givenPnt最近的点,再将这个找到的点投影回原始曲线上(如果被延伸则在它的路径上)并设置pointOnCurve为最终结果。

使用AcGe类可执行一些投影和最近点计算的工作。

如果操作成功,此函数返回Acad::eOk。错误的返回值根据错误和执行器。关于可能的ErrorStatus值列表,参见头文件acdh.h。

默认执行返回Acad::eNotImplemented。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2014-12-10 20:58:34 | 显示全部楼层
API实现的是这个方法的第一个

virtual Acad::ErrorStatus

getClosestPointTo(

const AcGePoint3d& givenPnt,

AcGePoint3d& pointOnCurve,

Adesk::Boolean extend = Adesk::kFalse) const;

givenPnt Input point (in WCS coordinates) for which to find nearest point on curve
pointOnCurve Returns the point (in WCS coordinates) on the curve that is nearest to givenPnt
extend Input Boolean indicating whether or not to extend curve in search for nearest point

This function finds the point on the curve that is nearest to givenPnt and sets pointOnCurve to the result.

If extend==Adesk::kTrue, then the curve is extended along its path to find the closest point.

Returns Acad::eOk if successful. Return values for errors are dependent on the implementation.

In derived classes this function needs to be able to extend the curve if necessary (if extend==Adesk::kTrue), find the point on the curve (or its path, if extend==Adesk::kTrue) that is nearest to givenPnt, then set pointOnCurve to the end result.

Using AcGe classes may be helpful in doing some of the calculation work.

If the operation is successful, this function returns Acad::eOk. Return values for errors are dependent upon the error and the implementor. See header file acdh.h for a list of possible ErrorStatus values.

The default implementation抯 return value is Acad::eNotImplemented.

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-12-10 21:27:37 来自手机 | 显示全部楼层
XDSoft 发表于 2014-12-10 20:58
API实现的是这个方法的第一个

virtual Acad::ErrorStatus

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-12-10 21:30:44 来自手机 | 显示全部楼层
XDSoft 发表于 2014-12-10 20:58
API实现的是这个方法的第一个

virtual Acad::ErrorStatus

那就用vlax-curve-getclosestpointtoprojection了

点评

下版本API提供:xdrx_curve_getClosestpointToProjection  详情 回复 发表于 2014-12-10 22:02
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2014-12-10 22:02:10 | 显示全部楼层
st788796 发表于 2014-12-10 21:30
那就用vlax-curve-getclosestpointtoprojection了

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-20 07:11 , Processed in 0.396292 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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