Типы линий и где они хранятся
Линии окружают нас повсюду, они не раз спасали людям жизнь. Каким образом? Вспомним хотя бы буквенные коды в азбуке Морзе — каждая буква азбуки представляет собой определенную последовательность точек и тире, и, если с помощью этих символов написать повторяющуюся последовательность букв, получим линию. Пример — на рис. 1.
Рис. 1. Азбука Морзе и пример линииТакже и при проектировании невозможно представить чертеж, не содержащий разных (по весу, цвету, начертанию) линий. Поэтому тема применения линий и выбора мест их хранения в среде проектирования всегда будет актуальной. Разберемся, как это устроено в nanoCAD.
Что такое линия? Это повторяющаяся последовательность штрихов, точек и пробелов, наносимых вдоль прямой или кривой. Но, если заглянуть в ГОСТ, можно заметить, что линии не всегда являются только набором точек и штрихов — есть и так называемые сложные типы линий, содержащие в себе текст или формы.
nanoCAD предлагает множество разных типов линий: линии из ГОСТ 2.303 уже предустановлены, есть и файл с линиями стандарта ISO. Кроме того, здесь можно создавать любые, самые нестандартные типы линий, причем это не отнимет много времени и сил. Чтобы в этом убедиться, погрузимся в волшебный мир линий и создадим две довольно сложные линии (рис. 2).
Рис. 2. Наша цельВпрочем, обо всем по порядку.
Все линии, используемые в nanoCAD, хранятся в папке SHX по пути C:\ProgramData\Nanosoft\nanoCAD x64 21.0\SHX и собраны в файлах с расширением *.lin. Открыть файлы можно в любом текстовом редакторе. Каждая линия задается собственным уникальным именем, в описании содержится информация о составляющих (штрихах, формах, символах). В одном lin-файле может храниться достаточно большое количество типов линий. По умолчанию в состав поставки входят следующие файлы:
GOST 2.303–68.lin (содержит линии, соответствующие ГОСТ. Передавать этот файл следует вместе с файлом форм GOST 2.303–68.shx);
ncad.lin (содержит линии, соответствующие международному стандарту ISO. Передавать этот файл следует вместе с файлом форм ltypeshp.shx).
Текущая на данный момент линия будет применяться практически во всех инструментах nanoCAD из группы Черчение: окружности, эллипсы, многоугольники, сплайны можно рисовать абсолютно любой линией (рис. 3).
Рис. 3. Способы применения линий в nanoCADПосмотреть, какая линия является текущей, а также переключиться на другую можно на функциональной панели Свойства, на вкладке Главная в группе Свойства, или в диалоговом окне Типы линий (вкладка Главная → группа Оформление → Типы линий) — рис. 4.
Рис. 4. Просмотр текущего типа линииЗдесь важно отметить, что линии могут храниться в самих dwg-файлах. Те из них, что уже имеются в этих файлах (на панели свойств), на самом деле были загружены в шаблон *.dwt, на основе которого и был создан dwg-файл. Поэтому при передаче чертежей, в которых имеются уникальные линии, можно не волноваться об их сохранности — если, как вы, наверное, уже догадались, в линиях не используются уникальные формы или шрифты.
Загрузить новую линию в текущий документ можно двумя способами (рис. 5–6):
через панель свойств, в выпадающем меню Загрузить;
через диалоговое окно Типы линий.
Важно! Чтобы загрузить сложные линии, нам нужно предварительно не только положить в папку SHX все используемые формы, но и создать текстовые стили, которые прописаны в линии. Узнать о том, какие текстовые стили используются в линии, можно с помощью любого текстового редактора.
Рассмотрим диалоговое окно Типы линий поподробнее. Здесь всё достаточно просто. В правой верхней части окна располагаются кнопки для создания, удаления, редактирования, импорта и экспорта линий.
Рис. 6. Способ 2: диалоговое окноЦентральная часть представляет собой небольшую таблицу из трех столбцов:
· Статус — отображение текущей линии. Текущую линию можно установить переключением галочки.
· Имя — отображение имени линии. Здесь имя можно отредактировать, но переименование типа линии изменит его описание только в текущем чертеже — в lin-файле название останется прежним.
· Пояснение — текстовое описание типа и примерное отображение линии.
Типы линий «По слою», «По блоку», «Сплошная» удалить или переименовать нельзя. Также нет возможности удалить текущий тип линии.
В графе Подробности (она располагается в нижней части окна) можно настроить работу с масштабами:
Масштаб в единицах пространства листа — полезная опция при использовании нескольких видовых экранов.
Глобальный масштаб — задание глобального масштабного коэффициента для всех типов линий. Установленный глобальный масштаб относится ко всем вновь создаваемым и уже созданным линиям. Выделив линию, его можно проследить в масштабах символов. Глобальный масштаб удобно использовать при нестандартном масштабе линий.
Текущий масштаб — задание масштабного коэффициента для вновь создаваемых линий. Результирующий коэффициент масштаба будет равен произведению глобального и текущего масштабов.
Создавать линии в nanoCAD можно двумя способами:
через встроенный редактор типов линий;
через любой текстовый редактор.
Конечно, мы опробуем оба способа. Линию «Ньют» создадим через встроенный, а линию «Нюхль» через текстовый редактор.
Рассмотрим, из чего будут состоять линии.
Линия «Ньют» (рис. 7).
Рис. 7. Состав линии «Ньют»Линия «Нюхль» (рис. 8).
Рис. 8. Состав линии «Нюхль»Штрих — тире любой положительной длины.
Пробел — тире любой отрицательной длины (расстояние между соседними элементами).
Точка — штрих нулевой длины.
Вне зависимости от того, какой способ используется, все формы и шрифты должны быть у нас готовы/установлены, также необходимо заранее создать нужные текстовые стили. Текст «Fantastic Lines» (имя текстового стиля — «Fantastic Beasts») набран шрифтом Harry Potter, его можно найти на просторах интернета Создание формы SEGMENT было разобрано в статье «Штриховки, файлы форм, или Как прикоснуться к искусству». В линии «Нюхль» используется шрифт romanc.shx с именем текстового стиля — «NIFFLER».
Давайте теперь наполним наш чемоданчик нужными формами!
Форма «WAND».
Первое, что нужно волшебнику, — своя волшебная палочка. Конечно, ее всегда можно одолжить у друзей или взять у автора, но, согласитесь, намного приятнее сделать собственную. Тем, кто уже знаком с формами (см. статью «Штриховки, файлы форм, или Как прикоснуться к искусству»), создать ее не составит особого труда. Моя волшебная палочка будет выглядеть достаточно просто — примерно так же, как у Ньюта Саламандера из «Фантастических тварей» (рис. 9).
Рис. 9. Форма «Волшебная палочка»Как видим, она состоит из пяти дуг, двух параллельных и двух пересекающихся отрезков. Код такой формы показан ниже.
*1, 42,WAND
00A, (3, 042), ;дуга радиусом 3мм
004, 16, ;умножаем длину следующего отрезка на 16
080, ;отрезок длиной 128 с учетом масштаба
003, 16, ;делим длину следующего отрезка на 16
00A, (1, 064), ;дуга радиусом 1мм
008, (-128, 4), ;отрезок со смещением
00A, (3, 022), ;дуга радиусом 3мм
00A, (3, -042), ;дуга радиусом 3мм; возвращаемся в предыдущую точку
00B, (0, 3, 0,10, -022), ;дробная дуга
00B, (253, 0, 0, 10, -002), ;дробная дуга
004, 15, ;умножаем длину следующего отрезка на 15
040, ;отрезок длиной 60мм
003, 15, ;делим длину следующего отрезка на 16
044, ;отрезок длиной 4мм
04C, ;отрезок длиной 4мм; возвращаемся в предыдущую точку
030, ;отрезок длиной 3мм
044, ;отрезок длиной 4мм
0 ;конец определения формы
Форма «NIFFLER».
Далее создаем своего любимца, у меня это Нюхль — маленький пушистый зверек с вытянутой мордочкой (рис. 10).
Рис. 10. Форма «NIFFLER»В качестве тренировки попробуйте создать зверька самостоятельно. Код формы ниже.
*1, 89,NIFFLER
014, 008, (-10,1), 034, 00A, (10, 004), 002, 003, 2, 010, 003, 5, 020,
074, 004, 10, 034, 001, 00C, (-14, -7, 126),
02A, 040, 022, 00C, (6,-1,38), 01D, 040, 008, (1, 3), 002,
003, 2, 018, 024, 004, 2, 001, 00C, (5, -4, 38), 0F0, 080,
002, 0E8, 074, 001, 00A, 3, 000, 002, 018, 024, 003, 5, 014,
004, 5, 001, 00C, (-3, -5, 86),
002, 0F8, 0E8, 0F4, 024, 001, 00C, (6, -10, 30),
002, 094, 068, 001,
00C, (3,-14,66),
0
Нюхль падок на все блестящее, обязательно стянет любой сверкающий предмет, какой ему только попадется. Порадуем его сокровищами — монетками.
Форма «COIN».
Рис. 11. Форма «COIN»Эта форма похожа на монету и достаточно проста в написании (рис. 11).
Код формы представлен ниже.
*1, 21,COIN
00A, (6, 000),
002, 028, 001,
00A, (4,000),
002, 028, 024,
001, 048, 008, (2,-4),008, (2,4),
0
Чемодан для путешествий собран. Приступим к созданию линий!
Создание линии «Ньют» через встроенный редактор.
Чтобы открыть встроенный редактор, необходимо в диалоговом окне Типы линий выбрать линию и нажать кнопку Редактировать (рис. 12).
Рис. 12. Встроенный редактор линийСтрока Тип, расположенная в правой части окна редактора, позволяет выбрать тип элемента линии: штрих/пробел. В строке Длина выставляем »+» для штриха и »-» для пробела. В этом же окне указываем, текст это или форма, и задаем параметры элемента. Далее создается новый элемент.
Все параметры раздела «Геометрия» приведены ниже, в таблице «Параметры вставки форм и текста».
В нижней части окна прописывается код линии.
При всем удобстве и простоте этого инструмента его возможности ограничены количеством создаваемых элементов линии. Через встроенный редактор можно создать линию не более чем с 12 элементами, включая пробелы. Во многих случаях большего и не требуется, но при необходимости (допустим, для создания нашей линии «Нюхль») линию можно создать через текстовый редактор.
Создание линии «Нюхль» через текстовый редактор.
Для более безболезненного переноса линий в будущие версии nanoCAD, а также для того чтобы избежать декодирования текста, рекомендуется добавлять собственные линии в раздел Пользовательские типы линий файла ncad.lin (файл расположен по пути: C:\ProgramData\Nanosoft\nanoCAD x64 21.0\SHX) (табл. 1).
Таблица 1. Структура содержания файла *.lin
номер строки | пояснение | пример |
0 | Комментарии через знак »;» | ;; Пользовательские типы линий |
1 | Первая строка — уникальное имя и пояснение (визуализация) | *Нюхль, Нюхль и Монеты |
2 | Вторая строка — начертания (через запятую, без пробелов) | A,10,-10,[«Нюхль», NIFFLER, S=5],-30,10, -55,[NIFFLER, NIFFLER.shx, S=1], -20,[COIN, COIN.shx, S=1, Y=4],-15,[COIN, COIN.shx, S=1, Y=4],-15,[COIN, COIN.shx, S=1, Y=4],-5 |
Вторая строка всегда начинается с символа «А», задающего выравнивание (рис. 13). Согласно этому типу выравнивания, линия должна начинаться и заканчиваться штрихами ненулевой, положительной длины. При необходимости для выполнения условия выравнивания первый и последний штрихи могут удлиняться. Для коротких отрезков, в которые не умещается даже одно звено линии, программа построит только один штрих (сплошную линию). В описании линии задается один повторяющийся фрагмент.
Рис. 13. Примеры выравниванияПравила внесения элементов линий собраны в таблице 2, а параметры вставки форм и текста приведены в таблице 3.
Таблица 2. Внесение элементов линий
Элемент | Описание | Пример | Примечание |
Штрих | Любое положительное число | 10 | |
Точка | Нулевое значение | 0 | |
Пробел | Любое отрицательное число | -10 | |
Текст | [«Текст», имя текстового стиля, параметры вставки текста] | [«Нюхль», NIFFLER, S=5] | Текстовый стиль с заданным именем обязательно должен быть создан до импорта линии. Имя шрифта, который используется в этой линии, — romanc.shx |
Форма | [имя формы, имя файла форм. shx, параметры вставки формы] | [COIN, COIN.shx, S=1, Y=4] | Форма с заданным именем обязательно должна быть загружена до импорта линии |
Таблица 3. Параметры вставки форм и текста
Имя параметра | Описание | Пример |
Масштаб | Масштабный коэффициент для формы или высоты текстового стиля. Формат записи: S=значение | S=5 |
Угол поворота | Угол поворота (в градусах) текста или формы относительно направления линии. Формат записи: R=± значение Параметр допустимо не указывать, в этом случае его значение принимается равным 0. | R=30 |
Поворот текста | Этот параметр применяется при необходимости поворачивать текст или форму относительно центральной точки. Формат записи: U=± значение В этом случае параметр R не записывают. | U=80 |
Абсолютный поворот | Угол поворота текста или формы относительно начала координат. Все текстовые объекты или все формы поворачиваются одинаково, вне зависимости от их положения относительно линии. Формат записи: А=±значение Параметр допустимо не указывать, в этом случае его значение принимается равным 0. | А=-30 |
Смещение по X | Смещение текста или формы по оси Х, направленной вдоль линии. Формат записи: X=±значение Параметр допустимо не указывать, в этом случае его значение принимается равным 0. Параметр S=значение на смещение X не влияет. | X=5 |
Смещение по Y | Смещение текста или формы по оси Y, направленной вдоль линии. Формат записи: Y=±значение Параметр допустимо не указывать, в этом случае его значение принимается равным 0. Параметр S=значение на смещение Y не влияет. | Y=-5 |
Рассмотрим разницу в применении параметров R и U (рис. 14). Попробуйте самостоятельно определить, где применяется параметр R=80, а где U=80?
Рис. 14. Разница в параметрах линийТеперь не страшно писать собственные линии, не так ли? Главное не перепутать чемоданчик для путешествий, а что в него обязательно нужно положить — мы уже знаем:
переключение между разными типами линий;
загрузку новых типов линий;
создание собственных линий разными способами.
Удачного проектирования! :)
Все материалы доступны по QR-коду.
Прямая ссылка на скачивание: https://ftp.nanosoft.su/file_57689705760cb43ed6a8d4
Асель Бексултанова,
технический специалист
по Платформе nanoCAD,
«Нанософт разработка»
E-mail: bexultanova@nanocad.ru