我正在尝试使用Eyeshot 12构建弧线。我使用构造函数:Arc(平面,2D中心点,2D起点,2D终点)。我有两个弧线。其中一个的终点与另一个的起点完全相同。尽管如此,Eyeshot仍在这些点之间构造significant gap的弧。这是错误,还是我做错了?
我的弧的参数如下:Arc1:2D中心点=(-0.655572, 0.160451
),2D起点=(-0.008477, 0.049511
),2D终点=(0.000385, 0.1271105
)。Arc2:2D中心点=(-1.789206, 0.218072
),2D起点=(0.000385, 0.1271105
),2D终点=(0.002240, 0.177704
)。
每个圆弧的半径定义为中心与起点之间的距离。因此,如果您传递的端点距中心的距离不同,则圆弧将不会通过端点。在您的两个弧线中,这些距离是不同的,这就是为什么您会得到间隙:
因此,如果您希望第一个圆弧在与第二个圆弧相同的点处结束,则需要将该点作为起点,然后还原圆弧的方向:
Plane pl = Plane.XY;
Point2D c1 = new Point2D(-0.655572, 0.160451);
Point2D c2 = new Point2D(-1.789206, 0.218072);
Point2D s1 = new Point2D(-0.008477, 0.049511);
Point2D s2 = new Point2D(0.000385, 0.1271105);
Point2D e1 = new Point2D(0.000385, 0.1271105);
Point2D e2 = new Point2D(0.002240, 0.177704);
Plane plInv = new Plane(pl.Origin, pl.AxisY, pl.AxisX);
Arc a1 = new Arc(plInv,plInv.Project(pl.PointAt(c1)), plInv.Project(pl.PointAt(e1)), plInv.Project(pl.PointAt(s1)));
a1.Reverse();
Arc a2 = new Arc(pl,c2,s2,e2);