'================= ГОСТ 2.304-81 ==== c 12 ===================================== #NODE; "Простановка размеров" 1 #BCOORD( 1 ); "Градус" 2 TEXT_ADDX_F("Е|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 2 ); "Диаметр" 2 TEXT_ADDX_F("З|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 3 ); "Плюс-минус" 2 TEXT_ADDX_F("±|GOST type A|GOST type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 82 ); "Минус-плюс" 2 TEXT_ADDX_F("н|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 4 ); "Умножить" 2 TEXT_ADDX_F("•|GOST type A|GOST type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 14 ); "Квадрат" 2 GETHEIGHT(0) ' в R0 - H-высота текста GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xc из-за italic MOV9(8) ADD0(8) ' R8 - Xmax MOV5(4) ADD0(4) ' R4 - Ymax PUSH(4) PUSH(9) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(8) PUSH(4) PUSH(9) LINE PUSH(5) PUSH(8) PUSH(4) PUSH(8) LINE PUSH(5) PUSH(9) PUSH(5) PUSH(8) LINE FCONST(7) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 77 ); "Радиус" 2 TEXT_ADDX("R") DATA_END '------------------------------------------------------------------------------- #BCOORD( 81 ); "Метрическая резьба" 2 TEXT_ADDX("M") DATA_END '------------------------------------------------------------------------------- #BCOORD( 90 ); "Сфера" 2 GETHEIGHT(0) ' R0 - H-высота текста DIV_2(0) ' R0 - H/2 GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) MOV9(8) ADD0(8) ' R8 - Xc MOV8(7) ADD0(7) ' R7 - Xmax GETCOORD_Y(5) ADD0(5) ' R5 - Yc PUSH(0) PUSH(5) PUSH(8) CIRCLE SETCOORD_X(7) DATA_END '------------------------------------------------------------------------------- #BCOORD( 68 ); "Символ &" 2 TEXT_ADDX("&") DATA_END '------------------------------------------------------------------------------- #BCOORD( 5 ); "Приблизительно равно" 2 TEXT_ADDX_F("=|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 6 ); "Меньше или равно" 2 TEXT_ADDX_F("<|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 7 ); "Больше или равно" 2 TEXT_ADDX_F(">|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 80 ); "Текст в рамке" 2 GLB_X_ADD_ITALIC GETHEIGHT(0) ' R0 - высота текста MOV0(1) FCONST(7) DIV(1) ' R1 - 2H/14 - зазор между текстом и рамкой GETCOORD_Y(8) ' R8 - Y GETCOORD_X(9) ADD1(9) ' R9 - Xlt TBASEBOX(7) PUSH(7) JMP_NE(100) ' если внутренний блок текста не пустой FCONST_100(112) POP(7) MUL0(7) ' создадим искуственную высоту блока LABEL(100) ADD8(7) ADD1(7) ' R7 - Yup BBASEBOX(6) PUSH(6) JMP_NE(200) ' если внутренний блок текста не пустой FCONST_100(28) SUB(6) ' R6 = -0.28 MUL0(6) ' создадим искуственную высоту блока LABEL(200) ADD8(6) SUB1(6) ' R6 - Ydn WIDTHBASEBOX(5) ADD_ITALIC(5) ' R5 - длина текста с учетом italic ADD9(5) ADD1(5) ADD1(5) ' R5 - Xrt PUSH(7) PUSH(5) PUSH(7) PUSH(9) LINE ' верхняя PUSH(6) PUSH(5) PUSH(7) PUSH(5) LINE ' правая PUSH(6) PUSH(9) PUSH(6) PUSH(5) LINE ' нижняя PUSH(7) PUSH(9) PUSH(6) PUSH(9) LINE ' левая ADD1(5) SETCOORD_X(5) GLB_COORD_PUSH ' для ECOORD ADD1(9) SETCOORD_X(9) ADD1(7) ' R7 = Yup + 2H/14 PUSH(7) ADD_GAB_Y ' добавить в габарит запас по высоте DATA_END SUB1(6) ' R6 = Ydn - 2H/14 PUSH(6) ADD_GAB_Y ' добавить в габарит запас по высоте DATA_END #ECOORD( 80 ) GLB_COORD_POP DATA_END '------------------------------------------------------------------------------- #BCOORD( 83 ); "Размер притупления (фаски, радиуса)" 2 GLB_X_ADD_ITALIC GETHEIGHT(0) ' R0 - высота текста MOV0(1) FCONST(7) DIV(1) ' R1 - 2H/14 - зазор между текстом и рамкой GETCOORD_Y(8) ' R8 - Y GETCOORD_X(9) ADD1(9) ' R9 - Xlt TBASEBOX(7) PUSH(7) JMP_NE(100) ' если внутренний блок текста не пустой FCONST_100(112) POP(7) MUL0(7) ' создадим искуственную высоту блока LABEL(100) ADD8(7) ADD1(7) ' R7 - Yup BBASEBOX(6) PUSH(6) JMP_NE(200) ' если внутренний блок текста не пустой FCONST_100(28) SUB(6) ' R6 = -0.28 MUL0(6) ' создадим искуственную высоту блока LABEL(200) ADD8(6) SUB1(6) ' R6 - Ydn WIDTHBASEBOX(5) ADD_ITALIC(5) ' R5 - длина текста с учетом italic ADD9(5) ADD1(5) ADD1(5) ' R5 - Xrt PUSH(6) PUSH(9) PUSH(6) PUSH(5) LINE ' нижняя PUSH(7) PUSH(9) PUSH(6) PUSH(9) LINE ' левая ADD1(5) SETCOORD_X(5) GLB_COORD_PUSH ' для ECOORD ADD1(9) SETCOORD_X(9) ADD1(7) ' R7 = Yup + 2H/14 PUSH(7) ADD_GAB_Y ' добавить в габарит запас по высоте DATA_END SUB1(6) ' R6 = Ydn - 2H/14 PUSH(6) ADD_GAB_Y ' добавить в габарит запас по высоте DATA_END #ECOORD( 83 ) GLB_COORD_POP DATA_END '------------------------------------------------------------------------------- #BCOORD( 95 ); "Надчеркнутый текст" 2 GETHEIGHT(0) ' R0 - высота текста MOV0(1) FCONST(7) DIV(1) ' R1 - 2H/14 GETCOORD_Y(8) ' R8 - Y GETCOORD_X(9) ADD_ITALIC(9) ' начало текста со двигом на italic MOV9(6) TBASEBOX(7) PUSH(7) JMP_NE(100) ' если внутренний блок текста не пустой FCONST_100(112) POP(7) MUL0(7) ' создадим искуственную высоту блока LABEL(100) ADD8(7) ' R7 - Yup WIDTHBASEBOX(5) ADD5(6) ' R6 - Xrt PUSH(7) PUSH(6) PUSH(7) PUSH(9) LINE ADD1(7) ' R7 = Yup + 2H/14 PUSH(7) ADD_GAB_Y ' добавить в габарит запас по высоте DATA_END #ECOORD( 95 ) DATA_END '------------------------------------------------------------------------------- #BCOORD( 96 ); "Подчеркнутый текст" 2 GETHEIGHT(0) ' R0 - высота текста MOV0(1) FCONST(7) DIV(1) ' R1 - 2H/14 GETCOORD_Y(8) ' R8 - Y GETCOORD_X(9) MOV9(6) BBASEBOX(7) PUSH(7) JMP_NE(100) ' если внутренний блок текста не пустой FCONST_100(28) SUB(7) ' R7 = -0.28 MUL0(7) ' создадим искуственную высоту блока LABEL(100) ADD8(7) ' R7 - Ydn WIDTHBASEBOX(5) ADD5(6) ' R6 - Xrt PUSH(7) PUSH(6) PUSH(7) PUSH(9) LINE SUB1(7) ' R7 = Ydn - 2H/14 PUSH(7) ADD_GAB_Y ' добавить в габарит запас по высоте DATA_END #ECOORD( 96 ) DATA_END '------------------------------------------------------------------------------- #BCOORD( 169 ); "Перечеркнутый текст" 2 GETHEIGHT(0) ' R0 - высота текста MOV0(7) DIV_2(7) ' R7 - H/2 GETCOORD_Y(8) ' R8 - Y GETCOORD_X(9) FNUL(1) ADD_ITALIC(1) ' начало текста со двигом на italic DIV_2(1) ADD1(9) MOV9(6) ADD8(7) ' R7 - Yup WIDTHBASEBOX(5) ADD5(6) ' R6 - Xrt PUSH(7) PUSH(6) PUSH(7) PUSH(9) LINE DATA_END #ECOORD( 169 ) DATA_END '------------------------------------------------------------------------------- #BCOORD( 97 ); "Текст с дугой" 2 GETHEIGHT(0) ' R0 - высота текста MOV0(1) FCONST(7) DIV(1) ' R1 - 2H/14 GETCOORD_Y(8) ' R8 - Y GETCOORD_X(9) MOV9(2) ADD1(2) SETCOORD_X(2) ADD_ITALIC(9) ' начало текста со двигом на italic MOV9(4) TBASEBOX(7) PUSH(7) JMP_NE(100) ' если внутренний блок текста не пустой FCONST_100(112) POP(7) MUL0(7) ' создадим искуственную высоту блока LABEL(100) ADD8(7) ADD1(7) ' R7 - Yup WIDTHBASEBOX(5)' R5 - ширина блока текста ADD1(5) ADD1(5) DIV_2(5) ' R5 = H/2 ADD5(4) ' R4 - Xc MOV4(6) ADD5(6) ' R6 - Xrt '----------------------------------------------- FCONST_100(25) POP(3) MUL0(3) ' R3 - kH MOV7(2) ADD3(2) ADD1(2) ' R2 = R7 + kH + 2H/14 PUSH(2) ADD_GAB_Y ' добавить в габарит запас по высоте MOV5(2) SUB3(2) PUSH(2) ' R2 = R5 - kH JMP_LE(200) ' R3 = R7 + (kH - R5*R5/kH)/2 MUL5(5) ' R5*R5 DIV3(5) ' R5*R5/kH SUB5(3) ' R3 = kH - R5*R5/kH DIV_2(3) ADD7(3) ' R3 - Yc JMP_NDEF(300) LABEL(200) ' ширина блока меньше чем диаметр дуги DIV_2(0) ' R0 = H/2 MOV7(3) LABEL(300) '----------------------------------------------- PUSH(7) PUSH(9) PUSH(7) PUSH(6) PUSH(3) PUSH(4) ARC DATA_END #ECOORD( 97 ) GETHEIGHT(0) ' R0 - высота текста FCONST(7) DIV(0) ' R1 - 2H/14 GETCOORD_X(9) ADD0(9) SETCOORD_X(9) DATA_END '------------------------------------------------------------------------------------ #BCOORD( 98 ); "Квадратный корень" 2 GLB_X_ADD_ITALIC GETHEIGHT(0) ' R0 - высота текста MOV0(1) FCONST(7) DIV(1) ' R1 - 2H/14 - зазор между текстом и рамкой GETCOORD_Y(8) ' R8 - Y GETCOORD_X(9) ADD1(9) ' R9 - Xlt TBASEBOX(7) PUSH(7) JMP_NE(100) ' если внутренний блок текста не пустой FCONST_100(112) POP(7) MUL0(7) ' создадим искуственную высоту блока LABEL(100) ADD8(7) ADD1(7) ' R7 - Yup BBASEBOX(6) PUSH(6) JMP_NE(200) ' если внутренний блок текста не пустой FCONST_100(28) SUB(6) ' R6 = -0.28 MUL0(6) ' создадим искуственную высоту блока LABEL(200) ADD8(6) SUB1(6) ' R6 - Ydn ADD1(6) ADD1(6) MOV0(2) FCONST_100(64) MUL(2) ADD8(2) ' R9,R2 - начало знака радикала GETITALIC(3) PUSH(3) JMP_NE(300) MOV2(3) SUB6(3) FCONST_100(24) MUL(3) ADD9(3) ' R3,R6 - перегиб знака радикала JMP_NDEF(400) LABEL(300) MOV9(3) LABEL(400) MOV7(4) SUB6(4) GETITALIC(5) PUSH(5) JMP_NE(500) FCONST_100(24) JMP_NDEF(600) LABEL(500) FCONST_100(42) LABEL(600) MUL(4) ADD3(4) ' R4,R7 - верх знака радикала PUSH(6) PUSH(3) PUSH(2) PUSH(9) LINE PUSH(7) PUSH(4) PUSH(6) PUSH(3) LINE WIDTHBASEBOX(5) ADD4(5) ADD1(5) ' R5 - Xrt PUSH(7) PUSH(5) PUSH(7) PUSH(4) LINE ' верхняя MOV7(2) ADD1(2) ' R2 = Yup + 2H/14 PUSH(2) ADD_GAB_Y ' добавить в габарит запас по высоте MOV6(2) SUB1(2) ' R2 = Ydn - 2H/14 PUSH(2) ADD_GAB_Y ' добавить в габарит запас по высоте GETITALIC(5) PUSH(5) JMP_EQ(700) SUB6(7) FCONST_100(18) MUL(7) SUB7(4) LABEL(700) SETCOORD_X(4) DATA_END #ECOORD( 98 ) GETHEIGHT(0) ' R0 - высота текста FCONST_100(30) MUL(0) GETCOORD_X(9) ADD0(9) SETCOORD_X(9) DATA_END '------------------------------------------------------------------------------------ #BCOORD( 99 ); "Кубический корень" 2 GLB_X_ADD_ITALIC GETHEIGHT(0) ' R0 - высота текста MOV0(1) FCONST(7) DIV(1) ' R1 - 2H/14 - зазор между текстом и рамкой GETCOORD_Y(8) ' R8 - Y GETCOORD_X(9) ADD1(9) ' R9 - Xlt TBASEBOX(7) PUSH(7) JMP_NE(100) ' если внутренний блок текста не пустой FCONST_100(112) POP(7) MUL0(7) ' создадим искуственную высоту блока LABEL(100) ADD8(7) ADD1(7) ' R7 - Yup BBASEBOX(6) PUSH(6) JMP_NE(200) ' если внутренний блок текста не пустой FCONST_100(28) SUB(6) ' R6 = -0.28 MUL0(6) ' создадим искуственную высоту блока LABEL(200) ADD8(6) SUB1(6) ' R6 - Ydn ADD1(6) ADD1(6) MOV0(2) FCONST_100(64) MUL(2) ADD8(2) ' R9,R2 - начало знака радикала GETITALIC(3) PUSH(3) JMP_NE(300) MOV2(3) SUB6(3) FCONST_100(24) MUL(3) ADD9(3) ' R3,R6 - перегиб знака радикала JMP_NDEF(400) LABEL(300) MOV9(3) LABEL(400) MOV7(4) SUB6(4) GETITALIC(5) PUSH(5) JMP_NE(500) FCONST_100(24) JMP_NDEF(600) LABEL(500) FCONST_100(42) LABEL(600) MUL(4) ADD3(4) ' R4,R7 - верх знака радикала PUSH(6) PUSH(3) PUSH(2) PUSH(9) LINE PUSH(7) PUSH(4) PUSH(6) PUSH(3) LINE GLB_FONT_PUSH GLB_COORD_PUSH MOV0(5) FCONST_100(50) MUL(5) SETHEIGHT(5) ' подготовка шрифта для вывода блока текста SETCOORD_X(9) MOV2(5) ADD1(5) SETCOORD_Y(5) TEXT("3") GLB_COORD_POP GLB_FONT_POP WIDTHBASEBOX(5) ADD4(5) ADD1(5) ' R5 - Xrt PUSH(7) PUSH(5) PUSH(7) PUSH(4) LINE ' верхняя MOV7(2) ADD1(2) ' R2 = Yup + 2H/14 PUSH(2) ADD_GAB_Y ' добавить в габарит запас по высоте MOV6(2) SUB1(2) ' R2 = Ydn - 2H/14 PUSH(2) ADD_GAB_Y ' добавить в габарит запас по высоте GETITALIC(5) PUSH(5) JMP_EQ(700) SUB6(7) FCONST_100(18) MUL(7) SUB7(4) LABEL(700) SETCOORD_X(4) DATA_END #ECOORD( 99 ) GETHEIGHT(0) ' R0 - высота текста FCONST_100(30) MUL(0) GETCOORD_X(9) ADD0(9) SETCOORD_X(9) DATA_END '------------------------------------------------------------------------------- #NODE; "Звезда с индексом" 2 #BCOORD( 100 ); "*" 3 TEXT_ADDX_F("*|GOST type A|GOST type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 101 ); "*1" 3 TEXT_ADDX_F("!|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 102 ); "*2" 3 TEXT_ADDX_F("@|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 103 ); "*3" 3 TEXT_ADDX_F("#|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 104 ); "*4" 3 TEXT_ADDX_F("$|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 105 ); "*5" 3 TEXT_ADDX_F("%|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 106 ); "*6" 3 TEXT_ADDX_F("^|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 107 ); "*7" 3 TEXT_ADDX_F("&|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 108 ); "*8" 3 TEXT_ADDX_F("*|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 109 ); "*9" 3 TEXT_ADDX_F("(|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 110 ); "*10" 3 TEXT_ADDX_F(")|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #NODE; "Нижний индекс" 2 #BCOORD( 111 ); "1" 3 GLB_FONT_PUSH GETCOORD_Y(9) ' R9 - Ybase GETHEIGHT(0) MOV0(1) FCONST_100(66) MUL(1) ' R1 - высота текста индекса SETHEIGHT(1) MOV0(2) FCONST_100(32) MUL(2) MOV9(3) SUB2(3) ' R3 - Yindex SETCOORD_Y(3) TEXT_ADDX("1") GLB_X_ADD_ITALIC SETCOORD_Y(9) ' R9 - Ybase GLB_FONT_POP DATA_END '------------------------------------------------------------------------------------ #BCOORD( 112 ); "2" 3 GLB_FONT_PUSH GETCOORD_Y(9) ' R9 - Ybase GETHEIGHT(0) MOV0(1) FCONST_100(66) MUL(1) ' R1 - высота текста индекса SETHEIGHT(1) MOV0(2) FCONST_100(32) MUL(2) MOV9(3) SUB2(3) ' R3 - Yindex SETCOORD_Y(3) TEXT_ADDX("2") GLB_X_ADD_ITALIC SETCOORD_Y(9) ' R9 - Ybase GLB_FONT_POP DATA_END '------------------------------------------------------------------------------------ #BCOORD( 113 ); "3" 3 GLB_FONT_PUSH GETCOORD_Y(9) ' R9 - Ybase GETHEIGHT(0) MOV0(1) FCONST_100(66) MUL(1) ' R1 - высота текста индекса SETHEIGHT(1) MOV0(2) FCONST_100(32) MUL(2) MOV9(3) SUB2(3) ' R3 - Yindex SETCOORD_Y(3) TEXT_ADDX("3") GLB_X_ADD_ITALIC SETCOORD_Y(9) ' R9 - Ybase GLB_FONT_POP DATA_END '------------------------------------------------------------------------------------ #BCOORD( 114 ); "4" 3 GLB_FONT_PUSH GETCOORD_Y(9) ' R9 - Ybase GETHEIGHT(0) MOV0(1) FCONST_100(66) MUL(1) ' R1 - высота текста индекса SETHEIGHT(1) MOV0(2) FCONST_100(32) MUL(2) MOV9(3) SUB2(3) ' R3 - Yindex SETCOORD_Y(3) TEXT_ADDX("4") GLB_X_ADD_ITALIC SETCOORD_Y(9) ' R9 - Ybase GLB_FONT_POP DATA_END '------------------------------------------------------------------------------------ #BCOORD( 115 ); "5" 3 GLB_FONT_PUSH GETCOORD_Y(9) ' R9 - Ybase GETHEIGHT(0) MOV0(1) FCONST_100(66) MUL(1) ' R1 - высота текста индекса SETHEIGHT(1) MOV0(2) FCONST_100(32) MUL(2) MOV9(3) SUB2(3) ' R3 - Yindex SETCOORD_Y(3) TEXT_ADDX("5") GLB_X_ADD_ITALIC SETCOORD_Y(9) ' R9 - Ybase GLB_FONT_POP DATA_END '------------------------------------------------------------------------------------ #BCOORD( 116 ); "6" 3 GLB_FONT_PUSH GETCOORD_Y(9) ' R9 - Ybase GETHEIGHT(0) MOV0(1) FCONST_100(66) MUL(1) ' R1 - высота текста индекса SETHEIGHT(1) MOV0(2) FCONST_100(32) MUL(2) MOV9(3) SUB2(3) ' R3 - Yindex SETCOORD_Y(3) TEXT_ADDX("6") GLB_X_ADD_ITALIC SETCOORD_Y(9) ' R9 - Ybase GLB_FONT_POP DATA_END '------------------------------------------------------------------------------------ #BCOORD( 117 ); "7" 3 GLB_FONT_PUSH GETCOORD_Y(9) ' R9 - Ybase GETHEIGHT(0) MOV0(1) FCONST_100(66) MUL(1) ' R1 - высота текста индекса SETHEIGHT(1) MOV0(2) FCONST_100(32) MUL(2) MOV9(3) SUB2(3) ' R3 - Yindex SETCOORD_Y(3) TEXT_ADDX("7") GLB_X_ADD_ITALIC SETCOORD_Y(9) ' R9 - Ybase GLB_FONT_POP DATA_END '------------------------------------------------------------------------------------ #BCOORD( 118 ); "8" 3 GLB_FONT_PUSH GETCOORD_Y(9) ' R9 - Ybase GETHEIGHT(0) MOV0(1) FCONST_100(66) MUL(1) ' R1 - высота текста индекса SETHEIGHT(1) MOV0(2) FCONST_100(32) MUL(2) MOV9(3) SUB2(3) ' R3 - Yindex SETCOORD_Y(3) TEXT_ADDX("8") GLB_X_ADD_ITALIC SETCOORD_Y(9) ' R9 - Ybase GLB_FONT_POP DATA_END '------------------------------------------------------------------------------------ #BCOORD( 119 ); "9" 3 GLB_FONT_PUSH GETCOORD_Y(9) ' R9 - Ybase GETHEIGHT(0) MOV0(1) FCONST_100(66) MUL(1) ' R1 - высота текста индекса SETHEIGHT(1) MOV0(2) FCONST_100(32) MUL(2) MOV9(3) SUB2(3) ' R3 - Yindex SETCOORD_Y(3) TEXT_ADDX("9") GLB_X_ADD_ITALIC SETCOORD_Y(9) ' R9 - Ybase GLB_FONT_POP DATA_END '------------------------------------------------------------------------------------ #BCOORD( 120 ); "0" 3 GLB_FONT_PUSH GETCOORD_Y(9) ' R9 - Ybase GETHEIGHT(0) MOV0(1) FCONST_100(66) MUL(1) ' R1 - высота текста индекса SETHEIGHT(1) MOV0(2) FCONST_100(32) MUL(2) MOV9(3) SUB2(3) ' R3 - Yindex SETCOORD_Y(3) TEXT_ADDX("0") GLB_X_ADD_ITALIC SETCOORD_Y(9) ' R9 - Ybase GLB_FONT_POP DATA_END '=============================================================================== #NODE; "Углы, уклоны, конусность" 1 #BCOORD( 76 ); "Уклон (влево)" 2 GETHEIGHT(0) ' в R0 - высота текста MOV0(1) FCONST_100(60) MUL(1) ' R1 - 0.6 высоты текста GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xc из-за italic MOV9(8) ADD0(8) ADD1(8) ' R8 - Xmax GETCOORD_Y(6) ' R6 - Ymin MOV6(5) ADD0(5) ' R5 - Ymax PUSH(6) PUSH(8) PUSH(6) PUSH(9) LINE PUSH(5) PUSH(8) PUSH(6) PUSH(9) LINE FCONST(7) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 11 ); "Уклон (вправо)" 2 GETHEIGHT(0) ' в R0 - высота текста MOV0(1) FCONST_100(60) MUL(1) ' R1 - 0.6 высоты текста GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xc из-за italic MOV9(8) ADD0(8) ADD1(8) ' R8 - Xmax GETCOORD_Y(6) ' R6 - Ymin MOV6(5) ADD0(5) ' R5 - Ymax PUSH(6) PUSH(8) PUSH(6) PUSH(9) LINE PUSH(5) PUSH(9) PUSH(6) PUSH(8) LINE FCONST(7) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 12 ); "Конусность (влево)" 2 GETHEIGHT(0) ' в R0 - H-высота текста DIV_2(0) ' в R0 - H/2 GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xc из-за italic MOV9(8) ADD0(8) ADD0(8) ADD0(8) ' R8 - Xmax MOV5(4) ADD0(4) ' R4 - Yc MOV4(3) ADD0(3) ' R3 - Ymax PUSH(4) PUSH(9) PUSH(5) PUSH(8) LINE PUSH(4) PUSH(9) PUSH(3) PUSH(8) LINE PUSH(5) PUSH(8) PUSH(3) PUSH(8) LINE FCONST(14) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 13 ); "Конусность (вправо)" 2 GETHEIGHT(0) ' в R0 - H-высота текста DIV_2(0) ' в R0 - H/2 GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xc из-за italic MOV9(8) ADD0(8) ADD0(8) ADD0(8) ' R8 - Xmax MOV5(4) ADD0(4) ' R4 - Yc MOV4(3) ADD0(3) ' R3 - Ymax PUSH(5) PUSH(9) PUSH(4) PUSH(8) LINE PUSH(3) PUSH(9) PUSH(4) PUSH(8) LINE PUSH(5) PUSH(9) PUSH(3) PUSH(9) LINE FCONST(14) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 9 ); "Угол (влево)" 2 TEXT_ADDX_F("К|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 69 ); "Угол (вправо)" 2 TEXT_ADDX_F("Л|Symbol type A|Symbol type A (plotter)") DATA_END '================= ГОСТ 2.308-79 ==== c 103 ==================================== #NODE; "Допуски формы и расположения поверхностей" 1 #NODE; "Допуск формы" 2 #BCOORD( 16 ); "Допуск прямолинейности" 3 GETHEIGHT(0) ' в R0 - высота текста MOV0(1) FCONST_100(160) MUL(1) ' R1 - 1.6 высоты текста GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD1(8) ' R8 - Xmax DIV_2(0) ' R0 - 0.5 высоты текста GETCOORD_Y(6) ADD0(6) ' R6 - Yc PUSH(6) PUSH(8) PUSH(6) PUSH(9) LINE ' средняя SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 17 ); "Допуск плоскостности" 3 GETHEIGHT(0) ' в R0 - высота текста MOV0(1) FCONST_100(58) ' ctan(60')*100 MUL(1) ' R1 - высота текста * ctan(60') MOV0(2) FCONST_100(160) MUL(2) ' R2 - 1.6 * высота текста GETCOORD_X(9) ' R9 - XminDN MOV9(8) ADD1(8) ' R8 - XminUP MOV9(7) ADD2(7) ' R7 - XmaxDN MOV8(6) ADD2(6) ' R6 - XmaxUP GETCOORD_Y(5) ' R5 - Ymin MOV5(4) ADD0(4) ' R4 - Ymax PUSH(4) PUSH(8) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(6) PUSH(5) PUSH(7) LINE PUSH(5) PUSH(7) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(6) PUSH(4) PUSH(8) LINE SETCOORD_X(6) DATA_END '------------------------------------------------------------------------------- #BCOORD( 22 ); "Допуск круглости" 3 GETHEIGHT(0) ' R0 - H-высота текста DIV_2(0) ' R0 - H/2 MOV0(1) FCONST_100(60) MUL(1) ' R1 - 0.3H GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ADD1(8) ' R8 - Xc MOV8(7) ADD0(7) ADD1(7) ' R7 - Xmax GETCOORD_Y(5) ADD0(5) ' R5 - Yc ADD1(0) PUSH(0) PUSH(5) PUSH(8) CIRCLE SETCOORD_X(7) DATA_END '------------------------------------------------------------------------------- #BCOORD( 23 ); "Допуск цилиндричности" 3 GETHEIGHT(0) ' в R0 - H-высота текста MOV0(2) FCONST_100(1154) MUL(2) DIV_10(2) ' R2 - расстояние между линиями по горизонтали MOV0(3) FCONST_100(30) MUL(3) ' R3 - 0.3H ADD3(0) ADD3(0) ' R0 - 1.6H MOV0(1) FCONST_100(58) ' 1/ctan(60') * 100 MUL(1) ' R1 - 1.6H * 1/ctan(60') GETCOORD_X(9) ' R9 - XminDN MOV9(8) ADD1(8) ' R8 - XminUP MOV9(7) ADD2(7) ' R7 - XmaxDN MOV8(6) ADD2(6) ' R6 - XmaxUP GETCOORD_Y(5) SUB3(5) ' R5 - Ybase-0.3H MOV5(4) ADD0(4) ' R4 - Ymax PUSH(4) PUSH(8) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(6) PUSH(5) PUSH(7) LINE ADD6(9) DIV_2(9) ' R9 - Xc ADD5(4) DIV_2(4) ' R4 - Yc GETHEIGHT(0) ' R0 - H DIV_2(0) ' R0 - радиус PUSH(0) PUSH(4) PUSH(9) CIRCLE SETCOORD_X(6) DATA_END '------------------------------------------------------------------------------- #BCOORD( 18 ); "Допуск профиля продольного сечения" 3 GETHEIGHT(0) ' в R0 - высота текста DIV_2(0) MOV0(1) FCONST_100(60) MUL(1) ' R1 - 0.3 высоты текста MOV1(2) DIV_2(2) ' R2 - 0.15 высоты текста GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ADD1(8) ' R8 - Xc MOV8(7) ADD0(7) ADD1(7) ' R7 - Xmax SETCOORD_X(7) GETCOORD_Y(6) PUSH(6) ' для R4 PUSH(6) ' для R5 ADD2(6) ' R6 - Ydn POP(5) ' GetCoordY ADD0(5) ' R5 - Yc POP(4) ' GetCoordY ADD0(4) ADD0(4) SUB2(4) ' R4 - Yup PUSH(4) PUSH(7) PUSH(4) PUSH(9) LINE ' верхняя PUSH(6) PUSH(7) PUSH(6) PUSH(9) LINE ' нижняя DATA_END '------------------------------------------------------------------------------- #NODE; "Допуск расположения" 2 #BCOORD( 24 ); "Допуск параллельности" 3 GETHEIGHT(0) ' в R0 - H-высота текста MOV0(2) FCONST_100(81) MUL(2) ' R2 - расстояние между линиями по горизонтали MOV0(3) FCONST_100(30) MUL(3) ' R3 - 0.3H ADD3(0) ADD3(0) ' R0 - 1.6H MOV0(1) FCONST_100(58) ' 1/ctan(60') * 100 MUL(1) ' R1 - 1.6H * 1/ctan(60') GETCOORD_X(9) ' R9 - XminDN MOV9(8) ADD1(8) ' R8 - XminUP MOV9(7) ADD2(7) ' R7 - XmaxDN MOV8(6) ADD2(6) ' R6 - XmaxUP GETCOORD_Y(5) SUB3(5) ' R5 - Ybase-0.3H MOV5(4) ADD0(4) ' R4 - Ymax PUSH(4) PUSH(8) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(6) PUSH(5) PUSH(7) LINE SETCOORD_X(6) DATA_END '------------------------------------------------------------------------------- #BCOORD( 25 ); "Допуск перпендикулярности" 3 GETHEIGHT(0) ' в R0 - высота текста DIV_2(0) MOV0(1) FCONST_100(60) MUL(1) ' R1 - 0.3 высоты текста GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ADD1(8) ' R8 - Xc MOV8(7) ADD0(7) ADD1(7) ' R7 - Xmax GETCOORD_Y(6) SUB1(6) ' R6 - Ymin MOV6(5) ADD0(5) ADD1(5) ' R5 - Yc MOV5(4) ADD0(4) ADD1(4) ' R4 - Ymax PUSH(6) PUSH(7) PUSH(6) PUSH(9) LINE PUSH(6) PUSH(8) PUSH(4) PUSH(8) LINE SETCOORD_X(7) DATA_END '------------------------------------------------------------------------------- #BCOORD( 10 ); "Допуск наклона" 3 GETHEIGHT(0) ' в R0 - высота текста MOV0(1) FCONST_100(60) MUL(1) ' R1 - 0.6 высоты текста GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ADD1(8) ' R8 - Xmax GETCOORD_Y(6) ' R6 - Ymin MOV6(5) ADD0(5) ' R5 - Ymax PUSH(6) PUSH(8) PUSH(6) PUSH(9) LINE PUSH(5) PUSH(8) PUSH(6) PUSH(9) LINE SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 26 ); "Допуск соосности" 3 GETHEIGHT(0) ' в R0 - высота текста DIV_2(0) MOV0(1) FCONST_100(60) MUL(1) ' R1 - 0.3 высоты текста GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ADD1(8) ' R8 - Xc MOV8(7) ADD0(7) ADD1(7) ' R7 - Xmax GETCOORD_Y(6) SUB1(6) ' R6 - Ymin MOV6(5) ADD0(5) ADD1(5) ' R5 - Yc PUSH(0) PUSH(5) PUSH(8) CIRCLE ADD1(0) PUSH(0) PUSH(5) PUSH(8) CIRCLE SETCOORD_X(7) DATA_END '------------------------------------------------------------------------------- #BCOORD( 19 ); "Допуск симметричности" 3 GETHEIGHT(0) ' в R0 - высота текста DIV_2(0) MOV0(1) FCONST_100(60) MUL(1) ' R1 - 0.3 высоты текста MOV1(2) DIV_2(2) ' R2 - 0.15 высоты текста GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ADD1(8) ' R8 - Xc MOV8(7) ADD0(7) ADD1(7) ' R7 - Xmax SETCOORD_X(7) GETCOORD_Y(6) PUSH(6) ' для R4 PUSH(6) ' для R5 ADD2(6) ' R6 - Ydn POP(5) ' GetCoordY ADD0(5) ' R5 - Yc POP(4) ' GetCoordY ADD0(4) ADD0(4) SUB2(4) ' R4 - Yup PUSH(5) PUSH(7) PUSH(5) PUSH(9) LINE ' средняя ADD1(9) SUB1(7) PUSH(4) PUSH(7) PUSH(4) PUSH(9) LINE ' верхняя PUSH(6) PUSH(7) PUSH(6) PUSH(9) LINE ' нижняя DATA_END '------------------------------------------------------------------------------- #BCOORD( 27 ); "Позиционный допуск" 3 GETHEIGHT(0) ' в R0 - высота текста DIV_2(0) MOV0(1) FCONST_100(60) MUL(1) ' R1 - 0.3 высоты текста GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ADD1(8) ' R8 - Xc MOV8(7) ADD0(7) ADD1(7) ' R7 - Xmax GETCOORD_Y(6) SUB1(6) ' R6 - Ymin MOV6(5) ADD0(5) ADD1(5) ' R5 - Yc MOV5(4) ADD0(4) ADD1(4) ' R4 - Ymax PUSH(5) PUSH(7) PUSH(5) PUSH(9) LINE PUSH(6) PUSH(8) PUSH(4) PUSH(8) LINE PUSH(0) PUSH(5) PUSH(8) CIRCLE SETCOORD_X(7) DATA_END '------------------------------------------------------------------------------- #BCOORD( 33 ); "Допуск пересечения осей" 3 GETHEIGHT(0) ' в R0 - высота текста GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ' R8 - Xmax GETCOORD_Y(7) ' R7 - Ymin MOV7(6) ADD0(6) ' R6 - Ymax PUSH(6) PUSH(8) PUSH(7) PUSH(9) LINE PUSH(7) PUSH(8) PUSH(6) PUSH(9) LINE SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #NODE; "Суммарные допуски формы и расположения" 2 #BCOORD( 28 ); "Допуск биения" 3 GETHEIGHT(0) ' в R0 - H-высота текста MOV0(3) FCONST_100(30) MUL(3) ' R3 - 0.3H ADD3(0) ADD3(0) ' R0 - 1.6H GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ' R8 - Xmax GETCOORD_Y(7) SUB3(7) ' R7 - Ymin=Ybase-0.3H MOV7(6) ADD0(6) ' R6 - Ymax PUSH(6) PUSH(8) PUSH(7) PUSH(9) LINE SETCOORD_X(8) MOV0(1) FCONST_100(40) MUL(1) ' R1 - длина стрелки MOV0(2) FCONST_100(12) MUL(2) ' R2 - длина отвода стрелки от линии MOV6(7) SUB1(7) MOV8(9) SUB1(9) ADD2(9) PUSH(6) PUSH(8) PUSH(7) PUSH(9) LINE MOV6(7) SUB1(7) ADD2(7) MOV8(9) SUB1(9) PUSH(6) PUSH(8) PUSH(7) PUSH(9) LINE DATA_END '------------------------------------------------------------------------------- #BCOORD( 29 ); "Допуск полного биения" 3 GETHEIGHT(0) ' в R0 - H-высота текста MOV0(3) FCONST_100(30) MUL(3) ' R3 - 0.3H ADD3(0) ADD3(0) ' R0 - 1.6H ' первая стрелка GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ' R8 - Xmax GETCOORD_Y(7) SUB3(7) ' R7 - Ymin=Ybase-0.3H PUSH(7) PUSH(8) PUSH(7) PUSH(9) LINE MOV7(6) ADD0(6) ' R6 - Ymax PUSH(6) PUSH(8) PUSH(7) PUSH(9) LINE SETCOORD_X(8) MOV0(1) FCONST_100(40) MUL(1) ' R1 - длина стрелки MOV0(2) FCONST_100(12) MUL(2) ' R2 - длина отвода стрелки от линии MOV6(7) SUB1(7) MOV8(9) SUB1(9) ADD2(9) PUSH(6) PUSH(8) PUSH(7) PUSH(9) LINE MOV6(7) SUB1(7) ADD2(7) MOV8(9) SUB1(9) PUSH(6) PUSH(8) PUSH(7) PUSH(9) LINE ' вторая стрелка GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ' R8 - Xmax GETCOORD_Y(7) SUB3(7) ' R7 - Ymin=Ybase-0.3H MOV7(6) ADD0(6) ' R6 - Ymax PUSH(6) PUSH(8) PUSH(7) PUSH(9) LINE SETCOORD_X(8) MOV0(1) FCONST_100(40) MUL(1) ' R1 - длина стрелки MOV0(2) FCONST_100(12) MUL(2) ' R2 - длина отвода стрелки от линии MOV6(7) SUB1(7) MOV8(9) SUB1(9) ADD2(9) PUSH(6) PUSH(8) PUSH(7) PUSH(9) LINE MOV6(7) SUB1(7) ADD2(7) MOV8(9) SUB1(9) PUSH(6) PUSH(8) PUSH(7) PUSH(9) LINE DATA_END '------------------------------------------------------------------------------- #BCOORD( 20 ); "Допуск формы заданного профиля" 3 GETHEIGHT(0) ' в R0 - высота текста GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ' R8 - Xc MOV8(7) ADD0(7) ' R7 - Xmax GETCOORD_Y(6) ' R6 - Yc PUSH(6) PUSH(9) PUSH(6) PUSH(7) PUSH(6) PUSH(8) ARC SETCOORD_X(7) DATA_END '------------------------------------------------------------------------------- #BCOORD( 21 ); "Допуск формы заданной поверхности" 3 GETHEIGHT(0) ' в R0 - высота текста GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ' R8 - Xc MOV8(7) ADD0(7) ' R7 - Xmax GETCOORD_Y(6) ' R6 - Yc PUSH(6) PUSH(9) PUSH(6) PUSH(7) PUSH(6) PUSH(8) ARC PUSH(6) PUSH(7) PUSH(6) PUSH(9) LINE SETCOORD_X(7) DATA_END '------------------------------------------------------------------------------- #BCOORD( 30 ); "Зависимый допуск" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("а|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 32 ); "Независимый допуск" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("б|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 31 ); "Выступающее поле допуска" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("в|Symbol type A|Symbol type A (plotter)") DATA_END '================= ГОСТ 2.309-73 ==== c 131 ==================================== #NODE; "Направления неровностей шероховатости" 1 '------------------------------------------------------------------------------------ #BCOORD( 70 ); "параллельное" 2 GETHEIGHT(0) ' в R0 - высота текста MOV0(2) DIV_2(2) DIV_2(2) ' R2 - 0.25 высоты текста (отступы до линий сверху и снизу) GETCOORD_Y(6) ' R6 - Ymin GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xmin из-за italic MOV9(7) ADD0(7) ' R7 - Xmax SETCOORD_X(7) MOV6(5) ADD2(5) ' R5 - Ydn MOV6(4) ADD0(4) ' R4 - Ymax SUB2(4) ' R4 - Yup PUSH(4) PUSH(7) PUSH(4) PUSH(9) LINE ' верхняя PUSH(5) PUSH(7) PUSH(5) PUSH(9) LINE ' нижняя MOV0(1) FCONST_100(112) MUL(1) ' R1 - 1.12 высоты текста ADD6(1) ' R6 - Нижняя граница ячейки текста PUSH(1) ADD_GAB_Y ' Добавить к габариту символа FCONST_100(32) MUL(0) ' R0 - 0.32 высоты текста SUB0(6) ' R6 - Нижняя граница ячейки текста PUSH(6) ADD_GAB_Y ' Добавить к габариту символа DATA_END '------------------------------------------------------------------------------- #BCOORD( 71 ); "перпендикулярное" 2 GETHEIGHT(0) ' R0 - высота текста MOV0(1) DIV_2(1) ' R1 - 0.5H GETCOORD_Y(6) ' R6 - Ymin GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xmin из-за italic MOV9(7) ADD0(7) ' R7 - Xmax SETCOORD_X(7) MOV9(8) ADD1(8) ' R8 - Xc MOV6(4) ADD0(4) ' R4 - Ymax PUSH(6) PUSH(7) PUSH(6) PUSH(9) LINE PUSH(6) PUSH(8) PUSH(4) PUSH(8) LINE MOV0(1) FCONST_100(112) MUL(1) ' R1 - 1.12 высоты текста ADD6(1) ' R6 - Нижняя граница ячейки текста PUSH(1) ADD_GAB_Y ' Добавить к габариту символа FCONST_100(32) MUL(0) ' R0 - 0.32 высоты текста SUB0(6) ' R6 - Нижняя граница ячейки текста PUSH(6) ADD_GAB_Y ' Добавить к габариту символа DATA_END '------------------------------------------------------------------------------- #BCOORD( 72 ); "перекрещивающееся" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("Ы|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 73 ); "произвольное" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("M|GOST type A|GOST type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 74 ); "кругообразное" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("C|GOST type A|GOST type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 75 ); "радиальное" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("R|GOST type A|GOST type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 170 ); "точечное" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("P|GOST type A|GOST type A (plotter)") DATA_END '================= ГОСТ 2.312-72 ==== c 153 ==================================== #NODE; "Швы сварных соединений" 1 #BCOORD( 34 ); "Знак размера катета" 2 GLB_X_ADD_ITALIC GETHEIGHT(0) ' в R0 - H-высота текста GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ' R8 - Xmax MOV5(4) ADD0(4) ' R4 - Ymax PUSH(4) PUSH(9) PUSH(5) PUSH(9) LINE PUSH(5) PUSH(8) PUSH(4) PUSH(9) LINE PUSH(5) PUSH(9) PUSH(5) PUSH(8) LINE FCONST(7) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 35 ); "Усиление шва снять (лицевой)" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("ж|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 36 ); "Усиление шва снять (оборотный)" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("з|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 37 ); "Наплывы обр. с плавным переходом (лицевой)" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("и|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 38 ); "Наплывы обр. с плавным переходом (оборотный)" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("й|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 15 ); "Шов прерыв. или точ. c шахм. расположением (1)" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("к|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 39 ); "Шов прерыв. или точ. c шахм. расположением (2)" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("л|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 40 ); "Шов по незамкнутой линии" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("м|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 148 ); "Знак монтажного шва" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("ї|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #NODE; "Другие знаки" 2 '------------------------------------------------------------------------------- #BCOORD( 84 ); "Знак размера катета (перевернутый 1)" 3 GLB_X_ADD_ITALIC GETHEIGHT(0) ' в R0 - H-высота текста GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ' R8 - Xmax MOV5(4) ADD0(4) ' R4 - Ymax PUSH(4) PUSH(9) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(8) PUSH(4) PUSH(9) LINE PUSH(5) PUSH(9) PUSH(4) PUSH(8) LINE FCONST(7) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 85 ); "Знак размера катета (перевернутый 2)" 3 GLB_X_ADD_ITALIC GETHEIGHT(0) ' в R0 - H-высота текста GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ' R8 - Xmax MOV5(4) ADD0(4) ' R4 - Ymax PUSH(4) PUSH(8) PUSH(5) PUSH(9) LINE PUSH(5) PUSH(8) PUSH(4) PUSH(8) LINE PUSH(5) PUSH(9) PUSH(5) PUSH(8) LINE FCONST(7) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 86 ); "Знак размера катета (перевернутый 3)" 3 GLB_X_ADD_ITALIC GETHEIGHT(0) ' в R0 - H-высота текста GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin MOV9(8) ADD0(8) ' R8 - Xmax MOV5(4) ADD0(4) ' R4 - Ymax PUSH(4) PUSH(9) PUSH(5) PUSH(8) LINE PUSH(4) PUSH(8) PUSH(4) PUSH(9) LINE PUSH(5) PUSH(8) PUSH(4) PUSH(8) LINE FCONST(7) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '=============================================================================== #NODE; "Обозначения видов, разрезов и сечений" 1 #BCOORD( 63 ); "Повернуто" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("г|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 64 ); "Развернуто" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("д|Symbol type A|Symbol type A (plotter)") DATA_END '=============================================================================== #NODE; "Шероховатость" 1 #BCOORD( 171 ); "Верхний. Изм.№3 ГОСТ 2.309-73" 2 GLB_X_ADD_ITALIC GETHEIGHT(0) ' R0 - высота текста MOV0(1) FCONST(7) DIV(1) ' R1 - 2H/14 - зазор между текстом и рамкой GETCOORD_Y(8) ' R8 - Y GETCOORD_X(9) ADD1(9) ' R9 - Xlt TBASEBOX(7) PUSH(7) JMP_NE(100) ' если внутренний блок текста не пустой FCONST_100(112) POP(7) MUL0(7) ' создадим искуственную высоту блока LABEL(100) ADD8(7) ADD1(7) ' R7 - Yup FCONST_100(28) SUB(6) ' R6 = -0.28 MUL0(6) ' R6 = -0.28 * H ADD8(6) SUB1(6) ' R6 - Ydn ADD1(6) ADD1(6) MOV0(2) FCONST_100(64) MUL(2) ADD8(2) ' R9,R2 - начало знака радикала MOV2(3) SUB6(3) FCONST_100(57) MUL(3) ADD9(3) ' R3,R6 - перегиб знака радикала MOV7(4) SUB6(4) FCONST_100(58) MUL(4) ADD3(4) ' R4,R7 - верх знака радикала PUSH(6) PUSH(3) PUSH(2) PUSH(9) LINE PUSH(7) PUSH(4) PUSH(6) PUSH(3) LINE WIDTHBASEBOX(5) ADD4(5) ' R5 - Xrt PUSH(7) PUSH(5) PUSH(7) PUSH(4) LINE ' верхняя ' MOV7(2) ' ADD1(2) ' R2 = Yup + 2H/14 ' PUSH(2) ' ADD_GAB_Y ' добавить в габарит запас по высоте ' MOV6(2) ' SUB1(2) ' R2 = Ydn - 2H/14 ' PUSH(2) ' ADD_GAB_Y ' добавить в габарит запас по высоте GETITALIC(5) PUSH(5) JMP_EQ(700) MOV0(7) FCONST_100(40) MUL(7) SUB7(4) LABEL(700) SETCOORD_X(4) DATA_END #ECOORD( 171 ) GETHEIGHT(0) ' R0 - высота текста FCONST_100(30) MUL(0) GETCOORD_X(9) ADD0(9) SETCOORD_X(9) DATA_END '------------------------------------------------------------------------------------ #BCOORD( 172 ); "Верхний. С удалением материала. Изм.№3 ГОСТ 2.309-73" 2 GLB_X_ADD_ITALIC GETHEIGHT(0) ' R0 - высота текста MOV0(1) FCONST(7) DIV(1) ' R1 - 2H/14 - зазор между текстом и рамкой GETCOORD_Y(8) ' R8 - Y GETCOORD_X(9) ADD1(9) ' R9 - Xlt TBASEBOX(7) PUSH(7) JMP_NE(100) ' если внутренний блок текста не пустой FCONST_100(112) POP(7) MUL0(7) ' создадим искуственную высоту блока LABEL(100) ADD8(7) ADD1(7) ' R7 - Yup FCONST_100(28) SUB(6) ' R6 = -0.28 MUL0(6) ' R6 = -0.28 * H ADD8(6) SUB1(6) ' R6 - Ydn ADD1(6) ADD1(6) MOV0(2) FCONST_100(64) MUL(2) ADD8(2) ' R9,R2 - начало знака радикала MOV2(3) SUB6(3) FCONST_100(57) MUL(3) ADD9(3) ' R3,R6 - перегиб знака радикала MOV7(4) SUB6(4) FCONST_100(58) MUL(4) ADD3(4) ' R4,R7 - верх знака радикала PUSH(6) PUSH(3) PUSH(2) PUSH(9) LINE PUSH(7) PUSH(4) PUSH(6) PUSH(3) LINE MOV0(5) FCONST_100(90) MUL(5) ADD9(5) ' R2,R5 - конец полки PUSH(2) PUSH(5) PUSH(2) PUSH(9) LINE ' полка WIDTHBASEBOX(5) ADD4(5) ' R5 - Xrt PUSH(7) PUSH(5) PUSH(7) PUSH(4) LINE ' верхняя ' MOV7(2) ' ADD1(2) ' R2 = Yup + 2H/14 ' PUSH(2) ' ADD_GAB_Y ' добавить в габарит запас по высоте ' MOV6(2) ' SUB1(2) ' R2 = Ydn - 2H/14 ' PUSH(2) ' ADD_GAB_Y ' добавить в габарит запас по высоте GETITALIC(5) PUSH(5) JMP_EQ(700) MOV0(7) FCONST_100(40) MUL(7) SUB7(4) LABEL(700) SETCOORD_X(4) DATA_END #ECOORD( 172 ) GETHEIGHT(0) ' R0 - высота текста FCONST_100(30) MUL(0) GETCOORD_X(9) ADD0(9) SETCOORD_X(9) DATA_END '------------------------------------------------------------------------------- #BCOORD( 78 ); "Верхний" 2 WIDTHBASEBOX(1) GETHEIGHT(0) FCONST_100(115) MUL(0) ' R0 - ширина левой линии (1.15 H при входе) MOV1(2) ' R2 = R1 MAX0(2) ' R2 = max( R0,R1 ) FNULL(8) ADD_ITALIC(8) ' R8 - величина сдвига из-за italic MUL_3(8) DIV_2(8) ' R9 - сдвиг из-за italic, приведенный к нормальной высоте текста GETCOORD_X(9) ' R9 - Xmin ADD8(9) ' сдвиг Xmin из-за italic ADD2(9) ' R9 - X конца текста MOV9(8) SUB1(8) ' R8 - X начала текста GETHEIGHT(0) MOV0(3) FCONST_100(55) MUL(3) ' R3 - сдвиг от конца текста до середины галочки SUB3(9) ' R9 - Xc MOV0(7) FCONST_100(104)'-125 MUL(7) ADD9(7) ' R7 - Xmax SETCOORD_X(7) GLB_COORD_PUSH MOV9(6) MOV0(5) FCONST_100(60) MUL(5) SUB5(6) ' R6 - Xmin GETCOORD_Y(5) ' R5 - Ymin MOV0(4) ADD5(4) ' R4 - Yc MOV0(3) FCONST_100(180)'-235 MUL(3) ' R3 - высота правой линии ADD5(3) ' R3 - Ymax PUSH(4) PUSH(6) PUSH(5) PUSH(9) LINE PUSH(3) PUSH(7) PUSH(5) PUSH(9) LINE BBASEBOX(2) SUB2(4) ' R4 - Y начала текста MOV0(3) FCONST_100(15) MUL(3) SUB3(4) ' дополнительный сдвиг YbegTxt SETCOORD_X(8) SETCOORD_Y(4) DATA_END #ECOORD( 78 ) GLB_COORD_POP DATA_END #BFONT( 78 ) GLB_FONT_PUSH GETHEIGHT(0) DIV_3(0) MUL_2(0) SETHEIGHT(0) DATA_END #EFONT( 78 ) GLB_FONT_POP DATA_END '------------------------------------------------------------------------------- #BCOORD( 79 ); "Нижний" 2 WIDTHBASEBOX(1) ' R1 - ширина вписанного блока текста ADD_ITALIC(1) ' коррекция на величину italic GETHEIGHT(0) FCONST_100(115) MUL(0) ' R0 - ширина левой линии (1.15 H при входе) MOV1(2) ' R2 = R1 MAX0(2) ' R2 = max( R0,R1 ) GETCOORD_X(9) ' R9 - Xmin MOV9(8) GETHEIGHT(0) FCONST_100(50)'-80 MUL(0) ADD0(8) ' R8 - X начала текста MOV8(7) ADD2(7) ' R7 - XendSym SETCOORD_X(7) GLB_COORD_PUSH GETHEIGHT(0) MOV0(6) FCONST_100(55) MUL(6) ' R6 - сдвиг от начала текста до середины галочки ADD8(6) ' R6 - Xc MOV0(7) FCONST_100(60) MUL(7) ADD6(7) ' R7 - Xmax GETCOORD_Y(5) GETHEIGHT(1) MUL_3(1) DIV_2(1) ' R0 - полная высота текста ADD1(5) ' R5 - Ymax MOV5(4) SUB0(4) ' R4 - Yc GETCOORD_Y(3) MOV0(2) FCONST_100(31)'-75 MUL(2) SUB2(3) ' R3 - Ymin PUSH(5) PUSH(6) PUSH(3) PUSH(9) LINE PUSH(4) PUSH(7) PUSH(5) PUSH(6) LINE TBASEBOX(2) SUB2(4) ' R4 - Y начала текста MOV0(3) FCONST_100(15) MUL(3) SUB3(4) ' дополнительный сдвиг YbegTxt SETCOORD_X(8) SETCOORD_Y(4) DATA_END #ECOORD( 79 ) GLB_COORD_POP DATA_END #BFONT( 79 ) GLB_FONT_PUSH GETHEIGHT(0) DIV_3(0) MUL_2(0) SETHEIGHT(0) DATA_END #EFONT( 79 ) GLB_FONT_POP DATA_END '------------------------------------------------------------------------------- #BCOORD( 93 ); "Верхний. С удалением материала" 2 WIDTHBASEBOX(1) GETHEIGHT(0) FCONST_100(115) MUL(0) ' R0 - ширина левой линии (1.15 H при входе) MOV1(2) ' R2 = R1 MAX0(2) ' R2 = max( R0,R1 ) FNULL(8) ADD_ITALIC(8) ' R8 - величина сдвига из-за italic MUL_3(8) DIV_2(8) ' R9 - сдвиг из-за italic, приведенный к нормальной высоте текста GETCOORD_X(9) ' R9 - Xmin ADD8(9) ' сдвиг Xmin из-за italic ADD2(9) ' R9 - X конца текста MOV9(8) SUB1(8) ' R8 - X начала текста GETHEIGHT(0) MOV0(3) FCONST_100(55) MUL(3) ' R3 - сдвиг от конца текста до середины галочки SUB3(9) ' R9 - Xc MOV0(7) FCONST_100(104)'-125 MUL(7) ADD9(7) ' R7 - Xmax SETCOORD_X(7) GLB_COORD_PUSH MOV9(6) MOV0(5) FCONST_100(60) MUL(5) SUB5(6) ' R6 - Xmin GETCOORD_Y(5) ' R5 - Ymin MOV0(4) ADD5(4) ' R4 - Yc MOV0(3) FCONST_100(180)'-235 MUL(3) ' R3 - высота правой линии ADD5(3) ' R3 - Ymax PUSH(4) PUSH(6) PUSH(5) PUSH(9) LINE PUSH(3) PUSH(7) PUSH(5) PUSH(9) LINE MOV9(2) SUB6(2) FCONST_100(96) MUL(2) ADD9(2) ' R2 - Xmax гориз. отрезка PUSH(4) PUSH(6) PUSH(4) PUSH(2) LINE BBASEBOX(2) SUB2(4) ' R4 - Y начала текста MOV0(3) FCONST_100(15) MUL(3) SUB3(4) ' дополнительный сдвиг YbegTxt SETCOORD_X(8) SETCOORD_Y(4) DATA_END #ECOORD( 93 ) GLB_COORD_POP DATA_END #BFONT( 93 ) GLB_FONT_PUSH GETHEIGHT(0) DIV_3(0) MUL_2(0) SETHEIGHT(0) DATA_END #EFONT( 93 ) GLB_FONT_POP DATA_END '------------------------------------------------------------------------------- #BCOORD( 94 ); "Нижний. С удалением материала" 2 WIDTHBASEBOX(1) ' R1 - ширина вписанного блока текста ADD_ITALIC(1) ' коррекция на величину italic GETHEIGHT(0) FCONST_100(115) MUL(0) ' R0 - ширина левой линии (1.15 H при входе) MOV1(2) ' R2 = R1 MAX0(2) ' R2 = max( R0,R1 ) GETCOORD_X(9) ' R9 - Xmin MOV9(8) GETHEIGHT(0) FCONST_100(50)'-80 MUL(0) ADD0(8) ' R8 - X начала текста MOV8(7) ADD2(7) ' R7 - XendSym SETCOORD_X(7) GLB_COORD_PUSH GETHEIGHT(0) MOV0(6) FCONST_100(55) MUL(6) ' R6 - сдвиг от начала текста до середины галочки ADD8(6) ' R6 - Xc MOV0(7) FCONST_100(60) MUL(7) ADD6(7) ' R7 - Xmax GETCOORD_Y(5) GETHEIGHT(1) MUL_3(1) DIV_2(1) ' R0 - полная высота текста ADD1(5) ' R5 - Ymax MOV5(4) SUB0(4) ' R4 - Yc GETCOORD_Y(3) MOV0(2) FCONST_100(31)'-75 MUL(2) SUB2(3) ' R3 - Ymin PUSH(5) PUSH(6) PUSH(3) PUSH(9) LINE PUSH(4) PUSH(7) PUSH(5) PUSH(6) LINE MOV7(2) SUB6(2) FCONST_100(97) MUL(2) SUB2(6) ' R6 - Xmin гориз. отрезка PUSH(4) PUSH(6) PUSH(4) PUSH(7) LINE TBASEBOX(2) SUB2(4) ' R4 - Y начала текста MOV0(3) FCONST_100(15) MUL(3) SUB3(4) ' дополнительный сдвиг YbegTxt SETCOORD_X(8) SETCOORD_Y(4) DATA_END #ECOORD( 94 ) GLB_COORD_POP DATA_END #BFONT( 94 ) GLB_FONT_PUSH GETHEIGHT(0) DIV_3(0) MUL_2(0) SETHEIGHT(0) DATA_END #EFONT( 94 ) GLB_FONT_POP DATA_END '------------------------------------------------------------------------------- #BCOORD( 91 ); "Верхний. Без удаления материала" 2 GETCOORD_X(9) ' R9 - X начала текста ADD_ITALIC(9) ' сдвиг Xmin из-за italic GETHEIGHT(0) ' R0 - высота текста MOV9(6) ' R6 - Xmin MOV0(8) FCONST_100(22) MUL(8) ' R8 - радиус впис. окр. MOV0(3) FCONST_100(38) MUL(3) ADD3(9) ' R9 - Xc MOV0(7) FCONST_100(69)'-87 MUL(7) ADD9(7) ' R7 - Xmax GETCOORD_Y(5) ' R5 - Ymin MOV0(4) FCONST_100(66) MUL(4) ADD5(4) ' R4 - Yc MOV0(3) FCONST_100(120)'-155 MUL(3) ADD5(3) ' R3 - Ymax PUSH(4) PUSH(6) PUSH(5) PUSH(9) LINE PUSH(3) PUSH(7) PUSH(5) PUSH(9) LINE SUB8(4) PUSH(8) PUSH(4) PUSH(9) CIRCLE SETCOORD_X(7) SETCOORD_Y(5) DATA_END '------------------------------------------------------------------------------- #BCOORD( 92 ); "Нижний. Без удаления материала" 2 GETCOORD_X(9) ' R9 - X начала текста ADD_ITALIC(9) ' сдвиг Xmin из-за italic GETHEIGHT(0) ' R0 - высота текста MOV9(6) ' R6 - Xmin MOV0(8) FCONST_100(22) MUL(8) ' R8 - радиус впис. окр. MOV0(3) FCONST_100(71)'-89 MUL(3) ADD3(9) ' R9 - Xc MOV0(7) FCONST_100(38) MUL(7) ADD9(7) ' R7 - Xmax GETCOORD_Y(5) ' R5 - Ybase SETCOORD_X(7) ADD0(5) ' R5 - Ymax MOV5(2) MOV0(4) FCONST_100(66) MUL(4) SUB4(5) MOV5(4) ' R4 - Yc MOV2(5) MOV0(3) FCONST_100(122)'-155 MUL(3) SUB3(5) MOV5(3) ' R3 - Ymin MOV2(5) PUSH(3) PUSH(6) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(7) PUSH(5) PUSH(9) LINE ADD8(4) PUSH(8) PUSH(4) PUSH(9) CIRCLE DATA_END '=============================================================================== #NODE; "Спецзнаки для совместимости с версией 4.x" 1 #NODE; "Римские цифры" 2 #BCOORD( 41 ); "Римская 1" 3 TEXT_ADDX_F("1|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 42 ); "Римская 2" 3 TEXT_ADDX_F("2|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 43 ); "Римская 3" 3 TEXT_ADDX_F("3|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 44 ); "Римская 4" 3 TEXT_ADDX_F("4|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 45 ); "Римская 5" 3 TEXT_ADDX_F("5|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 46 ); "Римская 6" 3 TEXT_ADDX_F("6|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 47 ); "Римская 7" 3 TEXT_ADDX_F("7|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 48 ); "Римская 8" 3 TEXT_ADDX_F("8|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 49 ); "Римская 9" 3 TEXT_ADDX_F("9|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 50 ); "Римская 10" 3 TEXT_ADDX_F("0|Symbol type A|Symbol type A (plotter)") DATA_END '=============================================================================== #NODE; "Предопределенная шероховатость" 2 #BCOORD( 65 ); "Rz40" 3 GETCOORD_X(9) ' R9 - X начала текста ADD_ITALIC(9) ' сдвиг Xmin из-за italic MOV9(8) ' R8 - X начала текста GLB_FONT_PUSH GETHEIGHT(0) DIV_3(0) MUL_2(0) SETHEIGHT(0) ' подготовка шрифта для вывода блока текста WIDTHTEXT("Rz40") ADD(9) ' R9 - X конца текста MOV0(3) FCONST_100(55) MUL(3) ' R3 - сдвиг от конца текста до середины галочки SUB3(9) ' R9 - Xc MOV0(7) FCONST_100(125) MUL(7) ADD9(7) ' R7 - Xmax MOV9(6) MOV0(5) FCONST_100(60) MUL(5) SUB5(6) ' R6 - Xmin GETCOORD_Y(5) ' R5 - Ymin MOV0(4) ADD5(4) ' R4 - Yc MOV0(3) FCONST_100(235) MUL(3) ' R3 - высота правой линии ADD5(3) ' R3 - Ymax PUSH(4) PUSH(6) PUSH(5) PUSH(9) LINE PUSH(3) PUSH(7) PUSH(5) PUSH(9) LINE MOV0(3) FCONST_100(11) MUL(3) ADD3(4) ' дополнительный сдвиг YbegTxt SETCOORD_X(8) SETCOORD_Y(4) TEXT("Rz40") SETCOORD_X(7) SETCOORD_Y(5) GLB_FONT_POP DATA_END '------------------------------------------------------------------------------- #BCOORD( 66 ); "Rz80" 3 GETCOORD_X(9) ' R9 - X начала текста ADD_ITALIC(9) ' сдвиг Xmin из-за italic MOV9(8) ' R8 - X начала текста GLB_FONT_PUSH GETHEIGHT(0) DIV_3(0) MUL_2(0) SETHEIGHT(0) ' подготовка шрифта для вывода блока текста WIDTHTEXT("Rz80") ADD(9) ' R9 - X конца текста MOV0(3) FCONST_100(55) MUL(3) ' R3 - сдвиг от конца текста до середины галочки SUB3(9) ' R9 - Xc MOV0(7) FCONST_100(125) MUL(7) ADD9(7) ' R7 - Xmax MOV9(6) MOV0(5) FCONST_100(60) MUL(5) SUB5(6) ' R6 - Xmin GETCOORD_Y(5) ' R5 - Ymin MOV0(4) ADD5(4) ' R4 - Yc MOV0(3) FCONST_100(235) MUL(3) ' R3 - высота правой линии ADD5(3) ' R3 - Ymax PUSH(4) PUSH(6) PUSH(5) PUSH(9) LINE PUSH(3) PUSH(7) PUSH(5) PUSH(9) LINE MOV0(3) FCONST_100(11) MUL(3) ADD3(4) ' дополнительный сдвиг YbegTxt SETCOORD_X(8) SETCOORD_Y(4) TEXT("Rz80") SETCOORD_X(7) SETCOORD_Y(5) GLB_FONT_POP DATA_END '------------------------------------------------------------------------------- #BCOORD( 67 ); "Rz20" 3 GETCOORD_X(9) ' R9 - X начала текста ADD_ITALIC(9) ' сдвиг Xmin из-за italic MOV9(8) ' R8 - X начала текста GLB_FONT_PUSH GETHEIGHT(0) DIV_3(0) MUL_2(0) SETHEIGHT(0) ' подготовка шрифта для вывода блока текста WIDTHTEXT("Rz20") ADD(9) ' R9 - X конца текста MOV0(3) FCONST_100(55) MUL(3) ' R3 - сдвиг от конца текста до середины галочки SUB3(9) ' R9 - Xc MOV0(7) FCONST_100(125) MUL(7) ADD9(7) ' R7 - Xmax MOV9(6) MOV0(5) FCONST_100(60) MUL(5) SUB5(6) ' R6 - Xmin GETCOORD_Y(5) ' R5 - Ymin MOV0(4) ADD5(4) ' R4 - Yc MOV0(3) FCONST_100(235) MUL(3) ' R3 - высота правой линии ADD5(3) ' R3 - Ymax PUSH(4) PUSH(6) PUSH(5) PUSH(9) LINE PUSH(3) PUSH(7) PUSH(5) PUSH(9) LINE MOV0(3) FCONST_100(11) MUL(3) ADD3(4) ' дополнительный сдвиг YbegTxt SETCOORD_X(8) SETCOORD_Y(4) TEXT("Rz20") SETCOORD_X(7) SETCOORD_Y(5) GLB_FONT_POP DATA_END '=============================================================================== #NODE; "Греческий алфавит" 2 #BCOORD( 51 ); "Альфа" 3 TEXT_ADDX_F("a|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 52 ); "Бета" 3 TEXT_ADDX_F("b|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 53 ); "Гамма" 3 TEXT_ADDX_F("g|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 54 ); "Дельта прописная" 3 TEXT_ADDX_F("D|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 55 ); "Дельта" 3 TEXT_ADDX_F("d|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 56 ); "Пи" 3 TEXT_ADDX_F("p|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 57 ); "Сигма прописная" 3 TEXT_ADDX_F("S|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 58 ); "Сигма" 3 TEXT_ADDX_F("s|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 59 ); "Тау" 3 TEXT_ADDX_F("t|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 60 ); "Фи" 3 TEXT_ADDX_F("j|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 61 ); "Омега прописная" 3 TEXT_ADDX_F("W|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------------ #BCOORD( 62 ); "Омега" 3 TEXT_ADDX_F("w|Symbol type A|Symbol type A (plotter)") DATA_END ' '================= ГОСТ 2.410-68 Стр. 6 ===================================== #NODE; "Условные обозначения профилей проката" 1 '------------------------------------------------------------------------------- #BCOORD( 130 ); "Круг" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("с|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 131 ); "Квадрат/прямоугольник" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("т|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 132 ); "Профиль шестигранный" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("у|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 133 ); "Профиль трехгранный" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("ф|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 134 ); "Профиль сегментный" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("х|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 135 ); "Профиль трапециевидный" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("ц|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 136 ); "Профиль овальный" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("ч|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 137 ); "Профиль полосовой" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("ш|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 138 ); "Полособульб" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("щ|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 139 ); "Полособульб сдвоенный" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("ъ|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 140 ); "Уголок" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("ы|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 141 ); "Профиль тавровый" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("ь|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 142 ); "Профиль двутавровый" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("э|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 143 ); "Швеллер" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("ю|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 144 ); "Профиль рельсовый" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("я|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 145 ); "Углобульб" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("ј|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 146 ); "Профиль С-образный равнополочный" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("Ѕ|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #BCOORD( 147 ); "Профиль зетовый равнополочный" 2 GLB_X_ADD_ITALIC TEXT_ADDX_N("ѕ|Symbol type A|Symbol type A (plotter)") DATA_END '------------------------------------------------------------------------------- #NODE; "Номера изменений" 1 #BCOORD( 149 ); "1" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("1") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("1") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 150 ); "2" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("2") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("2") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 151 ); "3" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("3") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("3") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 152 ); "4" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("4") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("4") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 153 ); "5" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("5") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("5") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 154 ); "6" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("6") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("6") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 155 ); "7" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("7") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("7") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 156 ); "8" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("8") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("8") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 157 ); "9" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("9") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("9") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 158 ); "10" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("10") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("10") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 159 ); "11" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("11") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("11") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 160 ); "12" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("12") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("12") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 161 ); "13" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("13") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("13") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 162 ); "14" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("14") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("14") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 163 ); "15" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("15") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("15") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 164 ); "16" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("16") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("16") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 165 ); "17" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("17") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("17") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 166 ); "18" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("18") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("18") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 167 ); "19" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("19") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("19") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 168 ); "20" 2 GETHEIGHT(0) ' R0 - H-высота текста GETCOORD_X(9) ' R9 - Xbeg ADD_ITALIC(9) GETCOORD_Y(8) ' R8 - Ybeg FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа" POP(7) MUL0(7) ADD9(7) ' R7 - Xc FCONST_100(80) POP(6) MUL0(6) ADD8(6) ' R6 - Yc FCONST_100(45) POP(5) MUL0(5) ' R5 - Rc PUSH(5) ' R5 - Rc PUSH(6) ' R6 - Yc PUSH(7) ' R7 - Xc CIRCLE GLB_FONT_PUSH ' подготовка шрифта к выводу FONT_NORM ' снять italic, bold и underline MOV0(1) DIV_2(1) ' R1 - 0.5H SETHEIGHT(1) ' установить высоту вписываемого текста DIV_2(1) ' R1 - 0.25H SUB1(6) ' R6 - Ytxt WIDTHTEXT("20") POP(5) DIV_2(5) ' R5 - 0.5Width(TXT) SUB5(7) ' R6 - Xtxt SETCOORD_X(7) SETCOORD_Y(6) TEXT_ADDX("20") ' вывод строки GLB_FONT_POP ' восстановление исходного шрифта FCONST_100(110) POP(7) MUL0(7) ADD9(7) ' R7 - Xend SETCOORD_X(7) SETCOORD_Y(8) DATA_END '=============================================================================== #NODE; "Спецзнаки для гравирования" 1 '------------------------------------------------------------------------------- #BCOORD( 173 ); "Знакоместо 12.0 для символов 2, 3, ..." 2 GETHEIGHT(0) ' в R0 - H-высота текста GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xc из-за italic MOV9(8) MOV0(1) FCONST_100(61) ' Ширина прямоугольника MUL(1) ADD1(8) ' R8 - Xmax MOV5(4) MOV0(1) FCONST_100(94) ' Высота прямоугольника MUL(1) ADD1(4) ' R4 - Ymax PUSH(4) PUSH(9) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(8) PUSH(4) PUSH(9) LINE PUSH(5) PUSH(8) PUSH(4) PUSH(8) LINE PUSH(5) PUSH(9) PUSH(5) PUSH(8) LINE FCONST(12) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 174 ); "Знакоместо 14.4 для символов Б, В, ..." 2 GETHEIGHT(0) ' в R0 - H-высота текста GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xc из-за italic MOV9(8) MOV0(1) FCONST_100(74) MUL(1) ADD1(8) ' R8 - Xmax MOV5(4) MOV0(1) FCONST_100(94) MUL(1) ADD1(4) ' R4 - Ymax PUSH(4) PUSH(9) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(8) PUSH(4) PUSH(9) LINE PUSH(5) PUSH(8) PUSH(4) PUSH(8) LINE PUSH(5) PUSH(9) PUSH(5) PUSH(8) LINE FCONST(12) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 175 ); "Знакоместо 15.2 для символов И, Н, ..." 2 GETHEIGHT(0) ' в R0 - H-высота текста GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xc из-за italic MOV9(8) MOV0(1) FCONST_100(79) MUL(1) ADD1(8) ' R8 - Xmax MOV5(4) MOV0(1) FCONST_100(94) MUL(1) ADD1(4) ' R4 - Ymax PUSH(4) PUSH(9) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(8) PUSH(4) PUSH(9) LINE PUSH(5) PUSH(8) PUSH(4) PUSH(8) LINE PUSH(5) PUSH(9) PUSH(5) PUSH(8) LINE FCONST(12) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 176 ); "Знакоместо 16.0 для символов А, О, ..." 2 GETHEIGHT(0) ' в R0 - H-высота текста GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xc из-за italic MOV9(8) MOV0(1) FCONST_100(82) MUL(1) ADD1(8) ' R8 - Xmax MOV5(4) MOV0(1) FCONST_100(94) MUL(1) ADD1(4) ' R4 - Ymax PUSH(4) PUSH(9) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(8) PUSH(4) PUSH(9) LINE PUSH(5) PUSH(8) PUSH(4) PUSH(8) LINE PUSH(5) PUSH(9) PUSH(5) PUSH(8) LINE FCONST(12) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 177 ); "Знакоместо 17.6 для символов Д, M, ..." 2 GETHEIGHT(0) ' в R0 - H-высота текста GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xc из-за italic MOV9(8) MOV0(1) FCONST_100(93) MUL(1) ADD1(8) ' R8 - Xmax MOV5(4) MOV0(1) FCONST_100(94) MUL(1) ADD1(4) ' R4 - Ymax PUSH(4) PUSH(9) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(8) PUSH(4) PUSH(9) LINE PUSH(5) PUSH(8) PUSH(4) PUSH(8) LINE PUSH(5) PUSH(9) PUSH(5) PUSH(8) LINE FCONST(12) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 178 ); "Знакоместо 20.0 для символов Ш, Ы, ..." 2 GETHEIGHT(0) ' в R0 - H-высота текста GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xc из-за italic MOV9(8) MOV0(1) FCONST_100(106) MUL(1) ADD1(8) ' R8 - Xmax MOV5(4) MOV0(1) FCONST_100(94) MUL(1) ADD1(4) ' R4 - Ymax PUSH(4) PUSH(9) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(8) PUSH(4) PUSH(9) LINE PUSH(5) PUSH(8) PUSH(4) PUSH(8) LINE PUSH(5) PUSH(9) PUSH(5) PUSH(8) LINE FCONST(12) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- #BCOORD( 179 ); "Знакоместо 20.8 для символов Щ, Ю, ..." 2 GETHEIGHT(0) ' в R0 - H-высота текста GETCOORD_Y(5) ' R5 - Ymin GETCOORD_X(9) ' R9 - Xmin ADD_ITALIC(9) ' сдвиг Xc из-за italic MOV9(8) MOV0(1) FCONST_100(111) MUL(1) ADD1(8) ' R8 - Xmax MOV5(4) MOV0(1) FCONST_100(94) MUL(1) ADD1(4) ' R4 - Ymax PUSH(4) PUSH(9) PUSH(5) PUSH(9) LINE PUSH(4) PUSH(8) PUSH(4) PUSH(9) LINE PUSH(5) PUSH(8) PUSH(4) PUSH(8) LINE PUSH(5) PUSH(9) PUSH(5) PUSH(8) LINE FCONST(12) DIV(0) ' R0 - H/7 ADD0(8) ' сдвиг на 2H/14 - межсимвольный зазор SETCOORD_X(8) DATA_END '------------------------------------------------------------------------------- ' OPERATION COMMENT '------------------------------------------------------------------------------- ' POP(x) r[x] <- st ' PUSH(x) r[x] -> st ' FCONST(dat) UINT12(dat) -> st ' FCONST_100(dat) UINT12(dat)/100 -> st ' ' ' SWAP st1 <-> st2 ' ADD_STECK pop1 + pop2 -> push ' SUB_STECK pop1 - pop2 -> push ' MUL_STECK pop1 * pop2 -> push ' DIV_STECK pop1 / pop2 -> push ' ' MINy(x) r[x] = min( r[x], r[y] ) ' MAXy(x) r[x] = max( r[x], r[y] ) ' MOVy(x) r[x] = r[y] ' ADDy(x) r[x] = r[x] + r[y] ' SUBy(x) r[x] = r[x] - r[y] ' MULy(x) r[x] = r[x] * r[y] ' DIVy(x) r[x] = r[x] / r[y] ' ' ADD(x) r[x] = r[x] + pop ' SUB(x) r[x] = r[x] - pop ' MUL(x) r[x] = r[x] * pop ' DIV(x) r[x] = r[x] / pop ' FNUL(x) r[x] = 0 ' PI(x) r[x] = 3.141592... ' SIN(x) r[x] = sin( r[x] ) аргумент в радианах ' COS(x) r[x] = cos( r[x] ) аргумент в радианах ' TAN(x) r[x] = tan( r[x] ) аргумент в радианах ' CTAN(x) r[x] = ctan( r[x] ) значение в радианах ' F1_N(x) r[x] = 1 / r[x] ' SQR(x) r[x] = r[x] * r[x] ' SQRROT(x) r[x] = sqrrot( r[x] ) ' ABS(x) r[x] = abs( r[x] ) ' INV(x) r[x] = - r[x] ' DIV_2(x) r[x] = r[x] / 2 ' DIV_3(x) r[x] = r[x] / 3 ' DIV_5(x) r[x] = r[x] / 5 ' DIV_10(x) r[x] = r[x] / 10 ' DIV_100(x) r[x] = r[x] / 100 ' MUL_2(x) r[x] = r[x] * 2 ' MUL_3(x) r[x] = r[x] * 3 ' MUL_5(x) r[x] = r[x] * 5 ' MUL_10(x) r[x] = r[x] * 10 ' MUL_100(x) r[x] = r[x] * 100 ' '----- изменить текущие параметры текста ' SETCOLOR_R(x) currentTextStyle.SetHeightText( r[x] ) мм ' SETCOLOR_G(x) currentTextStyle.SetWidthFactorText( r[x] ) 1.0 - "нормальное" сужение ' SETCOLOR_B(x) currentTextStyle.SetColorR( BYTE( r[x] ) ) ' SETHEIGHT(x) currentTextStyle.SetColorG( BYTE( r[x] ) ) ' SETWIDTH(x) currentTextStyle.SetColorB( BYTE( r[x] ) ) ' SETITALIC(x) currentTextStyle.SetItalic( r[x] ) 1.0 - true, 0.0 - false ' SETBOLD(x) currentTextStyle.SetBold ( r[x] ) 1.0 - true, 0.0 - false ' SETUNDERL(x) currentTextStyle.SetUnderl( r[x] ) 1.0 - true, 0.0 - false ' ' SETFONTNAME(str) currentTextStyle.SetFontName( str ) ' ' FONT_NORM currentTextStyle.SetItalic( false ); ' currentTextStyle.SetBold( false ); ' currentTextStyle.SetUnderline( false ); ' '----- получить текущие параметры текста ' GETHEIGHT(x) r[x] = currentTextStyle.GetHeightText() мм ' GETWIDTH(x) r[x] = currentTextStyle.GetWidthFactorText() 1.0 - "нормальное" сужение ' GETCOLOR_R(x) r[x] = currentTextStyle.GetColorR() BYTE->float ' GETCOLOR_G(x) r[x] = currentTextStyle.GetColorG() BYTE->float ' GETCOLOR_B(x) r[x] = currentTextStyle.GetColorB() BYTE->float ' GETITALIC(x) r[x] = currentTextStyle.GetItalic() 1.0 - true, 0.0 - false ' GETBOLD(x) r[x] = currentTextStyle.GetBold () 1.0 - true, 0.0 - false ' GETUNDERL(x) r[x] = currentTextStyle.GetUnderl() 1.0 - true, 0.0 - false ' '----- обработка текущей позиции вывода ' SETCOORD_X(x) currentCoord.X = r[x] ' SETCOORD_Y(x) currentCoord.Y = r[x] ' GETCOORD_X(x) r[x] = currentCoord.X ' GETCOORD_Y(x) r[x] = currentCoord.Y ' '----- сохранение\восстановление в глобальных стеках ' GLB_COORD_POP globalCoordStack pop ' GLB_FONT_POP globalFontStack pop ' GLB_COORD_PUSH globalCoordStack push ' GLB_FONT_PUSH globalFontStack push ' '----- габаритные размеры вписанного текста ' LBASEBOX(x) r[x] = TxtRect.Left() мм ' RBASEBOX(x) r[x] = TxtRect.Right() мм ' TBASEBOX(x) r[x] = TxtRect.Top() мм ' BBASEBOX(x) r[x] = TxtRect.Bottom() мм ' HEIGHTBASEBOX(x) r[x] = TxtRect.Height() мм ' WIDTHBASEBOX(x) r[x] = TxtRect.Width() мм ' '----- вывести строку "str" в текущую позицию вывода, используя текущие параметры текста ' TEXTSTR(str) текущая позиция вывода не изменяется ' TEXT_ADDX(str) текущая позиция вывода передвигается в конец выведенной строки ' TEXT_ADDX_F("str|FontTT|FontVector") вывод строки одним из шрифтов (в завис. от тек. сост.) ' текущая позиция вывода передвигается в конец выведенной строки ' параметры шрифта восстанавливаются ' TEXT_ADDX_N("str|FontTT|FontVector") тоже, что FONT_NORM+TEXT_ADDX_F ' параметры шрифта восстанавливаются ' '----- габаритные размеры строки ' WIDTHTEXT(str) определить длину строки "str", используя текущие параметры текста ' HEIGHTTEXT(str) определить высоту строки "str", используя текущие параметры текста ' '----- обработка выступов Italic ' ADD_ITALIC(x) r[x] = r[x] + Italic( currentTextStyle ) [ if( IsItalic() ) r[x] += kf * Heihgt ] ' SUB_ITALIC(x) r[x] = r[x] - Italic( currentTextStyle ) [ if( IsItalic() ) r[x] -= kf * Heihgt ] ' GLB_X_ADD_ITALIC currentCoord.X = currentCoord.X + Italic( currentTextStyle ) ' '----- вывод геометрии ' LINE Line ( pop1, pop2, - т1 ' pop3, pop4 ) - т2 ' CIRCLE Circle( pop1, pop2, - центр ' pop3 ) - радиус ' ARC Arc ( pop1, pop2, - центр ' pop3, pop4, - т1 ' pop5, pop6 ) - т2 ' '----- добавить координату в габарит символа ' ADD_GAB_X curGabarit.IncludeX( pop ) ' ADD_GAB_Y curGabarit.IncludeY( pop ) ' '----- переходы и ветвления ' LABEL(label) установить метку label(BYTE) ' NOP пустая операция ' ' JMP_NDEF(label) goto label ' JMP_NL(label) if( pop < 0.0 ) goto label ' JMP_LE(label) if( pop <= 0.0 ) goto label ' JMP_GE(label) if( pop >= 0.0 ) goto label ' JMP_NG(label) if( pop > 0.0 ) goto label ' JMP_EQ(label) if( pop == 0.0 ) goto label ' JMP_NE(label) if( pop != 0.0 ) goto label ' JMP_TT(label) if( currentTextStyle.IsTrueType() ) goto label ' '----- END OF FILE ------------------------------------------------------------------