C#CAD二次开发学习: 多段线Polyline中的GetParameterAtPoint的2点总结

本人编程小白,本文对实际操作中自己遇见一些问题做些整理,欢迎指正。

1. 首先关于Polyline中有很多方法有此单词Parameter,翻译为参数,却不知其真实含义,经过测试了解后说明如下:

以方法GetParameterAtPoint为例,获取指定点的参数,其意为该点到该段线所占的比例。

如下图,左边是起点,多段线共3段,在顶点处分别为0,1,2,3

2. 关于方法GetParameterAtPoint(pt),因为指定的点pt是通过其他计算得来,所以实际使用中经常莫名出错,猜测可能是点并不在线上,可能有微小误差。尝试采用GetClosestPointTo方法先获取其最近的在线上的点,目前初步测试可行。如下

  public static double GetPolParAtPt(this Polyline pol,Point3d pt)
        {
            //对多义线和指定点,返回其参数值
            //官方函数实际使用中经常莫名出错,考虑可能因为点不在线上造成此问题
            //所以尝试此方法解决
            double mypar = new double();
            Point3d pttenm = pol.GetClosestPointTo(pt,false);
            mypar = pol.GetParameterAtPoint(pttenm);
            return mypar;
        }

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值