huiz 发表于 2014-9-18 04:55:21

模仿 Civil3D 函数为所选路径着色

是否可以在选择时使用夹具模仿 Civil3D 为路径着色的方式?如果是这样,在移动时,它是否不使用大量资源来连续计算折线的一部分?
例如,在 Civil3D 中,如果拆分宗地,则可以沿宗地线选择路径,在拖动鼠标时,您会看到一条彩色线,从第一个选定点到光标所在的位置,直到单击为止。
我知道可以用Curve.GetSplitCurves()分割折线,但这是获取折线的一部分并将其显示为夹具的方法吗?还是有更智能的函数来做到这一点?


**** Hidden Message *****

Gasty 发表于 2014-9-19 00:06:29

嗨,我不确定,
因为我不是C3D用户或开发人员,但您可以尝试将点监视器,瞬态图形和一些折线段的巧妙处理相结合。这些是点监视器和瞬态图形的好例子,只是谷歌一下。
加斯顿·努涅斯

n.yuan 发表于 2014-9-19 16:02:18

我不使用Civil3D,因此不太确定您引用的功能是什么。但是我可以猜到你想要什么,并且只是对我现有的一段代码进行了快速增强。与其发布该代码的不完整部分,我最好将其作为整体发布在我的博客中。
以下链接:
http://drive-cad-with-code.blogspot.ca/2014/09/moving-mouse-cursor-to-trace-polyline.html
HTH

huiz 发表于 2014-9-20 00:55:20

哇诺曼!这正是我所描述的!非常感谢您的这段代码!
我很乐意提供一些提示,但完整的工作代码真的很酷!为我节省了很多时间来实现。

insmur 发表于 2019-2-15 17:06:10

首先,感谢你的代码,它真的很棒,但我有一个问题<它只在直线上工作,圆弧呢?

n.yuan 发表于 2019-2-20 11:53:29

好吧,您需要更新代码(我文章中的“DrawTransientGraphics()”方法)才能正确绘制瞬态图形。对于直线/线段,这很容易,如代码所示;但它是弧形/曲线段,您需要根据当前光标位置计算/计算弧/曲线的半径并计算弧/曲线的长度。我想,这应该是一个简单的数学工作。
页: [1]
查看完整版本: 模仿 Civil3D 函数为所选路径着色