乐筑天下

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

将一组连接的直线和圆弧转换为折线

[复制链接]

6

主题

17

帖子

1

银币

初来乍到

Rank: 1

铜币
41
发表于 2019-10-11 17:22:25 | 显示全部楼层 |阅读模式
一些应该相对简单的事情已经成为我几天来的噩梦。
我有一组位于z=0平面上的直线和圆弧,它们都是端点到起点的连接(例如曲线
。端点==曲线[i+1]。起点)。我需要将它们转换成一条折线。此时我拥有的代码如下:
  1. var poly = new Polyline();
  2.                     
  3. poly.AddVertexAt(0, Point2d.Origin, 0, 0, 0);
  4. foreach (var curve in curves) {
  5.                     
  6.      poly.SetPointAt(poly.NumberOfVertices - 1, new Point2d(curve.StartPoint.X, curve.StartPoint.Y));
  7.      poly.JoinEntity(curve);
  8.                     
  9.      curve.Erase();
  10.      curve.Dispose();
  11. }

此代码在poly上失败。与enot适用的接合性。通常,这意味着他们没有正确连接,但使用现场调试器,我可以看到,目前聚。执行JoinEntity(恰好是循环的第二次迭代),poly的端点确实等于曲线的起点。显而易见,我用SetPointAt方法强制它。
我什么都试过了,现在我确信这是某种奇怪的坐标系统头骨性交。根据大多数类似的帮助线程(所有这些线程都只解决将一条弧或线转换为折线的问题),由于我不知道的原因,它们的转换通常涉及一些ECS内容,并且根据AutoCAD帮助中心论坛上帮助那些人的代码礼仪,所有代码都只是狗屎,没有解释或上下文。
现在我拥有的代码是这样的代码1]
这实际上可以编译和运行,但是生成的折线是一团乱麻。
您知道我该何去何从,和/或对ECS部分正在完成的工作有什么见解吗?

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2019-10-11 17:36:09 | 显示全部楼层
您好,
您应该尝试使用PolylineSegmentCollection。来自GeometryExtensions库的Join()方法(和PolylineSegment类)。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 05:57 , Processed in 0.327223 second(s), 56 queries .

© 2020-2024 乐筑天下

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