對于每一個實體(直線,圓弧,圓,橢圓,polyline,polygon,spline 等),在自定義創(chuàng)建圖形實體時或是從二維圖形文件(CAD 保存的.dxf 文件)中讀取圖形實體時,實體方向是任意的,此時,用戶可以根據(jù)自己的需要修改實體的加工方向。選中實體,可修改其加工方向(即切割的進給方向)。如可以將圖形實體繪圖終點作為加工起點,由繪圖終點運動到繪圖起點。對于不是封閉的圖形如直線、圓弧,圖形實體換向主要是將起點與終點互換,而對于封閉的圖形,如圓、橢圓及 polyline 等,圖形實體換向主要是定義一個標志換向的變量,然后再在具體畫箭頭的函數(shù)中來實現(xiàn)箭頭的換向。在這里,具體說明直線換向和箭頭實現(xiàn)的過程。
(1)起點與終點互換的實現(xiàn)通過調(diào)用 swap()函數(shù)來實現(xiàn),實現(xiàn)代碼如下:void RS_Line::revert Direction() { std::swap(data.startpoint,data.endpoint); //標準模板庫中的交換兩個數(shù)位置的函數(shù)}
(2)箭頭的實現(xiàn)
為了直觀的判斷實體加工的方向,特設計箭頭來指示由加工起點運動到加工終點。箭頭是由兩條短直線段組成的。例如實體圖形直線的箭頭實現(xiàn)的代碼及計算繪制直線所需點方法如下:如圖 3.16 所示,已知直線段 AB 為加工軌跡,點 O 為 AB 的中點,OC、OD 與直線段 AB 的夾角都是 45°,且 OC、OD 都為 10 毫米,求出點 C、點 D的坐標,直線段