Министерство Образования Туркменистана Туркменский Государственный институт транспорта и связи Факультет транспортного строительства и экономики Кафедра изучения мировых опытов СИСТЕМА АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ KedrWin версия 4 Руководство работы чертежной программой KedrWin версия 4 по дисциплине "Основы САПР" Подготовил: доцент, к.т.н., Кутлиев Г. Ашгабат - 2008 Описание KEDRWIN Программа KEDRWIN. Руководство по эксплуатации. ред. от 18 января 2005 года.версия 4.0 1. Введение 2. . Установка программы на компьютер 3. . Начало проектирования 3.1. Пункт меню “Файл” 3.2. Пункт меню “Подготовка” 4. . Масштабы и единицы измерений 5. . Этапы проектирования 5.1. Опорные точки 5.2. Изображение 5.3. Размерная сеть 5.4. Построение вида 5.5. Оформление 5.6. Компоновка чертежа 6. . Печать чертежа 7. Приложение 1. Формат файла экспорта МГИ 8. Приложение 2. Язык описания модели Введение Запись операторов Запись имён переменных Запись чисел Запись строк Как добавить переменные в программу Как задать значение переменной Арифметические операторы Сцепление строк Выражения Встроенные функции Логические выражения. Операнды сравнения Логические выражения. Логические операнды Значение логического выражения Приоритеты логических операторов Условный оператор Оператор перехода Переход на подпрограмму Конечный оператор цикла Условный оператор цикла Завершение программы Оператор создания массива Обращение к элементу массива Диапазон и размерность Вывод информации в окно вывода Открытие файла Закрытие файла Запись данных в файл Считывание данных из файла Список зарезервированных имён 1. Введение Программа KEDRWIN позволяет автоматизировать процесс оформления чертежей различного назначения. Это могут быть конструкторские чертежи деталей, сборочные чертежи, чертежи общего вида и т.д., а также различные строительные чертежи. Чертежи, получаемые на принтере с помощью программы KEDRWIN, могут быть как реального формата (A0, A1, A2, A3, A4), так и уменьшенного до размера одного печатного листа принтера с сохранением всех пропорций чертежа. Реальный формат может быть получен либо на соответствующих широких растровых принтерах, например, HP DesignJet 500, либо на часто встречаемых лазерных или струйных принтерах формата A4 с последующей стыковкой и склеиванием нескольких частей чертежа. Для стыковки этих частей, программа формирует на полях этих частей специальные реперные знаки, которые позволяют добиться точного совпадения разорванных элементов графики. Автоматизация с помощью этой программы направлена на получение чертежа в максимально возможной законченности, с целью исключить “ручные доводки” чертежа. Но, в то же время, чертёжная графика, которой придерживается программа KEDRWIN такова, что остаётся возможность последующего “ручного сопровождения” графического документа, так как она соответствует ГОСТам серии 2.3xx. Главная ориентация программы – это оформление чертежей в комплектах конструкторских и строительных проектов. При разработке этих видов документов максимально минимизирована доля “ручных доводок” чертежа до готовности, во многих случаях они будут совсем отсутствовать. Возможно применение этой программы для оформления и других видов документов, например, различных схем. Для подготовки чертежей программа KEDRWIN использует несколько отличительных особенностей. Прежде всего, это раздельный способ ввода графических элементов, из которых состоит изображения проекций, и ввода информации о расположении их опорных точек. Как таковая, привычная для “автоматизаторов” координатная информация графических элементов в программе KEDRWIN не используется: её заменяет размерная информация. В процессе описания проекций проектируемого объекта на чертеже Вы раздельно вводите описание графики и описание размеров. В программе эти описания объединяются и придают реальный вид проекции. Это, своего рода, аналог параметризации, различие заключается в том, что описатели размеров используются ещё и для формирования изображения размерной сети проекций на чертеже. Вначале все размеры размещаются автоматически, а затем Вы это размещение можете подправить с помощью средств программы KEDRWIN. Изображение, которое получается в результате обработки такой параметризации, точно соответствует заданным размерам, которые будут показаны на чертеже. Номиналы своих размеров Вы можете вводить как в виде конкретных чисел, так и в виде имён переменных, которые приобретают своё значение при участии в вычислениях модели Вашего чертежа. Модель – это программа на языке программирования, очень похожего на широко известный язык БЭЙСИК. Транслятор с этого языка встроен в программу KEDRWIN, программа модели хранится внутри файла чертежа. Модель может иметь связи с “внешним миром” файла чертежа – на основе этого можно строить сложные параметрические зависимости между чертежами проекта. С помощью имён переменных можно не только вводить размеры, но и формализовать строковые параметры элементов оформления чертежа. Другой особенностью программы KEDRWIN является этапность процесса проектирования чертежа. Любой чертёж состоит из отдельных частей, в роли которых выступают проекции объекта, местные виды, сечения, разрезы, технические требования и т.д. При разработке одного чертежа с помощью программы KEDRWIN Вы всегда имеете дело каждой такой частью отдельно. Ваша цель – сначала описать отдельно каждую проекцию, а потом из них составить лист чертежа. Каждая такая часть занимает одно диалоговое окно. Вы имеете возможность компоновать эти окна на экране компьютера, как Вам заблагорассудится: размещать их рядом, сворачивать, переставлять, масштабировать и т.д. Вначале объект проектирования Вы можете себе представлять либо интуитивно в своём воображении, либо иметь фотографические образы эскизов его проекций. Такие образы можно получить с помощью средств обработки растровых изображений в формате BMP (с помощью растровых сканеров, например). На первом этапе проектирования на загруженный в программу KEDRWIN образ эскиза проекции проектируемого объекта Вы наносите опорные точки для элементов графики и всей размерной сети проекции. Следующий этап – “одеваете” на опорные точки элементы графики (линии, дуги, окружности, кривые). Ввиду того, что расположение опорных точек на этих этапах проектирования весьма ориентировочно, то рисунок проекции, который Вы получите с помощью нанесения элементов графики, будет иметь характер эскиза. Далее на тех же опорных точках Вы строите размерные сети каждой проекции. Потом заставляете программу обработать размерную сеть и получить реальные изображения проекций проектируемого объекта. Следующий этап – нанесение на проекции объекта элементов оформления дополнительно к уже автоматически размещённым изображениям размеров. Для более точного и удобного размещения размеров Вы можете изменить их расположение на проекциях, добавить пояснительные надписи. Другими элементами оформления являются: различные выноски, обозначения штриховок областей, произвольные текстовые надписи, обозначения предельных отклонений, шероховатостей и т.д. После размещения элементов оформления, следующий этап проектирования – компоновка чертежа. Все разрозненные проекции автоматически разместятся на автоматически подобранный формат чертежа. Размещение проекций Вы сможете изменить по своему желанию. Формат тоже можете взять другой. Переключение этапов проектирования осуществляется с помощью пункта меню “Этапы проектирования” или с помощью кнопок, расположенных вдоль правой стороны главного окна программы. Когда Вы пройдёте все этапы проектирования (а, может, ещё и не по одному разу), то тогда Вы можете вывести свой чертёж на растровый принтер. Лучше всего на струйный или лазерный. Самое “эффектное” в программе KEDRWIN – это результат Вашего проектирования, полученный на бумаге. В программе KEDRWIN применяется такое понятие, как “контур непрозрачной области” или, иначе, “контур экрана”. С помощью таких “экранов” выполняется процедура скрытия невидимых частей графических элементов, лежащих на объекте проектирования позади таких “экранов”. “Экраны” могут иметь сложную форму, в том числе, отверстия, сквозь которые будут видны части элементов на заднем плане. В свою очередь отверстия в “экранах” могут быть частично перекрыты другими “экранами”, расположенными ближе к точке взгляда. И так далее. С помощью таких суперпозиций Вы сможете изобразить проекцию достаточно сложного объёмного объекта. (Ссылка на команды управления экранированием) Использование программы KEDRWIN рекомендуется только пользователям, подготовленным к самостоятельной и полноценной работе на компьютере по правилам операционной системы Windows’95. 2. Установка программы на компьютер На компьютере должна быть установлена любая операционная система из серии Windows’95/98/NT/2000/XP. Специальных средств построения и отображения графики не требуется. Архивный файл kedrwin.zip с программой KEDRWIN “скачивается” с Интернет-сервера, из него, вместе с другими файлами, извлекается программа в любую подготовленную Вами директорию. После этого программа KEDRWIN готова к работе! Никаких дополнительных библиотек и настроек не требуется: в стандартной операционной системе всё уже и так содержится. Запускать KEDRWIN Вы сможете любым, приемлемым для Вас способом. Первый запуск программы необходимо выполнить непосредственно из той директории, куда она была записана, при этом, если на компьютере установлена операционная система на "основе технологий NT" (Windows NT/2000/XP), то необходимо, чтобы у пользователя, который делает первый запуск, были права администратора этого компьютера. В последующем Вы можете самостоятельно завести себе на рабочем столе значок для вызова программы. В туже директорию, куда была установлена программа, записываются файлы из всех других архивных файлов, полученных с Интернет-сервера. Это файлы manual.zip, содержащий файлы Руководства по использованию программы KEDRWIN и extent.zip, содержащий файлы с рекомендациями по использованию программы. Все эти файлы будут доступны для прочтения из программы KEDRWIN по вызову пункта меню "Справка". Если Вы впоследствии вознамеритесь переместить программу вместе с файлами описания в другую директорию, то, чтобы её переустановить, достаточно убрать программу KEDRWIN из предыдущей директории и запустить, по тем же правилам первого запуска, из новой директории. Программа KEDRWIN способна подготовить чертёж на компьютере с процессором Pentium-100 с 32 мегабайтами оперативной памяти. Это минимум. При этом создавать можно довольно простые чертежи. Программа стремится максимально использовать оперативную память поэтому, чем её больше, тем лучше работает программа. Под понятием "лучше" следует понимать не только скорость работы, но и возможность работы с большими массивами данных. Всё управление программой базируется на использовании манипулятора графического курсора такого, как, например, “мышь”. Многие команды не доступны, если ориентироваться на использование только клавиатуры компьютера! Программа KEDRWIN не запускается, если разрешение экрана монитора компьютера настроено на размер, меньший, чем 800x600 точек. Все диалоговые окна оптимизированы на работу с крупным шрифтом, но и с мелким шрифтом диалог будет вполне сносно выглядеть. 3. Начало проектирования 3.1. Пункт меню “Файл” После запуска программы KEDRWIN Вы должны определить файл чертежа проектируемого объекта. Для этого выберете пункт меню “Файл” и укажите или “Новый чертёж”, тогда программа создаст временный файл KDRxxxxx.TMP, где xxxxx – первый свободный по порядку номер создаваемого в текущей директории файла, или “Открыть чертёж” ранее Вами созданный, который имеет тип файла KDR. После закрытия файлы TMP не удаляются и также могут впоследствии открываться, как ранее созданные чертежи KDR: они имеют ту же структуру. При создании нового чертежа программа сделает запрос на подготовку окна для первой проекции объекта. Здесь Вы должны будете определить: Тип проекции (вид спереди, вид сзади и т.д. или общее понятие вида, которым может быть и местный вид, и сечение и разрез и прочее). Каждый тип проекции не накладывает каких либо особенностей при описании проекций: все средства редактирования используются для них одинаково, но имеет значение только тогда, когда дело доходит до компоновки чертежа. Здесь каждый тип проекции автоматически определит ей своё место на чертеже. Пояснения или развернутое название проекции. Текст этого поля попадёт в заголовок окна проекции: это всего лишь комментарий. Имя файла образа эскиза проекции. Образ эскиза проекции – это графический растровый файл в формате BMP. В общем случае – это, какое либо изображение проекции объекта (рисунок или фотография). Образ эскиза проекции внутрь файла чертежа не попадает и после ввода этой ссылки на него из проекции не должен изменять имя своего файла и каталог своего расположения. По крайней мере, до подачи команды “Всё О’Кей” на этапе 5.5. Оформление. Если образа эскиза нет, то так и укажите: “Без эскиза”. Команда “Закрыть” пункта меню “Файл” позволит закрыть с сохранением текущий файл чертежа и подготовить программу KEDRWIN к проектированию другого чертежа. Если Вы редактировали временный файл типа TMP, то при закрытии Вам будет предложено сохранить его с “нормальным” именем. Если, при этом, у Вас “дрогнет” рука и Вы откажитесь от назначения ему нового имени – не беда: этот файл будет сохранён и его можно будет ещё открыть и редактировать. Команда “Сохранить” для открытого ранее созданного чертежа – формальная команда. Специально её использовать нет нужды, так как программа KEDRWIN и без этого всячески стремится сбросить все наработанные Вами массивы информации в файл чертежа на диске. Но, тем не менее, нажав её, Вы заставите выполнить процедуру сохранения всей информации из оперативной памяти в файл на диске. Для нового чертежа, открытого командой “Новый чертёж”, команда “Сохранить” сделает запрос на определение имени файла, в котором нужно будет сохранить чертёж. После выполнения команды, файл закрыт не будет. Команда “Создать вариант” позволяет Вам на базе существующего файла чертежа создать другой его вариант. Для этого необходимо определить его имя. Далее программа новый файл оставит текущим, открытым для редактирования, файлом. Старый файл останется на диске с теми изменениями, которые будут в нём проведены до момента создания варианта и под прежним именем. Команда “Создать "засечку"” напоминает ту же ситуацию, когда люди в тайге ставят на деревьях засечки, что бы не потеряться и иметь возможность вернуться назад. Эта команда фиксирует текущую копию чертежа в виде временного файла, такого же, как и при открытиях файлов. Этот временный файл будет использован, если Вы захотите вернуться к варианту чертежа, хранимому в нём. Команда “Вернуть назад”, если она доступна, позволяет вернуться к варианту чертежа, сохранённому с помощью команды “Создать "засечку"” или к тем вариантам, которые были сохранены во временных файлах при открытии чертежа. В момент открытия ранее созданного чертежа программа KEDRWIN включает в список "засечек" все предыдущие варианты этого чертежа, которые остались во временных файлах в той же директории. Эти файлы хранятся на диске до тех пор, пока Вы их не удалите сами или по предложению программы. Если такие файлы есть, то рядом с именем этой команды в круглых скобках показано их общее количество. Следует заметить, что в список "засечек" попадают только те файлы, которые относятся только к этому чертежу. Если в директории хранятся временные файлы от других чертежей, то они не попадут в этот список. Они будут использованы, когда Вы будете редактировать их чертёж, поэтому в одной директории возможна одновременная обработка сразу нескольких чертежей. Создание варианта чертежа (см. выше) – это создание нового чертежа с пустой историей его редактирования. Список "засечек" всегда отсортирован по убыванию момента времени последней работы с этим файлом. Список "засечек" автоматически пополняется во время редактирования промежуточными состояниями чертежа. Это происходит после ввода или удаления элементов графики и после ввода или удаления размеров. Эти промежуточные состояния представляют собой копии файла чертежа на момент сохранения, как если бы была использована команда "Создать засечку". Сохраняется 10 последних состояний. Более ранние состояния удаляются. Автоматически присоединяемые к списку файлы удаляются сразу после закрытия чертежа. Но, если была использована команда "Вернуть назад", то автоматически присоединённые файлы, по которым была выполнена "откатка" после закрытия не будут удалены. Команда “Вернуть вперёд” позволяет вернуться к варианту чертежа, который Вы оставили для того, чтобы просмотреть ранее созданные версии своего чертежа. Если Вы будете углубляться назад по списку "засечек", то, соответственно, будет нарастать список для возврата вперёд. Количество "засечек", оставленных для возврата вперёд показано в меню в круглых скобках рядом с названием этой команды. Следует заметить, что, если Вы остановитесь на каком-либо варианте и закроете его файл, то, после повторного его открытия все временные файлы, включая те, которые до момента закрытия были в списке для возврата вперёд, будут перечислены в списке "засечек" для возврата назад. Команда “Настройки” содержит несколько функций. “Ед. измерений и масштаб” для выбора единицы измерений линейных размеров и указания масштаба чертежа. Об этом см. главу 4. Масштабы и единицы измерений. “Таблица символов”, с помощью которой можно посмотреть начертание каждого графического символа, который применяется в программе KEDRWIN, печатный аналог этого символа в окнах диалога системы Windows и код символа. Таблицу символов можно увидеть не только в “Настройках”, но и в мастерах ввода и редактирования элементов оформления, которые позволяют вводить графический текст. Символ, который отсутствует в таблице, по умолчанию печатается знаком вопроса, но в тех случаях, когда надо действительно напечатать именно этот знак, то следует использовать знак под кодом 063, а ни какой другой. Иначе, при будущем заполнении таблицы знаками, Вы можете получить вместо вопроса что-нибудь другое. Функция “Нюансы чертежа” в команде “Настройки” позволяет назначить чертежу такие особенности, как: не чертить выносные линии размеров внутри проекций объекта, как на архитектурно-строительных планах; назначить наконечники размеров по умолчанию для вновь вводимых размеров; выполнить замену одних наконечников на другие для ранее введённых размеров; назначить высоту надписей по умолчанию для вновь вводимых текстов или, в том числе, и для всех ранее введённых надписей. В последнем случае после выбора новой высоты шрифтов, необходимо нажать на кнопку “Для всех”. У всех ранее введённых размерных надписей и элементов оформления на всех проекция будет изменена высота шрифта. указание программе автоматически присоединять к размерам новые точки, вставляемые в разрыв существующих графических элементов. Точки, вставляемые в разрыв прямой линии, присоединяются к той выносной размера, которой одновременно принадлежат обе концевые точки отрезка прямой. Точки, вставляемые в разрыв дуги с центром или окружности, присоединяются к размеру радиус или диаметр, которому уже принадлежат все другие точки этого элемента графики (включая центр). Для всех остальных элементов графики точки, вставляемые в их разрыв, автоматически не присоединяются к существующим размерам. задание условия исполнения операции “Назначить свободным опорным точкам линейные размеры” (на этапе “Размерная сеть”). выполнить установку на всех размерах чертежа признака "только до ближних точек" или убрать на всех размерах этот признак. указание программе "Не формировать линии, скрещивающиеся на скруглениях", которые бы показывали точки пересечения элементов графики до исполнения скруглений. Эти линии бывают полезны в качестве вспомогательных построений для показа размеров, особенно в тех случаях, когда выносные размерные линии не параллельны элементам графики. признак "Обозначения шероховатостей с учётом изм.№3 ГОСТ 2.309" даёт указание программе KEDRWIN в каком виде изображать обозначения шероховатостей: с учётом изменения №3 указанного ГОСТа или в варианте до ввода этих изменений. При использовании этого признака программа меняет во всех обозначениях шероховатостей стиль их изображения. Команда “Печать” доступна только после выхода на этап “Компоновка чертежа”. Этой процедуре посвящена целая глава см. главу 6. Печать чертежа. Команда “Экспорт” позволяет сбросить графические данные во внешний файл, который представляет собой массив графической информации (МГИ) с открытым форматом. Основное назначение экспорта передача графической информации в другие графические системы проектирования, например, для подготовки программ для технологических автоматов. Экспортируются только графические элементы, которые описывают изображения проекций объекта. Элементы оформления чертежа не попадают в файл МГИ. Формат файла МГИ описан в приложении 1. Команда “Экспорт” доступна на этапах “Построение изображения” (после исполнения построения), “Оформление” и “Компоновка чертежа”. Особенность экспорта на разных этапах состоит в том, что: на этапе “Построение изображения” графические данные соответствуют истинному изображению проектируемого объекта (если, например, на проекции используются разрывы, то на этом этапе графические элементы ещё не сдвинуты на величину разрыва), но информации о размещении проекций на чертеже и о размере самого чертежа может ещё не быть; на этапе “Оформление” графические элементы уже будут подвергнуты сдвигам на величины разрывов (если они есть), но информации о формате чертежа так же ещё может не быть; на этапе “Компоновка чертежа” добавляется информация о размещении проекций и о выбранном формате чертежа. Информация о чертеже после первого формирования будет уже постоянно храниться в файле чертежа, и она будет доступна для экспорта на всех предыдущих этапах. Команда “Импорт” позволяет сформировать новые проекции чертежа из файла МГИ или файла в DXF формате (формат для обмена данными в таких системах, как, например, AutoCAD, ArchiCAD, CorelDRAW). Команда доступна только на этапах “Опорные точки”, “Изображение” и “Размерная сеть”. Выбор типа файла производится в диалоговом окне поиска файла для открытия. Из файла МГИ импортируются графические элементы всех проекций, но контуры экранов не восстанавливаются. После исполнения этой операции опорные точки графических элементов будут иметь реальные координаты из файла МГИ. Следующим шагом в адаптации этого файла должна быть операция “Назначить свободным опорным точкам линейные размеры” (см. этап “Размерная сеть”). Эта процедура позволит закрепить положение точек на проекциях, сформированных из файла МГИ. Из файла DXF выбираются графические элементы типа “Линия”, “Окружность”, “Дуга”, “Ломаная”, “Прямоугольник”. Остальные элементы игнорируются. Импортируемые элементы ставятся на координаты, которые они имеют в файле DXF в плоскости чертежа. На этих координатах образовываются опорные точки. Типы и ширины линий приводятся к тем значениям, с которыми работает программа KEDRWIN. Для ширины менее 0,5 мм назначается тонкая линия, больше 0,5 – основная. Только штрих-пунктирная линия может быть утолщённой, остальные штриховые линии – всегда только тонкие. После импорта файла DXF, так же, как и для МГИ, необходимо определить размеры для фиксации всех опорных точек. Команда “Импорт” удобна для создания фрагментов, используемых для вставки на проекции чертежа (см. этап “Изображение”). Команда “Выход”. Завершение работы с программой KEDRWIN. Если файл чертежа не был закрыт, то он закрывается так же, как при команде “Закрыть”. 3.2. Пункт меню “Подготовка” В группу команд “Подготовка” входят команды, которые могут выполняться на различных этапах проектирования и, при этом, имеют непосредственное отношение к проектированию: создание новых проекций и изменение параметров старых; создание фрагментов чертежа; управление моделью чертежа; управление параметрами основной надписи. Команда “Проекции”, с функцией которой Вы уже частично знакомы, когда создавали новый файл чертежа. Подав эту команду, Вы можете просмотреть список всех проекций, которые были созданы для этого чертежа. Для выбранной проекции Вы можете сменить её тип, взяв его из списка типов проекций или изменить пояснительную надпись в заголовке окна проекции. Смена типа проекции может быть использована для превращения её во фрагмент чертежа (см. ниже). Проекцию можно удалить, нажав на кнопку “Удалить”. Проекцию можно так же удалить, если нажать на окне проекции кнопку с пояснительной надписью “закрыть” (кнопка с “крестиком” в правом верхнем углу окна проекции). Реакция на удаление в обоих случаях одинакова: программа предложит в последний раз одуматься, так как удаление проекции происходит безвозвратно. Размер окна проекции можно вручную изменять перемещением его правого и нижнего края. Чтобы расширить окно вверх и влево имеется специальная кнопка в представленном здесь диалоге. Новую проекцию можно создать с помощью кнопки “Новая”. Тут Вы и увидите знакомый Вам диалог, связанный с описанием новой проекции (см. 3.1. Пункт меню “Файл”). “Фрагменты чертежа” – команда, с помощью которой Вы можете просмотреть список фрагментов доступных для вставки в проекции проектируемого чертежа и можете пополнить этот список фрагментами из внешней библиотеки фрагментов. Во время просмотра списка Вы можете изменить пояснения к фрагментам, которые высвечиваются в заголовках окон с фрагментами. Списки фрагментов – это списки названий окон с фрагментами. Каждое окно содержит один фрагмент. Фрагменты отличаются от проекций только тем, что сами по себе они не попадут на чертёж: для этого их надо вставить в какую-нибудь проекцию. В остальном эти окна ни чем не отличаются от проекций. Кстати, в роли фрагментов могут выступать и проекции: можно одну проекцию вставить в другую. Свойство фрагмента можно использовать, чтобы сделать проекцию не видимой на чертеже. Для этого следует у проекции выбрать в качестве названия её типа слово “Фрагмент”. В свою очередь фрагмент можно превратить в проекцию без его вставки простой сменой его типа. Список фрагментов можно пополнить: для этого надо в окне просмотра списков нажать на кнопку “Новый”. Будет высвечено окно “Найти фрагмент”, где вы можете либо с помощью флажка “Создать” создать пустое окно для “ручного” описания фрагмента, либо указать файл другого чертежа, который будет выступать в роли библиотеки фрагментов. Для поиска файла нажмите на кнопку “Найти файл библиотеки фрагментов” и укажите его так же, как открывается файл по правилам системы Windows. Когда файл найден, нужно будет выбрать фрагмент из списка проекций и фрагментов этого файла. Умолчания выбора здесь нет – указать фрагмент нужно обязательно. Как уже было замечено, в роли библиотеки фрагментов может выступать файл в таком же формате чертежа, как и тот, что Вы редактируете. То есть библиотеки фрагментов можно либо специально создавать (так же, как обычные чертежи с набором проекций-фрагментов), либо можно использовать проекции других чертежей. При открытии файла библиотеки списком фрагментов является список его проекций и фрагментов. Фрагмент, после его выбора, пополняет список фрагментов редактируемого чертежа. Содержимое этого фрагмента переносится в Ваш файл, причём перенесены будут и графические элементы (с контурами экранов) и размерная сеть и элементы оформления. Дальнейшая судьба этого фрагмента уже не зависит от его источника, то есть исходный фрагмент в библиотеке фрагментов можно изменять: взятый оттуда фрагмент для Вашего чертежа будет оставаться не изменённым, пока Вы его сами не замените. При этом уже перенесённые на проекции фрагменты так же не будут меняться, пока Вы их не удалите и не вставите другие. Процедура вставки фрагментов описана в главе “Этапы проектирования”/“Изображение”/ вставка фрагментов (см.ниже). Кроме вставки в проекции, фрагменты могут использоваться для заполнения штриховкой замкнутых контурами областей (об этом см. назначения штриховок на этапе 5.5 Оформление). Вызвать диалоги работы со списками проекций и фрагментов можно с помощью правой клавиши “мыши”. Для этого надо вывести курсор “мыши” на поле окна проекции или фрагмента, нажать и удерживать кнопку клавиатуры Alt и нажать правую клавишу “мыши”. Для окна проекции появится диалог “Проекции”, для окна фрагмента появится диалог “Фрагменты чертежа”. Команда “Модель” позволяет Вам составить список именованных переменных, параметры которых можно использовать для, во-первых, назначения номиналов размеров и, во-вторых, для ссылки на них при описании таких элементов оформления, как “текст”, “шероховатость”, “выноска”, “размерная надпись” и “допуск формы”. Список переменных получается после выполнения программы модели, в которой были объявлены идентификаторы переменных для сохранения. По своей сути “модель” – это программа на языке программирования, похожим на язык BASIC (Бейсик). Из языка Бейсик заимствовано несколько операторов и правил, незначительно преобразовано и дополнено новыми операторами и функциями. Язык программирования модели описан в приложении 2. Модель может быть вызвана для редактирования и исполнения на этапах проектирования “Опорные точки”, “Изображение” и “Размерная сеть”. Окно редактирования модели состоит из верхнего поля для текста модели с нумераций строк слева от него и нижнего поля для вывода сообщений модели после запуска с помощью кнопки “Выполнить”. Сообщения об ошибках, обычно, сопровождаются информацией о номере строки оператора, в котором произошла ошибка. Выполнение модели производится до появления первой ошибки. Кнопка “Op, F(x)” позволяет вызвать полный список всех операторов и функций, реализованных в языке модели с краткими комментариями. Если дважды “щёлкнуть” мышкой по строке с оператором или функций, то эта строка будет скопирована в поле с текстом модели в то её место, где находился в последний раз текстовый курсор. В поле с текстом модели можно применять все те команды редактирования (ввод текста, удаление текста, копирование текста, перемещения текстового курсора), которые приняты в таких текстовых редакторах, как WordPad или MS Word. Кнопка “Управление” вызывает окно для выполнения операций просмотра списка сохранённых переменных с их значениями (объявленные в операторах SAVE), ввода параметра для выполнения кратного округления значений целых и вещественных сохранённых переменных, для считывания текста модели из внешнего символьного файла и для сохранения текста модели во внешнем символьном файле. В списках переменных символ подчерка между знаком равенства и числом значения переменной означает, что величина переменной была округлена до ближайшего заданного кратного значения. Округление заключается в том, что значения целых и вещественных переменных, из числа сохранённых, преобразуются в величины, которые могут нацело, без остатка делится на заданное число кратности. В таком виде эти переменные и будут в дальнейшем применяться. Для указания переменных, с которыми нужно провести это преобразование, имеются две кнопки: “Назначить всем” и “Назначить одной”. Первая кнопка срабатывает так. Для выбранной переменной проверяется указатель исполнения этой операции. Если указатель не установлен, то он устанавливается для этой переменной и для всех в списке. Если установлен, то сбрасывается и для неё, и для всех. Кнопка “Назначить одной” устанавливает указатель исполнения округления до кратного только для выбранной переменной. Причём для остальных переменных проверка установлен он или нет - не производится. Внешнему файлу предлагается присваивать расширение *.BAS. Считывание текста модели сопровождается дозаписью текста из внешнего файла в конец текста, который уже содержится в буфере окна редактирования модели. Размер этого буфера суммарно не может превышать 65534 байт (1 байт = 1 символ). Это предельный размер текста модели (операторы вместе с комментариями). “Основная надпись” – команда, которая может подаваться на любом этапе проектирования. Как известно, основная надпись – это набор таблиц, размещаемых в правом нижнем углу чертежа и на его полях. В настоящее время реализованы семь типов основных надписей: для чертежей и схем по ГОСТ 2.104; для текстовых конструкторских документов (первый или заглавный лист); для текстовых конструкторских документов (последующие листы); для листов: основных комплектов рабочих чертежей, основных чертежей разделов проектной документации, графических документов по инженерным изысканиям; для чертежей строительных изделий (первый лист); для всех видов текстовых документов (первый лист); для чертежей строительных изделий и всех видов текстовых документов (последующий лист). Первый запрос на ввод команды “Основная надпись”: выбор основной надписи. Либо её нет совсем, тогда на чертеже рисуется только рамка, либо основная надпись та, о которой сказано выше. Если Вы выбираете основную надпись, то выходите на диалоговое окно для ввода полей основной надписи. Введённые поля можно удалять заменой их на пустые строки. Следует заметить, что “игра” с выбором основной надписи, например, указание того, что её нет после того, как Вы ввели поля ранее выбранной основной надписи, не приводит к исчезновению ранее введённой информации: снова выберете основную надпись и увидите свои данные. Вызывать диалог редактирования полей выбранной основной надписи на этапе "Компоновка чертежа" можно нажатием правой клавиши "мышки", когда её курсор указывает на любую точку окна чертежа. 4. Масштабы и единицы измерений В программе KEDRWIN используется несколько понятий масштабов. Во-первых, это масштаб отображения проекции объекта в окне на экране компьютера. Для управления этим масштабом слева над рабочим полем программы имеются специальные органы управления. В окне редактирования строки величины масштаба можно определить масштаб отображения проекции, который вводится как коэффициент масштабирования. Если коэффициент больше единицы, то это масштаб увеличения. Если коэффициент меньше единицы, то это масштаб уменьшения. Равенство единице – проекция должна быть отображена как 1:1. При этом следует заметить, что масштаб 1:1 на самом деле не приводит к отображению изображения проекции на экране компьютера в реальной его величине. Если у Вас 15 дюймовый монитор, и Вы линейкой измерите размер своего рисунка, то увидите, что он уменьшен примерно в 2 раза. Изменение величины коэффициента масштабирования действует на одну проекцию в текущем активном окне. Действие масштаба распространяется и на образ эскиза проекции, но, при этом, следует обратить внимание на то, что, если образ имеет низкое разрешение, то его масштабирование может иметь большие погрешности, так как масштабируется он в целых числах. Если действие коэффициента масштабирования нужно распространить одновременно на все проекции объекта, то для этого имеется специальная кнопка: “Для всех”. Если её “зажать”, то все изменения масштаба, которые Вы будете проводить с помощью органов управления, будут выполняться над всеми проекциями. Изменение размера изображения проекций осуществляется относительно центров окон проекций. Для быстрого изменения коэффициента масштабирования имеются две кнопки с изображениями оптических луп: для увеличения коэффициента на 25% с изображение знака “плюс” и для уменьшения на 20% с изображением знака “минус”. Эти кнопки на всех этапах проектирования, кроме этапа “Компоновка чертежа”, изменяют масштаб одной проекции (или всех проекций) так же, как если бы Вы ввели коэффициент в строке редактирования. На этапе проектирования “Компоновка чертежа” нажатие этих кнопок не приводит к немедленному изменению размера изображения чертежа: использования этих кнопок курсор Вашей “мышки” сам превратится в лупу, которую Вам надо навести на точку чертежа и нажать на левую клавишу “мышки”. Изменение масштаба отображения чертежа произойдёт таким образом, что указанная точка окажется центром изменения масштаба. Хотя прямого ограничения на увеличение масштаба нет, тем не менее, коэффициент масштабирования должен быть в разумных пределах. При очень больших увеличениях возможны искажения изображения, особенно, если в окно попадают такие элементы, как дуги и окружности. Другой способ изменения масштаба отображения проекции, выполняется с помощью кнопки “На всё окно”. Вы уже догадались, что изображение проекции “растянется” на весь текущий размер окна проекции. Если, при этом, “зажата” кнопка “Для всех”, то остальные проекции получат тот же масштаб, который был вычислен для активного окна редактирования. Если в исходный момент окно проекции имело полосы прокрутки, то для достижения полного размещения изображения проекции на всём её окне Вам необходимо будет дважды нажать на кнопку “На всё окно”. Очень удобно масштабирование изображения проекции с помощью ролика мышки, если таковой у неё имеется. Обычно вращается он указательным пальцем: при таком движении ролика, когда палец надо сгибать, изображение увеличивается (как бы маните к себе), а при таком, когда палец выпрямляется – уменьшается. Изменение масштаба роликом мышки происходит только тогда, когда её курсор находится внутри активного окна проекции. Если проекция одна, то достаточно курсор ввести в окно, если проекций несколько, то тогда перед масштабированием, надо окно сделать активным. Лучше всего это делать пометкой курсором мышки заголовка окна (одиночный “щелчок” в верхней части окна, где написано название проекции). Ещё одно понятие масштаба в программе KEDRWIN используется как прямое определение масштаба чертежа. Это тот самый масштаб, который записывается в штампе основной надписи чертежа. Он определяет масштаб проектируемого объекта, с которым он наносится на чертёж. Для его ввода Вы можете использовать любой из двух способов: первый – с помощью пункта меню “Файл/Настройка/Ед. измерений и масштаб” (см. 3.1. Пункт меню “Файл”) и второй - Вам надо выбрать основную надпись и в ней заполнить поле “Масштаб”. Масштаб вводится так, как это регламентировано в ГОСТ 2.301. По умолчанию этот масштаб взят как 1:1. Несмотря на то, что формат листа чертежа Вы будете выбирать на последнем этапе проектирования, очень желательно определиться с этим масштабом до этапа проектирования “Оформление”. Если масштаб чертежа не будет равен 1:1, и Вы, не изменив его, введёте элементы оформления чертежа, то потом всё оформление чертежа Вам придётся переделать. Третий вид масштаба – масштаб уменьшения чертежа при распечатке его в так называемом “миниформате”. Об этом читайте в главе “Печать чертежа”. Связь с масштабом чертежа имеет выбор единицы измерения чертежа. Эта связь сводится к тому, чтобы Вы не забывали про масштаб, когда Вам понадобилось изменить единицы измерения линейных размеров на чертеже. Эти изменения Вы можете ввести с помощью пункта меню “Файл/Настройка/Ед. измерений и масштаб” (см. 3.1. Пункт меню “Файл”). Выбор пока возможен такой: миллиметры, сантиметры, метры, километры. При выборе соответствующей единицы измерений, все линейные размеры в этих единицах и должны быть проставлены. Если, например, вы уже ввели какие-то размеры в одних единицах, то при других единицах, числа их номиналов изменяться не будут. Ещё один вид масштаба – масштаб преобразования фрагмента при вставке его в проекцию. Этот масштаб вычисляется автоматически при назначении опорных точек, на которые должен встать фрагмент. Подробнее см. главу “Этапы проектирования” >> 5.2. Изображение >> вставка фрагментов. Есть ещё масштабирование образа эскиза. Об этом смотрите чуть ниже. 5. Этапы проектирования 5.1. Опорные точки Команда меню с одноимённым названием или кнопка с приведённым здесь рисунком. На этом этапе Вы должны расставить на проекциях чертежа опорные точки. “Опорными” они называются потому, что действительно являются опорными для образования графических элементов типа “отрезок прямой линии”, “окружность”, “дуга”, “эллипс” и “кривая”. А также они являются опорными для выносных линий размеров. Ни один элемент и ни один размер не может “висеть” без опоры на какую либо точку. Поэтому Ваша задача – определить, где будут ориентировочно располагаться графические элементы, размеры и их опорные точки. Удобнее всего это делать по подготовленному образу эскиза (см. 3.1. Пункт меню “Файл”). Надо сказать, что при использовании опорных точек во всех случаях, когда Вы должны наводить на них курсор, точно “целиться” на них не нужно. Достаточно только “щёлкнуть” мышкой где-то рядом с точкой: ближайшая к такой пометке точка и будет задействована. Если Вы используете образы фотографий эскизов проекций, то для соответствия масштаба каждого образа эскиза и масштаба соответствующей проекции рекомендуется указать контрольное расстояние между двумя точками на эскизе. То есть Вы отмечаете две точки на образе эскиза и указываете, какое расстояние должно быть между ними. Для этого Вам надо будет нажать на кнопку “Расстояние”, тогда очередная указанная точка на эскизе примет облик в виде крестика. Таких точек можно указать только две, после чего станет доступной кнопка “Да” для подтверждения выполнения операции. Укажите расстояние между точками и нажмите кнопку “Да”. Образ эскиза при этом примет размер в соответствии с текущим масштабом проекции и масштабом чертежа. Последнее особенно важно, так как, если Вы, например, проектируете какой-нибудь крупный объект, то, естественно, указание дистанции между двумя точками приведёт к большому увеличению образа Вашего эскиза. Ввод соответствующего масштаба чертежа в основную надпись (см.п. 3.2. Пункт меню “Подготовка”) позволит компенсировать это возможное увеличение. Если Вы хотите отказаться от масштабирования образа эскиза, то, указав две точки на нём, введите расстояние, равное нулю. При выполнении образ эскиза примет первоначальный вид. Обратите внимание на то, что масштабировать образ эскиза имеет смысл только до ввода опорных точек проекции! Если Вы это не учтёте, то окажитесь свидетелем того, что образ эскиза “уплывёт” из-под ранее введённых опорных точек. И тогда Вам надо будет их все перетаскивать вручную. Все опорные точки вводятся с помощью курсора “мышки” и её левой клавиши. Если Вам надо наоборот удалить какую либо точку, подведите к ней курсор, нажмите на клавиатуре компьютера кнопку “Alt” и, не отпуская её, нажмите левую клавишу “мышки”. Точка исчезнет. Но, если на эту точку уже “одет” элемент графики или размер, то программа предупредит об этом и предложит удалить точку только вместе со всеми графическими элементами, которые используют эту точку и вместе со всеми ссылками на эту точку из размеров. При этом проверка на полноту присутствия опор для выносных размера не проводится (если, например, линейный размер потеряет все опоры, кроме одной, то программа об этом не предупредит, но такой размер, в принципе, не правильный). Если окажется, что при удалении точек, какой-либо размер потеряет все опоры для описания своих выносных линий, то такой размер тоже будет удалён. Все оставшиеся размеры, которые были затронуты при удалении занятых точек, получат пометку для поиска их в списках на этапе “Размерная сеть”. Создавать новые опорные точки можно так же на этапе “Ввод изображения” в момент ввода графических элементов и на этапе "Размерная сеть" в момент присоединения точек к опорам размеров. Опорные точки, даже занятые графическими элементами и размерами, можно перемещать по полю проекции. Делать это можно тогда, когда нажата клавиша с указанным здесь изображением “клещей”: она разрешает перемещать точки. Когда эта клавиша нажата, подведите мышку к точке, нажмите левую клавишу. Курсор превратится в “клещи”. Не отпуская “клещей”, тащите точку туда, куда Вам надо и там отпустите клавишу мышки. Вслед за точкой “перепрыгнут” и элементы, которые её используют. Эта функция введена в программу не для точного рисования эскиза, а на тот случай, если Вы серьёзно “промахнётесь” с распределением опорных точек на эскизе и для ввода очередной, нужной точки не останется места. Тогда ранее введённые точки можно будет “растолкать” таким способом. Ну, и конечно, можно подправить чрезмерно “корявый” эскиз. Если окажется так, что при такой передвижке координаты точки точно совпадут с координатами другой точки, то программа выдаст запрос с предложением объединить эти точки в одну. Это возможно, в том числе и для точек, которые заняты графическими элементами и размерами. Координаты точек всё же можно посмотреть. Если указать на точку и нажать правую клавишу мышки, то в верхней части окна появится информация о точке: её номер (сквозной для всех проекций), координаты для эскиза и координаты на изображении проекции готового чертежа. Начало координат до ввода любых элементов находится в левом верхнем углу окна проекции. Впоследствии его положение может измениться. При выполнении операции “перетаскивания” точки, если была показана информация о ней, то координаты эскиза будут изменяться в соответствии с новым положением точки. Имеется возможность устанавливать новые точки в разрыв существующих графических элементов, которые были установлены на этапе 5.2. Изображение. То есть можно, например, прямую линию разделить на две самостоятельные линии и на место стыка этих линий поставить опорную точку. Для разрешения выполнения этой операции используется кнопка с изображённым здесь рисунком. Если эта кнопка нажата, то можно ставить только точки на существующие элементы. Для этого графический элемент помечается курсором мышки в месте размещения опорной точки. Разрывать можно только элементы “Отрезок прямой”, “Окружность”, “Дуга с центром” и “Плавная кривая”. Элементы “Отрезок прямой” и “Дуга с центром” делятся на два элемента такого же типа. Элемент “Окружность” превращается в две дуги (с участием ранее использованной точки на окружности). Элемент “Плавная кривая” на две части не делится: новая точка вставляется внутрь плавной кривой. При этом надо помнить, что всего точек на кривой не может быть больше 56. 5.2. Изображение Команда меню с одноимённым названием или кнопка с приведённым здесь рисунком. На этом этапе Вы должны ввести графические элементы в каждую проекцию. Для ввода того или иного графического элемента необходимо активизировать соответствующую кнопку. Выполнение операций вставки (ввода) графических элементов основано на последовательной пометке опорных точек, на которые должны лечь эти элементы. Желательно, что бы эти точки были уже установлены на этапе проектирования “Опорные точки”, но при вводе графических элементов так же можно одновременно создавать новые опорные точки. Для этого при указании курсором “мышки” положения очередной точки, необходимо “зажать” клавишу “Ctrl” на клавиатуре компьютера. Кнопка для ввода отрезков прямой линии. При этой нажатой кнопке, указывая “мышкой” попарно точки на проекции, Вы будете вводить отрезки прямой. Кнопка для ввода окружностей. Первая точка – точка, лежащая на окружности, вторая – центр окружности. Дуга окружности, заданная первой точкой на начале дуги, вторая точка – в конце дуги (против часовой стрелки), третья точка – в центре дуги. Дуга окружности, заданная тремя точками на дуге: первая – в начале, вторая – на конце, третья на дуге между ними. Совпадать она ни с одной из первых двух не должна. Эллипс, заданный, во-первых, точкой, расположенной на месте пересечения линии эллипса с одним из его радиусов (не важно каким), во-вторых, точкой на линии эллипса, расположенной поближе к месту пересечения с другим радиусом, но не обязательно именно в этом месте и, втретьих, точкой в центре симметрии эллипса. Рекомендуется первую точку размещать на большом радиусе, а вторую, соответственно, в районе малого. При коэффициенте сжатия эллипса большем, чем 0,2 аппроксимация эллипса становится более грубой. При таком коэффициенте расположение второй точки к концу большого радиуса ближе, чем на расстояние 0,5 малого радиуса становится не допустимым, а расположение первой точки на малом радиусе становится условным (т.е. на эллипс она может и не попасть). При расположении всех точек на одной прямой, эллипс вырождается в прямую линию. При недопустимых расположениях точек эллипс не рисуется. Дуга эллипса, первые три точки которой описывают эллипс так же, как и в предыдущем случае. Четвёртая точка устанавливается в начале дуги эллипса (по направлению против часовой стрелки), пятая точка – в конце дуги. В роли последних двух точек могут выступить первые две (см. эллипс), если их повторно указать в порядке четвёртой или пятой при описании дуги. Если четвёртая или пятая точка не попадает строго на линию дуги, то к ней эта линия будет подведена с помощью “вензеля”. Чем дальше точка от линии дуги, тем более “экзотичнее” “вензель”. Все особенности вычерчивания эллипса справедливы и для его дуги. Волнистая линия, заданная двумя концевыми точками и точкой, лежащей на волнистой линии между первыми двумя. Три точки могут не лежать на одной прямой. Этот элемент может использоваться для изображения места разрыва проекции объекта. Тип линии Вы должны выбрать сами. Кнопка для ввода кривой линии. Кривая должна обходить указанные точки в последовательности их указания. Кривая аппроксимируется отрезками дуг окружностей с выполнением условия гладкости и неразрывности в опорных точках. Первые две точки кривой соединяются отрезком прямой линии, последующие точки соединяются дугами окружностей. Максимальное количество опорных точек на кривой – не более 56. Если этого количества точек недостаточно, то рекомендуется проектируемую линию расчленять на несколько кривых, а для более “гладкой” их стыковки в этих точках устанавливать размер “скругление”. Завершается ввод кривой нажатием кнопки с указанным здесь рисунком. После этого следующая помеченная точка – точка на следующей кривой. Вставка в проекцию подготовленного фрагмента. В роли вставляемого фрагмента может выступать либо фрагмент или проекция, взятые из другого файла чертежа (см. “Фрагменты” в п. 3.2. Пункт меню “Подготовка”), либо другая проекция текущего открытого файла. В проекцию переносятся опорные точки, графические элементы, описатели размеров вставляемого фрагмента и составленные контуры экранов. Элементы оформления вставляемого фрагмента (проекции) в проекцию-приёмник не попадают. После выбора этой команды, программа Вам выдаст окно для уточнения режимов вставки: будут ли размеры вставляемого фрагмента невидимыми на чертеже, корректировать ли текстовые надписи номиналов размеров, если они будут масштабироваться, надо ли вообще переносить размеры, будете ли Вы вставлять фрагмент один или несколько раз подряд и, последнее, использовать ли для вставки только помеченные элементы. Если “Не показывать размеры фрагмента”, то размеры фрагмента будут невидимыми на проекции. При редактировании размеров эту видимость можно изменить для отдельных или всех размеров. Вставку фрагментов можно использовать для создания местных видов в масштабе, отличающегося от масштаба всего чертежа. Управление режимом “Корректировать показываемые номиналы размеров” как раз для этого предназначено. Как его использовать будет рассказано чуть ниже, после объяснения всех “тонкостей” вставки фрагмента. Если фрагмент вставляется без размеров, то ваша задача потом эти размеры “одеть” на новые опорные точки, пришедшие вместе с графическими элементами фрагмента. Если “Серийная вставка”, то после вставки одного фрагмента в проекцию, в неё или в другие проекции можно будет вставить этот же фрагмент, без повторного исходного определения его опорных точек. Для вставки фрагмента необходимо сначала на вставляемом фрагменте пометить одну, две или три опорные точки подряд, а затем на проекции, куда Вы вставляете фрагмент указать такое же количество опорных точек и в той же последовательности. Вставляемый фрагмент будет преобразован так, что его помеченные точки совместятся с помеченными точками проекции-приёмника. Таким образом, над фрагментом будут исполнены такие преобразования, как “сдвиг”, “поворот”, “масштабирование” и “зеркальное отображение”. “Сдвиг” выполняется по координатам первой точки, если другие точки не указываются, то над фрагментом выполняется только операция “сдвига”. “Поворот” и “масштабирование” осуществляется с использованием координат второй точки. Третья точка указывает направление зеркального отображения (инверсии – по научному). Если Вам необходимо над фрагментом провести преобразования “поворот”, “масштабирование” и “зеркальное отображение”, Вы должны будете утвердить готовность проекций и фрагментов чертежа исполнением операции замены эскизов всех проекций на их реальные изображения (см. этап проектирования 5.5. Оформление, кнопка с приведённым здесь рисунком). В этом случае координаты опорных точек будут иметь реальные значения, и преобразования фрагментов будут основаны на реальных параметрах. Если этого предварительно не сделать, то эти преобразования Вам будут не доступны и останется только одно преобразование – сдвиг с использованием только одной, первой точки. Таким образом, получается, что фрагменты имеет смысл вставлять тогда, когда уже готов для них “плацдарм”. Описатели размеров вставленных в проекцию фрагментов могут вызвать конфликт с размерами проекции, а именно, могут возникнуть замкнутые размерные циклы. Если фрагменты вставлены после исполнения операции замены эскизов, то этот конфликт себя не проявит, так как преобразование размеров фрагмента будет проведено по реальным координатам опорных точек. Но, если после этого, Вы начнёте редактировать размеры проекции, то не забудьте удалить конфликтные размеры вставленного фрагмента, иначе Вы можете натолкнуться на сообщение об ошибке при формировании реального изображения проекций. Такими конфликтными размерами являются размеры, которые определяют исходное положение опорных точек на проекции и положение этих же точек на фрагменте (это те опорные точки, которые были перечислены при вставке). Потому, после вставки, дублирующие размеры лучше удалить. Как уже говорилось фрагмент можно вставить без размеров. Их Вы просто добавите на этапе “Размерная сеть” “вручную” или с помощью операции “Назначить свободным опорным точкам линейные размеры”. Преобразования над фрагментом “поворот”, “масштабирование” и “зеркальное отображение” накладывают ещё одно требование: фрагмент не должен иметь размеров, ориентированных вдоль базовых осей X и Y. Все размеры должны быть определены только вдоль или перпендикулярно наклонным осям (см. ввод размеров в п. 5.3. Размерная сеть). Это сделать сложно, но можно. То есть, тогда уже речь идёт о специализированной подготовке фрагментов. Если подготовить такой фрагмент в библиотеке фрагментов, то с такими размерами он будет иметь случайную ориентацию, так как он не будет закреплён относительно базовых осей, но зато его можно будет при вставке на проекцию и масштабировать и разворачивать и зеркально “выворачивать”. Если во фрагменте будут размеры, направленные вдоль базовых осей, то после вставки такого фрагмента надо стремиться их удалить из проекции, иначе они могут помешать получить реальное изображение повёрнутого фрагмента. Можно, конечно, не мучиться и для такого фрагмента сгенерировать размеры автоматически с помощью операции “Назначить свободным опорным точкам линейные размеры” в режиме формирования их независимо от ортогональных осей или генерировать линейные размеры для фрагмента на проекции, куда он был вставлен без размеров. Единственное здесь неудобство – это то, что в последующем редактировать такой фрагмент будет сложно, если он был создан не только с помощью линейных размеров, а, например, радиусов или углов: все такие размеры будут утеряны. При коррекции размеров во время вставки убираются ссылки на сохранённые переменные модели (см. Модель), так как их величины заменяются на новые вычисленные значения для номиналов. Теперь о видах с другим масштабом. Как уже говорилось, если поставить фрагмент на базовые точки, которые имеют иное расстояние между собой, чем для устанавливаемых на них точек из фрагмента, то фрагмент будет масштабирован в большую или меньшую сторону (в зависимости от соотношения этих расстояний). Для местных видов можно использовать такой приём: сначала подготовить как фрагмент изображение вида в масштабе чертежа, а затем его вставить в подготовленную проекцию с другим масштабом. Но тут возникает проблема показа на изображении местного вида размеров (ради чего, обычно, местные виды и делаются). Ведь, они будут изменены, а “вручную” их подменять через процедуры оформления не совсем удобно. Поэтому и предлагается управление режимом вставки “Корректировать показываемые номиналы размеров”. Если назначен этот режим, то надписи номиналов на размерах будут изменены в соответствии с новым масштабом. Если его убрать, то на измененных размерах надписи номиналов останутся прежними. Есть одно “но”: вносить любые изменения в такие размеры на этапе “Размерная сеть” категорически нельзя! Это повлечёт за собой коррекцию надписей номиналов. Ну, и конечно, перед вставкой надо будет отключить режим “Не показывать размеры фрагмента”. Ещё один режим - "Только помеченные элементы" - позволяет перенести на другую проекцию (или фрагмент) часть графических элементов, предварительно выделенных на проекции (фрагменте) источнике. В этом режиме размеры и контура экранов не переносятся. Вызов мастера для выбора и ввода условного изображения. В настоящее время реализованы следующие условные изображения: отверстия малого диаметра, элементы крепежа (гвозди, винты, шурупы, болты, шайбы, гайки и др.), вентиляционные и дымовые шахты, стеновые проёмы и окна, изображения дверей на плане. Для выбора условного изображения необходимо “нажать” мышкой на световую кнопку со схемой ввода условного изображения и подтвердить свой выбор кнопкой “Да”. Схема ввода выбранного условного изображения разместиться на специальной кнопке увеличенного размера. При “нажатии” на эту кнопку будет повторно вызван мастер выбора условных изображений. После выбора условного изображения, теперь его можно установить на проекции. Для этого надо, в соответствии со схемой ввода, указать курсором мышки опорные точки условного изображения. Так же, как при вводе обычных графических элементов, здесь тоже можно использовать кнопку Ctrl клавиатуры компьютера для ввода ещё не созданных опорных точек см. выше. Порядок указания опорных точек должен соответствовать указанному на схеме. Взаимное расположение первых двух точек, обычно, определяет ориентацию условного изображения. Третья и четвёртая (если есть) точки определяют размерные параметры изображения. При этом, расположение их на самом условном изображении, строго говоря, не обязательно. Например, условное изображение линии длинного разрыва задано двумя точками на концах этой линии, а расстояние от первой точки до третьей задаёт половину амплитуды извилины, расположенной по середине линии. Третья точка может располагаться в любом направлении от первой точки. Важно только расстояние до неё. То же самое и по поводу третьей точки на условном изображении стенового проёма, только в этом случае вычисляется кратчайшее расстояние от этой точки до прямой линии, проходящей через две первых. Условные изображения всегда рисуются поверх всех других графических элементов и элементов штриховки в порядке их первоначального ввода. Это правило можно использовать для сочетания нескольких условных изображений. Например, можно соединить вместе условное изображение стенового проёма и условное изображение окна. Использование условных изображений во фрагментах, а также пометка их и удаление такое же, как и для графических элементов. При пометке “бутерброда” из условных изображений, надо помнить, что помечаться будет то изображение, которое было введено первым. Соответственно и удалять можно, начиная только с него. В отличие от графических элементов, условные изображения не могут участвовать в построении контуров экранов и не могут быть перекрыты такими экранами. Нельзя так же их использовать и для построения областей штриховки. Пометка элементов графики. Пометка выполняется с помощью курсора “мышки”, наконечник которого должен наводиться на любую нарисованную часть элемента. Такая процедура нужна для выполнения определённых действий над выделенными элементами. Это могут быть: “удаление элементов”, “удаление фрагментов”, “объединение элементов в контур непрозрачного экрана или контур отверстия в непрозрачном экране”, “выполнить вставку только помеченных элементов фрагмента”. После пометки нескольких элементов, которая сопровождается раскраской их в синий цвет, можно будет перейти к указанным действиям. Пометка таких линий, как штриховые, имеет некоторые особенности. Помечать нужно сами штрихи, а не промежутки между ними и, даже при этом, пометка может не всегда заканчиваться успехом (для таких линий надо делать попытки пометки “мышкой” в разных местах до тех пор, пока они не приобретут синий цвет). При пометке элемента, принадлежащего контуру непрозрачного экрана (или отверстия в нём), будет выделен цветом весь контур. Над помеченным контуром можно выполнить действия “удаление одного помеченного контура”. Все элементы одного фрагмента так же выделяются все вместе, если пометить любой элемент, принадлежащий этому фрагменту. Что бы выделить пометкой только один элемент, принадлежащий контуру или фрагменту, надо сопроводить эту пометку удержанием в нажатом состоянии кнопки Shift клавиатуры компьютера. Чтобы сбросить пометку одного элемента, контура или фрагмента надо его повторно пометить. Чтобы разом сбросить все пометки, надо ещё раз нажать (дожать) “мышкой” на кнопку “Пометка элементов графики”. Пометки элементов сохраняются до тех пор, пока текущее окно для редактируемой проекции остаётся активным. Если Вы перейдёте к другому окну, активизировав его (рекомендуется принять за правило активизировать окна пометкой “мышкой” заголовка окна), то все пометки предыдущего окна будут сброшены. Если несколько элементов наложились один на другого так, что через точку пометки проходит несколько линий, то пометка элементов графики в этих случаях всегда приводит к выделению только одного элемента, следующего первым по списку. Этот элемент получит синий цвет и он ни кем не будет перекрыт на изображении. Если, при этом, необходимо выделить другой элемент, то для этого надо наложившиеся элементы раздвинуть, чтобы отделить от них нужный. Для этого следует использовать функцию перемещения опорных точек на этапе "Опорные точки" (см. в п.5.1.). Выделить можно сразу группу элементов, которая пересекает или находится внутри прямоугольной области пометки. Эту область можно построить таким способом: сначала установить курсор мышки в любом углу предполагаемой прямоугольной области пометки и нажать левую клавишу мышки, затем, удерживая левую клавишу, передвинуть курсор мыши в противоположный угол предполагаемой области пометки и там опустить клавишу. Все элементы, которые перечеркнёт или поглотит в себя область пометки, получат пометку. При таком способе пометки выделяются только одиночные элементы: фрагменты или контура в целом не помечаются. Прямоугольник пометки, при его указании, изображается тонкой пунктирной линией синего цвета. В отличие от пометки элементов прямым касанием их курсором мышки, этот способ не сбрасывает пометку элементов при повторном их выделении. Поэтому, если требуется выделить элементы, очерченные областью сложной формы, такой, что её нельзя охватить одним прямоугольником, то можно последовательно выделять элементы, накладывая на них разные прямоугольники пометки. Удалить помеченные элементы графики. Помеченные элементы будут удалены. Опорные точки, которые были созданы во время ввода удаляемых элементов, останутся нетронутыми: удалять “свободные” от элементов и размеров точки можно только на этапе “Опорные точки”. Удалить фрагмент. Будут удалены на проекции все опорные точки, графические элементы и описатели размеров того фрагмента, элемент которого был помечен. Если были помечены элементы нескольких разных фрагментов, то все эти фрагменты будут удалены. Удалить помеченный контур. Будет удалён помеченный контур “экрана” или отверстия в “экране”, то есть будет разрушена информация о нём, но элементы, составлявшие его, останутся невредимыми. Любой элемент может участвовать в нескольких контурах. При их удалении, такие элементы будут оставаться связанными контурами до последнего. Удалить все контура, в том числе и не помеченные. Эта кнопка доступна только в том случае, если на проекции, окно которой активировано (т.е. окно текущего редактирования) имеется хотя бы один контур “экрана” или отверстия в нём. Нажатие на эту кнопку позволит Вам отказаться от всех назначений контуров на текущей проекции, не занимаясь их последовательным “выкрыживанием” с помощью пометок и удаления помеченных. Эта кнопка призвана помочь Вам, если Вы вконец запутались со своими контурами, и ничего проще нет, как начать всё сначала. Объединить помеченные элементы в контур, охватывающий непрозрачный “экран”. Элементы, вошедшие в контур, изображаются коричневым цветом. Желательно, чтобы контур был замкнутым, и помеченные элементы стыковались друг с другом своими концами, при этом порядок пометки или ввода элементов не имеет значения. Но, если концы элементов, вошедших в контур, не будут опираться на концы других элементов, вошедших в этот же контур, то результат может быть самый неожиданный. Например, могут исчезнуть соседние с контуром элементы. А в том случае, если это условие выполнено, то элементы, пересекающие этот контур и не образующие его, будут разделены на видимые и невидимые части. Невидимые части изображаются на проекции на этом этапе проектирования серым цветом. Невидимым частям графических элементов можно назначить иной тип изображения. Кроме типа “Невидимая”, они могут иметь тип “Сплошная основная”, “Сплошная тонкая”, “Штриховая”, “Штрих-пунктирная тонкая”, “Штрих-пунктирная утолщённая”, “Штрих-пунктирная с двумя точками тонкая” и “Специальная невидимая”. Назначить любой из этих типов можно после пометки контура и вызова мастера с информацией о контуре. Вызов мастера осуществляется с помощью следующей кнопки. После пометки контура такой рисунок появляется на световой кнопке, на которой в обычном случае ничего не изображено. При нажатии на кнопку с таким рисунком будет вызван мастер с информацией о контуре и с возможностью назначить всем невидимым частям графических элементов другие типы изображения. Объединить помеченные элементы в контур, охватываемый непрозрачным “экраном” (отверстие в экране). Требования к сочленению элементов здесь такие же, как и для охватывающих контуров. Что бы понять, как взаимодействуют контура друг с другом см. описание следующего режима. Режим распределения уровней видимости элементов и экранов. Что бы “экраны” начали действовать, необходимо правильно расставить по глубине эти самые экраны и элементы, под них попадающие. Позиции по глубине называются уровнями. Нулевой уровень – самый дальний от точки наблюдения. Все “свободные” элементы могут занимать нулевой и нечётные уровни. Контура “экранов” могут занимать только чётные уровни, но элементы их составляющие могут занимать любые уровни. При формировании охватывающих и охватываемых контуров “экранов” каждый очередной контур и его элементы занимают отдельно свой очередной чётный уровень. Контура охватывающие “экран” делают невидимыми элементы нижних уровней. Контур охватываемый “экраном” и расположенный непосредственно над контуром, охватывающим “экран” нейтрализует в последнем ту область, которую он накрывает, те есть нижние элементы становятся видимыми. Очередной контур, охватывающий “экран”, расположенный над предыдущим контуром, пусть даже отверстием в “экране”, снова сделает нижние элементы невидимыми. Кстати элементы, составляющие контура, также подвергаются “экранированию”, как и свободные элементы. Если соблюдать последовательность формирования контуров, то перераспределять их по уровням может и не понадобиться. Но, если всё-таки надо, то распределение контуров и элементов осуществляется пометкой попарно сначала элемента или контура, который должен стать ближним, а затем дальнего элемента или контура. Если “на поверхность вытаскивается” свободный элемент, то он займёт нечётный уровень над контуром. Если “вытаскивается” контур, относительно свободного элемента, то этот свободный элемент “топится” под контур. Если сравниваются два контура, то первый становится над вторым, раздвинув верхние уровни, а освободившейся уровень смыкается всей “конструкцией” контуров и элементов, построенной сверху. Чтобы “вытащить” на верхний уровень или, наоборот, “утопить” отдельный графический элемент, входящий в состав контура, необходимо при его пометке держать зажатой кнопку Shift клавиатуры компьютера. Конечно, имеет смысл распределять по уровням только те контура и элементы, которые будут взаимодействовать между собой, как на эскизном построении, так и на реальном изображении. Если заранее известно, что контура и элементы между собой взаимодействовать не будут (т.е. их координаты не пересекаются), то и “растаскивать” их по взаимным уровням нет нужды. Невидимые части элементов на эскизном изображении рисуются серым цветом. На реальном изображении они уже не показываются. Функция экранирования элементов позволяет не только делать их невидимыми, но и изменять тип линии этих элементов в соответствии со свойствами непрозрачного экрана. Например, часть графического элемента, пересекающая непрозрачный экран, может быть изображена штриховой линией. Показать контура очередного уровня. Нажатие этой кнопки заставляет программу на текущей активной проекции выделить синим цветом элементы, принадлежащие контурам, расположенным на одном уровне. Номер уровня будет выдан на окне состояний. Повторное нажатие на эту кнопку приведёт к выделению очередных элементов. Указать две точки на линии, соединяющей две части проекции объекта в месте его разрыва. Эти части проекции будут “стянуты” друг к другу вдоль указанной линии, так что между двумя точками установится заданное расстояние. Ввод указателя разрыва – завершающий этап в подготовке изображения разрыва проекции объекта. Вся подготовка места разрыва состоит в последовательности действий: во-первых, надо определить место разрыва проекции и изобразить линии разрыва, вовторых, надо перечислить элементы графики, которые должны составить контур непрозрачного экрана для удаления части проекции, которая попадает в место разрыва, в-третьих, с помощью здесь обсуждаемой команды ввести указатель разрыва. Для изображения линии разрыва удобно использовать элемент графики “Волнистая линия”. Кстати, у волнистой линии должна быть промежуточная точка, которую можно использовать для определения места разрыва. Для ввода таких элементов графики понадобятся вспомогательные опорные точки и размеры. Контур экрана, который “очистит” место разрыва, должен состоять из видимых и не видимых элементов. Не видимые участки должны соединять видимые в тех местах, где, собственно, и должен находиться разрез. При вводе указателя разрыва контур проверяется на то, что бы на нём были не видимые участки, но вы должны сами следить за тем, что бы, например, при изменении типа линий элементов, составляющих контур, такие участки не исчезли. Тогда трудно будет ожидать правильного результата. Например, концы линий разрыва можно соединить дугами окружности, вводимым по трём точкам с типом “Невидимая линия”. Если у Вас есть желание изобразить линию разрыва элементом из набора условных изображений (см.выше), то Вам следует помнить, что такие элементы не могут участвовать в построении контуров экранов. Поэтому вместо линий разрыва в контур должны войти графические элементы, обозначенные типом линии “Специальная невидимая”. Контур экрана должен быть самого “верхнего” уровня и в нём не должно быть никаких “отверстий”. Единственная прямая линия, которая может быть изображена внутри места разрыва – это линия, которая вводится под видом указателя разрыва. Поэтому Вам надо обратить внимание на тип её изображения, так как по умолчанию, обычно, это “Сплошная основная” линия. Эта линия изображается на этом этапе редактирования чертежа фиолетовым цветом. Она может быть помечена и удалена как обычный графический элемент. После ввода указателя разрыва, визуально, кроме появления ещё одной прямой линии, ничего не произойдёт. Но на этапе проектирования “Оформление” указанные места разрыва сомкнутся до контрольного расстояния между указанными точками. На одной проекции можно создать несколько мест разрывов. Каждый разрыв должен иметь контур, созданный по указанным выше правилам и указатель разрыва. Место разрыва таких объектов, как, например, кольцо, следует обозначать одним разрывом с одним контуром экрана. То есть, экран должен перекрыть не только тело кольца (в двух его местах, разумеется), но и его отверстие. Пересекать отверстие единый экран должен невидимыми линиями. Размеры, опоры которых попадают внутрь разрыва, получают статус невидимых. Если при сдвиге частей проекции получится так, что опорные точки, принадлежащие одной опоре, не будут лежать на одной прямой, то размеры с такими опорными линиями так же становятся невидимыми. Остальные размеры статус свой не изменят и могут появиться такие размеры, реальное расположение которых на чертеже не будет совпадать с их номиналом. Все графические элементы отображаются линиями выбранного Вами типа. Имеется несколько типов линий: “Невидимая” линия, которая может быть иногда нужна для построения замкнутых контуров экранов, “Сплошная основная”, “Сплошная тонкая”, “Штриховая”, “Штрих-пунктирная тонкая”, “Штрих-пунктирная утолщённая”, “Штрих-пунктирная с двумя точками”, “Специальная невидимая”, которая используется для построения контура очистки места разрыва, линия “Резьба” для отображения тонких линий резьбовых соединений. Все эти типы линий могут быть назначены на любые типы графических элементов, за исключением резьбы, которая может изображаться либо прямой линией, либо дугой окружности. Линия “Резьба” имеет особые свойства, которые вытекают из требований ГОСТ 2.311. Прежде всего, этот тип линий должен назначаться элементам, которые имеют свои индивидуальные опорные точки и свои назначения размеров для размещения этих линий. Если тип линии “Резьба” назначен прямой линии, то опорные точки этого графического элемента будут скорректированы так, что они всегда будут располагаться на пересечениях с другими графическими элементами, даже, если специальных размеров для этого указано не будет. Например, если линия резьбы пересекает линию, изображающую фаску, то конец резьбовой линии на эскизе можно оставить на линии торца болта. Когда фаска примет окончательный вид и появится угроза того, что линия резьбы может “повиснуть в воздухе”, то её конец будет сдвинут на линию фаски. Если тип линии “Резьба” назначен отрезку дуги окружности, то эта дуга всегда на чертеже будет показана так, как это требует ГОСТ 2.311, опорные точки дуги при этом должны быть определены только на размерах типа “Радиус” или “Диаметр” и другим элементам они не должны принадлежать (кроме точки центра дуги). Коррекцию размера, определяющего отступ линии резьбы от линии основного контура отверстия или вала, Вы должны будете вычислить сами. Ещё одним свойством линии “Резьба” является то, что её легко пересекают элементы штриховки области, если таковая будет указана. Линия “Специальная невидимая” в отличие от линии “Невидимая” отображается на этапе “Оформление” и может быть использована, поэтому для таких, например, операций, как указание областей штриховки (для ограничения этих областей) или формирование невидимых граней таблиц с текстом. На готовом чертеже линии такого типа уже не изображаются. Линии с типами “Штриховая”, “Штрих-пунктирная тонкая”, “Штрих-пунктирная утолщённая” и “Штрихпунктирная с двумя точками тонкая”, как известно должны пересекаться между собой только штрихами и их свободные концы должны “свешиваться” за контур изображения проекции объекта. Выполнять специально эти требования Вам не надо: всё это будет выполнено автоматически при выходе на этап “Компоновка чертежа”. То есть, как Вы поняли, если Вы вводите штрих-пунктирную линию, которая будет играть роль осевой на Вашем чертеже, то её концы могут опираться на точки, которые лежат на основном контуре проекции Вашего объекта. Все типы линий, после всех обработок, показываются на чертеже в соответствии с требованиями ГОСТ 2.303. На эскизах же они показываются стилизовано, с использованием штатных средств Microsoft. Выбранные типы линий графических элементов можно впоследствии менять с помощью кнопки “Сменить тип линии”. Для этого надо пометить графический элемент или группу элементов, выбрать нужный тип линии и нажать на кнопку “Сменить тип линии”. 5.3. Размерная сеть Команда меню с одноимённым названием или кнопка с приведённым здесь рисунком. На этом этапе Вы должны ввести описания всех размеров на проекциях. Расставляются размеры на опорные точки, которые Вы вводили на этапах “Опорные точки” и “Изображение”. Каждый размер состоит из выносных линий и параметров, определяющих тип размера, его направление и номинал. В программе KEDRWIN в настоящее время заведено семь размеров: линейный размер, радиус, диаметр, угол, размер (длина) дуги, скругление и уровень. Для линейного размера, диаметра и уровня имеет значение направление, вдоль которого этот размер направлен. Основные направления задают ориентацию размеров вдоль оси X и Y. Ось X направлена, традиционно, слева направо. Ось Y направлена снизу вверх. Производные направления – это направления вдоль или перпендикулярно произвольным осям, заданным по положению двух опорных точек. Если выбирается одно из таких направлений, то Вы сначала должны будете указать точки, которые определят направление оси: первая точка лежит на координатах вдоль этой оси меньших, чем вторая точка, то есть направление оси задаётся от первой точки ко второй (направление увеличения значений координат). В свою очередь положение этих точек на чертеже проекции определяется другими размерами и они не должны зависеть от размеров, использующих эти точки в качестве опорных. Размеры, симметричные относительно оси вводятся в таком же порядке, как и размеры, направленные перпендикулярно произвольной оси, то есть сначала указываются две точки, которые будут определять направление оси симметрии. Эти размеры задают положение точек симметрично, относительно оси симметрии и не требуют дополнительных вспомогательных построений (кроме определения положения опорных точек оси симметрии). Симметричными размерами могут быть размеры линейные, диаметры без указания центра и углы. Если Вы установили у себя файлы с Рекомендациями к проектированию, то можете визуально посмотреть учебную демонстрацию процесса ввода симметричных размеров. Размеры могут быть видимыми или невидимыми. Видимые размеры, понятно, это те, которые показываются на чертеже, а не видимые – это те, которые нужны только для определения координат опорных точек. Имеется две кнопки управления режимами видимости. Кнопка с указанным здесь рисунком предназначена для определения свойства видимости очередного редактируемого размера. Когда эта кнопка “зажата”, то текущий вводимый или редактируемый размер будет не видимым. Если “отжата”, то видимым. Это свойство размеру можно будет определить на этапе “Оформление” (см. ниже). Кнопка с указанным здесь рисунком предназначена для исполнения разовой акции переопределения свойств видимости всех размеров на текущей проекции. Если кнопка “зажата”, то, во-первых, все ранее введённые размеры на этой проекции получат свойство невидимых размеров, а, во-вторых, кнопка управления видимостью одного размера тоже перейдёт в нажатое состояние. Если кнопка “отжимается”, то, соответственно, все размеры получат статус видимых размеров, а кнопка управления видимостью одного размера перейдёт в отжатое состояние. Размер вала и размер отверстия – это признаки размеров, которые в этой программе будут использоваться для правильной автоматической ориентации обозначений шероховатостей. Каждая выносная линия может опираться на несколько опорных точек, которые на эскизе могут и не находиться на одной прямой. На этапе построения истинного изображения все они будут размещены на одной прямой линии, которая совпадает с выносной линией. Опорные точки присоединяются к выносной линии размера простой пометкой их во время ввода этих линий. Каждая помеченная точка снабжается маленькой стрелкой, направление которой ориентировано против выбранной оси направления размера для опоры меньшей координаты размера и вдоль оси для опоры большей координаты размера. Если надо удалить такую пометку (освободить точку от текущего размера), то точку достаточно также пометить “мышью”, но при одновременно удерживаемой кнопке “Alt” клавиатуры компьютера. При удалении надо помнить, что помечается не стрелка, а точка, на которую она опирается (хотя точно в неё “целиться” не нужно). Присоединять точки к опоре размера можно не только уже существующие, но и создавать их в момент присоединения. Для этого необходимо удерживать кнопку "Ctrl" клавиатуры компьютера в момент нажатия левой клавиши "мыши". Для ускорения присоединения нескольких точек к одной выносной линии размера можно их охватить прямоугольной зоной пометки. Для этого, после пометки крайней точки, не отпуская левой клавиши "мышки", ведите её курсор к точке противоположного края помечаемой зоны. Все точки, попавшие внутрь образовавшегося прямоугольника, будут присоединены в текущей опоре размера. Точно также можно освобождать точки от присоединения к выносной линии размера охватом их прямоугольной зоной, только нужно в момент отпускания левой клавиши "мышки" удерживать кнопку "Alt" клавиатуры компьютера. При пометках опорных точек, они изменяют свой цвет. Жёлтый цвет означает, что точка получила ограничение свободы своего перемещения вдоль одного направления, но положение на чертеже её остаётся неоднозначным. Фиолетовый цвет означает, что точка получила однозначное положение на плоскости проекции. После ввода всех размеров белых точек остаться не должно. Все размеры должны быть введены так, что бы нельзя было найти обособленные группы точек, несвязанные размерами с другими группами точек. При вводе размеров необходимо придерживаться такого правила, что, все размеры, выходящие из любой точки на проекции должны однозначно определить хотя бы ещё одну точку на этой же проекции. То есть, если встать на любую точку, то при переборе всех размеров, проходящих через неё можно увидеть, что эти размеры однозначно определяют на проекции не менее ещё одной точки. Для ввода размеров используется несколько органов управления: Опора меньшей координаты размера. После нажатия этой кнопки перечисляются опорные точки, расположенные на той выносной линии размера, которая по направлению выбранной оси будет в этом размере иметь наименьшие координаты. Если вводится размер с радиальным центром, то направление стрелки пометки – по часовой стрелке. Опора большей координаты размера. После нажатия этой кнопки перечисляются опорные точки, расположенные на той выносной линии размера, которая по направлению выбранной оси будет в этом размере иметь наибольшие координаты. Если вводится размер с радиальным центром, то направление стрелки пометки – против часовой стрелки. Центр радиальных размеров. Указывается точка, которая должна находиться в центре радиуса, диаметра, углового размера или размера дуги. На указанный центр устанавливается перекрестие. Точки на нулевом уровне. Только для размера “Уровень”. Точки лежат на уровне, от которого начинается отсчёт удалённости остальных уровней, заданных как один размер (см. далее). Завершить ввод размера и его запомнить. В момент нажатия этой кнопки производится проверка законченности ввода размера и занесение его в базу данных чертежа. После этого программа готова к вводу очередного размера. Если, не “нажав” этой кнопки во время ввода размера, Вы перейдёте на другую проекцию чертежа, то программа посчитает, что ввод завершён и выполнит те же действия завершения. Удалить размер. Редактируемый размер удаляется. Программа готова к вводу очередного размера. Включить режим селекции размеров на опорных точках. При зажатой этой кнопке пометка курсором “мышки” опорной точки, задействованной в размерах, позволит “вытащить” введённый размер и перевести его в статус вводимого, то есть такого размера, у которого все параметры уже определены, но которого в базе данных ещё нет и он доступен для изменения его параметров. Можно удалить или добавить опорные точки на выносных линиях, изменить номинал и т.д. Но, перед редактированием размера, сначала не забудьте “отжать” эту кнопку, иначе при пометке опорной точки, вместо присоединения её к размеру, Вы получите очередной, ранее введённый размер, уже использующий эту точку. Что бы просмотреть все размеры, опирающиеся на одну какую-либо точку, достаточно последовательно “щёлкать” по ней “мышкой”. При селекции размеров можно свободно переходить с одной проекции на другую, не переключая режима просмотра. Найти нужный размер можно не только с помощью селекции размеров по используемым точкам, но и выбором его из списка размеров текущей проекции, с которой Вы сейчас работаете. Список размеров выстроен по порядку возрастания их номиналов. За номиналом следует значок, подсказывающий тип размера: L – линейный размер, R – радиус, D – диаметр, U – угол, A – размер дуги, C – скругление, V – уровень. Если размер невидимый, то далее следует знак “†”. Если размер помечен на этапе “Оформление” (см. ниже) или он получил пометку во время построения вида проекции, будет выставлен знак “¶”. Размер с признаком “Только для оформления” отмечен знаком “€”. Если номинал был введён через список сохранённых переменных модели, то далее следует имя использованной переменной, заключённое в фигурные скобки. Кнопка с таким рисунком позволяет в бесконечном замкнутом цикле просматривать список размеров текущей проекции. Каждое нажатие приводит к отображению очередного размера в порядке их первоначального ввода (а не по сортированному списку). Назначить свободным опорным точкам линейные размеры. Эта операция формирует новые размеры на опорных точках, не занятых другими размерами (на точках белого цвета). После нажатия на эту кнопку, необходимо курсором мышки указать точку, которая будет считаться базовой для установки размеров. Эта точка может быть уже задействована в других размерах. От неё будут “отмерены” все расстояния вдоль осей X и Y до каждой свободной точки и приравнены номиналам новых размеров. Если на одну выносную каждого нового размера попадает несколько точек, то все они будут привязаны к этому размеру. Все размеры устанавливаются как невидимые на проекции чертежа. Если изображение предполагается использовать в качестве фрагмента для установки в другие проекции, то можно генерацию размеров провести в специальном режиме, когда они будут независимыми от ортогональных осей X и Y. Это означает, что такой фрагмент можно будет поворачивать и зеркально отображать на проекции (см. этап “Изображение” Вставка в проекцию подготовленного фрагмента). Для получения таких размеров необходимо в меню Файл/Настройки/Нюансы чертежа установить “флажок” с названием: “При автоматическом формировании для свободных точек размеры не зависят от ортогональных осей”. Этот флажок включает такой режим на период редактирования этого чертежа. Размеры, которые будут автоматически создаваться в этом режиме, будут сформированы с использованием выбранного самой программой направления (часть размеров вдоль него, часть – перпендикулярно). Внешнее отличие таких размеров – изображение проекции после исполнения “Построения вида” может приобрести заранее неопределённую ориентацию. Размер только для оформления. Это значит, что размер, введённым с таким параметром не будет влиять на положения опорных точек графических элементов, а только покажется на проекции с тем номиналом, который Вы ему зададите. Этот номинал не будет входить ни с какими другими размерами в противоречие, если, например, эти размеры выполнят такое построение реального изображения проекции, что размер, указанный, как только для оформления, ни как не может иметь присвоенный ему номинал. На этапе “Оформление” Вы сможете посмотреть точно вычисленное (от обратного) значение этого номинала. Номинал может вводиться как обычное число. После ввода значения номинала, программа возвращает его обратно в строку редактирования, что бы Вы могли проверить, насколько правильно Вас программа поняла. При вводе каждого нового размера, когда возможно, программа автоматически определяет первоначальное значение номинала на эскизе. При внесении изменения в номинал размера, который был уже подготовлен раньше, можно отказаться от введённых изменений и вернуться к его прежнему значению. Для этого надо использовать кнопку “Esc” клавиатуры компьютера. Номинал может вводиться посредством выбора переменной из списка сохранённых переменных модели. Чтобы выбрать такую переменную, надо инициировать список этих переменных (с помощью кнопки со стрелкой в строке номинала) и указать мышкой на нужную строку списка. Размер рядом со значением номинала будет иметь символьное обозначение переменной, заключённое в фигурные скобки. Имя переменной, введённое “вручную” в строке номинала к исполнению не принимается. Переменные могут быть типов либо целые, либо вещественные (т.е. числа). Если переменная, которая была применена для задания номинала размера, при последующих изменениях модели будет удалена из списка сохранённых, то номинал останется равным её последнему значению. Перед значением номинала может стоять знак “диаметр”, “радиус”, “метрическая резьба”, “квадрат”, “длина дуги”. При выборе размера соответствующий знак выбирается автоматически, но его можно изменить или от него отказаться. Бывают случаи, когда необходимо на выставленном размере указать не введённое значение номинала, а совсем другое число. Например, когда Вам надо размер проставить в дюймах. Или, например, когда для удобства построения размер на чертеже должен быть указан от оси симметрии до видимой части изображения объекта. Если это размер диаметра, то в таком случае, он никак не впишется в чертёж, так как Вы вынуждены будете указать только его половинку. Для этих случаев можно применить такой приём: указать от оси размер построения, но его номинал скрыть на этапе оформления чертежа и на его месте впечатать другое значение размера (см. "Редактирование размерной надписи"). Таким приёмом следует пользоваться весьма осторожно, так как, если впоследствии будут внесены изменения в величину размера, установленный текст не изменится! Будет потеряно одно из достоинств программы KEDRWIN: что указано на чертеже, то и есть на самом деле. Размер, который, как описано в предыдущем примере, должен иметь только одну опору на видимую часть изображения объекта. Второй конец – должен “висеть”, казалось бы, без привязки. На самом деле оба конца размера должны иметь опоры! Только один конец имеет видимую опору, а другой – скрытую. О том, как использовать такую опору, описано в разделе 5.5. Оформление. Кроме размеров, назначаемых с точным значением номинала, программа KEDRWIN обрабатывает и, так называемые, ограничивающие размеры. Отличительной особенностью их является то, что перед значением номинала должен присутствовать знак сравнения: < “меньше”, <= “меньше или равно”, > “больше”, >= “больше или равно”. Эти знаки вы должны ввести сами перед числовым значением в строке номинала. Действие таких размеров таково, что они обеспечивают выполнение условия попадания расстояния между группами отмеченных точек в соответствующий диапазон значений. Нужны такие размеры в таких случаях, когда нельзя по сети обычных размеров однозначно построить изображение проекции проектируемого объекта. Такие неоднозначности возникают в тех случаях, когда точка должна быть зафиксирована на проекции такими размерами, как “Радиус” или “Диаметр” с центром. Но определять, когда ограничивающие размеры нужны, лучше всего поручить программе KEDRWIN. На этапе “Построение вида” программа сама предложит устранить неоднозначность в положении точки, если такая необходимость возникнет (см.п. 5.4. Построение вида). Ограничивающие размеры никогда на чертеже не показываются, даже, если специально это не указано (действие кнопки “Показать размер на чертеже” игнорируется). Ввод линейного размера начинается с указания направления этого размера. Направление должно быть указано обязательно и, либо это направление взято по умолчанию вдоль оси X, либо оно осталось после предыдущего редактируемого размера, либо указано другое новое. Затем выбирается, какая будет вводиться опора: с меньшими или большими координатами вдоль выбранной оси. Затем, если выбрана ось, не параллельная X или Y, то помечаются две точки вдоль этой оси: сначала с меньшими координатами (по этой оси), а затем с большими (то есть направление: от первой – ко второй). Далее Вы “перечисляете” “мышкой” все точки, которые должны лечь на указанную выносную линию. Потом Вы выбираете вторую опору размера и вводите точки для неё. После указания первой же точки на второй опоре программа покажет Вам возможное значение номинала или, на самом деле, расстояние, в соответствии с масштабом чертежа, от первой точки на первой опоре до указанной только что точки на второй опоре вдоль заказанной оси на эскизе. Если Вам не нравится этот номинал, то вводите свой. После ввода номинала и перечисления всех точек, принадлежащих размеру, нажмите кнопку “Готово”. Размер введён. Указать видимый размер, или невидимый можно при вводе размера, или при его редактировании. Ввод радиуса имеет ту особенность, что он не направлен вдоль конкретной оси. Кроме этого он имеет специфичную опору – центр радиального размера. Центром может быть только одна точка. А, вот вторая опора может очерчивать несколько точек: все они потом будут отстоять по радиусу на одинаковом расстоянии от центра. Закреплять точки вдоль окружности с номинальным радиусом – дело не этого размера. Ввод диаметра похож и на ввод линейного размера и на ввод радиуса одновременно. Если диаметр указывается с центром, то это радиальный размер, для которого одна опора – центр, а другая – точки на окружности. На чертеже такой размер показывается размерной линией со стрелками на конце, которая пересекает окружность через её центр. Направление размера, при этом не имеет значения. Следует заметить, что, если размер “Диаметр” задаётся с центром, то его ввод будет похож на ввод размера “Радиус”: центр на одной точке, а точки на окружности должны быть равноудалены от него. Если диаметр указывается двумя опорами на окружности, то центр, в таком случае не указывается. На чертеже такой размер показывается как линейный размер, например, размер диаметра вала, показанного в профиль. В таком случае направление размера имеет значение. Номинал диаметра в обоих случаях указывается как полный размер: могло показаться, что в первом случае он вводится как радиус, но это не так. В случае, когда размер “Диаметр” вводится для окружности, то программа автоматически порождает для неё ортогональные осевые линии. Так что специально вводить их не нужно. Эти осевые имеют ту особенность, что для операций назначения контуров “экранов” и назначения штриховок областей они не оказывают ни какого влияния: как будто их нет. Показываются они только на этапах “Оформление” и “Компоновка чертежа”. Размеры с центром “радиус” и “диаметр” предназначены для установки только в тех случаях, когда для их центра имеется центр либо окружности, либо дуги. Центры размеров и графических элементов должны быть совмещены, а размеры должны показывать положение точек, относящихся к указанным графическим элементам. Если размер “диаметр” с центром или “радиус” окажутся без таких графических элементов, то последующее их правильное размещение будет невозможно! Они примут непредсказуемое положение. Это надо учитывать при назначении размерной сети. Ввод угла. Центр – одна точка. Одна группа точек располагается вдоль одного луча, другая – вдоль другого. Направление оси координат – против часовой стрелки. Особенность – номинал, который может быть задан либо в радианах (выглядит как обычное вещественное число), либо в градусах. Конструкция числа, заданного в градусах выглядит так: сначала задано целое число градусов, ограниченное справа значком ^ (Shift/6 в латинском регистре) или Ctrl/0176, далее целое число минут, ограниченное знаком ‘ (апостроф), далее вещественное число (возможно, с дробной частью) секунды, ограниченное справа знаком “ (кавычка). После ввода номинала угла, программа выводит его в строку редактирования в виде градусов, даже, если Вы вводили его как радианы. На чертеже номинал также будет показан в градусной мере. Можно вводить числом градусов с десятичными дробями. Заканчиваться такое число должно указанным выше знаком. При очередном выводе номинал уже будет представлен в градусах, минутах и секундах. Следует заметить, что, если номинал углового размера задаётся через сохранённую переменную модели, то её значение должно быть в радианах. Ввод размера дуги выглядит так же, как ввод угла, только номинал всегда вещественное число. Ввод скругления – это перечисление тех точек, в которых углы стыковки графических элементов должны быть закруглены с заданным радиусом. Центры скруглений не задаются. Размер скруглений на чертеже будет показан только около первой точки (если он указан как видимый). Скругления возможны только между элементами, размеры которые больше радиуса скругления: длины отрезков прямой должны быть больше радиуса скругления; радиусы скругляемых дуг должны быть больше радиуса скругления. Длина сегмента плавной кривой (линия между двумя первыми точками со стороны скругления) должна быть больше радиуса скругления. Элемент типа “окружность” в операциях “скругления стыков” не может участвовать. Нельзя так же указывать скругление на пересечениях элементов: два элемента должны иметь общую точку. Исполнение операции скругления осуществляется на этапе построения реального изображения. Если скругление не возможно, то оно не показывается. Ввод уровня начинается так же, как ввод линейного размера, с определения оси координат, вдоль которой производится измерение уровней. Для измерения уровней естественным является направление вдоль оси Y. Но, тем не менее, в программе не запрещено направлять их хоть вдоль наклонной оси. Для указания размера уровня, необходимо определиться: в каком направлении от нулевого уровня Вы будете вводить этот размер. Если Вы вначале нажмёте на кнопку, определяющую опору с меньшими координатами, то уровень будет с отрицательным значением относительно нулевого уровня. Если нажмёте кнопку для больших координат, то уровень с положительным значением. Каждый уровень задаётся одним своим размером, относительно общего нулевого уровня. Номинал вводится всегда как положительное число, даже для отрицательных уровней: отрицательный знак программа сама подставит уже на чертеже. 5.4. Построение вида Команда меню с одноимённым названием или кнопка с приведённым здесь рисунком. На этом этапе программа KEDRWIN по заданным размерам производит построение реальных изображений всех проекций. Здесь следует заметить, что для успешного завершения построения реальных изображений проекций необходимо выполнить ряд условий на предыдущих этапах проектирования. Не должно быть опорных точек белого цвета, то есть точек, не задействованных в размерной сети. Все размеры на каждой проекции должны составлять взаимосвязанную сеть, то есть не должно быть “размерных островков”, не имеющих достаточно связей размерами друг с другом. Если такие “островки” всё-таки присутствуют на проекции, то после завершения процесса построения все опорные точки будут поделены на две группы. Первая группа – это точки, получившие однозначное положение на проекции, благодаря связанности их размеров между собой. Эти точки не изменяют цвета (сиреневый или жёлтый квадратик с чёрной каймой). Вторая группа – это точки, каждая из которых не получает однозначного положения по отношению к уже расставленным точкам из-за недостаточности заданных размеров. Эти точки не могут быть зафиксированы. Такие точки получают жёлтый цвет каймы. Расцветка этих точек теперь будет сохраняться при переходах на предыдущие этапы проектирования. Для анализа этих сведений, Вам лучше всего перейти на этап “Размерная сеть” и использовать процедуру просмотра размеров в режиме селекции размеров на правильно расставленных опорных точках (см. п.5.3.Размерная сеть режим селекции размеров). Таким образом, Вы сможете определить, каких размеров не хватает, чтобы “привлечь” не связанные точки. Процесс построения делает попытки расставить точки с разных “сторон” проекции, поэтому для случая с несколькими группами несвязанных размеров сказать заранее, какие группы размеров и их точек он найдёт, невозможно. Поэтому этот процесс будет проходить поэтапно, всякий раз, разделяя все точки на две группы: связанные между собой размерами и не связанные с ними другие точки и их размеры. Не должно быть замкнутых размерных циклов, в которых введённые размеры составляют замкнутую размерную цепь, включая замыкающий размер. Даже, если все размеры Вами вычислены так, что увеличивающие и уменьшающие размеры в сумме дадут нуль, всё равно таких циклов надо избегать, так как в них трудно будет найти ошибки, включая ошибки округлений. Если, всё-таки размеры образуют не согласованную цепь, то, после попытки построения, программа выдаст сообщение о том размере, который стремится поставить на последнем этапе уже зафиксированную точку в другое место. Этот размер получит пометку, по которой его можно будет отыскать в списке размеров (см. выше п.5.3.). Для точек, которые должны встать на пересечении размеров типа “Радиус” или “Диаметр” с любыми другими размерами может возникнуть неоднозначность: на какую из двух точек пересечения, например, окружности и прямой линии встать. Для устранения неоднозначности алгоритм построения использует, на сколько это возможно, эскизное размещение этих точек. Если же ему этого не удаётся сделать, то тогда он попросит помощи у конструктора в виде сообщения “Неоднозначное положение точки” с указанием пары размеров, которые не могут определить положение точки. Для указания однозначности Вам надо будет использовать ограничивающие размеры см.5.3. Использовать эти размеры Вам по своей инициативе, без требования программы, не следует, так как присутствие этих размеров отключает алгоритм “самостоятельности” и эти размеры вместо помощи могут только навредить. Перед началом построения программа проверит наличие групп точек, которые имеют видимое совпадение на эскизе. Это совпадение означает, что при том масштабе, который принят в текущий момент для отображения проекции на экране компьютера, одни точки полностью накрывают другие точки. Как показывает практика, такие совпадения потенциально опасны, так как невозможен контроль использования таких точек для размещения элементов графики и назначения размеров. Такие точки затрудняют поиск ошибок формирования изображения проекции. Обнаруженные совпадающие точки (все, кроме одной из них) получат специальную пометку, по которой программа будет их отображать в увеличенном виде. Снять эту пометку можно на этапе "Опорные точки" вопервых, перемещением этих точек с помощью курсора мышки (см. выше). Вовторых, объединением этих точек в одну. Для этого надо в том же режиме, разрешающем перемещать точки, подвести курсор к такой точке, нажать левую клавишу и, не перемещая курсор, её отпустить. Программа предложит все совпадающие в этом месте точки объединить. Надо согласиться. То, что программа сможет построить, Вы увидите в окнах проекций. Протокол построений можно будет просмотреть как в окне “Процесс построения изображения по введённым размерам”, так и с помощью элемента управления “Протокол процесса построения изображения” на панели инструментов текущего этапа проектирования, после закрытия окна. На панели инструментов расположены так же другие элементы управления для удобства анализа результатов построения и поиска “критических” размеров. Здесь так же, как и на этапе “Размерная сеть”, Вы можете выбрать размер на указанной проекции из списка размеров, селектировать размеры, опирающиеся на какую-либо точку или выбрать его простым перебором всех размеров. Кнопка с указанным здесь рисунком предназначена для пометки выбранного размера. По этой пометке Вы сможете найти и отредактировать этот размер на этапе “Размерная сеть”. Кнопка “ОК” предназначена для сброса выделения размеров на проекции и останова процесса селекции. Чтобы просмотреть все размеры замкнутого размерного цикла, можно использовать кнопку "Показать очередной размер замкнутой размерной цепи" на панели инструментов (см. рисунок). Последовательное нажатие на эту кнопку будет приводить к показу очередного размера из этой размерной цепи. Кнопка доступна только в том случае, если выбран один из размеров проекции. 5.5. Оформление Команда меню с одноимённым названием или кнопка с приведённым здесь рисунком. На этом этапе Вы должны ввести и отредактировать элементы оформления проекций и чертежа. На этом этапе проектирования программа KEDRWIN покажет Вам все размещённые видимые размеры на проекциях. Возможно, что какие-то размеры будут установлены с отклонениями от ГОСТ 2.307. Любой размер Вы сможете переустановить вручную. Кнопка с изображением клещей позволит Вам переместить любой элемент оформления, в том числе и размеры. Для этого, в то время, когда эта кнопка нажата, Вы можете подвести курсор “мышки” к размерной линии и нажать левую клавишу “мышки”. Если произойдёт захват размера, то курсор превратится в зажатые клещи. Теперь, не отпуская “клещей” (т.е. левую клавишу “мышки”), передвиньте размер на другое место. Место, на которое Вы хотите поставить свой размер, может быть занято другими размерами. Если Вы отпустите левую клавишу “мышки”, Ваш размер останется на том месте, где Вы его оставите, а размеры, которые ему мешают и, которые Вы ещё не перемещали, будут автоматически переразмещены на другие места проекции. Те размеры, которые Вы уже установили, сами со своего места уже не сдвинутся. Размеры без центров, выносные линии которых опираются каждая только на одну точку, можно переносить в произвольном направлении, когда как размеры, определяющие положение нескольких точек на каждой выносной линии, можно перемещать только вдоль этих выносных линий. Для первого случая, кроме “зажатых” “клещей”, надо ещё держать в нажатом положении клавишу Ctrl клавиатуры компьютера. Размеры диаметра и радиуса можно перемещать как в линейном направлении, так и в круговом. Если такие размеры Вы “зацепите” ближе к центру, то будет возможность размер перенести в линейном направлении, перпендикулярном положению размерной линии. Если такие размеры Вы “зацепите” ближе к наконечнику размерной линии, то курсор “мышки” превратится не в “клещи”, а в “вихрь” и размерную линию можно будет развернуть вокруг своего центра. Размерные надписи так же можно переразмещать вручную. Во-первых, при перемещениях размерных линий, надписи так же следуют за ними. Во-вторых, надписи можно размещать как вдоль размерной линии, так и с отрывом от неё. Для перемещений размерных надписей надо так же зажать их “клещами” и потянуть туда, куда Вы хотите. Если это направление не вдоль размерной линии, то для размерной надписи будет создана выносная полка с соединительной линией. Эту выноску Вы можете “оттащить” в любое место проекции. Соединительная линия будет соединять полку выноски с размерной линией в точке “отрыва” размерной надписи. Если размерную надпись с полкой выноски Вы подведёте к размерной линии, то выноска исчезнет, и надпись снова примет первоначальный вид. Ручное размещение каждого размера и его размерной надписи сохранится до тех пор, пока он не будет снова отредактирован на этапе “Размерная сеть”. Размеры "скруглений" имеют свою особенность переразмещения. Эти размеры могут быть представлены либо в виде выносок, либо в виде размера типа "Радиус". Тот или иной вид размер приобретает в зависимости от ситуации. Но и тот, и другой вид лучше размещать, передвижением наконечника размерной стрелки. Имеет смысл только вращать эту стрелку вдоль линии дуги скругления. Чем меньше радиус скругления, тем ближе к наконечнику стрелки надо её захватывать для вращения. После завершения передвижения стрелки, когда Вы отпустите левую клавишу мышки, программа сама поставит размерную надпись как надо. Программа не предполагает, что размер "Скругление" будет передвигаться в линейном направлении: если радиус скругления мал, то размерная надпись за размерной линией может и не последовать, а остаться на выноске у места скругления. Если Вам не нравится то, что вы “натворили” с переносами размеров, Вы можете снова заставить программу автоматически разместить все размеры. Для этого нужно нажать на кнопку с указанной здесь картинкой. Все размеры на редактируемой в текущем активном окне проекции будут снова размещены автоматически. В случаях, когда Вы меняете масштаб чертежа или единицы измерения проектируемого объекта после того, как вручную размещали размеры, то от использования этой кнопки Вам не уйти: это будет самый простой и быстрый способ привести в соответствие размещение размерной сети. Наконечники размерных линий по умолчанию ставятся в виде стрелок. Но их можно изменить, для этого надо нажать на кнопку с представленной здесь картинкой. Затем подвести курсор “мышки” к наконечнику размерной линии и нажать левую кнопку. В окошке списка видов наконечников появится тот наконечник, который сейчас был помечен. Теперь из списка Вы можете выбрать другой и нажать на кнопку “Да”. Наконечник будет изменён. Также можно менять наконечники и всевозможных выносок. В основном назначения всех наконечников понятны, но один, наверное, требует пояснений. Наконечник, изображённый в списке рисунком такого вида, предназначен для того, чтобы отмеченный этим “наконечником” конец размерной линии свободно “свешивался”. Размерная линия на этом конце удлиняется и выходит за пределы выносной опорной линии, а сама эта опорная линия не изображается. В ГОСТе 2.307 этот случай описывается так: “Если вид или разрез симметричного предмета или отдельных симметрично расположенных элементов изображают только до оси симметрии или с обрывом, то размерные линии, относящиеся к этим элементам, проводят с обрывом, и обрыв размерной линии делают дальше оси или линии обрыва предмета”. Реально получается, что размер Вы должны назначить не того номинала, который должен быть указан на чертеже в этой ситуации, а иной, показывающий вспомогательное построение, например, от оси симметрии до подразмерного элемента. На этот случай уготовлена функция скрытия номинала (см. ниже). Для всех элементов оформления, параметры которых вводятся и переопределяются с помощью мастеров редактирования, применяется общее правило вызова мастера. Необходимо навести остриё курсора “мышки” на любую линию изображения элемента оформления и “придавить” её правой кнопкой “мышки”. Причём совершенно неважно, какие кнопки на панели инструментов при этом нажаты. Размерная надпись, кроме номинала, может содержать ещё и другую информацию. Для редактирования размерной надписи, надо подвести курсор “мышки” к надписи и нажать правую кнопку “мышки”. В правой части окна программы появится мастер редактирования размерных надписей. Если Вы в данный момент просматриваете размер, предназначенный только для оформления (см. п.5.3. “Размерная сеть” Размер только для оформления), то сразу под “шапкой” окна мастера будет выведено точное значение размера. Оно вычисляется на основе координат опорных точек после их размещения по исполняемым размерам. С помощью этого мастера Вы сможете изменить параметры текста надписи: высоту шрифта и его тип. Вы можете так же добавить текстовую надпись слева от номинала, справа от номинала и под полкой выноски, если она есть. Текст вписывается в специально отведённые для этого окошки мастера. Для ввода предельных отклонений размеров должен использоваться специальный синтаксис строки. Начинается такая часть подстроки с символа “\” (обратный слэш). Далее, если должно следовать верхнее предельное отклонение, то должен стоять знак “^” (надчерк), если нижнее предельное отклонение, то символ “_” (подчерк), если должна быть разделительная черта между верхним и нижним предельным отклонением, то после знака “\” перед предельным отклонением, который должен быть подчёркнут, должен стоять знак минус, а уже за ним должен стоять либо знак “^”, либо “_”. Далее идёт значение отклонения, содержимое которого программой не контролируется. Это должна быть текстовая строка числа отклонения со знаком. Если номинал содержит верхнее и нижнее предельное отклонение, то описанная выше синтаксическая конструкция повторяется для каждого значения. Для случаев на сборочных чертежах, когда надо записать “башенкой” сразу четыре предельных отклонения, для самого верхнего значения пишется два знака “надчерк”, для самого нижнего – два знака подчерк. Заканчивается вся синтаксическая конструкция знаком “\” с пробелом за ним. Если далее текста нет, то завершающий знак “\” с пробелом не нужен. Пример: \^^+0,3\-^+0,1\_-0,2\__-0,4\ текст, следующий далее. По сути дела, с помощью этих правил можно вводить подстрочные и надстрочные индексы в любые текстовые надписи на проекциях. Чтобы просто ввести знак “\”, надо его ввести дважды. Особое значение имеет знак “/” (слэш). Символы, следующие за ним будут выводиться на один размер меньше, по отношению к предыдущим. Если надо ввести этот знак без такого действия, то за ним нужно поставить либо знак пробела, либо обратный слэш "\", который не изображается на проекции. Ввод символов по кодам см. "Ввод текстового фрагмента". Для случаев, когда необходимо вместо номинала указать другое значение размера, имеется специальная функция скрытия номинала. Использовав её, величину этого размера Вы должны будете ввести в строке, следующей за номиналом в мастере редактирования размерной надписи. Значок, который был установлен перед номиналом, будет так же стоять и перед этим текстом. Полностью очистить размерную надпись нельзя: программа по умолчанию выставит специальный предупредительный знак. Если выставить флажок “пометить в списках”, то этот размер можно будет легко найти в списке размеров этой проекции (см. выше). Флажок “сделать невидимым” позволит спрятать размер на проекции. Чтобы его сделать снова видимым, надо вернуться на этап “Ввод размеров проекции”, найти этот размер, и “открыть ему глаза” (см. выше). Признак "только до ближних точек" заставляет программу доводить выносные размерные линии от стрелок размера только до ближайших точек элементов графики, которые были определены в этом размере. Из всех точек, которые принадлежат каждой выносной линии размера, программа использует только самую дальнюю от размерной линии и самую ближнюю (крайние точки). Когда указан этот признак, линия, соединяющая дальнюю и ближнюю точки, не рисуется. Если переместить размер таким образом, что дальняя до этого момента точка станет ближней, то выносная линия переключится на эту точку. Если размерная линия, вследствие перемещений, окажется между этими крайними точками, то выносная размерная линия будет отрисована до ближайшей из этих двух. Все изменения надписей в программе выполняются немедленно, и Вы можете сразу видеть результат на проекции. Элементы оформления “Размерная надпись”, “Текст”, “Выноска”, “Обозначение шероховатости плоскостей” и “Указатель допуска формы или расположения поверхностей”, могут получать свои текстовые параметры из списка сохранённых переменных модели. Для этого мастера редактирования этих элементов оформления содержат средства просмотра таких списков. В каждом случае вставки параметров из значений переменных необходимо инициировать список сохранённых переменных, и выбрать нужную переменную. Имя этой переменной, заключённое в фигурные скобки, попадёт в буфер обмена системы Windows. Что бы теперь ссылку на эту переменную вставить в соответствующую строку параметра, надо встать там курсором мышки, нажать её правую клавишу, и во всплывшем меню выбрать строку “Вставить”. В строке параметра, там, куда указывал текстовый курсор, появится имя выбранной переменной, заключённое в фигурные скобки, а на изображении проекции появится текст, который является значением выбранной переменной. В каждой строке параметра элемента оформления можно использовать несколько ссылок на сохранённые переменные. При этом они могут перемежаться обычным текстом. Если Вы ранее использовали имена, которые впоследствии были удалены из списков сохраняемых переменных, то на изображениях проекций будут напечатаны эти имена, заключённые между двумя фигурными скобками. В тех случаях, когда необходимо использование символа “перевод строки”, то в значении переменной он должен быть представлен сочетанием двух символов: “\n” (обратный слэш и латинская строчная n). Чтобы посмотреть применение сохранённых переменных на чертеже имеется специальная кнопка "Показать на всех проекциях используемые переменные" с представленным рисунком. При её нажатии во всех местах, где были использованы переменные вместо их значений, будут написаны их имена. Применение этой функции может преследовать две цели: во-первых, оперативно обозреть все переменные и сориентироваться в их использовании, во-вторых, оформить и распечатать чертёж с именами переменных, вместо их значений. В первом случае применение этой функции кратковременно, то есть: "нажать" кнопку, посмотреть, и "отжать". В промежутке между этими воздействиями на кнопку никаких редакторских операций быть не должно. Если Вы активизируете мастер редактирования какого-либо элемента оформления, в котором используется переменная, то после выхода из него текст имени переменной уже повлияет на геометрические характеристики элемента оформления, т.е. его габарит будет учитывать символы имени переменной. Если после этого Вы "отожмёте" кнопку и на места имён переменных встанут их сохранённые значения, то начертание этих значений не будет согласовываться с изображениями элементов оформления. Нужно будет редакторские действия с ними повторить. В этом и отличие двух целей использования кнопки "Показать на всех проекциях используемые переменные". Нужно учитывать, что режим применения этой кнопки влияет на элементы оформления, использующие в своих параметрах имена переменных. Этого влияния нет только для размерных надписей: место для имени переменной отводится только в габарите того места, которое занимает текст этой надписи. Если имя переменной, например, выходит за габарит отведённого места, то это никак не учитывается в программе. Если кнопку оставить в нажатом состоянии и закрыть чертёж, то её состояние будет сохранено в файле чертежа для последующего использования именно в этом режиме, в том числе и для различных вариантов распечатки чертежа (см. Главу 6. "Печать чертежа".). Для ввода текстового фрагмента нажмите на кнопку с представленной здесь картинкой. Затем наведите “мышку” на то место проекции, где Вы хотите поставить надпись и нажмите левую клавишу “мышки”. Нажмите клавишу и не отпускайте. Тогда курсор превратится в “клещи”. Сейчас Вы можете переместить будущую надпись на другое место. Как только Вы отпустите клавишу, сразу появится мастер редактирования текстовых фрагментов. В окошке текста Вы можете ввести любой текст. При этом он будет сразу отображаться на проекции. Символы текста могут вводиться как обычные печатные символы, так и в виде кодов. Кодами вводятся специальные символы, которые недоступны простым нажатием кнопки клавиатуры компьютера. Список кодов можно посмотреть в таблице символов, использовав световую кнопку "Тав" мастера редактирования. Любой символ из таблицы может быть введён по его коду с добавлением перед ним цифры 0 и удерживаемой в зажатом состоянии кнопки Alt клавиатуры компьютера. Цифра 0 перед кодом - это правило операционной системы Windows. Если в коде символа уже вписана лидирующая цифра 0, то ещё одну добавлять не надо. Например, точка может быть введена в такой комбинации Alt/046, буква "А" может быть введена как Alt/0192. Но эти символы вводить таким способом нет смысла, так как для них есть соответствующие кнопки клавиатуры компьютера. А, вот, для символа +такой кнопки нет и его можно ввести только по Alt/0177. Таблица символов расширена переключением регистров. По умолчанию всегда включен регистр 0. Если необходимо ввести символы представленные под регистром 1, то в строке перед этими символами должен стоять переключатель регистра @1. Далее за ним все символы будут браться из регистра 1 до тех пор, пока не встретиться конец строки или не появиться снова этот переключатель @, либо без номера, либо с символом 0: @0. Произойдет возврат в регистр 0. Кроме этого, в строке текста могут быть использованы все те особенности управления форматом, которые описаны для редактирования размерной надписи. Если Вам надо ввести многострочный текст, то каждая строка должна заканчиваться либо нажатием кнопок Ctrl/Enter, либо синтаксической конструкцией “\n” (обратный слэш и латинская строчная n). Последний случай более предпочтителен, так как Ctrl/Enter всё равно потом заменится на эту конструкцию и, к тому же, её легче редактировать. Текст может быть введён с помощью идентификаторов сохранённых переменных (п.3.2. про Модель). Размеры текстового фрагмента могут быть определены либо автоматически, либо указанием его размеров вдоль оси X и Y конкретным значением в миллиметрах. Если задан конкретный размер вдоль оси X, то текст будет автоматически “свёртываться” на следующие строки и каждая строка будет не длиннее указанного размера. Чтобы снова поставить значение “Авто”, достаточно соответствующий размер определить нулевым. С помощью кнопки “Искать границы ячейки” можно заставить программу определить размер для вписывания текста по положению ближайших графических элементов. Производится поиск ближайших графических элементов, которые могут пересечься с линиями параллельными оси X и вдоль оси Y, если их провести через точку левого верхнего угла первой строки текста. Например, вдоль оси X должно быть найдено два графических элемента: слева и справа от указанной точки. Расстояние между этими элементами будет считаться размером вдоль оси X того прямоугольника, куда должен будет вписан текст. Также и вдоль оси Y. Текст будет размещён по середине расстояния вдоль оси Y. Если текст таков, что все его строки не могут уместится в размер вдоль оси Y, то строки выйдут за пределы найденного расстояния. Если кнопка “Искать границы ячейки” останется постоянно “нажатой”, то процедура поиска размеров будет выполняться всякий раз, после “перетаскивания” фрагмента текста на новое место. Как задать параметры шрифта, наверное, понятно. Выравнивание задаётся с помощью трёх кнопок для текста, расположенного без поворота: выравнивание по левому краю фрагмента, по центру и по его правому краю и трёх аналогичных кнопок для текста, расположенного с разворотом на 90 градусов против часовой стрелки. Фрагмент может быть очерчен рамкой или её элементами слева, справа, сверху или снизу. Линия рамки может быть либо основной, как применяется на чертеже, либо тонкой. Надо нажать на соответствующие кнопки. Если Вам не нравится фрагмент текста, то его Вы можете удалить с проекции. К редактированию фрагмента текста, как и к редактированию любого другого элемента оформления, можно приступить в тот момент, когда Вам пожелается, достаточно для этого только подвести курсор “мышки” к элементу оформления и нажать её правую клавишу. Для создания выносок используйте кнопку с представленной здесь картинкой. Выбрав эту кнопку, установите курсор “мышки” в точку, откуда Вам надо вывести выноску и нажмите на левую клавишу. Удерживая эту клавишу в нажатом состоянии, Вы получите курсор “мышки” в виде зажатых клещей. Не отпуская клавиши, выведете курсор туда, где должна расположиться полка с текстом и отпустите клавишу. Справа на окне программы появится мастер выносок. Вы можете ввести строку над полкой и строку под полкой выноски, изменить шрифт текста или удалить выноску. Строки параметров могут быть введены с помощью идентификаторов сохранённых переменных (см. выше). Выбрав “форму головы” выноски Вы, фактически, определите её назначение: выноска с полкой, маркировка в окружности, маркировка в треугольнике, указатель базы допуска (ГОСТ 2.308), либо выноска для определения группы позиций на сборочном чертеже. В последнем случае, чтобы разместить информацию на полках нижнего уровня, достаточно в строке, названной “под полкой выноски” ввести тексты всех нижних полок и разделить их сочетанием знаков \n. В конце строки эти символы не обязательны. Есть ещё одна форма выноски: направление взгляда. Это, как бы “из другой оперы”, но, так как технология ввода и управления элементом оформления “направление взгляда” совпадает с вводом выноски, то идентифицируется этот элемент по “форме головы”. Мастер редактирования выноски содержит элементы управления для ввода условных обозначений неразъёмных соединений. Правила их применения программой контролируются не для всех случаев, поэтому пользователь должен сам следить за сочетанием условных обозначений. Таблица символов содержит знаки, которые используются в обозначениях сварных швов. Ввод этих знаков в строки надписей осуществляется по их кодам с добавлением лидирующего нуля и с одновременным использованием кнопки Alt клавиатуры компьютера. Например, чтобы изобразить знак “Шов по незамкнутой линии”, надо при вводе текста нажать клавишу Alt и набрать код 0188. Для перемещения выноски, так же как и для перемещения других элементов оформления, используйте “клещи” (см. выше), но, если навести их на выноску и “потащить” её, то точка, откуда выходит выноска будет оставаться на месте. Чтобы и её “захватить с собой”, надо при этом удерживать клавишу “Ctrl” клавиатуры компьютера. Редактировать выноску можно так же, как и другие элементы оформления (см. выше). Наконечники выносок можно так же изменять, как и наконечники размерных стрелок. Отличие заключается лишь только в том, что не весь набор наконечников можно “насадить” на указатель выноски. Для создания обозначений шероховатостей плоскостей используйте кнопку с представленной здесь картинкой. Обозначение шероховатостей можно устанавливать на два вида элементов оформления: на выносные линии размеров и на элемент “выноска”. Для установки обозначения шероховатости на выносные линии размера достаточно “придавить мышкой” нужную выносную линию. На указанной выносной линии появится знак шероховатости. Здесь следует заметить, что реально выносные линии размеров представлены не только визуально так, как они изображены на проекции, но и их присутствие можно ощутить на элементах графики проекции объекта. Если, например, отрезок прямой линии изображения объекта опирается на две опорные точки, и обе эти опорные точки были задействованы в одном размере, то его выносная линия пересечёт этот отрезок прямой линии. Это означает, что прямо на него тоже можно установить знак обозначения шероховатости. Если угол наклона выносной линии размера таков, что знак не может быть размещён без нарушения требований ГОСТа (для знака с полкой), то вместо знака шероховатости появится выноска со стрелкой (как описано для предыдущей функции программы) и на ней уже будет размещён знак шероховатости. После отпускания левой клавиши “мышки” появится мастер редактирования содержимого обозначения. В поле “Параметры” вводится одна или несколько строк параметров шероховатости. Строки разделяются либо сочетанием знаков “\” и “n”, либо нажатием кнопки “Enter” c одновременно нажатой кнопкой “Ctrl”. Знаки “\n” при повторном выводе мастера редактирования для этого обозначения шероховатости, заменятся на разделитель строки. Результат ввода строк параметров виден сразу на проекции. Поля “Дополнительные параметры” и “Базовая длина” состоят только из одиночных строк. Текст полей может быть введён с помощью идентификаторов сохранённых переменных. Как вводить остальные атрибуты, должно быть, интуитивно понятно. Как уже говорилось в главе 5.3. Размерная сеть, различаются размеры вала и отверстия. Для размера вала обозначения шероховатости устанавливаются с внешней стороны размера, а для отверстия – с внутренней. При последующем изменении этого свойства размера, расположение обозначения шероховатости изменится. Но это будет происходить только для тех обозначений шероховатости, которые расположены непосредственно на выносных линиях размера. Если обозначение размещено на выноске, то влияния размер вала это или отверстия, ни какого не окажет. Выноска для обозначения шероховатости может быть специально создана для этого (см. предыдущую функцию). На выноске можно дополнительно разместить пояснительный текст, как над полкой выноски, так и под полкой выноски. Это можно сделать либо во время специального создания выноски, либо при её редактировании (через правую кнопку “мышки”, как любой другой элемент оформления). Что бы на созданную “вручную” выноску установить обозначение шероховатости, достаточно при нажатой световой кнопке “Ввод нового обозначения шероховатости” пометить выноску в любом её месте. Знак шероховатости появится на полке выноски. “Конструкцию” выноски с обозначением шероховатости можно “перетаскивать” по тем же правилам, как и любые другие выноски. То есть, при нажатой световой кнопки с “клещами” Вы можете подвести курсор мышки к обозначению шероховатости или изображению самой выноски, нажать левую клавишу “мышки” и, когда курсор превратится в клещи, “тащить” их, куда Вам хочется. Если, при этом, нужно переместить и конец указателя выноски, то используйте кнопку “Ctrl” клавиатуры компьютера (см. предыдущую функцию). При удалении выноски, удалится и обозначение шероховатости. А при осуществлении удаления из мастера редактирования шероховатости, кроме удаления обозначения шероховатости, выноска будет удалена только в том случае, если она не содержит ни каких текстовых строк. Если выноска содержит текст, то обозначение шероховатости удалится, а выноска нет: её можно удалить только из мастера редактирования выносок. Всё это справедливо и в том случае, если выноска была создана автоматически, при пометке выносной линии размера. Есть ещё один момент, о котором стоит сказать. Это то, что, при перемещениях размеров, обозначения шероховатостей, прицепленные к ним (не на выносках), тоже будут перемещаться, но только в том случае, если будет появляться угроза того, что они могут “повиснуть в воздухе”. О размещении выносок с обозначениями шероховатостей Вы должны заботиться сами. Для указания шероховатости, одинаковой для части необозначенных поверхностей изделия, которая должна быть установлена на чертеже в его правом верхнем углу, используйте кнопку с представленной здесь картинкой. На эту команду программа отзовётся отображением мастера редактирования шероховатости. Все введённые здесь атрибуты будут относиться к указанному обозначению шероховатости. Размер текста здесь должен быть больше на одну позицию из разрешённого ряда по отношению к другим обозначениям шероховатостей. Знак в скобках, соответственно, будет иметь размер по отношению к нему на одну позицию меньше. В следующий раз, для редактирования ранее введённых атрибутов, нужно будет просто ещё раз нажать эту световую кнопку. Всё вышесказанное о шероховатостях справедливо для их обозначений в соответствии с изменениями №3 ГОСТ 2.309-73. Чтобы обозначения шероховатостей было изображено в соответствии с этими изменениями, надо в "Нюансах чертежа" выбрать признак "Обозначения шероховатостей с учётом изм.№3 ГОСТ 2.309". В этом случае и сами обозначения шероховатостей будут иметь иной вид, и мастер редактирования этих обозначений будет принимать вид, показанный на рисунке. Основное отличие состоит в том, что параметры шероховатостей переносятся на другое место обозначения и базовая длина вводится в тексте параметров, отделяясь от них знаком "/" (слэш), который надо будет применять в сочетании со знаком "\" (обратный слэш). Старый вид обозначения, всё же, применяется, когда надо знак шероховатости использовать в качестве ссылки на технические требования. Для этого имеется специальная световая кнопка, которая переносит текст параметров на место над углом обозначения. Для назначения штриховок используйте кнопку с представленной здесь картинкой. Выбрав эту кнопку, выведете курсор “мышки” в точку на проекции, которая расположена внутри замкнутой области для заполнения штриховкой и нажмите на левую клавишу “мышки”. Удерживая эту клавишу, Вы сможете переместить указание о штриховке в любую другую точку на проекции, где нужно заштриховать замкнутую область. Если вокруг этой точки нет замкнутых областей, то штриховка невозможна. Когда Вы отпустите левую клавишу “мышки”, появится мастер редактирования штриховок. Здесь Вы можете выбрать тип штриховки и её параметры. Тип штриховки выбирается из предложенного списка – надо нажать соответствующую кнопку. Параметрами могут быть наклон штрихов и расстояние между штриховыми линиями (шаг штриховки или интервал). Параметры штриховки вводятся через строки редактирования. После Вашего ввода в эти строки программа возвращает допустимые значения для соответствующего типа штриховки (например, интервал штриховки не может быть равен нулю). От параметра интервала программой вычисляются и такие параметры, как, например, длина штриха. Область штриховки будет впоследствии вся заполнена выбранной штриховкой. На этом этапе в точке пометки ставится пока только значок-признак штриховки. Если помеченная область поглощает в себя другие области, которые должны быть либо заштрихованы другими типами штриховки, либо вообще остаться без штриховки, то Вы должны об этом соответствующим образом позаботиться. Для освобождения внутренней области от штриховки имеется специальный тип “Нет штриховки”. Другие типы штриховок во внутренних областях так же будут более приоритетны, по отношению к типу штриховки охватывающей их области. Такие вложения могут быть бесконечно сложными. Программа содержит следующие типы штриховок: металлы, неметаллы, дерево, камень, керамика, бетон, стекло, жидкость, грунт, зачернить, песок, засыпка, штриховка пользователя. О штриховке пользователя стоит сказать особо. Для обеспечения этой штриховки в файле чертежа должны быть подготовленные фрагменты образцы штриховки (о подготовке фрагментов см. гл. 3.2 Пункт меню “Подготовка”/ “Фрагменты чертежа”.). Когда в файле чертежа есть фрагменты, тогда доступна кнопка для выбора типа “штриховка пользователя”. Для этого типа штриховки доступен выбор из “Списка фрагментов для штриховки пользователя”. Здесь перечислены названия всех фрагментов, которые присутствуют в файле. Для штриховки выбор сделать надо обязательно. Параметрами такой штриховки является шаг вставки выбранного фрагмента вдоль оси X и вдоль оси Y. Если впоследствии из файла удалить выбранный фрагмент, то во всех указателях штриховки, ссылающихся на этот фрагмент тип “штриховка пользователя” будет заменён на “металлы”. При назначении штриховки на уже занятую область, новая штриховка отменит старое назначение. В отличие от контуров экранов (см. этап 5.2. Изображение), области штриховок могут состоять из элементов графики, которые не имеют между собой общих опорных точек. Единственное условие: область должна быть “глухо” замкнута, хотя бы за счёт пересечения элементов. Причём штриховые и штрих-пунктирные типы линий графических элементов считаются для областей штриховки сплошными, непроницаемыми линиями. Поэтому, если область штриховки пересекается осевой штрих-пунктирной линией, то каждую половину разделённой таким образом области надо отдельно пометить одинаковым типом штриховки. За непрерывность линий штриховки переходящих через линии такого раздела можете не беспокоиться: всё будет тип-топ. Следует, при этом, напомнить, что осевые линии, автоматически порождённые на окружностях размером “Диаметр” не являются линиями, способными ограничивать области штриховки: для назначенной штриховки их не существует. Для проверки, на всякий случай, когда вы ставите штриховку в область, рассечённую осевыми линиями, поставьте ещё раз такую же штриховку в другую отсечённую часть этой области. Если, как уже говорилось, Вы имеете дело с осевыми линиями “Диаметра”, то внутри области останется только одно назначение штриховки. Если на проекции осевые линии те, которые Вы явно указали при вводе графики, то и в помеченной области и в соседней, через осевую, останутся назначения штриховки. Контур, ограничивающий область штриховки имеет ещё такие характеристики, как имя контура (не более 6 символов), площадь внутри его, длину его периметра и координаты геометрического центра тяжести. Имя контура первоначально программа придумает сама, но Вы его можете изменить по своему усмотрению, но только так, чтобы на всех проекциях не было контуров с одинаковыми именами. Остальные характеристики программа вычисляет сама, без Вашей помощи. Величину площади мастер редактирования штриховок покажет, но что бы получить другие величины, Вы должны будете использовать функции Модели чертежа (см. Специальные функции в Приложении 2). О площади внутри контура следует сказать, что, если внутри области, ограниченной этим контуром имеются другие вложенные области штриховки, то их площадь не отнимается от этой площади, а поглощается ею. Иными словами: область штриховки в этом случае не то же самое, что часть проекции ограниченная контуром. Что бы получить площадь именно заштрихованной области, Вы должны будете из полученной площади вычесть площади вложенных контуров штриховки. Для ввода указателя допуска формы или расположения поверхностей проектируемого объекта используйте кнопку с представленной здесь картинкой. Когда эта кнопка нажата, то на проекции Вы можете левой клавишей “мышки” пометить графический элемент (кроме условного изображения), на который должна опираться стрелка указателя допуска. Будет создана пустая рамка указателя, которая опирается левым нижним углом на точку пометки графического элемента. Если левую клавишу “мышки” в точке пометки придержать в зажатом состоянии, то курсор мышки превратится в “клещи”, с помощью которых вновь созданный элемент оформления можно переместить в нужное Вам место проекции. При любом перемещении рамки указателя, точка опоры стрелки указателя всегда останется на прежнем месте, а выносная линия будет перпендикулярна графическому элементу в этой точке. Если, всё-таки, требуется переместить и точку опоры, то одновременно следует зажать клавишу Ctrl. Тогда точка опоры “заскользит” по графическому элементу, увлекаемая “упругостью” линии соединения с рамкой допуска. Перпендикулярность линии указателя в точке контакта с графическим элементом всегда сохранится. После того, как клавишу мышки Вы отпустите, в правой части окна программы появится мастер для редактирования параметров указателя допуска. Здесь Вы можете ввести знак допуска, его параметры и обозначение одной или нескольких баз. Знаков может быть один или несколько (для указания составных допусков). Для указания очередного знака составного допуска следует нажать очередную доступную кнопку с порядковым номером знака. Сам знак выбирается из списка. Значение допуска - это просто строка текста. В строке значения допуска могут проставляться специальные символы (знак диаметра, буквы М и Р в окружностях), коды которых можно найти в таблице символов (кнопка “Таб”). Эти коды вводятся на цифровой клавиатуре компьютера с добавлением в начале нуля и с одновременно зажатой кнопкой Alt клавиатуры компьютера, например, Alt/0174. Базы допуска перечисляются через запятую. Каждая запятая порождает вертикальную линию отсечки части рамки с обозначением базы. Если буквы обозначения нескольких баз должны находиться в одной части рамки (ячейке), то запятые не ставятся. Базы расставляются с помощью элемента оформления “выноска” (см. выше). Для неё выбирается квадратная форма “головы” и “насаживается” наконечник в форме зачернённого треугольника. Здесь следует заметить, что линия, соединяющая этот зачернённый треугольник и рамку с обозначением базы, сама по себе не будет перпендикулярна графическому элементу, на который она опирается. Эту перпендикулярность Вы должны обеспечить сами. Это в противоположность тому, что указатель обозначения допуска, о котором речь идёт в этом разделе, всегда перпендикулярен графическому элементу, на который он опирается. Что для отрезка прямой линии, что для окружности, что для плавной кривой и для всех других. Мало того, если графический элемент, вследствие изменения размеров, изменит своё расположение на проекции, то за ним последует и указатель. Ну, а, если Вы этот графический элемент вообще удалите, то удалятся и все обозначения допусков, опирающиеся на него. Текст может быть введён с помощью идентификаторов сохранённых переменных (см. выше). При этом для тех случаев, когда символы должны вводиться по кодам необходимо в модели использовать функцию CHR$ (преобразование десятичного кода в символ). Кнопка мастера редактирования допусков “Расположить указатели допусков "башенкой"” с показанным здесь рисунком позволяет к одной выноске подсоединить несколько (до 3-х) рамок с указателями допусков, расположенных один над другим. Количество рамок определяется количеством знаков обозначений, которые Вы ввели: каждый знак порождает свою рамку. Значения допусков для каждого указателя отделяются друг от друга сочетанием символов “\n” - “обратный слэш” и латинская строчная n. Базы допуска для каждого указателя так же отделяются друг от друга такими же символами. Для обозначения новой линии сечения или разреза используйте кнопку с представленной здесь картинкой. Когда эта кнопка нажата, то на проекции Вы можете указать две точки, между которыми протянется линия сечения (разреза). Если линия сечения должна иметь сложную форму, то Вы должны последовательно указать все точки излома линии сечения. Причём вставить внутрь этой последовательности новую точку нельзя: каждая очередная точка последовательно присоединяется в конец списка таких точек. На первую точку последовательности и последнюю программа установит изображение стрелок направления взгляда и разомкнутые линии, а на внутренних точках ставятся только разомкнутые линии, показывающие направления поворотов секущих плоскостей. Все эти точки можно отдельно друг от друга перемещать. Для этого надо “взять клещи”, встать “мышкой” на нужную точку и “оттащить” её на нужное место. Если любой элемент обозначения сечения пометить правой клавишей “мыши”, то Вам представится доступ к мастеру редактирования сечений. Здесь Вы сможете указать букву обозначения сечения и выбрать одно их двух направлений взгляда на сечение. Бывают случаи, когда сечение идёт не по прямой линии, а по дуге окружности или более сложной плавной кривой. В таких случаях стрелки направления взгляда могут быть не параллельными, но промежуточных точек поворота секущих плоскостей нет, так как секущие линии образованы не плоскостями, а плавными цилиндрическими поверхностями. Чтобы показать такие сечения, надо, всё-таки, использовать промежуточные точки (хотя бы одну) и в мастере редактирования сечений указать невидимость промежуточных точек излома. С помощью таких точек излома можно развернуть стрелки направления взгляда не параллельно друг другу. После работы с мастером редактирования сечений, если его Вы вызывали при нажатой кнопке “Обозначение новой линии сечения”, программа будет помнить текущее сечение и, если Вы пометите любую точку на проекции, то эта точка добавится в список поворотов секущих плоскостей. Об этом надо помнить. В такой ситуации, чтобы начать описание нового сечения, надо ещё раз нажать (“дожать”) кнопку “Обозначение новой линии сечения”. Когда указана только одна первая точка, то она не может ещё считаться обозначением сечения: сечение устанавливается только на две и более точек. Направления взгляда для указания местных и дополнительных видов назначаются при создании выносок. Когда, наконец, Вы достигли результата своего проектирования, Вы можете заменить эскизы проекций на их реальные изображения. Для этого надо использовать кнопку с представленной здесь картинкой. Действие распространяется на все проекции объекта. Если использовались образы фотографий Ваших эскизов, то они будут отключены от проекций. Положение всех опорных точек и графических элементов на эскизах будет соответствовать их положению, которое они получают после обработки размеров. 5.6. Компоновка чертежа Команда меню с одноимённым названием или кнопка с приведённым здесь рисунком. На этом этапе Вы получите изображение готового чертежа. Теперь Вы можете провести последние редакторские правки: переразместить проекции на своём чертеже или подобрать формат чертежа по своему желанию. Первоначально программа KEDRWIN сама, автоматически, подберёт подходящий формат чертежа и разместит на нём все проекции и технические требования. Вот здесь то и начинает играть роль правильный выбор типа проекции: по этому типу каждая проекция будет находить своё место на чертеже. Но, во-первых, Вы можете это сделать лучше, а, во-вторых, программа может и не справиться со всеми проекциями (особенно, если много различных видов), тогда она “накидает” их в повал. Что бы всё это “разгрести”, достаточно курсор “мышки” выдвинуть на нужную проекцию и нажать левую клавишу. Периметр проекции будет показан линиями синего цвета. Если, не отпуская клавиши переместить курсор, то вместе с ним “переедет” и проекция. Чтобы изменить формат чертежа, надо выбрать его из списка возможных форматов. Строчка в списке “Авто” означает автоматический выбор формата. Если выбрать такой вариант, то программа вновь сама подберёт формат и автоматически разместит на нём все проекции. При этом программа “забудет” о всех Ваших ручных размещениях проекций. Выбор остальных форматов к перекомпоновке проекций приводить не будет. Формат может иметь ориентацию обычную для данного формата или повёрнутую на 90 градусов. Если для чертежа выбрана основная надпись, то при повороте листа учитывается то обстоятельство, что некоторые таблицы основной надписи могут менять точку своей привязки и ориентацию на чертеже. Команда “Автокомпоновка” используется тогда, когда Вам хочется поставить куда-нибудь проекцию и, при этом, “растолкать” другие проекции, не перемещавшиеся до этого вручную. То есть “автокомпоновка” выполняется только для “нетронутых” проекций. Автоматическое размещение проекций выполняется для чертежа только один (первый) раз. При повторном выходе на этот этап проектирования, даже, если Вы вносили изменения в чертёж, всё равно, самостоятельно программа автоматическое размещение проекций производить не будет. Её можно заставить это сделать только с помощью команды “Автокомпоновка” или выбором значения “Авто” в списке форматов чертежа. Если Вы на проекциях задали штриховки областей и штриховые линии, то на этапе “Компоновка чертежа” программа выполнит их в реальном виде. Процесс окончательного построения чертежа требует некоторого времени, особенно, если Вы используете штриховку. Если Вам необходимо прервать процесс построения чертежа, Вы можете это сделать. Для этого надо левый верхний край курсора “мышки” (который в это время ведёт отсчёт времени) навести на кнопку другого этапа проектирования и нажать левую клавишу. Процесс прервётся. На этапе "Компоновка чертежа" можно ускоренно вызывать диалог редактирования полей основной надписи с помощью "мышки". Для этого достаточно вывести её курсор на любую точку окна чертежа и нажать правую клавишу "мышки". 6. Печать чертежа Для выполнения процедуры вывода чертежа на принтер используется команда “Печать” пункта меню “Файл” или кнопка справа на окне программы с представленным здесь рисунком. Начинается эта процедура с выбора настроек принтера. Это стандартные Windows’овские настройки, где Вы можете выбрать доступный Вам принтер и определить его свойства. Принтер должен быть обязательно растровым, лучше всего, лазерный или струйный принтер. Формат бумаги принтера желательно чтобы был не менее A4. Если у Вас “под рукой” принтеры широкого формата, способные целиком напечатать весь чертёж, то Вам можно позавидовать. Но в подавляющем большинстве распространены принтеры формата A4. О них, в основном, и пойдёт весь разговор. После настройки принтера, когда Вы нажмёте на кнопку “OK”, будет выдано окно мастера печати. Программа предоставляет несколько вариантов распечатки чертежа, который целиком не помещается на один лист принтера: 1). Чертёж разбивается на несколько страниц принтера, причём все элементы основной надписи собираются и распечатываются на отдельной странице для последующего вырезания и наклеивания их в качестве аппликации на чертёж. 2). Чертёж разбивается на несколько страниц принтера вместе со всеми элементами основной надписи, которые находятся на своих местах, но могут оказаться разорванными по краям страниц. 3). Чертёж пропорционально уменьшается до размеров страницы так, что он вместе с рамкой печатается на одной странице. В первых двух случаях на чертеж будут наложены зелёные контуры участков, целиком попадающих на печатные страницы выбранного формата. Все страницы показаны с их порядковыми номерами. Первая страница для режима, указанного выше первым, содержит элементы основной надписи. Эти элементы предназначены для вырезания и наклейки на соответствующие места чертежа. Если основной надписи нет, то первая страница – пустая.Следует заметить, что, даже если изображение элементов основной надписи попадёт в зону какой-либо страницы, это не значит, что на этой странице будет отпечатана эта часть основной надписи, как уже было сказано, все элементы основной надписи печатаются только на первой странице. Ориентация страниц соответствует ориентации бумаги принтера (книжная или альбомная), которая выбирается при настройках принтера. Бывают случаи, когда ориентация страниц имеет существенное значение, например, чертеж формата A2 при книжной ориентации может печататься на 7 страницах (формат принтера A4), а при альбомной – на 5. Кроме этого, чертёж разрезается на страницы в разных местах, например, там, где меньше пересекается мелких элементов, что всегда так неприятно. Страницы принтера накладываются друг на друга на листе чертежа с перехлёстом в 10 миллиметров. На поле этого перехлёста наносятся реперные знаки в виде крестов. Две соседние страницы имеют реперные знаки с одинаковыми координатами относительно верхнего левого угла поля чертежа (угол рамки, которая рисуется основной линией). В окне мастера печати “Координаты реперных знаков” для каждой страницы перечислены все её реперные знаки. Всего каждая страница может иметь до 8 реперных знаков, по два на каждую сторону для стыковки с соседними страницами. Если соседней страницы нет, то нет и знаков. Все знаки на странице пронумерованы в направлении по часовой стрелки, начиная с верхнего левого знака. Координаты заданы в миллиметрах. Для перехода в режим, указанный выше вторым, необходимо убрать признак выбора "Элементы основной надписи на отдельном листе". В этом случае произойдёт перенумерация страниц и изменение расположения границ этих страниц на чертеже. При нажатии кнопки “Выполнить” на принтер будут отправлены только те страницы, которые перечислены в строке “Выбор страниц”. Здесь можно через запятую или тире (минус) перечислить страницы. Если надо перечислить все, то надо через тире указать номера первой и последней. Все страницы на распечатке снабжены рамкой и реперными знаками там, где требуются для стыковки соседних страниц. Рамки на всех страницах имеют одинаковый размер, поэтому страницы можно сравнивать насколько они подходят друг к другу на чертеже. Всё дело в том, что реально бумага в принтере может проскальзывать и распечатки могут отличаться друг от друга. Поэтому после распечатки всех страниц их надо сравнить на просвет по рамкам. Те страницы, у которых рамки отличаются от “среднестатистических” в этой пачке, надо повторно распечатать. Чаще всего разница в размерах получается в тех случаях, когда распечатка ведётся на скользкой бумаге или когда принтер захватывает сразу несколько листов. Например, принтер LaserJet HP1100 всем хорош, но “болеет” захватом нескольких листов бумаги, причём неизлечимо. Поэтому, ему надо подавать по одному листочку. А, вот, принтер LaserJet HP1200 при той же цене во всех отношениях просто великолепен! Бумагу надо выбирать ту, которая применяется для копировальных аппаратов, плотностью 80 г/м2. Слишком плотную бумагу применять не следует, так как через неё плохо просвечиваются реперные знаки и рамки границ страниц. После распечатки всех страниц, Вам надо будет из них склеить готовый чертёж. Это лучше всего делать на столах с мягкой деревянной столешницей. На такой стол укладывается лист ватмана равный по размерам формату вашего чертежа и закрепляется с помощью кнопок. Затем по шагам выполнить такие действия: На ватмане начертить рамки формата. Отмерить координаты двух реперных знаков, которые расположены как можно ближе к центру листа чертежа, и которые размещены на одной странице. Выбрать распечатанную страницу, содержащую отмеренные реперные знаки. Обрезать края страницы так, чтобы отрезанными оказались линии рамки страницы, но центры реперных знаков остались на странице. Если края страницы пересекают мелкие графические элементы, например, символы, то по возможности их надо вырезать так, чтобы они целиком оставались на странице. Намеченный реперный знак проколоть в центре его перекрестия булавкой и остриё этой булавки воткнуть в отмеченное место этого реперного знака на листе ватмана. Выровнять страницу по второму реперному знаку и закрепить её клеем на листе ватмана. Приклеивать страницы можно так: левой рукой надёжно прижимаете станицы с одного края, правой рукой отгибаете другой край страницы и намазываете его клеем подальше от краёв, распрямляете страницу и разглаживаете её, затем намазываете клей с другого края страницы, также подальше от края. Когда клей подсохнет, получше промазываете края и заглаживаете их. Лучше всего, использовать “клеящий карандаш”, так как им удобно пользоваться, и он не размачивает бумагу, как, например, жидкий клей, после чего бумага может сморщиться. Выполнить п.п.4, 5 и 6 для страниц соседних с наклеенной, для соответствующих реперных знаков. Стыковки реперных знаков на соседних страницах надо стремиться выполнять как можно точнее. После наклейки всех страниц, вырезать и наклеить элементы основной надписи. Замазать реперные знаки мастикой и, где необходимо, дорисовать чертёж. Чертёж готов. Программа KEDRWIN предоставляет возможность напечатать весь лист чертежа на одной странице принтера с соответствующим пропорциональным уменьшением всего чертежа. Называется такой режим печати – “Миниформат”. Его достоинства в том, что он не требует склейки чертёжа для, например, эскизной проработки. Печатается чертёж полностью, включая рамки чертежа и все элементы основной надписи. Такую распечатку можно рекомендовать для составления альбомов комплектов чертежей. Своеобразное микрофильмирование. Качество печати современных принтеров очень высокое, поэтому мелкие элементы чертежа вполне будут читаемы на миниформате. Конечно, распечатка в таком формате возможна только тогда, когда не требуется “ручная” доработка чертежа (это можно делать только под микроскопом). Для миниформата существенен выбор ориентации листа на принтере. От этого зависит масштаб уменьшения формата чертежа. Например, для форматов без поворота и более, чем формат A4, когда большая сторона чертежа направлена горизонтально, то при книжной ориентации эта самая большая сторона должна уместиться вдоль меньшей стороны листа принтера, а при альбомной – вдоль большей стороны листа принтера. То есть изображение чертежа на миниформате всегда горизонтальное, как бы Вы не “вертели” лист принтера. Масштаб уменьшения вычисляется всегда автоматически ещё и с учётом поля с левой стороны для подшивки. Рекомендуется при выводе чертежа в миниформате задавать принтеру в его свойствах максимальное качество печати. Есть ещё одно хорошее достоинство режима печати “Миниформат”. В том случае, когда нет широкого принтера, но имеется копировальный аппарат с функциями масштабирования, миниформат можно использовать для получения оригиналов чертежей с последующим восстановлением их в натуральном виде на копировальном аппарате. Не секрет, что большинство принтеров, хоть и имеют в своих характеристиках названия форматов чертежей, принятых в ГОСТ 2.301, на самом деле эти форматы на всю их площадь не покрывают печатью. Всегда остаются по краям поля, на которые ничего не выводится. Поэтому чертёж, например, формата А4 на принтере формата А4 без преобразований распечатать не удастся. В окне управления печатью KEDRWIN имеется указатель коэффициента увеличения распечатанного оригинала чертежа в миниформате для восстановления его в натуральную величину на копировальном аппарате. В начале, по умолчанию, программа выдаст вычисленный коэффициент для максимально полного (для вышеизложенных правил) заполнения листа бумаги. Вы можете ввести другой, кратный шагу изменения масштаба на копировальном аппарате. Он может быть любым, в том числе меньше того, который выдала программа по умолчанию. В миниформате можно вывести любые чертежи, но их формат для такого применения ограничен диапазоном масштабирования Вам доступного копира. Обычно он ограничен в верхнем пределе 200%. При таком диапазоне без всяких ограничений на копировальном аппарате формата А3 можно получить чертёж формата А3, распечатанный в миниформате на принтере формата А4. Последний режим печати чертежа - это махнуть на всё рукой и пусть печатается то, что войдёт на лист принтера. В конце концов, проектировщику решать, что ему нужно. Окно мастера печати имеет указатель признака "Игнорировать размер листа", по которому программа не будет проверять границы печатаемой зоны листа, а отправит всё на печать в масштабе 1:1 на единственный лист. На некоторых принтерах этот "фокус" может пройти и у чертежа "обрежется" только внешняя тонкая рамка, а так же надписи, расположенные между этой тонкой рамкой и основной рамкой. На тот случай, если, всё же, обрезаться будет и внутренняя рамка чертежа, то можно использовать сдвиг чертежа относительно листа принтера. Этот относительный сдвиг задаётся вдоль осей X и Y чертежа в миллиметрах листа принтера, то есть без учёта масштаба чертежа. Таким образом, можно вручную вмешаться в позиционирование чертежа на листе принтера в режиме вывода "Миниформат" и в режиме "Игнорировать размер листа". Например, в режиме "Миниформат" можно сдвинуть уменьшенный чертёж к верхнему или к нижнему краю распечатываемого листа, а в режиме "Игнорировать размер листа" можно пытаться бороться с теми принтерами, у которых не одинаковые границы печатаемой зоны по краям листа. Приложение 1. Формат файла экспорта МГИ Файл Массива Графической Информации (МГИ) несёт в себе информацию, разбитую на кадры. Каждый кадр – это отдельная запись с идентификационным признаком, который для всех кадров, кроме первого, расположен в одном и том же месте записи. На этом основана открытость формата МГИ: программа может воспринимать только те кадры, которые ей нужны, пропуская без обработки остальные. Таким образом, типы кадров, которые появятся в будущем и, соответственно, уже написанной программе не известные, могут ей просто пропускаться. Единственный кадр, который имеет особую структуру – это заглавный кадр, но в нём в самом реализован принцип открытости: перед полями с идентификационными данными чертежа могут появляться новые поля, не вызывая затруднений в работе ранее написанных программ. Структура файла (дана в виде файла заголовков Visual C): #define versMGI 1 // версия МГИ // Типы кадров МГИ #define MGI_HEAD 0 // заглавный кадр #define MGI_PRO 1 // кадр начала проекции #define MGI_GRAF 2 // кадр графического элемента #define MGI_CON 3 // кадр условного изображения #define MGI_BEGSTRU 4 // начало структуры контура #define MGI_ENDSTRU 5 // конец структуры контура #define MGI_END 6 // конец файла #pragma pack(push,1) /// Заглавный кадр typedef struct mgihead { char hdr[4]; // символы "MGI " unsigned short vers; // номер версии формата МГИ int short len; // длина оставшейся части кадра (включая это поле) char typkadr; // тип кадра (MGI_HEAD) char stage; // номер этапа, на котором был выполнен экспорт 0/1/2 float cxyG[2]; // габаритный размер чертежа в мм int short ixpar[4]; // индексы подстрок обозначения чертежа, // наименования чертежа, имени автора, даты подписи автора // в байтовом буфере кадра относительно его начала int short lnpar[4]; // длины подстрок обозначения чертежа, // наименования чертежа, имени автора, даты подписи автора char common[2]; // строка переменной длины c идентификационными данными чертежа } mgihead; // Типы проекций #define PRO_ 0 // "Вид..." #define PRO_front 1 // "Вид спереди" #define PRO_top 2 // "Вид сверху" #define PRO_left 3 // "Вид слева" #define PRO_right 4 // "Вид справа" #define PRO_bottom 5 // "Вид снизу" #define PRO_back 6 // "Вид сзади" #define PRO_text 7 // "Технические требования" #define PRO_fragm 8 // Фрагмент /// Кадр начала проекции typedef struct mgipro { int short len; // общая длина кадра (включая это поле) char typkadr; // тип кадра (MGI_PRO) char type; // тип проекции float dim[2]; // габарит проекции в мм (масштаб изделия) float xy0[2]; // смещение проекции на чертеже (масштаб чертежа) double gauge; // масштаб проекции на чертеже int short lencom; // длина комментариев char comment[2]; // комментарии (переменная длина) } mgipro; // Типы графических элементов #define GRF_Line 0 // линия #define GRF_Circ 1 // окружность #define GRF_DugaP 2 // дуга против часовой стрелки (плюс) #define GRF_DugaM 3 // дуга по часовой стрелке (минус) // Типы линий #define NULL_LINE 0 // Невидимая #define GEN_LINE 1 // Сплошная основная #define TINK_LINE 2 // Сплошная тонкая #define STRICH_LINE 3 // Штриховая #define SP_TINK_LINE 4 // Штрих-пунктирная тонкая #define SP_DICK_LINE 5 // Штрих-пунктирная утолщённая #define SP_DUBL_LINE 6 // Штрих-пунктирная с двумя точками тонкая #define SCREW_LINE 7 // Линия резьбы /// Кадр графического элемента typedef struct mgigraf { int short len; // общая длина кадра (включая это поле) char typkadr; // тип кадра (MGI_GRAF) char type; // тип графического элемента char typl; // тип линии char subo; // признак составного элемента (0/1) unsigned short serial; // порядковый номер элемента на проекции double xy[N]; // координаты (x,y) элемента (относительно начала проекции, в мм) // где N = 4 - линия (xy[0],xy[1] - начало, xy[2],xy[3] - конец) // N = 3 - окружность (xy[0],xy[1] - центр, xy[3] - радиус) // N = 6 - дуга (xy[0],xy[1] - начало дуги, xy[2],xy[3] - конец, // xy[4],xy[5] - центр) } mgigraf; /// Кадр условного изображения typedef struct mgicon { int short len; // общая длина кадра (включая это поле) char typkadr; // тип кадра (MGI_CON) char count; // количество опорных точек unsigned short iden; // номер условного изображения double xy[2]; // координаты (x,y) опорных точек (относительно начала проекции, в мм) } mgicon; // Типы контуров #define KON_EXTER 0 // внешний (охватывающий) контур #define KON_INTER 1 // внутренний (охватываемый) контур #define KON_HATCH 2 // контур штриховки /// Кадр начала структуры контура typedef struct mgibegstru { int short len; // общая длина кадра (включая это поле) char typkadr; // тип кадра (MGI_BEGSTRU) char type; // тип контура double dim[4]; // габаритные точки контура относительно начала проекции unsigned short level; // номер уровня } mgibegstru; /// Кадр конца структуры контура typedef struct mgiendstru { int short len; // общая длина кадра (включая это поле) char typkadr; // тип кадра (MGI_ENDSTRU) char even; // не используется } mgiendstru; /// Кадр конца МГИ typedef struct mgiend { int short len; // общая длина кадра (включая это поле) char typkadr; // тип кадра (MGI_END) char even; // не используется } mgiend; #pragma pack(pop) Типы переменных: int short – целая со знаком, длиной 2 байта char – целая без знака, длиной 1 байт unsigned short – целая без знака, длиной 2 байта float – вещественная, длиной 4 байта double – вещественная, длиной 8 байт Порядок следования кадров: Заглавный кадр. Кадр начала проекции. Кадры графических элементов. Кадр начала структуры контура (если он есть). Кадры графических элементов контура. Кадр конца структуры контура. Кадр начала следующей проекции. … Кадр конца МГИ. Основная информация содержится в кадрах графических элементов. Координаты в них установлены относительно начала координат проекции. Внутри одной проекции или одного контура кадры графических элементов имеют нумерацию (переменная serial). Если графические элементы относятся к одному составному элементу (эллипс, плавная кривая, волнистая линия), то все эти элементы будут, во-первых, следовать друг за другом с упорядоченными координатами элементов (т.е. конец текущего – начало следующего), во-вторых, будут иметь одни и те же номера и, в-третьих, будут иметь не нулевым признак составного элемента (переменная subo). Если графические элементы двух составных элементов соседствуют друг с другом, то их можно будет отличить по разным номерам. Графические элементы, составляющие контур, следуют в соответствии с обходом контура, но их координаты могут быть не упорядочены. Кадры МГИ при считывании из файла рекомендуется размещать в байтовом буфере, адрес начала которого присваивается указателю соответствующего типа кадра. Заглавный кадр считывается в следующем порядке: Сначала считываются в байтовый буфер 8 первых байт файла МГИ. Проверяется наличие символов “MGI ”. В соответствии с содержимым переменной len, уменьшенное на 2, считывается оставшаяся часть кадра в продолжение байтового буфера. Если в кадре присутствует идентификационная информация чертежа, то соответствующие длины подстрок будут иметь не нулевую длину. Эти подстроки выбираются из байтового буфера (но не из переменной common) по соответствующим индексам. Остальная информация выбирается из кадра по соответствующим полям структуры. Остальные кадры считываются в таком порядке: После полного считывания предыдущего кадра считываются 2 байта содержащие длину следующего кадра. По ассоциации со структурой любого кадра МГИ выбирается поле длины кадра. Считывается оставшаяся часть кадра в продолжение буфера, в соответствии с полученной длиной кадра уменьшенной на 2. Определяется тип кадра и, в соответствии с ним, устанавливается байтовому буферу ассоциация с соответствующей структурой (присваивается адрес начала байтового буфера указателю соответствующей структуры). Приложение 2. Язык описания модели Введение Язык описания модели чертежа для программы KEDRWIN представляет собой язык программирования, очень близко напоминающий широко известный язык Бейсик. Основная часть операторов языка совпадает с операторами языка Бейсик, в частности с операторами в его реализации для MS DOS, которая называется QBasic. Однако имеются и существенные различия. В описании языка мы не будем специально уделять внимание различиям. Если кто знаком с Бейсик’ом, может сам отметить для себя отличия языка описания модели. Что бы упростить “фразеологию” в тексте этого описания, слова “Язык описания модели” заменим на слово “Модель”. Запись операторов В Модели применяется принцип “Оператор-на-строку”, который буквально означает, что на одной строке может быть размещён только один оператор. Исключение составляет только один случай, когда оператор GOTO может быть записан в одной строке с оператором IF. В классическом Бейсике каждый оператор должен начинаться с числового номера строки, на который следует ссылаться при выполнении таких операторов, как, например, GOTO. В Модели допускается не нумеровать все строки подряд. В таком случае номера могут ставиться только перед теми операторами, на которые будут ссылаться другие операторы Модели. Чтобы не путать понятие “номер оператора” с номером строки, на которой этот оператор размещён, будем называть число, поставленное впереди оператора, меткой (как в языке ФОРТРАН). Меткой может быть только целое число без знака, которое отделено от оператора одним или несколькими пробелами. Все названия операторов являются зарезервированными, то есть использовать их в качестве имён переменных не допустимо. Пример: DIM A as INT ‘ оператор описания переменной 10 let A = 2 ‘ оператор присваивания stop Каждый оператор может содержать комментарий, который отделён от него символом “апостроф”. Длина строки оператора не может превышать 2048 символов. Количество операторов в модели специального ограничения не имеет, но общий объём текста Модели не может превышать 65534 байт. Запись имён переменных Переменные записываются символическими идентификаторами (именами). Допустимыми символами для имени переменной являются: буквы русского и латинского алфавита, цифры (кроме первого символа) и знаки “_” (подчерк), “%” (процент), “!” (восклицательный знак), “$” (знак доллара), “&” (амперсант), “#” (знак номера в латинском регистре). Имя переменной может начинаться с любого допустимого символа, кроме цифры. Различие между строчными и прописными буквами отсутствует, то есть буквы в именах, например, “а” и “А” будут считаться как одна и те же буква. Пробелы в имени переменной не допустимы. Следует обратить внимание, что по начертанию некоторые русские буквы в точности совпадают с латинскими, например, “А”, “В”, “Р”, “О” и т.д., поэтому Вам надо внимательно следить за применением этих букв в идентификаторах в разных частях своей программы Модели, ведь, всё-таки, это разные символы! Максимальна длина имени переменной не может превышать 255 символов. Запись чисел В переменных могут храниться числа или строки. Числа в Модели бывают целые или дробные, с десятичной частью. В математике дробные числа называют вещественными. Дробные числа (их называют числами с плавающей точкой, так как во всех языках программирования принято отделять дробную часть десятичной дроби не запятой, а точкой) в свою очередь записываются как в обычной форме (в качестве десятичного разделителя используется символ точки “.”), так и в форме с экспонентной. Это требуется для того, чтобы представлять очень большие числа или очень маленькие числа. Например, записать число 1 230 000 000 (или 1,23 с 9 нулями) в Модели можно так: 1.23Е+9 Такая запись означает, что число 1,23 надо умножить на 10 в 9 степени. А число 0,00000123 (или 1,23, деленное на 10 в 6 степени) будет выглядеть следующим образом: 1.23Е-6 Символ экспоненты – обязательно только латинская буква, прописная или строчная. Вместо символа экспоненты Е может использоваться символ D (для совместимости с Бейсиком): 5.5D+123 Перед отрицательными числами спереди указывается знак “-”. Пробелы в записи чисел не допускаются. Вот правильно записанные числа: 25 3.1415 2Е22 -0 7.34D-243 0.0 -2.67Е-44 Запись строк Строки в Модели могут быть константами и значениями переменных. Константы при записи берутся в двойные кавычки ("). Максимальная длина строки-константы ограничена общей длинной строки оператора – 2048 символов, минимальная – 0 (пустая строка). Внутри строки допускается использование различных символов, например: "Это строка" "123,45 output" Если необходимо внутри строки-константы записать символ кавычки, то она должна сопровождаться символом “\”, если необходимо ввести символ перевода строки, записывается конструкция “\n” (обратный слэш и латинская строчная n): "\"Строка\"\n" Строковые значения переменных могут иметь длину большую, чем константа. Для внутренних переменных эта длина ограничена 32768 символами, а для сохраняемых – не более 2600 символов, но может и меньше. Определить заранее эту длину нельзя, так как она зависит от внутрипрограммных факторов. Как добавить переменные в программу Все переменные Модели надо явно описать (еще говорят: объявить или декларировать). Для этого применяется оператор DIM. Он записывается так: DIM {имя-переменной} AS {тип} Записываться переменные могут в любых регистрах, например Abcd3 или aBcD3, но интерпретатор автоматически выполнит приведение всех различных написаний одной и той же переменной к единому значению. Допустимых типов переменных в Модели три. Они приведены в следующей таблице. Полное название типаСокращённое название типаДиапазон значений INTEGERINTот -1.7976931348623158e+308 до 1.7976931348623158e+308. Диапазон точности от -9 007 199 254 740 992 до 9 007 199 254 740 992 DOUBLE DBLот -1.7976931348623158e+308 до 1.7976931348623158e+308 STRINGSTRстрока переменной длины (от 0 до 32 767 символов) STRING * nSTR * nстрока фиксированной длины (n символов, n - число в диапазоне от 0 до 32 767) Переменные типа INTEGER, на самом деле, в Модели представлены то же переменными типа DOUBLE, но только всегда округлёнными до целой части. Поэтому в таблице указано два диапазона: кроме диапазона максимальных значений ещё и диапазон точного представления числа, то есть такого диапазона, в переделах которого операция ЧИСЛО + 1 даст новое число, которое будет гарантировано отличаться от значения ЧИСЛО на единицу. Тип DOUBLE считается заданным типом по умолчанию. Вот допустимые описания переменных: DIM x AS INTEGER DIM s AS STRING DIM str AS STRING * 500 DIM a В одном операторе DIM можно указывать несколько переменных. Их описания отделяются друг от друга запятыми: DIM I AS DBL, si AS STR * 500, sgl AS INT Оператор DIM можно использовать в любом месте программы, но лучше всего это делать в самом ее начале. Если описывать переменные в середине текста, то использовать эти переменные в операторах, предшествующих оператору DIM, нельзя – ведь интерпретатор еще не выполнил данный оператор и не зарезервировал место для соответствующих переменных в оперативной памяти. Если оператор DIM в Модели повторно переопределяет одну и туже переменную с тем же типом, то переменная сохранит своё прежнее значение. Если оператор DIM в Модели переопределяет переменную на другой тип, то её значение так же будет преобразовано. Если, например, переменная в первый раз была определена как INTEGER и получила значение 123456, то при переопределении её в тип STRING, она получит значение "123456". Тип переменной можно указать с помощью специального символа, записываемого в конец её названия, который будет характеризовать её тип. Вот таблица символов, характеризующих тип переменной. Тип переменнойСимвол, приписываемый в конец названия переменной INTEGER% или & STRING (строка с переменной длиной)$ DOUBLE# или ! Например: i% Var& sgl d# str$ Если используются символы, характеризующие тип переменной, то нельзя использовать в операторе DIM описатель типа с помощью ключевого слова AS: DIM S$ AS STRING ' НЕВЕРНО Переменная, тип которой был объявлен с помощью символа, должна в Модели везде использоваться только с ним (т.е. символ становится частью имени переменной). Следует обратить внимание, что эти символы могут встречаться внутри имени переменной, но в этом случае они не будут определять её тип. Например: имя$переменной Proctor&Gambel С помощью оператора DIM описываются все переменные, которые используются внутри Модели. Если необходимо определить переменную, которая должна быть использована как параметр в программе KEDRWIN, то она должна быть описана в операторе SAVE. Он записывается по всем тем же правилам, что и оператор DIM: SAVE {имя-переменной} AS {тип} Такие переменные будут называться сохранёнными. В отличие от обычных переменных, которые так же используются во всех операциях, сохранённые переменные будут доступны из программы KEDRWIN после выполнения модели и закрытия всех операций с ней. В Модели все переменные перед их использованием должны быть обязательно описаны операторами DIM или SAVE. Как задать значение переменной Чтобы указать значение, которое должна иметь переменная, используется оператор Модели, который называется оператором присваивания. Он выглядит так: переменная = значение В левой части оператора указывается имя переменной, в которую будет заноситься значение, расположенное в правой части (справа от символа =). Например, чтобы значением переменной Y% (имеющей тип INTEGER) стало число 10, надо написать так: Y% = 10 Если попробовать присвоить переменной целого типа (INTEGER) значение с плавающей точкой, например: Y% = 5.5 то эта переменная Y% получит округленное значение числа 5,5 (а именно, 6). Округление чисел выполняется в зависимости от значения дробной части числа. Если она больше или равна 0,5, то округление происходит в большую сторону, если меньше – то в меньшую (в вышеприведенном примере число 5.4999 будет округлено до 5). Аналогично происходит и занесение в переменные строк: DIM Str$ Str$ = "всем привет" Для совместимости с Бейсиком оператор присваивания в Модели может начинаться с ключевого слова LET: LET Str$ = "всем привет" Арифметические операторы Для выполнения арифметических вычислений в операторах Модели используются символы + (сложить), - (вычесть), * (умножить), / (делить) и ^ (возвести в степень). Кроме того, символ \ (обратная косая черта) применяется для целого деления, в результате которого получается целое число. Например, значением выражения 1000 / 3 будет число 333.3333333333333, а значением выражения 1000 \ 3 – число 333. При таком делении для чисел типов INTEGER дробная часть частного просто отбрасывается, в то время как при обычном делении происходит округление дробного результата. В результате выполнения оператора Y% =5/3 переменная Y% получит значение 2 (округление в большую сторону), а при использовании оператора Y% = 5 \ 3 это значение окажется равным 1. Сцепление строк Оператор сложения + определен не только для чисел, но и для строк. С его помощью можно сцепить (сложить) вместе несколько строк. Например, значением выражения "Это" + " строка!" станет строка: "Это строка!" Можно сцепить несколько строк: "123" + "456" + "7890" Результирующим значением станет строка "1234567890". Выражения В правой части оператора присваивания можно записывать не только число, но и произвольное выражение, допустимое правилами записи Бейсика. В нем могут использоваться: • знаки арифметических действий, определяющие действия над числами и переменными; • круглые скобки, задающие последовательность выполнения действий; • числа, над которыми выполняются действия; • переменные, над значениями которых выполняются арифметические действия; • встроенные функции Модели (вроде SQR()). Примеры арифметических выражений: 1+1 2*3 - 5 2 * (3-5) Y% ^ 2 - 10.5 (Х# * 2 + Y# * 3.14) / 52 (SQR(Y&) - Dist%) * 1.1E+2 Порядок вычисления значения выражения без скобок определяется приоритетом арифметических операций. В первую очередь выполняется возведение в степень, далее деление, деление на цело, потом умножение, в заключение - сложение и вычитание. Если в выражении имеются скобки, то сначала вычисляется значение подвыражений в этих скобках. Например, значение выражения 4 ^ 2 * 3 равно 48 (4 в степени 2 равно 16, а 16, умноженное на 3, даст 48), а значение выражения 4 ^ (2 * 3) равно 4096 (сначала вычисляется выражение в скобках - 2*3 будет 6, а затем 4 возводится в степень 6). Действия могут выполняться не только над числами и переменными числового типа, но и над строками и переменными строкового типа. Для них определен только один оператор сложения или сцепления. Например: "текст" +3$ "Ошибка в файле " + FileName$ + ".doc" "2 + 2 будет " + STR$(2+2) В последнем случае STR$() – стандартная функция Бейсика, которая преобразовывает значение выражения 2+2 (равное 4) в строку (“4”). Теперь можно составить программу, которая будет вычислять сумму трех идущих подряд чисел, начиная с произвольного числа: DIM X AS INTEGER, SUM AS INTEGER X% = 9 ' произвольное начальное число SUM% = X% + (X% + 1) + (X% + 2) Такая программа удобна тем, что число, начиная с которого надо произвести вычисления, достаточно указать только один раз. Уровни вложенности скобок не могут быть больше 256. Уровни вложенности вызова функций (когда в выражении аргумента функции используются другие вызовы функций) то же не могут быть больше 256. Встроенные функции Математические вычисления ФункцияОписание ABSМодуль (абсолютная величина) числа ATNАрктангенс. Возвращает значение угла в радианах ATN2Арктангенс числа, полученного от деления первого аргумента на второй. Функция удобна в тех случаях, когда знаменателем операции деления может быть нуль (угол 90 градусов). Возвращает значение угла в радианах СINTПреобразовать вещественное в целое. CDBLПреобразовать целое в вещественное. COSКосинус. Аргумент задается в радианах. Чтобы вычислить косинус угла, заданного в градусах, этот угол для перевода в радианы надо умножить на (3.141592654 / 180) MKI$, MKD$Преобразовывает число типа INTEGER/DOUBLE в строку EXPВозводит число e (основание натурального логарифма) в степень, заданную аргументом (не более 88.02969) FIXЦелая часть аргумента, получаемая отбрасыванием дробной части. Например: FIX(3.99) равно 3; FIX(-3.99) равно -3 INTМаксимальное целое, меньшее или равное аргументу. Например: INT(3.99) равно 3; INT(-3.99) равно -4 LOGНатуральный логарифм SGNЗнак числа. Возвращает 1, если аргумент положителен, 0 - если равен нулю, -1 – если отрицателен SINСинус SQRКвадратный корень TANТангенс SWAPДва аргумента взаимно обмениваются своими значениями Работа со строками ФункцияОписание ASCКод первого символа в строке. Например, ASC("б") равен 225 CHR$Символ, соответствующий коду - числу, заданному в качестве аргумента (от 0 до 255) INSTRПроверка наличия подстроки в строке. Имеет три параметра. Первый – номер символа в строке, с которого начинается поиск. Второй – строка для анализа, третий – подстрока. Если подстрока обнаружена, возвращается ее позиция в анализируемой строке (позиция отсчитывается с 1), если нет возвращается 0. Например, INSTR(2, "1234567", "345") вернет 3 LEFT$, RIGHT$Выделение части строки - с начала или с конца. Длина возвращаемой строки определяется вторым аргументом, например: LEFT$("1234567",3) равно "123" RIGHT$("1234567",2) равно "67" MID$Выделение произвольной подстроки. Первый параметр - анализируемая строка, второй - позиция первого символа выделяемой подстроки, третий длина выделяемой подстроки. Например: MID$("1234568",2,3) равно "234" LENВозвращает число символов в строке, если аргумент - строка, или число байт, требующихся для хранения переменной числового типа, если аргумент переменная STR$Возвращает строковое представление числа. Например, значением STR$(5) будет "5", значением STR$(3.14159) будет "3.14159" VALВозвращает число, в которое преобразуется аргумент-строка, например, VAL("2.67") вернет число 2.67. Если аргумент не удается преобразовать в число, то VAL() возвращает 0. С помощью этой функции можно вводить угловые величины, выраженные в градусной мере. Например, VAL("27^27'27\"") вернёт число 0.479223779366343. DATE$Возвращает строку, содержащую текущую дату. Формат строки даты зависит от аргумента функции: если 0 или 1, то дата выглядит так "01.01.2005" (день.месяц.год), если аргумент равен 2, то "01 января 2005" TIME$Возвращает строку, содержащую текущее время Специальные функции ФункцияОписание GOEXTGOEXT(имяфайла, имяпеременной) - получить сохранённую переменную из файла другого чертежа. Функция приобретает свой тип (целый, вещественный, символьный) в соответствии с типом переменной другого чертежа имяпеременной. AREAAREA(имяконтура) - получить площадь контура (в кв.мм), обозначенного указателем штриховки. Узнать имя контура можно из мастера редактирования штриховок (см. в главе 5.5 назначения штриховок). PERIMPERIM(имяконтура) - получить длину периметра контура (в мм), обозначенного указателем штриховки. CMASXCMASX(номерточки, имяконтура) - получить расстояние от указанной точки на проекции до координаты X геометрического цента масс контура, обозначенного указателем штриховки. Узнать номер точки можно на этапе “Опорные точки”, а имя контура - из мастера редактирования штриховок (см. в главе 5.5 назначения штриховок). CMASYCMASY(номерточки, имяконтура) - получить расстояние от указанной точки на проекции до координаты Y геометрического цента масс контура, обозначенного указателем штриховки. DISTXDISTX(номерточки1, номерточки2) вычислить расстояние между точками вдоль оси X. Из координаты X первой точки вычитается координата X второй точки (величина может быть отрицательной). DISTYDISTY(номерточки1, номерточки2) - вычислить расстояние между точками вдоль оси Y. Из координаты Y первой точки вычитается координата Y второй точки (величина может быть отрицательной). Аргументы специальных функций: имяфайла, имяпеременной, имяконтура - символьные переменные или константы. Номерточки - целая переменная или константа. Логические выражения. Операнды сравнения С помощью логических выражений можно проверить, истинно ли некоторое условие, и на основе этой проверки определить, как будет выполняться программа дальше. Это условие представляет собой логическое выражение и вычисляется способом, аналогичным вычислению арифметического выражения. Вместо арифметических операторов сложения, вычитания и других применяются логические операнды сравнения, служащие для сравнения числовых и строковых величин. Обозначение операндаСмысл операнда >больше, чем >=больше или равно <меньше, чем <=меньше или равно =равно <>не равно Можно проверить, больше ли значение, хранящееся в переменной Y%, чем число 121 (Y% > 121), содержится ли в переменной S$ текст “file” (S$ = "file"), различны ли значения переменных А20% и Н8# (А20% <> Н8#) и т. д. В Модели можно сравнивать (больше или меньше) не только числа, но и строки. Сравнение производится на основе алфавитной упорядоченности символов в строке, начиная с первого символа (чем ближе символ к концу, тем он “больше”). Например, строка "а" меньше строки "b"; строка "2а" больше строки "1z" (потому что символ "2" считается больше, чем "1"), а строка "abc” больше строки "abC" (потому что заглавные буквы считаются “меньше” строчных). Логические выражения. Логические операнды Логическое выражение может быть гораздо сложнее, чем простое сравнение двух величин. Часто возникает необходимость проверить, например, не выходит ли некоторое число из допустимого диапазона, то есть надо выяснить, больше ли оно нижней границы и меньше ли оно верхней границы. Чтобы связать два условия проверки логической связкой И или ИЛИ, используются соответствующие операнды AND и OR. Например, выражение (Х% > 0) AND (X% <= 800) проверяет, что значение переменной Х% больше 0 И меньше или равно 800. Логическое выражение (X% <= 0) OR (X% > 800) проверяет, что значение переменной X% меньше или равно 0 ИЛИ больше 800. Значение логического выражения В Модели считается, что логическое выражение (простое сравнение или группа сравнений, связанных логическими операндами OR, AND и другими) имеет значение, равное 0, если оно ложно и не равно нулю, если оно истина. После выполнения оператора х% = 2 < 3 переменная х% получит некое значение, не равное нулю (истина, результат сравнения “2 < 3”), а после выполнения оператора х% = "абв" = "abc" переменная х% примет значение 0 (ложь, так как сначала выполняется сравнение "абв" = "abc", а потом присваивание). Операнды OR и AND обрабатывают результаты вычислений логических выражений. Они работают со значениями “истина” (не ноль) и “ложь” (ноль). Полный список логических операндов Модели и возвращаемых ими значений приведен в следующей таблице. Левая частьПравая частьANDORXOREQVIMP истинаистинаистинаистиналожьистинаистина истиналожьложьистинаистиналожьложь ложьистиналожьистинаистиналожьистина ложьложьложьложьложьистинаистина Кроме того, имеется еще один операнд NOT, который обрабатывает только одну, правую часть выражения, и возвращает значение, обратное значению этого выражения (вместо “истины” “ложь”, вместо “лжи” - “истину”), например: NOT (2 > 3) ' Возвращает значение “истина” NOT ("aaa" = "ааа") ' Возвращает значение “ложь” Операнд EQV является аналогом выражения NOT(A XOR B), где A – левая часть, В – правая часть. Операнд IMP является аналогом выражения NOT(A XOR (A AND B)). Эти операнды были введены в язык Бейсик для обработки битовых графических образов. В Модели они вряд ли найдут применение. А, вот, операнд XOR может применяться для вычисления “триггеров”: Тр = 123 XOR Тр Если переменная Тр имела значение 0, то после выполнения этого оператора, она получит значение 123. И наоборот, если Тр имела значение 123, то будет 0. Приоритеты логических операторов Логические операнды, точно так же, как и арифметические, имеют приоритеты, определяющие, в каком порядке будет вычисляться выражение. Максимальный приоритет имеют все операции сравнения (они всегда выполняются первыми), потом следует операнд NOT, остальные операнды идут по убыванию приоритетов так: AND, OR, XOR, EQV, IMP Если порядок вычисления выражения надо изменить или уточнить, используются круглые скобки. Условный оператор Условный оператор описывает часть программного кода, который будет выполнен, только если проверяемое этим оператором условие (значение логического выражения) истинно. Самая простая форма условного оператора такова: IF {логическое выражение} THEN последовательность операторов, выполняемая, если логическое выражение имеет значение “истина” ENDIF Например: DIM X AS DOUBLE Х = 5 IF X > 3.14 THEN PRINT "X больше 3.14" Х = 3.14 ENDIF Для наглядности программы группа команд, входящая в блок условного оператора, выделяется отступами. Это правило очень полезно применять и для всех других операторов Модели, где имеются вложенные последовательности действий. Часто возникает необходимость в выполнении определенных действий как в случае, если значение логического выражения – “истина”, так и в случае, когда его значение – “ложь”. Для этого служит полная форма условного оператора: IF {логическое выражение} THEN последовательность операторов, выполняемая, если логическое выражение имеет значение “истина” ELSE последовательность операторов, выполняемая, если логическое выражение имеет значение “ложь” ENDIF При работе такого условного оператора всегда будет выполняться только одна последовательность команд. Например: DIM X AS DOUBLE Х = 5 IF X > 3.14 THEN PRINT "X больше 3.14" Х = 3.1 ELSE PRINT "X не больше 3.14" Х = 3.2 ENDIF Условные операторы могут иметь вложенность, то есть в списке операторов, выполняемых при соблюдении условия оператор IF, могут быть помещены ещё операторы IF-THEN-ELSE-ENDIF. Допускаемый уровень вложенности логически не ограничен. Оператор перехода Произвольно изменять порядок выполнения команд в программе можно с помощью оператора перехода (перехода к другому оператору), который записывается так: GOTO метка В качестве метки используется числовая метка, установленная перед оператором, на который будет сделан переход, например: X% = 1 10 Х% = Х% + 5 IF X% < 100 THEN GOTO 10 Эта последовательность операторов будет выполняться так: сначала переменная X% получит значение 1, затем значение переменной X% увеличится на 5, потом выполнится проверка ее значения - меньше ли оно 100, и если меньше, выполнится оператор GOTO 10. При этом управление опять передастся на метку 10, к оператору X% = X% + 5 и такая циклическая работа будет происходить, пока значение X% не станет больше или равно 100. Тогда условие X% < 100 окажется ложным, оператор перехода не выполнится, и интерпретатор перейдет к выполнению оператора, следующего за IF. Обратите внимание, что оператор GOTO записан в одной строке с оператором IF. Это единственный случай в Модели, когда допустимо в одной строке размещать два оператора. Переход на подпрограмму Для перехода на подпрограммы используется оператор: GOSUB метка При выполнении оператора GOSUB управление передается на оператор, которому предшествует указанная метка. Работа программы продолжается с нового места, но когда встречается оператор RETURN, то происходит возврат к вызывающему GOSUB и выполняется следующий за ним оператор. Конечный оператор цикла Вместо оператора перехода в ряде случаев удобно использовать так называемый оператор цикла, который позволяет многократно (заданное или произвольное число раз) выполнять определенную группу операторов. Форма оператора цикла такова: FOR {переменная-счетчик} = {выражение-1} ТО {выражение-2} STEP {выражение-3} блок операторов NEXT {переменная-счетчик} Работает этот оператор так: сначала переменная-счетчик получает значение, равное значению выражения-1. Если ее значение меньше значения выражения-2, то выполняется блок операторов до ключевого слова NEXT, а затем значение переменной меняется на величину приращения, равного значению выражения-3 (шаг цикла), вновь производится проверка счетчика и т. д. Шаг приращения может быть и отрицательным - тогда значение начального выражения-2 должно быть меньше значения конечного выражения-2 (то есть, значение счетчика не увеличивается, а уменьшается). Если ключевое слово STEP опущено, то величина приращения считается равной 1. Оператор NEXT для оператора цикла должен быть единственным и должен находиться в конце списка. В Модели разрешается в операторе NEXT не ставить переменную-счетчик, так как всё, что далее стоит в этом операторе после пробела, считается комментарием. Примеры: FOR X% = 10 ТО 100 STEP 10 PRINT X% NEXT X% Будет последовательно напечатано 10 значений переменной X%: 10, 20, 30,... 100. FOR X% = 5 ТО -5 PRINT X% NEXT X% Переменная X% будет принимать значения 5, 4, ... -4, -5 (шаг считается равным -1). Между операторами FOR и NEXT могут быть вложены ещё циклы, но с другими переменными-счётчиками цикла. Допускаемый уровень вложенности логически не ограничен. Условный оператор цикла Оператор FOR позволяет выполнить блок операторов заданное число раз. Но, когда заранее не известно число повторений - оно, например, определяется внутри блока многократно выполняемых операторов, то для этого лучше использовать условный оператор цикла: DO WHILE или UNTIL {логическое-выражение} блок операторов LOOP Блок операторов будет выполняться до тех пор, пока значение логического выражения истинно (если используется ключевое слово WHILE) или пока оно ложно (если используется ключевое слово UNTIL). При этом данный блок может быть вообще не выполнен ни разу (если значение логического выражения исходно не удовлетворяет требованиям оператора). Например: ' будут напечатаны числа от 1 до 99 х% = 0 DO WHILE X% < 100 X% = X% + 1 PRINT X% LOOP ' будут напечатаны числа от 1 до 100 х% = 0 DO UNTIL X% > 100 X% = X% + 1 PRINT X% LOOP ' не будет напечатано ничего х% = 0 DO UNTIL X% < 100 ' значение выражения Х% < 100 сразу истинно X% = X% + 1 PRINT X% LOOP Иногда возникает необходимость выполнить блок операторов хотя бы один раз перед первой проверкой условия, определяющего повторение цикла. Для этого в Модели существует другая форма записи оператора DO, когда ключевые слова WHILE или UNTIL размещаются не после DO, а после LOOP. При этом блок операторов между DO и LOOP перед первой проверкой будет выполнен хотя бы один раз. Например: ' Цикл выполнится один раз с печатью числа 1 х% = 0 DO ' операторы внутри цикла сразу выполняются X% = X% + 1 PRINT X% LOOP UNTIL X% < 100 ' Значение выражения X% < 100 сразу истинно, повторения цикла не произойдет Между операторами DO и LOOP могут быть вложены ещё циклы, как DO-LOOP, так и FOR-NEXT. Допускаемый уровень вложенности логически не ограничен. Завершение программы Завершение выполнения программы модели осуществляется в четырёх случаях: когда произойдёт какая-либо ошибка; когда пользователь программы KEDRWIN подаст команду “Остановить”; когда программа выполнит последний оператор в конце списка программы и этот оператор не будет оператором перехода на другие операторы; когда встретится оператор RETURN, а вызова GOSUB не было; когда встретится оператор STOP. Как только встречается оператор STOP в любом месте программы, она сразу завершается. Оператор создания массива Массив описывается с помощью уже известного оператора DIM как обычная переменная, только после ее имени в круглых скобках дополнительно указывается число хранимых элементов. Допустим, требуется сформировать массив из ста строк. Это сделает следующий оператор: DIM S(100) AS STRING При этом в памяти компьютера будет выделена область для хранения ста строк. Недопустимо создавать массивы с помощью оператора SAVE. Обращение к элементу массива Чтобы обратиться к конкретной строке, считать ее значение или записать в нее новый текст, надо использовать имя массива S и номер нужного элемента в круглых скобках. Например, чтобы использовать в выражении десятую строку из массива S, надо записать так: S(10) Чтобы записать в первый элемент массива строку “первый”, используется обычный оператор присваивания: S(1) = "первый" Любой элемент массива можно свободно использовать в любых выражениях Модели. В качестве индекса совсем не обязательно использовать конкретное число. Им может быть и переменная, и выражение, например: S( Х% ) S( X%+5 ) S( Х%*2 + i% ) Диапазон и размерность Диапазон значений индексов в Модели может быть произвольным. В операторе DIM разрешается указывать либо общее число элементов, либо конкретный диапазон - тогда нижняя и верхняя границы отделяются друг от друга с помощью ключевого слова ТО. Например, массив из ровно ста строк, к элементам которого можно обращаться, начиная с единицы, опишется так: DIM S(1 TO 100) AS STRING В качестве границ могут использоваться и дробные (они будут автоматически округлены), и отрицательные числа. Надо только следить, чтобы нижняя граница всегда была меньше или равна верхней границе. В массиве, у которого нижняя граница отрицательная, а верхняя – положительная, число элементов будет на единицу больше, чем в остальных случаях. В операторе DIM X(-5 ТО 5) AS INTEGER помимо пяти элементов с отрицательными границами (от -5 до -1) и пяти элементов с положительными границами (от 1 до 5) будет еще элемент с нулевым индексом - Х%(0). Выход индекса за границы массива - типичная и одна из наиболее часто встречаемых ошибок в программировании. Интерпретатор модели в такой ситуации сразу же зафиксирует ошибку, прервет работу программы и сообщит о номере строки оператора, в котором была произведена попытка обратиться к несуществующему элементу массива. Для хранения одного массива в памяти максимально может отводиться столько места, сколько его может предоставить Ваша операционная система, поэтому заранее определить конкретное максимальное число элементов массива невозможно. В Модели могут быть описаны массивы с числом измерений до четырёх. Чтобы описать массив с числом измерений, большим единицы, надо указать диапазоны индексов для каждого измерения через запятую, например: DIM Arr(1 ТО 5, 2 ТО 100, 55, -4 ТО 0) AS DOUBLE При обращении к элементу такого массива надо указывать конкретные значения для каждого из его измерений: Arr (1, х%, 10, 0) = 3.14 Вывод информации в окно вывода Оператор PRINT позволяет выводить данные в окно вывода Модели, которое расположено под окном с текстом Модели. Оператор PRINT может выводить в строке одно или несколько значений: чисел, строк, переменных и выражений. Эти значения разделяются запятыми. Данные печатаются подряд друг за другом, так же разделённые запятыми. Строковые значения печатаются заключёнными в кавычки. Например, при выполнении операторов Y% = 5 PRINT "y=", Y% будет выведено “y=”, 5 Если задать оператор PRINT без параметров, то будет выведена пустая строка. Открытие файла Кроме вывода информации в специальное окно, Модель может выполнять обмен данными с файлом, расположенным на внешнем носителе – диске. Для открытия такого файла используется оператор OPEN {тип-открытия}, #{номер-файла}, {имя-файла} где {тип-открытия} – одно из трёх символьных выражений (может быть переменной): "R" – открыть файл для чтения для записи; "W" – открыть файл для записи; "A" – открыть файл для дозаписи (буква А – только латинская). {номерфайла} – целая константа (переменной быть не может). {имя-файла} – символьное выражение, результат которого имеет длину не более 256 знаков. Русские буквы допустимы. Может быть указан путь к файлу. Файл для записи и дозаписи может иметь расширение имени (тип файла) только .LST. Если будет указано иное, то программа его заменит на .LST. Если файл открывается для записи и с таким именем он уже существует, то новый файл перекроет старый без предупреждения. Если доступ к файлу не возможен (открыт другой программой, не существует указанная директория и др.), то Модель сообщит об ошибке и прекратит своё выполнение. Закрытие файла Ранее открытый файл закрывается с помощью оператора CLOSE #{номер-файла} При любом прекращении выполнения Модели все открытые файлы закрываются автоматически. Запись данных в файл Оператор последовательной записи данных в файл выгладит так: WRITE #{номер-файла}, {список переменных} Выполнение оператора сопровождается выводом в файл строки, в которой через запятую перечислены значения переменных из указанного списка. В конце строки добавляется символ перевода строки. Например, следующая программа создаст файл model.lst в текущем каталоге и запишет в него две строчки: OPEN "W", #1, "model" S$ = "строка 1" WRITE #1, X%, S$ X% =101 WRITE #1, 3.14, "12 попугаев", X% CLOSE #1 Теперь, если в любом редакторе открыть файл model.lst (он по умолчанию располагается в одном каталоге с программой KEDRWIN), то окажется, что он имеет текстовый формат, а записанные в него данные будут выглядеть так: 5, "строка 1" 3.14, "12 попугаев", 101 Можно видеть, что оператор WRITE выполняется так же, как оператор PRINT, только для вывода в файл. Оператор WRITE используется и для дозаписи в файл, если тот был открыт для такого вывода. Новые строки добавятся в конец существующего файла. Считывание данных из файла Чтобы считать в программу Модели данные, которые были ранее записаны в файл с помощью оператора WRITE (или набраны с учетом необходимого формата вручную), используется оператор INPUT #{номер-файла}, {списокпеременных} Типы переменных должны соответствовать типу хранимых в файле данных. То есть строку, заключенную в кавычки, нельзя вводить в переменную числового типа. Правда, интерпретатор пытается самостоятельно подобрать соответствие между переменными в списке и вводимой информацией, но получается это у него не всегда хорошо, поэтому лучше полагаться только на свои силы и тщательно продумывать структуру своих данных, а также следить за правильностью ввода. Чтобы считать данные, записанные в предыдущем примере в файл model.lst, можно использовать следующий текст: OPEN “R”, #1, "model.lst" INPUT #1, X%, S$ INPUT #1, Y#, S$, X% CLOSE #1 Обратите внимание на соответствие типов переменных хранимым в файле model.lst данным. Обратите, так же внимание и на то, что при выводе расширение имени бралось по умолчанию, а при чтении оно должно быть указано явно. Оператор INPUT вызывался строго для каждой строки файла model.lst. Если в операторе INPUT будут указаны лишние переменные, то они останутся неопределёнными. Если будет не доставать переменных, то остаток строки не будет обработан. Список зарезервированных имён Зарезервированные имена – это имена операторов, операндов и встроенных функций, которые не допустимо использовать в качестве имён переменных Модели: ABSANDAREAASCATNATN2CDBLCHR$ CINTCLOSECMASXCMASYCOSDATE$DIMDISTX DISTYDOELSEENDIFEXPFIXFORFUNC GOEXTGOSUBGOTOIFIMPINPUTINSTRINT LEFT$LENLETLOGLOOPMID$MKD$MKI$ NEXTNOTOPENORPERIMPRINTRETURNRIGHT$ SAVESGNSINSQRSTOPSTR$SWAPTAN THENTIME$VALWRITEXOR