Ribbon команда в автокаде
17 мин. ——
Вот как всегда! мучаешься 2 дня к ряду, только обратишься за помощью и оп! все получилось
Для тех, у кого возникнет эта проблема:
внизу есть пиктограмка замок — положение панелей инструментов (не путать с блокировкой видового экрана). Это рядом с переключением рабочих пространств.
Замок надо отключить и все разблокировать. У меня пункт "освободить" так и не появился, но перетаскивать ленту стало возможно и она прилипла наверх, куда и требовалось
Как закрепить ленту в автокаде сверху?
Щелкните мышью по линейке, чтобы выбрать текст «Лента» и значок зубчатого колеса. Перетащите курсор в верхнюю часть и перемещайте курсор, пока не отобразится контур закрепленной ленты. Отпустите кнопку мыши, когда лента будет закреплена.
Как вернуть верхнюю панель инструментов в автокаде?
Включение панелей инструментов
- В командной строке введите MENUBAR и задайте значение 1.
- Щелкните «Инструменты» > меню «Панели инструментов».
- Выберите нужные панели инструментов, чтобы включить их.
Как вернуть ленту в автокаде?
В командной строке в AutoCAD введите:
- ЛЕНТА, чтобы отобразить или включить ленту.
- ЛЕНТАЗАКР, чтобы скрыть/отключить ленту.
Как вернуть панель вкладок в автокаде?
Щелкните правой кнопкой мыши в любом месте ленты и используйте меню Показать вкладки и Показать панели, чтобы включить нужные вкладки или панели.
Как закрепить панели инструментов в AutoCAD?
Для того чтобы появилась расширенная панель, достаточно нажать на стрелку, как показано на рисунке. Мы подскажем, как настроить в Автокаде панель инструментов. Такие панели можно закреплять, нажав на булавку в левом нижнем углу.
Как вернуть панель меню в AutoCAD?
Выполните одно из следующих действий:
Как восстановить панель инструментов в фотошопе?
Как вернуть панель инструментов слева
- Нужно зайти в меню «Окно», и там найти пункт, который называется «Инструменты», затем напротив него поставить галочку, если ее до этого не было;
- Если напротив «инструментов» присутствовала галка, то можно попробовать убрать ее, а после снова поставить и перезагрузить программу.
Как восстановить рабочее пространство в автокаде?
В меню «Сервис» выберите «Панели инструментов» > AutoCAD. Выберите панель инструментов и закрепите ее слева или справа. Выберите другие необходимые панели инструментов. Выберите «Сервис» > «Рабочие пространства» > «Сохранить текущее как» и сохраните рабочее пространство.
Как настроить ленту Автокад?
Как вернуть ленту в автокаде 2018?
Выберите меню «Сервис» Палитры Лента или введите ЛЕНТА в командной строке. Прим.: Отобразится лента, состоящая из вкладок, которые назначены текущему рабочему пространству.
Как восстановить панель инструментов в Архикаде?
Панели инструментов Архикад
Как добавить панель Спдс в Автокад?
Как добавить деталь СПДС GraphiCS на панель инструментов AutoCAD
Какие панели инструментов необходимы начинающему пользователю AutoCAD?
При первом запуске AutoCAD по умолчанию в главном окне приложения отображаются панели инструментов Standard (Стандартная), Object Properties (Свойства объекта), Draw (Рисование), Modify (Редактирование).
Как вернуть панель инструментов в автокаде 2020?
ТЕМА: Расположение ленты в итерфейсе
- Алекс010
- Вне сайта
- Новый участник
- Постов: 3
- Репутация: 0
- dmitriy
- Вне сайта
- Администратор
- Постов: 1016
- Thank you received: 172
- Репутация: 59
- Алекс010
- Вне сайта
- Новый участник
- Постов: 3
- Репутация: 0
- dmitriy
- Вне сайта
- Администратор
- Постов: 1016
- Thank you received: 172
- Репутация: 59
фотка не приложилась у вас. Пробуйте по разному, я тут вам не помогу Технологию я объяснил, другой нет
В данной публикации мы рассмотрим пример программного построения собственной вкладки на ленте, а также несколько проблемных вопросов, связанных с лентой.
В последнее время стало очень популярным нововведение под названием лента (Ribbon). Autodesk не стал отставать от жизни и, начиная с 2009 автокада, тоже начал использовать ленту.
Мы рассмотрим пример создания вкладки на ленте для 2010 автокада и рассмотрим несколько сопутствующих «проблемных» вопросов. Почему для него? Да потому что в 2009 лента была еще «сырая» (но там тоже можно так сделать), и потому что для последующих автокадов (2011-2013) код будет анологичен.
- создать файл АПИ (cui) со своей лентой и подгружать его. На мой взгляд самый плохой и проблемный вариант. ИМХО
- создать вкладку на ленте программно — этот вариант и рассмотрим
- создать вкладку используя технологию WPF — я не стал разбираться
- Проект —> Добавить ссылку —> вкладка «Обзор» —> из папки с автокадом 2010 выбираем файлы: acdbmgd.dll, acmgd.dll, AdWindows.dll. Не забываем в свойствах этих файлов поставить значение false для параметра Копировать локально;
- Проект —> Добавить ссылку —> вкладка «NET» —> добавляем ссылки на следующие библиотеки: PresentationCore, PresentationFramework, WindowsBase.
3. Теперь рассмотрим из чего состоит лента на примере этой картинки:
Тут в принципе и описывать нечего.
4. Добавляем в наш проект две иконки размерами 16х16 и 32х32 в формате .jpg. Так, как я ленивый, то использовал одинаковую картинку первую попавшеюся на просторах интернет.
Главное для этих файлов поставить значение Resource для параметра Действие при построение:
5. Переходим к коду. Открываем файл Class1.cs (или можете свой создать), удаляем класс Class1 и создаем свой собственный класс, унаследованный от IExtensionApplication. Назовем его ExampleRibbon.
Далее я хотел как-то пошагово описать все действия, но решил, что удобней и понятней будет сразу привести весь код с пояснениями:
6. Все — код готов. Компилируем его (Построение —> Построить решение), открываем автокад 2010, выполняем команду NETLOAD и выбираем наш плагин . \ACadRibbon\ACadRibbon\bin\Debug\ACadRibbon.dll.
И сразу же после загрузки мы увидим, что у нас добавилась новая вкладка на ленте:
Данный вариант активно используется в моем плагине ModPlus и пока не вызвал нареканий.
В прошлой своей статье я пообещал, что напишу еще несколько небольших заметок о разработке плагинов для AutoCAD. На Хабре сведений по этой теме крайне мало — пожалуй, можно и добавить еще пару материалов в обойму. В этой статье я приведу пример создания на ленте AutoCAD новой вкладки с несколькими элементами управления.
Введение
Когда я в свое время начинал работать с лентой, то больше всего мне помог пример, изложенный здесь. В основном я буду опираться именно на него.
Кроме того, некоторую информацию можно почерпнуть из этого поста Kean Walmsley.
Для начала вспомним, как выглядит лента в AutoCAD:
В верхней части расположен список вкладок ленты (Home, Mesh Modeling, Render. ). При выборе вкладки на ленте отображаются элементы управления этой вкладки, сгруппированные в панели (Modeling, Mesh, Solid Editing. ).
Ну что же, приступим.
1. Создание нового проекта плагина
2. Добавление ссылок на необходимые библиотеки
3. Собственно написание кода для создания новой вкладки
- создать элементы интерфейса;
- сгруппировать эти элементы в контейнеры;
- создать панели, на которых будут размещены эти контейнеры;
- создать вкладку, на которой будут размещены эти панели;
- добавить созданную вкладку на ленту AutoCAD.
Собираем проект, запускаем AutoCAD, загружаем с помощью команды NETLOAD наш плагин, выполняем команду TestCommand…
Да, не самый впечатляющий результат. :)
Но ничего, чуть позже сделаем вкладку повеселее. А пока разберемся с тем, что уже есть.
4. Поиск элементов на ленте
Для поиска вкладки на ленте можно использовать метод ComponentManager.Ribbon.FindTab(string id) . В качестве аргумента необходимо указать Id вкладки, заданный при ее создании.
Существуют аналогичные методы для поиска панели ( ComponentManager.Ribbon.FindPanel(string id, bool SearchActiveTabOnly) ) и прочих элементов управления ( ComponentManager.Ribbon.FindItem(string id, bool SearchActiveTabOnly) ).
В случае успешного нахождения элемента приведенные функции вернут соответствующий объект, иначе будет возврашено значение null .
5. Обработка нажатия кнопки
Для привязки обработчика нажатия кнопки служит свойство CommandHandler класса RibbonButton . В этом свойстве необходимо указать метод, реализующий интерфейс System.Windows.Input.ICommand .
В рамках интерфейса ICommand класс должен реализовать событие CanExecuteChanged , а также функции CanExecute и Execute .
Событие CanExecuteChanged оповещает пользователей команды о возможном изменении ее доступности для выполнения (короче говоря, работает она или не работает). Функция CanExecute позволяет узнать, доступна ли команда для выполнения в данный момент времени. А функция Execute — это собственно те действия, которые должна выполнять команда, когда ее вызвали.
В настоящем примере команда доступна всегда, и это состояние не меняется. В моей реальной задаче тоже ни разу не возникало необходимости как-то использовать первые два параметра.)
6. Взаимодействие с выпадающим списком ( RibbonCombo )
6.1 Добавление, изменение, удаление элементов списка
Все элементы выпадающего списка RibbonCombo содержатся в его свойстве Items . Оно имеет тип System.Collections.ObjectModel.ObservableCollection , причем в качестве типа содержимого выступает System.Object . Таким образом, элементом коллекции может быть объект любого класса. К сожалению, если просто добавить в этот массив несколько текстовых строк, то желаемого эффекта мы не получим:
Чтобы получить приличный выпадающий список, в качестве его элементов можно использовать экземпляры рассмотренного выше класса RibbonButton :
В результате увидим вот что:
- метод Remove(object item) — для удаления указанного элемента;
- метод RemoveAt(int index) — для удаления элемента на указанной позиции;
- метод Clear() — для удаления всех элементов из коллекции;
- свойство Count — для получения количества элементов в коллекции.
Обычно элемент списка соотносится с каким-то объектом предметной области. Чтобы иметь возможность быстро определить, с чем сопоставлен тот или иной элемент списка, можно использовать свойство Tag класса RibbonButton :
Тогда при обработке элемента списка можно посмотреть, какой был задан тег:
Можно пойти и еще дальше. Поскольку свойство Tag имеет тип System.Object , в качестве тега может выступать объект любого класса, в том числе и созданного самим программистом:
После этого можно будет обратиться к любому свойству этого объекта:
При возникновении острого желания экономить строки есть возможность писать конструкции вида
Разумеется, в реальном коде необходимо убеждаться, что полученные значения не равны null .
6.2 Обработка события выбора элемента списка
При выборе элемента списка RibbonCombo генерируется событие CurrentChanged . Вот простой пример обработчика такого события:
Результат:
7. Настройка внешнего вида элементов управления
Во-первых, элементы управления можно располагать друг под другом — это особенно удобно, если используются «узкие» элементы вроде выпадающих списков.
Во-вторых, у каждого элемента управления есть свойства, позволяющие изменять его внешний вид. Например, для выпадающего списка можно задать заголовок и ширину, для кнопки — размер (большая или маленькая) и подпись. Кроме того, можно добавить всплывающие подсказки (в примере она добавлена для третьей кнопки).
Результат:
На этом статья подходит к концу. В следующий раз напишу о работе со слоями и простыми графическими объектами.
В пятой части цикла, посвященного разработке плагинов под AutoCAD, я расскажу про создание простых блоков и размещение их на чертеже.
Если при работе с чертежом возникает необходимость создания однотипных объектов, то лучше всего делать это с помощью механизма блоков — именованных групп объектов, которые ведут себя как единый объект. Общие сведения о блоках можно получить здесь.
Важно уметь четко разграничивать два понятия: определение блока и вхождение блока. Подробное описание различий приведено здесь (англ.) и тут (rus). Вкратце изложу суть: когда мы создаем новый блок, AutoCAD помещает его описание в специальную таблицу блоков. Это описание называется определением блока (block definition). Определение блока существует исключительно в таблице блоков и на чертеже не отображается. Непосредственно на поле чертежа AutoCAD помещает вхождение блока (block reference) — ссылку на определение блока. При изменении определения блока все вхождения блока повторяют эти изменения. Далее в статье я иногда буду опускать первое слово («определение» или «вхождение») и писать просто «блок».
Должен сказать, что лично мне перевод «экземпляр блока» нравится гораздо больше, чем «вхождение блока». Но раз уж так написано в документации…
Как говорится, почитай отца своего, почитай мать свою и почитай руководство по эксплуатации.
Про динамические блоки я расскажу в другой раз. А пока посмотрим, как можно работать с обычными блоками.
Для начала давайте создадим блок непосредственно в AutoCAD. Программирования здесь не будет — но умение создать блок вручную полезно для того, чтобы быть в состоянии хотя бы приблизительно оценить результат работы плагина. Подробности процесса — под спойлером.
Если читатель уже знаком с редактированием блоков в AutoCAD, то из этого раздела ничего нового он для себя не почерпнет.
Итак, во-первых необходимо добавить на чертеж элементы, которые мы будем объединять в блок. Для начала добавим в блок простую окружность.
В командной строке AutoCAD выполним команду CIRCLE, затем укажем центр и радиус. На чертеже появится окружность:
Выделим окружность и выполним команду BLOCK. На экране появится меню создания блока. К аналогичному результату приведет нажатие кнопки «Create» на панели «Block»:
Зададим блоку имя, выставим единицы измерения «Unitless» и снимем флажок «Open in Block Editor», после чего нажмем «ОК»:
Выбор единиц измерения позволяет задать блоку размер, который будет автоматически пересчитываться в разных системах измерения (европейской, с метрами и миллиметрами — и американской, с футами и дюймами). Если выставить значение «Unitless», то блок будет использовать те единицы измерения, которые установлены в чертеже. Я всегда выставлял значение «Unitless»; хорошо это или плохо — не знаю.
После этого AutoCAD попросит указать на чертеже точку, которая будет являться для блока базовой. Обычно в качестве этой точки задают центр блока или его нижний левый угол. Укажем в качестве базовой точки центр окружности.
Мы завершили создание блока. Первое вхождение блока будет добавлено на чертеж автоматически и заменит собой элементы, из которых был создан этот блок. Чтобы добавить на чертеж несколько вхождений созданного блока, можно использовать команду INSERT или одноименную кнопку на панели «Block»:
После выполнения команды или нажатия на кнопку на экране появится окно вставки блока:
Выбираем в списке нужный блок, нажимаем «OK», указываем точку вставки — и блок появляется на чертеже. В том, что это именно блок, можно убедиться, выделив объект и посмотрев на окно свойств:
Для редактирования блоков используется редактор, который вызывается командой BEDIT или соответствующей кнопкой на панели «Block»:
После выполнения команды или нажатия на упомянутую кнопку на экране появится окно выбора определения блока:
В этом окне необходимо выбрать определение, которое мы будем редактировать, и нажать «OK». После этого AutoCAD откроет редактор блоков. Пробежимся по самым, на мой взгляд, важным кнопкам панели редактора:
- Save Block — сохранить все сделанные изменения. После закрытия редактора блоков все вхождения блока, размещенные на чертеже, будут обновлены в соответствии с изменениями определения блока.
- Authoring Palettes — показать или скрыть окно атрибутов. Это окно пригодится при работе с динамическими блоками.
- Point — в этом выпадающем подменю находится пункт «Basepoint», с помощью которого можно задать блоку новую базовую точку.
- Close Block Editor — закрыть редактор блоков. Все несохраненные изменения будут потеряны.
На этом краткий экскурс в создание блоков в AutoCAD завершен. Можно переходить к коду. :-)
Пример создания простого блока
Этот раздел базируется на соответствующем посте в блоге Kean Walmsley (наш пример по сравнению с первоисточником будет заметно облегчен). Мы будем создавать простейший блок, состоящий из полилинии, окружности и блока текста.
Кстати, раз уж зашел разговор про колбасные обрезки…
За последние пару лет (боже, как время-то летит!) произошло много всего хорошего. В частности, Самая Лучшая И Величайшая Компания В Мире все-таки выпустила бесплатную профессиональную версию Visual Studio.
Да, Visual Studio Community Edition занимает больше места, чем Express, и интерфейс у нее чуть посложнее — но рано или поздно у разработчика обычно возникает необходимость работы с дополнениями IDE, а они в Express-версиях не поддерживаются. Такие дела.
Пример из жизни: автор этих строк весело писал плагин в VS Express, и ничто не предвещало беды… пока не встала задача добавить программу установки (msi-файл, который создается с помощью технологии Wix). В итоге весь код инсталлятора пришлось писать в Notepad++, ежеминутно сверяясь с документацией, и компилировать вручную.
А в Visual Studio Professional можно было бы просто подключить плагин для работы с Wix и делать все прямо в IDE — с подсказками, автодополнением кода и компиляцией прямо в проекте. Можно. Было бы…
В общем, если вы работаете в компании, у которой не больше 250 ПК и годовой доход менее $1 000 000, то очень рекомендую при наличии пары-тройки лишних, бессмысленных часов жизни потратить их на установку этого продукта и далее работать с ним.
Если же бессмысленных часов в вашей жизни нет, то осознайте, что все — тлен, жизнь — боль, а влачить свое существование без установленной Visual Studio Community Edition — значит лишь увеличивать энтропию этого мира.
- Создать в таблице блоков новую запись (определение блока).
- Добавить в определение блока необходимые геометрические объекты.
- Добавить на чертеж вхождение блока.
Теперь давайте разбираться, что происходит в коде.
Вначале мы проводим подготовительные операции: получаем ссылки на документ, его БД и свойство Editor , задаем имя нового блока и начинаем транзакцию. Ничего нового в этом нет, кроме разве что свойства Editor .
Внутри транзакции мы действуем по алгоритму, изложенному в начале этого подраздела.
- открываем таблицу блоков (запрашиваем доступ на запись, поскольку будем вносить изменения);
- проверяем, нет ли в таблице блока с таким именем (при попытке создать блок с именем, которое уже есть в таблице блоков, мы получим исключение eDuplicateRecordName , которое нам совершенно не нужно);
- создаем новое определение блока;
- задаем созданному определению блока имя;
- добавляем созданное определение блока в таблицу блоков и в транзакцию.
- создается необходимый объект;
- задаются свойства этого объекта;
- созданный объект добавляется в определение блока и в транзакцию.
- открывается на запись пространство модели;
- создается новое вхождение блока;
- созданное вхождение блока добавляется на пространство модели и в транзакцию.
Использование блоков, уже имеющихся в таблице блоков документа
Если теперь выполнить команду HabrCommand, затем удалить с чертежа появившийся блок и повторно выполнить команду HabrCommand, то на чертеже вновь появится вхождение нашего блока. При этом нового определения блока создано не будет — плагин возьмет запись, которая уже имеется в таблице блоков.
В рассмотренном примере я для разнообразия использовал метод UpgradeOpen() , который довольно часто фигурирует в примерах и документации. Давайте разберем, как он работает.
Если в первом примере мы сразу открывали таблицу блоков на запись ( OpenMode.ForWrite ), то теперь мы вначале открываем ее только на чтение ( OpenMode.ForRead ). Этого нам хватит, чтобы просмотреть таблицу и выяснить, содержится ли в ней блок с нашим именем. Если такой блок найдется, то мы можем прочитать его ObjectID , для чего нам опять-таки хватит доступа только на чтение. Если же блока с нашим именем в таблице нет, то нам нужно его добавить, и для этого уже потребуется доступ на запись. Чтобы получить такой доступ, используется метод UpgradeOpen() — после вызова этого метода мы можем работать с таблицей блоков, как будто открыли ее с уровнем доступа OpenMode.ForWrite .
Использование UpgradeOpen() , наверное, является хорошей практикой. По крайней мере, Kean Walmsley точно так делает. Но подробных данных о том, какие сокровища и жизненные блага достаются тем, кто использует UpgradeOpen() , у меня нет. Сам я в работе эту конструкцию не использовал и особых огорчений по этому поводу не испытывал. Если кто-то может представить свою позицию по использованию UpgradeOpen() — рад буду увидеть ее в комментариях или ЛС.
Изменение позиции вставки блока
- от базовой точки, заданной в определении блока;
- от точки вставки, заданной во вхождении блока.
Заметим, что при создании определения блока мы нигде не задавали базовую точку в явном виде — в подобном случае AutoCAD считает, что базовой точкой является начало координат. В нашем примере «центр» фигуры был специально подобран так, чтобы он совпал с центром координат.
Числа -50 и -125 — это минимальные координаты нашего блока по осям X и Y соответственно (такие координаты имеет нижняя левая вершина полилинии, образующей внешнюю границу нашего блока).
Теперь разберемся с точкой вставки блока. Она задается для каждого вхождения блока и показывает, где после вставки блока окажется его базовая точка. Это свойство задается в конструкторе класса BlockReference — например, так:
Блок сдвинулся опять.
Точку вставки блока можно также изменить с помощью свойства Position класса BlockReference :
Эффект будет таким же, как и при задании точки непосредственно в конструкторе класса BlockReference .
Использование блоков внутри блока
Мы тут все любим блоки, так что давайте-ка добавим пару блоков в наш блок, чтобы упростить чертеж, пока мы упрощаем чертеж.
Добавление блока в определение блока не представляет никакой сложности. Главная особенность заключается в том, что если уж мы добавляем в блок не геометрический примитив, а вхождение вспомогательного блока, то нам обязательно нужно позаботиться о том, чтобы определение этого вспомогательного блока имелось в таблице блоков документа.
Комментировать здесь, по большому счету, нечего: мы просто добавляем в таблицу блоков определение вспомогательного блока, а затем создаем вхождение вспомогательного блока и задаем ему координаты точки вставки.
В качестве несложного самостоятельного упражнения читателям предлагается выполнить покраску элементов блока и приведение их размеров и расположения в соответствие с Приказом № 1500.
Зачем применять блоки?
Основных причин две… Начнем со второй.
Вторая причина
Когда на чертеже содержится большое количество однотипных объектов, использование блоков здорово сокращает размер файла чертежа. Прочувствовать это нам поможет следующий код:
Код весьма незамысловат: имеется две процедуры — drawFigure(double x, double y) и drawBlock(double x, double y) . Первая отрисовывает в заданной точке набор фигур, в точности повторяющий наш блок, а вторая создает в заданной точке вхождение нашего блока.
Далее следуют две команды — HabrCommand_DrawFigures и HabrCommand_DrawBlocks. Первая отрисовывает на чертеже 10 000 наборов фигур, вторая — 10 000 вхождений блока.
Десять тысяч наборов фигур:
Десять тысяч вхождений блока:
Запустим AutoCAD, выполним первую команду, сохраним чертеж. Затем закроем AutoCAD и повторим аналогичную процедуру для второй команды. В итоге получим два dwg-файла. Сравним их размеры.
Файл с наборами фигур:
Файл с вхождениями блока:
Первая причина
Некоторое увеличение размера файла чертежа — это нехорошо, но не так уж и страшно: Россия большая, места хватит всем. Однако есть проблемы и посерьезнее.
Представим, что в вышеупомянутый Приказ №1500 внесли дополнение, жестко регламентирующее расположение пуговицы на погоне, и нам нужно перенести на всех погонах окружность несколько выше от текущего положения.
Если мы использовали блоки, то задача решается в несколько строк кода: мы просто откроем определение блока, найдем там окружность и сдвинем ее центр в нужную точку. Поскольку все вхождения блока ссылаются на одно и то же определение, после выполнения команды все они обновятся автоматически.
Как читатель уже наверняка заметил, в этой команде происходит редактирование блока. Ничего запредельного в этом нет; в одной из следующих статей я постараюсь чуть подробнее осветить вопросы выбора элементов на чертеже и их редактирования. Данный пример основан на этом (англ.) и этом (англ.) источниках. По второй ссылке, кстати, можно найти целых пять разных способов убедиться в том, что объект является окружностью. Мы, разумеется, использовали самый неэффективный простой и понятный из них.
Маленькая деталь: AutoCAD действительно обновит все вхождения блоков, однако чтобы это увидеть, необходимо выполнить команду REGEN:
Безусловно, подобную операцию можно провернуть и в случае геометрических фигур, а не вхождений блоков, однако тогда придется работать уже со всем чертежом и менять координаты центра окружности не один раз, а десять тысяч. Тестов я не проводил, но думаю, что эта процедура займет несколько больше времени, чем редактирование определения блока.
С другой стороны, каждая монета имеет аверс и реверс, а использование блоков накладывает свои ограничения.
Например, если потребуется заменить лейтенантский погон, расположенный в одиннадцатой строке и сорок втором столбце, на капитанский, то при использовании блоков никаким нормальным способом мы это сделать не сможем.
Придется либо создавать новый блок для капитана, либо дорисовывать звездочки вручную, либо прибегать к каким-нибудь дополнительным извращениям.
NэBpaЩeHuЯ — одна из причин, по которым мне НЕ нравится программировать. С некоторых пор я работаю конторским пенсионером, чему искренне рад.
Краткий вывод (куда ж без него-то): использование блоков может сэкономить массу сил и времени, но применять их надо обоснованно, при наличии необходимости.
На этом я, пожалуй, завершусь. В следующий раз расскажу про поиск и редактирование объектов на чертеже. Как всегда, буду рад любым отзывам, замечаниям и предложениям — в комментариях или ЛС.
Для управления типами линий чертежа в AutoCAD предусмотрен « Linetype Manager » (Диспетчер типов линий). С его помощью можно загружать в чертеж новые и удалять неиспользуемые типы линий, менять текущий тип линий, переименовывать и редактировать описания типов линий, а также настраивать параметры, отвечающие за отображение и печать типов линий. И в данной статье обо всех функциях и возможностях « Linetype Manager » (Диспетчера типов линий) AutoCAD…
Диспетчер Linetype Manager в AutoCAD 2020
Открытие
В AutoCAD 2020 существует несколько способов открытия « Linetype Manager »:
- Команда LINETYPE (или ТИПЛИН в русской версии AutoCAD);
- « Ribbon » (Лента) › вкладка « Home » (Главная) › панель « Properties » (Свойства) › раскрывающийся список « Linetype » (Тип линий) › пункт « Other… » (Другое…);
- Меню « Format » (Формат) › пункт « Linetype… » (Типы линий…);
- Панель инструментов « Properties » (Свойства) › раскрывающийся список « Line Type Control » (Типы линий) › пункт « Other… » (Другой…).
List of Linetypes (Список типов линий)
Основой диспетчера « Linetype Manager » является область, в которой отображается « List of Linetypes » (Список типов линий). Список представлен в виде таблицы из трех столбцов:
- « Linetype » (Тип линий), в который выводится имя соответствующего типа;
- « Appearance » (Внешний вид), в котором представлен образец начертания линии;
- « Description » (Описание), в который выводится описание типа линий.
Данные для заполнения столбцов « Linetype » и « Description » считываются из определения типа линий, хранящегося в файле формата LIN , при загрузке линии в документ.
Область List of Linetypes диспетчера Linetype Manager
Главная функция списка типов линий — предоставить пользователю возможность выбрать те из них, с которыми необходимо что-либо сделать. При выделении типов линий в списке можно пользоваться стандартными для Windows горячими клавишами:
- ‹ Ctrl › — чтобы выделить несколько несмежных типов;
- ‹ Shift › — чтобы выделить несколько последовательно расположенных линий.
Также при выделении типов линий можно пользоваться контекстным меню, которое вызывается кликом правой кнопкой мыши в области « List of Linetypes » диспетчера. В контекстном меню содержатся две команды:
- « Select All » (Выбрать все) — выделяет сразу все типы;
- « Clear All » (Очистить все) — снимает выделение со всех линий.
Область « List of Linetypes », наряду с разделом « Details » (Подробности) диспетчера, может использоваться для переименования типов линий. Если нажать клавишу ‹ F2 › или просто кликнуть по выделенному типу линий, то в столбце « Linetype » появится текстовое поле, в которое можно ввести новое имя для него. Заданное таким образом имя не меняет содержания файла с определением типа линий и будет использоваться только в текущем документе. После замены имени в чертеж можно еще раз загрузить этот же тип линий. Имя для вновь загруженного типа будет взято из файла с его определением. Нельзя переименовать типы линий « ByLayer » (ПоСлою), « ByBlock » (ПоБлоку), « Continuous » (Непрерывный) и линии из подгруженных в чертеж внешних ссылок.
Linetype filters (Фильтры типов линий)
В диспетчере « Linetype Manager » имеются инструменты, позволяющие пользователю выбирать, какие именно типы линий будут отображаться в области « List of Linetypes ». Эти инструменты вынесены в раздел « Linetype filters » (Фильтры типов линий).
Из расположенного в разделе « Linetype filters » раскрывающегося списка можно выбрать три условия:
- « Show all linetypes » (Показать все типы линий) — в списке отображаются все типы линий, загруженные в чертеж, вне зависимости от того, используются они или нет, а также типы из подгруженных в чертеж внешних ссылок;
- « Show all used linetypes » (Показать все используемые типы линий) — в списке отображаются все используемые типы линий, вне зависимости от того, присутствуют они на чертеже или нет. Так, например, в числе используемых будут отображаться типы линий, заданные слоям, назначенные объектам в составе блоков, принадлежащие внешним чертежам, даже если эти слои, блоки, внешние ссылки в чертеж не вставлены;
- « Show all Xref dependent linetypes » (Показать все зависимые типы линий) — в списке отображаются только типы линий из подгруженных в чертеж внешних ссылок, вне зависимости от того, вставлены они в чертеж или нет.
Если в разделе « Linetype filters » диспетчера поставить галочку « Invert filter » (Инвертировать фильтр), то в области « List of Linetypes » будут отображаться типы линий, которые не удовлетворяют выбранному из раскрывающегося списка условию:
- « Show all linetypes » (Показать все типы линий) + « Invert filter » (Инвертировать фильтр) — список пуст;
- « Show all used linetypes » (Показать все используемые типы линий) + « Invert filter » (Инвертировать фильтр) — в списке отображаются все неиспользуемые типы линий, которые загружены в чертеж, но никак не задействованы;
- « Show all Xref dependent linetypes » (Показать все зависимые типы линий) + « Invert filter » (Инвертировать фильтр) — в списке отображаются все загруженные в чертеж типы линий, кроме тех, которые принадлежат подгруженным в чертеж внешним ссылкам.
Кнопки
Для запуска некоторых команд в диспетчере « Linetype Manager » предусмотрены кнопки:
- « Load… » (Загрузить…) — открывает диалоговое окно « Load or Reload Linetypes » (Загрузка/перезагрузка типов линий), которое используется для загрузки в чертеж новых типов линий и обновления загруженных ранее;
- « Delete » (Удалить) — удаляет из чертежа, а следовательно и из списка, выделенные типы линий. Из чертежа могут быть удалены только неиспользуемые типы линий. Нельзя удалить из чертежа типы линий « ByLayer » (ПоСлою), « ByBlock » (ПоБлоку) и « Continuous » (Непрерывный); тип линий, назначенный текущим; линии, принадлежащие подгруженным в чертеж внешним ссылкам. При попытке избавиться от не подлежащего удалению типа, на экране появится окошко с предупреждением «The selected linetype was not deleted» (Выбранный тип линии не был удален) и перечнем типов линий, которые не могут быть удалены;
- « Current » (Текущий) — делает выделенный тип линий текущим, который будет автоматически назначаться всем новым объектам чертежа. По умолчанию текущим является тип линий « ByLayer » (ПоСлою), то есть объекты наследуют тип линий слоя, в котором они лежат. Имя текущего типа линий выводится в диспетчере « Linetype Manager », в поле « Current Linetype » (Текущий тип линий);
- « Show/Hide details » (Вкл/Откл подробности) — переключатель, отвечающий за отображение раздела « Details » (Подробности) диспетчера « Linetype Manager ». Когда раздел скрыт кнопка называется « Show details » (Вкл подробности) и открывает его. Когда раздел отображается, кнопка называется « Hide details » (Откл подробности) и закрывает его. По умолчанию раздел « Details » скрыт;
- « OK » — закрывает диспетчер « Linetype Manager » с сохранением всех внесенных изменений;
- « Cancel » (Отмена) — закрывает диспетчер « Linetype Manager » с отменой всех внесенных изменений;
- « Help » (Справка) — открывает статью руководства пользователя AutoCAD, посвященную « Linetype Manager ».
Details (Подробности)
В разделе « Details » (Подробности) диспетчера « Linetype Manager » можно изменить имя и описание выделенного типа линий, а также настроить параметры, отвечающие за отображение и печать типов линий. В нем располагаются следующие элементы:
Читайте также: