首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Teigha 4.1.1计算偏移曲线

用Teigha 4.1.1计算偏移曲线
EN

Stack Overflow用户
提问于 2016-06-09 09:01:04
回答 2查看 353关注 0票数 1

我正在努力计算一条与现有线路在一定距离内的平行线。

我试过:

OdGeLine2d::getTrimmedOffset()

OdGeLineSeg2d::getTrimmedOffset()

OdGeLine3d::getTrimmedOffset()

OdGeLineSeg3d::getTrimmedOffset()

但是,它们都引入了一个“未实现”异常。

而不是我尝试使用OdGeOffsetCurve2d类。构造这个类不会抛出异常,但是任何试图得到这个曲线点的尝试都会抛出异常。同样的例外情况:“未实现”。

那么,如何才能得到一个位于OdGeOffsetCurve2d上的点呢?或者还有其他方法来计算偏移曲线?

那么这些getTrimmedOffset()方法是干什么的呢?只是为了抛出异常?

PS:我没有足够的声誉来创建一个新的Teigha标签。请这样做,编辑我的问题。Teigha是开发https://www.opendesign.com/应用程序的核心库。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-16 05:45:19

如果我正确理解,您正在尝试创建一条与已经存在的行的平行线。

如果您没有专门寻找OdGeLine2d,我有一个解决OdDbLine类似问题的解决方案。正如你已经知道的,如果我们有它的终点,构建一条新的线就是玩。

因此,我将帮助您找到平行线与OdDbLine类的终点。你可以试着从它推导出来。我的代码是.Net版本代码,而不是c++版本代码。

如果您有OdDbLine类的和对象,那么让我们说OdDbLine line

  • ( a)获取其终点

OdGePoint3d startPoint = new OdGePoint3d(); line.getStartPoint(startPoint);

OdGePoint3d endPoint = new OdGePoint3d(); line.getEndPoint(endPoint);

  • 得到直线方向,用它计算垂直方向。 OdGeVector3d lineVector = GetLineVector(line); OdGeVector3d perpendicularVec = lineVector.perpVector(); perpendicularVec.normalize(); perpendicularVec = perpendicularVec.Mul(-1);
  • OffSet线端点到计算的偏移端点 偏移值是与当前行perpendicularVec.setToProduct(perpendicularVec, offSetValue);之间的数字距离。
  • 在偏移位置计算新的端点 OdGePoint3d newOffsetStartPt = startPoint.Add(perpendicularVec); OdGePoint3d newOffsetEndPt = endPoint.Add(perpendicularVec);

您可以使用新的端点来构造新的行。

希望能帮上忙!

票数 1
EN

Stack Overflow用户

发布于 2016-09-08 00:54:38

对于线性实体,有一种较短的方法来生成偏移曲线。您可以复制行,并将其移动(转换)到一个必要的距离。如下所示:

代码语言:javascript
复制
OdGeLine2d ln(OdGePoint2d::kOrigin, OdGeVector2d::kXAxis);
const double dOffsetDistance = 100.0;

OdGeVector2d vOffset = ln.direction().perpVector(); //ccw rotation
vOffset.normalize();
vOffset *= dOffsetDistance;

ln.transformBy( OdGeMatrix2d::translation(vOffset) );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37721361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档