diff --git a/programs/other/cnc_editor/cnc_editor.asm b/programs/other/cnc_editor/cnc_editor.asm index d737e17a4f..a1c9183eeb 100644 --- a/programs/other/cnc_editor/cnc_editor.asm +++ b/programs/other/cnc_editor/cnc_editor.asm @@ -14,7 +14,7 @@ include 'cnc_editor.inc' include '../../develop/info3ds/info_fun_float.inc' @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load -caption db 'CNC editor 22.05.19',0 ;Ї®¤ЇЁбм ®Є +caption db 'CNC editor 23.05.19',0 ;Ї®¤ЇЁбм ®Є run_file_70 FileInfoBlock @@ -410,23 +410,25 @@ pushad mcall ,,,14 ;align sel points top add ebx,25 shl 16 mcall ,,,15 ;align sel points bottom - add ebx,25 shl 16 - mcall ,,,16 ;copy to clipboard - add ebx,25 shl 16 - mcall ,,,17 ;paste from clipboard - - add ebx,25 shl 16 - mcall ,,,18 ;sel points del + mcall ,,,16 ;optimize figure add ebx,30 shl 16 - mcall ,,,19 ;restore zoom - - add ebx,30 shl 16 - mcall ,,,20 ;.png + mcall ,,,17 ;copy to clipboard + add ebx,25 shl 16 + mcall ,,,18 ;paste from clipboard add ebx,25 shl 16 - mcall ,,,21 ;options scale + mcall ,,,19 ;sel points del + + add ebx,30 shl 16 + mcall ,,,20 ;restore zoom + + add ebx,30 shl 16 + mcall ,,,21 ;.png + + add ebx,25 shl 16 + mcall ,,,22 ;options scale ; *** аЁб®ў ЁҐ ЁЄ®®Є Є®ЇЄ е *** mcall SF_PUT_IMAGE,[image_data_toolbar],(16 shl 16)+16,(7 shl 16)+7 ;icon new @@ -469,7 +471,10 @@ pushad add edx,(25 shl 16) ;aling sel points bottom int 0x40 add ebx,IMAGE_TOOLBAR_ICON_SIZE - add edx,(25 shl 16) ;copy to clipboard + add edx,(25 shl 16) ;optimize figure + int 0x40 + add ebx,IMAGE_TOOLBAR_ICON_SIZE + add edx,(30 shl 16) ;copy to clipboard int 0x40 add ebx,IMAGE_TOOLBAR_ICON_SIZE add edx,(25 shl 16) ;paste from clipboard @@ -627,36 +632,41 @@ button: @@: cmp ah,16 jne @f - call but_clipboard_copy_points + call but_points_optimize jmp still @@: cmp ah,17 jne @f - call but_clipboard_paste_points + call but_clipboard_copy_points jmp still @@: cmp ah,18 jne @f - call but_sel_points_del + call but_clipboard_paste_points jmp still @@: cmp ah,19 jne @f - call but_restore_zoom + call but_sel_points_del jmp still @@: cmp ah,20 jne @f - call but_save_png + call but_restore_zoom jmp still @@: cmp ah,21 + jne @f + call but_save_png + jmp still + @@: + cmp ah,22 jne @f call but_dlg_opt_scale jmp still @@: - ;cmp ah,22 + ;cmp ah,23 ;jne @f ;call but_... ;jmp still @@ -1817,6 +1827,21 @@ popad ret endp +;description: +; ®ЇвЁ¬Ё§ жЁп дЁЈгал +align 4 +proc but_points_optimize uses eax + stdcall [tl_node_get_data],tree1 + or eax,eax + jz .no_point + cmp [eax+Figure.OType],'Fig' + jne .no_point + stdcall points_optimize,eax + mov dword[offs_last_timer],0 ;¤«п ®Ў®ў«ҐЁп Ї® в ©¬Ґаг + .no_point: + ret +endp + align 4 proc but_restore_zoom uses eax stdcall [tl_node_get_data],tree1 diff --git a/programs/other/cnc_editor/cnc_editor.inc b/programs/other/cnc_editor/cnc_editor.inc index 36bf67b23a..a3d7908575 100644 --- a/programs/other/cnc_editor/cnc_editor.inc +++ b/programs/other/cnc_editor/cnc_editor.inc @@ -118,6 +118,7 @@ PROP_BIT_SELECT equ 30 ; align 4 zoom_plus dq 1.25992105 +opt_koef dq 0.02 ;Є®Ґд. ¤«п ®ЇвЁ¬Ё§ жЁЁ (祬 Ў«Ё¦Ґ Є 0, ⥬ ЇаﬥҐ «ЁЁп) mouse_prop_x dd 0 ;Єгаб®а ¬лиЁ ®в®бЁвҐ«м® жҐва ®Є buf_0 (¤«п Ё§¬Ґ. ¬ бив Ў ) mouse_prop_y dd 0 mouse_down_x dd 0 ;Єгаб®а ¬лиЁ ®в®бЁвҐ«м® «Ґў®Ј® ўҐа奣® гЈ« ®Є buf_0 (¤«п б¤ўЁЈ дЁЈгал) @@ -1525,6 +1526,72 @@ proc sel_points_invert_bit uses eax ebx ecx, pFig:dword, iBit:dword ret endp +;description: +; ®ЇвЁ¬Ё§ жЁп дЁЈгал, ўл¤Ґ«пҐв «ЁиЁҐ в®зЄЁ (1-п Ё Ї®б«Ґ¤пп в®зЄЁ Ґ гзЁвлў овбп) +align 4 +proc points_optimize uses eax ebx ecx, pFig:dword + mov ebx,[pFig] + mov ecx,[ebx+Figure.PoiCount] + cmp ecx,3 + jl .no_point + sub ecx,2 ;®вЁ¬ Ґ¬ в®зЄЁ Є®в®алҐ Ґ гзЁвлў овбп + stdcall sel_points_clear,ebx + mov ebx,[ebx+Figure.PoiData] + finit + .cycle0: + ;calc (x0-x1)/(x0-x2) + fld qword[ebx+Point.CoordX] + add ebx,sizeof.Point + fcom qword[ebx+Point.CoordX] + fstsw ax + sahf + jne @f + fcomp qword[ebx+sizeof.Point+Point.CoordX] + fstsw ax + sahf + jne .no_sel ;if( (x0==x1) && (x0!=x2) ) + jmp .sel ;if( x0==x1==x2 ) + @@: + fld st0 + fsub qword[ebx+Point.CoordX] + fxch st1 + fsub qword[ebx+sizeof.Point+Point.CoordX] + fdivp + + ;calc (y0-y1)/(y0-y2) + fld qword[ebx-sizeof.Point+Point.CoordY] + fcom qword[ebx+Point.CoordY] + fstsw ax + sahf + jne @f + fcomp qword[ebx+sizeof.Point+Point.CoordY] + fstsw ax + ffree st0 ;free (x0-x1)/(x0-x2) + fincstp + sahf + jne .no_sel ;if( (y0==y1) && (y0!=y2) ) + jmp .sel ;if( y0==y1==y2 ) + @@: + fld st0 + fsub qword[ebx+Point.CoordY] + fxch st1 + fsub qword[ebx+sizeof.Point+Point.CoordY] + fdivp + + fsubp + fabs + fcomp qword[opt_koef] ;if( abs((x0-x1)/(x0-x2)-(y0-y1)/(y0-y2)) > 0.02) + fstsw ax + sahf + jae .no_sel + .sel: + bts dword[ebx+Point.Prop],PROP_BIT_SELECT + .no_sel: + loop .cycle0 + .no_point: + ret +endp + ;input: ; pPoi - гЄ § вҐ«м ¤ лҐ в®зЄЁ align 4 @@ -1565,9 +1632,7 @@ proc mouse_left_d uses eax ebx cmp [eax+Figure.OType],'Fig' je @f cmp [eax+Figure.OType],'Obj' - je .end0 - jmp .end_f - .end0: + jne .end_f mov eax,ObjData @@: call buf_get_mouse_coord @@ -1588,9 +1653,7 @@ proc mouse_left_u uses eax ebx ecx cmp [eax+Figure.OType],'Fig' je @f cmp [eax+Figure.OType],'Obj' - je .end0 - jmp .end_f - .end0: + jne .end_f mov eax,ObjData @@: mov ecx,eax diff --git a/programs/other/cnc_editor/doc/but_17.png b/programs/other/cnc_editor/doc/but_17.png new file mode 100644 index 0000000000..2e69780d35 Binary files /dev/null and b/programs/other/cnc_editor/doc/but_17.png differ diff --git a/programs/other/cnc_editor/doc/readme_ru.htm b/programs/other/cnc_editor/doc/readme_ru.htm index ecdee95464..b0a4cfa443 100644 --- a/programs/other/cnc_editor/doc/readme_ru.htm +++ b/programs/other/cnc_editor/doc/readme_ru.htm @@ -36,7 +36,7 @@ ol, ul, dl{
-, перемещение выделенных точек вверх или вниз в пределах выбранной траэктории
выравнивание выделенных точек по левому, правому, верхнему и нижнему краю
+выделение точек фигуры для оптимизации. Выделяются точки которые расположены на относительно прямых линиях, но при этом сами несут избыточную информацию. Такие точки можно удалять без особой потери качества фигуры.
копирование координат выделенных точек в буфера обмена
вставка точек из буфера обмена. Формат текста для вставки в буфере обмена: 'X_ Y_\n...\0'.
удаление выделенных точек
diff --git a/programs/other/cnc_editor/kolibri.NC b/programs/other/cnc_editor/kolibri.NC index 0404a40ab2..8f1822ad3b 100644 --- a/programs/other/cnc_editor/kolibri.NC +++ b/programs/other/cnc_editor/kolibri.NC @@ -4,19 +4,11 @@ G0 M3 X0 Y0 Z5 G0 X40.28 Y38.95 Z5 G1 F100 Z0 X40.28 Y38.95 -X39.46 Y38.44 -X37.03 Y36.89 X35.56 Y35.99 -X34.9 Y35.63 -X34.41 Y35.35 -X33.74 Y34.97 -X32.97 Y34.52 X32.69 Y34.35 X32.38 Y34.35 -X32.1 Y34.43 X31.82 Y34.51 X31.18 Y34.6 -X30.54 Y34.7 X30.03 Y34.78 X29.52 Y34.85 X29.1 Y34.88 @@ -25,60 +17,39 @@ X28.6 Y34.96 X28.37 Y34.96 X28.22 Y34.9 X28.27 Y34.81 -X28.62 Y34.65 X28.96 Y34.49 X29.16 Y34.42 -X29.72 Y34.17 X30.08 Y34.01 -X30.7 Y33.81 X31.32 Y33.61 X30.98 Y33.43 X30.34 Y33.21 X30 Y33.08 X29.78 Y33.04 -X29.77 Y32.87 X29.76 Y32.7 -X29.89 Y32.58 X30.02 Y32.46 X30.12 Y32.46 X30.67 Y32.3 X30.03 Y31.51 -X29.8 Y31.16 X29.41 Y30.53 X29.19 Y30.13 X29.19 Y30.08 X29.22 Y30.06 X29.24 Y30.06 X29.69 Y30.24 -X29.36 Y29.88 -X29.03 Y29.52 -X28.49 Y28.91 -X27.95 Y28.29 -X27.54 Y27.8 X27.46 Y27.71 -X27.08 Y27.34 X26.7 Y26.96 -X26.61 Y26.89 X26.04 Y26.5 -X25.56 Y26.31 X25.07 Y26.13 X24.8 Y26.06 X24.54 Y25.76 -X24.43 Y25.76 X24.32 Y25.76 -X24.06 Y25.63 X23.8 Y25.5 -X23.69 Y25.42 X23.59 Y25.33 -X23.43 Y25.1 X23.27 Y24.87 -X23.08 Y24.69 X22.89 Y24.51 -X22.74 Y24.21 X22.58 Y23.9 X22.51 Y23.7 X22.43 Y23.49 -X22.37 Y23.23 X22.31 Y22.98 X22.22 Y22.96 X22.13 Y23.01 @@ -91,14 +62,10 @@ X20.13 Y24.78 X19.81 Y24.93 X19.65 Y24.97 X19.49 Y25 -X19.36 Y24.95 X19.24 Y24.9 X19.15 Y24.82 X19.07 Y24.73 -X19.07 Y24.55 X19.07 Y24.36 -X19.32 Y23.59 -X19.43 Y23.26 X19.53 Y22.93 X19.59 Y22.64 X19.83 Y22.38 @@ -115,136 +82,84 @@ X21.8 Y18.84 X21.89 Y18.74 X21.98 Y18.56 X22.3 Y18.17 -X22.34 Y18.07 X22.38 Y17.97 X22.28 Y17.79 X22.05 Y17.71 X21.85 Y17.73 -X21.26 Y18.02 X20.68 Y18.31 X20.45 Y18.4 -X20.22 Y18.5 X19.4 Y18.9 -X18.91 Y19.07 X18.43 Y19.24 -X18.29 Y19.33 X18.16 Y19.42 X18.13 Y19.42 -X18.1 Y19.42 X17.85 Y19.57 X17.61 Y19.72 -X16.99 Y19.92 X16.38 Y20.13 -X16 Y20.19 X15.62 Y20.25 -X15.26 Y20.33 X14.9 Y20.41 X14.57 Y20.45 X14.24 Y20.48 -X13.83 Y20.6 -X13.42 Y20.71 -X12.65 Y20.91 X11.88 Y21.12 -X11.63 Y21.16 -X11.37 Y21.21 -X11.04 Y21.28 -X10.71 Y21.36 -X10.3 Y21.44 X9.89 Y21.52 X9.1 Y21.65 X8.3 Y21.77 X7.79 Y21.83 X7.28 Y21.88 -X6.43 Y21.88 X5.57 Y21.88 X4.68 Y21.77 X3.86 Y21.58 X2.94 Y21.25 -X2.71 Y21.1 X2.48 Y20.94 -X2.41 Y20.87 X2.34 Y20.8 -X2.36 Y20.69 X2.38 Y20.58 -X2.58 Y20.44 X2.79 Y20.3 -X3.09 Y20.22 X3.4 Y20.14 -X3.68 Y20.14 X3.96 Y20.14 -X4.2 Y19.89 X4.44 Y19.65 -X4.77 Y19.44 X5.11 Y19.23 X5.12 Y19.29 X5.14 Y19.34 -X5.36 Y19.05 X5.57 Y18.77 X5.76 Y18.62 X5.96 Y18.48 X5.98 Y18.45 -X6.01 Y18.43 X6.11 Y18.36 X6.21 Y18.3 -X6.39 Y18.22 X6.57 Y18.14 -X6.64 Y18.08 X6.71 Y18.02 -X6.84 Y18.01 X6.98 Y18 X7.07 Y18 X7.16 Y17.99 -X7.35 Y17.79 X7.54 Y17.58 -X7.6 Y17.58 X7.66 Y17.58 -X7.68 Y17.51 X7.71 Y17.44 -X7.86 Y17.36 -X8 Y17.29 -X8.25 Y17.15 X8.51 Y17.02 -X8.57 Y17.04 X8.63 Y17.07 X8.66 Y16.99 X8.69 Y16.92 X8.8 Y16.93 X8.92 Y16.95 -X8.92 Y16.82 X8.92 Y16.7 -X9.15 Y16.53 X9.38 Y16.36 -X9.58 Y16.25 X9.79 Y16.14 -X9.89 Y16.05 X9.99 Y15.96 X10.24 Y15.9 X10.49 Y15.83 X10.64 Y15.84 X10.79 Y15.84 -X10.84 Y15.74 X10.89 Y15.64 -X10.95 Y15.64 X11.02 Y15.64 -X11.4 Y15.39 X11.77 Y15.13 -X12.04 Y15.05 X12.31 Y14.97 -X12.5 Y15.01 X12.68 Y15.04 X12.67 Y15 -X12.67 Y14.95 X12.67 Y14.9 X12.68 Y14.84 -X13.21 Y14.57 X13.74 Y14.3 -X14.02 Y14.29 X14.3 Y14.28 X14.37 Y14.23 X14.44 Y14.17 -X14.59 Y14.1 X14.75 Y14.02 -X15.07 Y13.91 X15.4 Y13.79 X15.68 Y13.79 X15.95 Y13.8 @@ -252,37 +167,23 @@ X15.98 Y13.73 X16.01 Y13.65 X16.29 Y13.55 X16.57 Y13.44 -X16.66 Y13.44 X16.74 Y13.44 -X16.8 Y13.29 X16.86 Y13.14 X17.02 Y13.1 X17.18 Y13.07 -X17.18 Y13.03 X17.18 Y12.99 -X17.4 Y12.93 X17.63 Y12.87 -X17.72 Y12.77 X17.8 Y12.68 -X17.86 Y12.68 X17.92 Y12.68 -X18.07 Y12.52 X18.22 Y12.37 -X18.43 Y12.27 X18.64 Y12.17 X18.97 Y12.17 X19.25 Y12.36 -X19.32 Y12.46 -X19.43 Y12.55 X19.54 Y12.65 -X19.62 Y12.8 X19.7 Y12.96 X19.7 Y12.86 -X19.54 Y12.36 X19.37 Y11.86 -X19.3 Y11.44 X19.23 Y11.02 -X19.25 Y9.53 X19.27 Y8.05 X19.33 Y7.69 X19.38 Y7.34 @@ -290,42 +191,30 @@ X19.48 Y6.93 X19.57 Y6.52 X19.63 Y6.21 X19.68 Y5.9 -X19.74 Y5.7 X19.79 Y5.5 -X19.84 Y5.11 X19.89 Y4.73 -X19.97 Y4.5 X20.04 Y4.27 X20.09 Y2.58 X20.13 Y0.88 X20.21 Y0.74 X20.28 Y0.59 -X20.39 Y0.49 X20.5 Y0.39 -X20.5 Y0.5 X20.5 Y0.6 X20.69 Y0.64 X20.88 Y0.67 X20.97 Y0.76 X21.07 Y0.84 -X21.27 Y0.83 X21.47 Y0.82 -X21.8 Y0.94 X22.12 Y1.06 -X22.31 Y1.21 X22.49 Y1.35 -X22.49 Y1.4 X22.49 Y1.44 -X22.59 Y1.58 X22.69 Y1.71 -X22.75 Y1.94 X22.81 Y2.17 X22.81 Y2.29 X22.8 Y2.41 X22.78 Y2.54 X23.56 Y3.07 X23.67 Y3.27 -X23.77 Y3.82 X23.87 Y4.37 X23.91 Y5.38 X23.94 Y6.39 @@ -335,28 +224,20 @@ X24.4 Y6.85 X24.47 Y6.85 X24.75 Y6.98 X25.02 Y7.03 -X25.04 Y7.05 -X25.26 Y7.35 -X25.71 Y8 X26.06 Y8.49 X26.04 Y8.87 X25.87 Y9.12 X25.87 Y9.28 -X26.14 Y9.69 -X26.41 Y10.1 X26.81 Y10.71 X27.1 Y11.22 X27.75 Y12.55 X28.17 Y13.72 -X28.21 Y14.08 X28.33 Y15.16 X28.3 Y16 X28.25 Y16.92 X28.16 Y17.66 -X28 Y18.5 X27.85 Y19.35 X27.99 Y20.78 -X27.98 Y21.52 X27.97 Y22.26 X27.86 Y23.13 X27.76 Y24 @@ -364,32 +245,20 @@ X27.71 Y24.61 X27.63 Y25.73 X27.62 Y26.44 X27.91 Y27.07 -X28.33 Y27.68 -X29.15 Y28.78 X29.44 Y29.15 -X30.03 Y29.78 -X30.59 Y30.35 X31.15 Y30.92 X31.27 Y30.83 X31.84 Y30.76 -X32.21 Y31.09 -X32.58 Y31.41 -X32.7 Y31.51 X32.81 Y31.59 X32.89 Y31.41 X32.9 Y30.9 X32.9 Y30.39 -X32.95 Y29.52 X33 Y28.65 -X33.04 Y28.59 X33.08 Y28.52 -X33.15 Y28.6 X33.23 Y28.67 -X33.23 Y28.88 X33.23 Y29.09 X33.3 Y29.46 X33.38 Y29.83 -X33.43 Y30.26 X33.48 Y30.69 X33.48 Y30.83 X33.66 Y30.73 @@ -397,16 +266,12 @@ X34.1 Y30.65 X34.53 Y30.58 X34.86 Y30.52 X35.19 Y30.47 -X35.76 Y30.41 X36.32 Y30.35 X36.36 Y30.31 X36.4 Y30.28 -X36.05 Y29.96 X35.71 Y29.64 X35.48 Y29.55 -X35.37 Y29.31 X35.26 Y29.07 -X35.4 Y28.95 X35.53 Y28.83 X35.67 Y28.82 X35.81 Y28.82 @@ -414,19 +279,13 @@ X36 Y28.84 X35.93 Y28.62 X35.64 Y28.19 X35.41 Y27.68 -X35.19 Y27.09 X34.98 Y26.5 -X34.94 Y26.42 X34.9 Y26.33 X35.04 Y26.35 X35.18 Y26.36 X35.23 Y26.45 X35.28 Y26.53 -X35.59 Y26.74 X35.91 Y26.96 -X36.63 Y27.59 -X36.85 Y27.8 -X37.07 Y28.02 X37.21 Y28.17 X37.26 Y27.99 X37.47 Y27.58 @@ -434,33 +293,21 @@ X37.75 Y27.42 X37.88 Y27.42 X38.01 Y27.43 X38.13 Y27.5 -X38.24 Y27.85 -X38.35 Y28.19 X38.53 Y28.6 X38.6 Y28.89 X39.1 Y27.86 -X38.99 Y27.65 -X38.87 Y27.44 -X38.53 Y26.79 -X38.19 Y26.15 -X37.65 Y25.05 -X37.11 Y23.95 X36.84 Y23.41 X35.69 Y22.3 X34.97 Y21.83 -X34.75 Y21.62 X34.53 Y21.42 X34.45 Y21.31 X34.45 Y21.21 X34.52 Y21.18 X34.59 Y21.16 -X34.81 Y21.29 X35.04 Y21.42 -X35.12 Y21.42 X35.19 Y21.42 X35.26 Y21.37 X35.33 Y21.33 -X35.15 Y21.07 X34.97 Y20.81 X34.85 Y20.56 X34.68 Y20.27 @@ -469,67 +316,44 @@ X34.45 Y19.95 X34.45 Y19.86 X34.51 Y19.78 X34.56 Y19.78 -X34.7 Y19.87 X34.84 Y19.96 -X35.19 Y20.26 -X35.54 Y20.57 -X36.26 Y21.22 X36.66 Y21.54 X36.7 Y21.51 -X36.7 Y21.2 X36.7 Y20.89 X36.83 Y20.78 X36.96 Y20.66 -X36.87 Y20.5 X36.78 Y20.34 X36.92 Y20.25 X37.05 Y20.3 X37.09 Y20.11 X37.14 Y19.77 -X37.27 Y19.67 X37.41 Y19.57 -X37.51 Y19.62 X37.61 Y19.67 X37.78 Y20.37 X37.92 Y20.79 X38.11 Y21.01 X38.14 Y21.01 -X38.18 Y20.91 -X38.36 Y20.54 -X38.64 Y19.9 -X38.76 Y19.63 -X38.95 Y19.19 -X39.06 Y18.92 X39.18 Y18.66 X39.26 Y18.67 X39.33 Y18.69 X39.31 Y18.94 X39.3 Y19.12 -X39.3 Y19.3 X39.3 Y19.63 X39.31 Y19.96 -X39.26 Y20.32 X39.2 Y20.73 -X39.51 Y20.38 X39.83 Y20.04 -X39.95 Y20.04 X40.08 Y20.04 -X40.08 Y20.09 X40.08 Y20.14 X39.97 Y20.32 X39.87 Y20.5 X39.87 Y20.64 -X39.64 Y20.98 X39.4 Y21.32 X39.3 Y21.66 X39.15 Y22.06 X39.05 Y22.56 X39 Y23.02 X39.16 Y24.05 -X39.47 Y25.64 -X39.63 Y26.5 X39.67 Y26.73 -X39.72 Y26.76 X39.77 Y26.79 X39.8 Y26.66 X39.92 Y26.53 @@ -537,28 +361,15 @@ X40.01 Y26.53 X40.01 Y26.71 X39.97 Y26.89 X39.94 Y26.96 -X39.88 Y27.11 X39.84 Y27.25 -X40.02 Y27.62 -X40.18 Y28.02 -X40.47 Y28.69 X40.76 Y29.37 -X40.91 Y29.67 -X41.27 Y30.39 -X41.57 Y30.97 X41.86 Y31.55 -X41.89 Y31.43 -X41.91 Y31.31 -X41.96 Y30.97 X42.02 Y30.64 X42.27 Y30.13 -X42.4 Y29.98 X42.52 Y29.83 X42.62 Y29.88 X42.71 Y29.94 -X42.81 Y30.14 X42.91 Y30.34 -X42.92 Y28.45 X42.93 Y26.56 X42.81 Y25.1 X42.68 Y23.65 @@ -568,13 +379,11 @@ X42.74 Y21.92 X42.98 Y21.09 X43.2 Y20.63 X43.42 Y20.26 -X43.67 Y19.95 X43.92 Y19.64 X44.03 Y19.61 X44.13 Y19.58 X44.17 Y19.6 X44.2 Y19.63 -X44.29 Y19.92 X44.38 Y20.22 X44.57 Y20.68 X44.67 Y21.14 @@ -585,11 +394,7 @@ X44.86 Y22.91 X44.81 Y23.44 X44.7 Y23.9 X44.67 Y24.15 -X44.63 Y24.26 X44.58 Y24.36 -X44.53 Y24.61 -X44.42 Y25.12 -X44.29 Y25.71 X44.17 Y26.3 X44.07 Y26.86 X43.99 Y27.45 @@ -597,10 +402,8 @@ X43.92 Y28.04 X43.88 Y28.68 X43.85 Y29.32 X44.09 Y29 -X44.17 Y28.93 X44.37 Y28.76 X44.49 Y28.68 -X44.61 Y28.68 X44.72 Y28.68 X44.75 Y28.72 X44.77 Y28.75 @@ -611,7 +414,6 @@ X44.88 Y30.01 X44.89 Y30.59 X44.85 Y30.95 X44.78 Y31.31 -X44.59 Y31.68 X44.4 Y32.06 X44.05 Y32.89 X43.95 Y33.56 @@ -620,31 +422,22 @@ X43.84 Y35.19 X43.98 Y35.81 X44.23 Y36 X44.43 Y36.22 -X44.61 Y36.57 X44.78 Y36.92 X44.78 Y37.24 X44.96 Y37.43 X45.16 Y37.62 -X45.63 Y37.98 X46.08 Y38.34 X46.88 Y38.7 -X47.3 Y38.7 X47.72 Y38.7 -X47.89 Y38.65 X48.06 Y38.6 -X48.2 Y38.45 X48.35 Y38.3 -X48.32 Y38.17 X48.29 Y38.03 -X48.42 Y38.03 X48.54 Y38.03 X48.73 Y38.09 X48.92 Y38.14 -X48.92 Y38.22 X48.92 Y38.3 X49.18 Y38.26 X49.43 Y38.23 -X49.7 Y38.16 X49.96 Y38.09 X50.04 Y38 X50.12 Y37.92 @@ -663,11 +456,9 @@ X50.37 Y37.73 X50.38 Y37.79 X50.53 Y37.84 X50.68 Y37.88 -X50.91 Y37.85 X51.14 Y37.82 X51.7 Y37.7 X52.26 Y37.57 -X52.3 Y37.57 X52.34 Y37.57 X52.34 Y38.33 X51.96 Y38.4 @@ -677,20 +468,15 @@ X50.57 Y38.84 X49.91 Y38.88 X49.35 Y39.26 X45.25 Y39.26 -X44.85 Y39.18 X44.45 Y39.1 -X44.24 Y39.1 X44.03 Y39.1 X43.91 Y39.02 X43.76 Y38.9 -X43.48 Y38.76 X43.23 Y38.64 X43.08 Y38.53 X42.94 Y38.41 -X42.67 Y38.15 X42.41 Y37.88 X42.3 Y37.88 -X42.3 Y37.88 X42.02 Y37.72 X41.74 Y37.59 X41.64 Y37.59 @@ -710,42 +496,21 @@ X41.2 Y36 X41.03 Y35.19 X40.85 Y34.48 X40.69 Y34.12 -X40.19 Y33.63 X39.69 Y33.14 -X38.77 Y32.38 -X38.71 Y32.33 -X38.64 Y32.28 X38.47 Y32.13 X38.17 Y31.92 -X38.03 Y31.81 -X37.82 Y31.64 X37.61 Y31.48 X37.07 Y31.43 X36.52 Y31.39 X35.63 Y31.31 -X34.73 Y31.2 -X34.5 Y31.17 X33.9 Y31.1 X33.52 Y31.06 X33.55 Y31.44 X33.64 Y32.01 X33.7 Y32.51 X33.71 Y32.82 -X34.08 Y33.19 X34.44 Y33.56 -X34.94 Y34.01 -X35.42 Y34.45 -X35.9 Y34.89 -X36.23 Y35.19 X36.83 Y35.72 -X37.34 Y36.08 -X37.85 Y36.45 -X38.34 Y36.78 -X38.83 Y37.11 -X39.61 Y37.62 -X40.12 Y37.93 -X41.02 Y38.47 -X41.38 Y38.66 X42.4 Y39.26 X40.76 Y39.26 X40.28 Y38.95 @@ -773,8 +538,6 @@ X40.54 Y32.12 X40.7 Y31.9 X40.93 Y31.9 X41.22 Y32.12 -X41.19 Y32.07 -X41.17 Y32.03 X39.57 Y28.78 X39.52 Y28.78 X39.41 Y29.21 diff --git a/programs/other/cnc_editor/toolbar.png b/programs/other/cnc_editor/toolbar.png index 66ac3bc557..6cd5b1cd49 100644 Binary files a/programs/other/cnc_editor/toolbar.png and b/programs/other/cnc_editor/toolbar.png differ diff --git a/programs/other/cnc_editor/wnd_new_file.inc b/programs/other/cnc_editor/wnd_new_file.inc index 7d04ad253c..4f853c7a31 100644 --- a/programs/other/cnc_editor/wnd_new_file.inc +++ b/programs/other/cnc_editor/wnd_new_file.inc @@ -301,9 +301,11 @@ button_n_file: stdcall clear_object_in_list, eax @@: stdcall [tl_info_clear], tree1 ;®зЁбвЄ бЇЁбЄ ®ЎкҐЄв®ў + and dword[tree1.style],not tl_cursor_pos_limited mov dword[offs_last_timer],0 stdcall ObjectCreate,ObjData + or dword[tree1.style], tl_cursor_pos_limited stdcall [tl_cur_beg], tree1 mov dword[offs_last_timer],0 ;¤«п ®Ў®ў«ҐЁп Ў«®Є ў в ©¬ҐаҐ