Типы линий и где они хранятся

356995a73b011dd3c4aeea646ef82de4.png

Линии окружают нас повсюду, они не раз спасали людям жизнь. Каким образом? Вспомним хотя бы буквенные коды в азбуке Морзе — каждая буква азбуки представляет собой определенную последовательность точек и тире, и, если с помощью этих символов написать повторяющуюся последовательность букв, получим линию. Пример — на рис. 1.

Рис. 1. Азбука Морзе и пример линииРис. 1. Азбука Морзе и пример линии

Также и при проектировании невозможно представить чертеж, не содержащий разных (по весу, цвету, начертанию) линий. Поэтому тема применения линий и выбора мест их хранения в среде проектирования всегда будет актуальной. Разберемся, как это устроено в nanoCAD.

Что такое линия? Это повторяющаяся последовательность штрихов, точек и пробелов, наносимых вдоль прямой или кривой. Но, если заглянуть в ГОСТ, можно заметить, что линии не всегда являются только набором точек и штрихов — есть и так называемые сложные типы линий, содержащие в себе текст или формы.

nanoCAD предлагает множество разных типов линий: линии из ГОСТ 2.303 уже предустановлены, есть и файл с линиями стандарта ISO. Кроме того, здесь можно создавать любые, самые нестандартные типы линий, причем это не отнимет много времени и сил. Чтобы в этом убедиться, погрузимся в волшебный мир линий и создадим две довольно сложные линии (рис. 2).

Рис. 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Рис. 3. Способы применения линий в nanoCAD

Посмотреть, какая линия является текущей, а также переключиться на другую можно на функциональной панели Свойства, на вкладке Главная в группе Свойства, или в диалоговом окне Типы линий (вкладка Главная → группа ОформлениеТипы линий) — рис. 4.

Рис. 4. Просмотр текущего типа линииРис. 4. Просмотр текущего типа линии

Здесь важно отметить, что линии могут храниться в самих dwg-файлах. Те из них, что уже имеются в этих файлах (на панели свойств), на самом деле были загружены в шаблон *.dwt, на основе которого и был создан dwg-файл. Поэтому при передаче чертежей, в которых имеются уникальные линии, можно не волноваться об их сохранности — если, как вы, наверное, уже догадались, в линиях не используются уникальные формы или шрифты.

Загрузить новую линию в текущий документ можно двумя способами (рис. 5–6):

  • через панель свойств, в выпадающем меню Загрузить;

Рис. 5. Способ 1: панель свойствРис. 5. Способ 1: панель свойств
  • через диалоговое окно Типы линий.

Важно! Чтобы загрузить сложные линии, нам нужно предварительно не только положить в папку SHX все используемые формы, но и создать текстовые стили, которые прописаны в линии. Узнать о том, какие текстовые стили используются в линии, можно с помощью любого текстового редактора.

Рассмотрим диалоговое окно Типы линий поподробнее. Здесь всё достаточно просто. В правой верхней части окна располагаются кнопки для создания, удаления, редактирования, импорта и экспорта линий.

Рис. 6. Способ 2: диалоговое окноРис. 6. Способ 2: диалоговое окно

Центральная часть представляет собой небольшую таблицу из трех столбцов:
·       Статус — отображение текущей линии. Текущую линию можно установить переключением галочки.
·       Имя — отображение имени линии. Здесь имя можно отредактировать, но переименование типа линии изменит его описание только в текущем чертеже — в lin-файле название останется прежним.
·       Пояснение — текстовое описание типа и примерное отображение линии.

Типы линий «По слою», «По блоку», «Сплошная» удалить или переименовать нельзя. Также нет возможности удалить текущий тип линии.

В графе Подробности (она располагается в нижней части окна) можно настроить работу с масштабами:

  • Масштаб в единицах пространства листа — полезная опция при использовании нескольких видовых экранов.

  • Глобальный масштаб — задание глобального масштабного коэффициента для всех типов линий. Установленный глобальный масштаб относится ко всем вновь создаваемым и уже созданным линиям. Выделив линию, его можно проследить в масштабах символов. Глобальный масштаб удобно использовать при нестандартном масштабе линий.

  • Текущий масштаб — задание масштабного коэффициента для вновь создаваемых линий. Результирующий коэффициент масштаба будет равен произведению глобального и текущего масштабов.

Создавать линии в nanoCAD можно двумя способами:

  1. через встроенный редактор типов линий;

  2. через любой текстовый редактор.

Конечно, мы опробуем оба способа. Линию «Ньют» создадим через встроенный, а линию «Нюхль» через текстовый редактор.

Рассмотрим, из чего будут состоять линии.

Линия «Ньют» (рис. 7).

Рис. 7. Состав линии «Ньют»Рис. 7. Состав линии «Ньют»

Линия «Нюхль» (рис. 8).

Рис. 8. Состав линии «Нюхль»Рис. 8. Состав линии «Нюхль»
  • Штрих — тире любой положительной длины.

  • Пробел — тире любой отрицательной длины (расстояние между соседними элементами).

  • Точка — штрих нулевой длины.

Вне зависимости от того, какой способ используется, все формы и шрифты должны быть у нас готовы/установлены, также необходимо заранее создать нужные текстовые стили. Текст «Fantastic Lines» (имя текстового стиля — «Fantastic Beasts») набран шрифтом Harry Potter, его можно найти на просторах интернета Создание формы SEGMENT было разобрано в статье «Штриховки, файлы форм, или Как прикоснуться к искусству». В линии «Нюхль» используется шрифт romanc.shx с именем текстового стиля — «NIFFLER».

Давайте теперь наполним наш чемоданчик нужными формами!

Форма «WAND».

553993e6d3c8fa8ad8314e08754c8b91.gif

Первое, что нужно волшебнику, — своя волшебная палочка. Конечно, ее всегда можно одолжить у друзей или взять у автора, но, согласитесь, намного приятнее сделать собственную. Тем, кто уже знаком с формами (см. статью «Штриховки, файлы форм, или Как прикоснуться к искусству»), создать ее не составит особого труда. Моя волшебная палочка будет выглядеть достаточно просто — примерно так же, как у Ньюта Саламандера из «Фантастических тварей» (рис. 9).

Рис. 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».

9da2c91248fb702e49c8868635252b39.gif

Далее создаем своего любимца, у меня это Нюхль — маленький пушистый зверек с вытянутой мордочкой (рис. 10).

Рис. 10. Форма «NIFFLER»Рис. 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».

16581e575e168bd69a9119fe2a1520b8.gifРис. 11. Форма «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

Чемодан для путешествий собран. Приступим к созданию линий!

35c6a506196590935a9bcd0ed313a2ff.png

Создание линии «Ньют» через встроенный редактор.

Чтобы открыть встроенный редактор, необходимо в диалоговом окне Типы линий выбрать линию и нажать кнопку Редактировать (рис. 12).

Рис. 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. Примеры выравниванияРис. 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. Разница в параметрах линийРис. 14. Разница в параметрах линий

Теперь не страшно писать собственные линии, не так ли? Главное не перепутать чемоданчик для путешествий, а что в него обязательно нужно положить — мы уже знаем:

  • переключение между разными типами линий;

  • загрузку новых типов линий;

  • создание собственных линий разными способами.

Удачного проектирования! :)

Все материалы доступны по QR-коду.

e929f806b65a90adb50f2a8bea98dd61.png

Прямая ссылка на скачивание: https://ftp.nanosoft.su/file_57689705760cb43ed6a8d4

Асель Бексултанова,
технический специалист
по Платформе nanoCAD,
«Нанософт разработка»
E-mail: bexultanova@nanocad.ru

© Habrahabr.ru