6

在此处输入图像描述

这段代码的最终目标是确保客户定义的形状实际上可以由我们的……呃,机器加工。为此,我们将指定形状向内偏移钻头的半径,然后向外返回相同的量,从而将任何太瘦而无法实际放入钻头的部分四舍五入。对于多边形偏移,我们使用的是 Angus Johnson 的Clipper库,版本 5.1.6 (c++)。

但从图片中可以看出,这导致了一些意想不到的形状。在图片中,我用 -radius 偏移了原始形状(绿色,大部分被后来的绘图覆盖)ClipperLib::OffsetPolygon得到黄色形状,然后通过半径偏移得到红色形状。

从理论上讲,对于链接中显示的情况,这应该导致红色形状与绿色形状完全匹配。

使上述结果发生可能会出现什么问题?

4

1 回答 1

3

我也有这些工件,就我而言,它在每次偏移操作之前由 CleanPolygons() 解决。问题是由于微自相交和/或重复点造成的,可以使用上述清洁功能解决。

于 2013-12-02T22:28:18.230 回答