李毛毛 发表于 2010-12-25 15:51:49

闭合polyline线删除前两个节点后,坐标发生大变化

int plxEndparam = Convert.ToInt16(plx.EndParam);
                  for (int i = 0; i < plxEndparam; i++)
                  {
                        FilletatVertex(plx, i * 2, 4);
                  }
                  plx.RemoveVertexAt(0);
                  plx.RemoveVertexAt(0);
                  plx.RemoveVertexAt(Convert.ToInt16(plx.EndParam)-1);
                  plx.RemoveVertexAt(Convert.ToInt16(plx.EndParam)-1);
                  plx.Elevation = closedPl.Elevation;

                  Point3d pt0 = plx.StartPoint;
                  Point3d pt1 = plx.GetPoint3dAt(1);

pt0和pt1的坐标发生很大的变化,pt0变成(77072912557.9101,1672766175526.85,-17.05),
pt1变成(77072912555.9122,1672766175526.94,-17.05),一般它们的坐标都是在686500,7091,-17.05)左右的。怎么回事呢?

李毛毛 发表于 2010-12-25 16:03:14

圣诞节快乐

雪山飞狐_lzh 发表于 2010-12-25 16:27:52

                  plx.RemoveVertexAt(0);
你这里不是把起点去掉了么,当然会变

李毛毛 发表于 2010-12-25 16:53:11

可是另外一幅图我也是这样的,怎么没有变化呢?

李毛毛 发表于 2010-12-25 16:54:20

我都一样的代码,有的plx是起点和终点是同一个点,有的就是两个相邻的点,我设的是plx.closed=true的啊!!!

雪山飞狐_lzh 发表于 2010-12-25 19:53:25

你把两幅图的pl上的点读出来看看是不是有不同
另外,你的代码是做什么的?

李毛毛 发表于 2010-12-28 09:24:19

回复 雪山飞狐_lzh 的帖子

一条开放的多段线与一条闭合的圆角多段线相交,把闭合多段线分成几块,取出两段的,我想要闭合的圆角多段线最大的那一边和交点间开放多段线之间的点组成的那一块

李毛毛 发表于 2010-12-28 09:24:53

不知道表达的清楚不?我不大会表达,又不会把图放上去...哎...

雪山飞狐_lzh 发表于 2010-12-28 09:36:53

点击高级模式,然后添加附件

李毛毛 发表于 2010-12-29 08:56:47

红色的初始闭合线,青色的开放线与闭合线相交,按其两端交点在闭合线上的序号获得黄色的多段线并进行圆角操作。
想得到开放线以下的绿线还是圆角的,但是两端的点是绿线上点到青色线的垂点。就想要这条绿色的线。


页: [1] 2
查看完整版本: 闭合polyline线删除前两个节点后,坐标发生大变化