对于每一个实体(直线,圆弧,圆,椭圆,polyline,polygon,spline 等),在自定义创建图形实体时或是从二维图形文件(CAD 保存的.dxf 文件)中读取图形实体时,实体方向是任意的,此时,用户可以根据自己的需要修改实体的加工方向。选中实体,可修改其加工方向(即切割的进给方向)。如可以将图形实体绘图终点作为加工起点,由绘图终点运动到绘图起点。对于不是封闭的图形如直线、圆弧,图形实体换向主要是将起点与终点互换,而对于封闭的图形,如圆、椭圆及 polyline 等,图形实体换向主要是定义一个标志换向的变量,然后再在具体画箭头的函数中来实现箭头的换向。在这里,具体说明直线换向和箭头实现的过程。
(1)起点与终点互换的实现通过调用 swap()函数来实现,实现代码如下:void RS_Line::revert Direction() { std::swap(data.startpoint,data.endpoint); //标准模板库中的交换两个数位置的函数}
(2)箭头的实现
为了直观的判断实体加工的方向,特设计箭头来指示由加工起点运动到加工终点。箭头是由两条短直线段组成的。例如实体图形直线的箭头实现的代码及计算绘制直线所需点方法如下:如图 3.16 所示,已知直线段 AB 为加工轨迹,点 O 为 AB 的中点,OC、OD 与直线段 AB 的夹角都是 45°,且 OC、OD 都为 10 毫米,求出点 C、点 D的坐标,直线段