我是 AutoCAD 插件编程和 C# 的新手。我正在尝试在 C# 中为我正在编写的函数沿折线放置点,我需要知道何时放置该点,它是否位于弯曲部分,以及两端切线之间的角度是多少的弯曲部分。一条折线可能有多条曲线,但它们之间总是有切线。
我当前的函数(没有附加功能)从模型空间获取折线输入,并使用 GetPointAtDist 以设定的间隔计算沿折线的点。我不太确定从哪里开始获取我需要的附加信息。我想也许我可以沿着折线构建直线和曲线,这样我就可以为每个线段/曲线分配一个变量,但这似乎效率低下。
你可以得到切向量,然后你可以得到向量之间的角度
Point3d p0 = axis.GetPointAtDist(d0);
Vector3d v0 = axis.GetFirstDerivative(p0);
Point3d px = axis.GetPointAtDist(curentDist);
Vector3d v = axis.GetFirstDerivative(px);
double angle = v.GetAngleTo(v0);