Тема: Как сделать мултилинию текущей
У меня есть Мозаичное меню для ввода блоков в чертеж. Я хочу добавить в него команду для ввода стиля мултилинии и одновременно что-бы он становился текущим. Что нужно вписать после ^C^C...
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → Настройка меню и DIESEL → Как сделать мултилинию текущей
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
У меня есть Мозаичное меню для ввода блоков в чертеж. Я хочу добавить в него команду для ввода стиля мултилинии и одновременно что-бы он становился текущим. Что нужно вписать после ^C^C...
Системная переменная _cmlstyle содержит имя текущего стиля мультилинии. Соответсвенно если у вас в чертеже присутствует, например, стиль "MyMlstyle" то макрос
^C^C_cmlstyle;"MyMlstyle";
установит этот стиль текущим.
Огромное спосибо AY. Все работает отлично. Но есть дополнитильный вопрос: A возможно сделать так чтоб если этот стиль не существует он вставлялся из наружного файла, и только после этого становился текущим. И тоже самое для типа линии - вставлять и делать текущим.
> Irena
Для типа линии я бы использовал нечто типа https://www.caduser.ru/forum/topic22816.html
С мультилиниями не воевал, так что ничего сказать не могу :(
> Кулик Алексей aka kpblc
Это для меня сильно сложно. Мне нужно задействовать это через Мозаичнное меню и каждую линию выбирать в отдельности по слайду в окошке, а насколько я понимаю lisp туда не впишешь. Нужно его как-то задействовать. Я уже обошлась своими кустарными способами (т. к. lisp я не знаю). Вставляю кусочек линии блоком, потом он стирается и тип становится текущим. Вот как это выглядит:
^C^C_-insert ИмяФайла;\ ;E;l;;_-linetype;S;"ТипЛинии";;
А вот с мультилиниями хотелось бы еще повоевать
Если вас устраивает ваше решение с типами линий, то проделайте аналогичный фокус с мультилинией - результат будет соответствующий.
Однако я бы посоветовал использовть для таких целей немного другой вариант макроса, а именно:
^C^C_-insert;"BlockFileName";(command);_-purge;_b;"BlockFileName";_n;_cmlstyle;"MyMlstyle";
где:
"BlockFileName" - имя файла блока (обратите внимание в макрокоманде оно присутствует дважды);
"MyMlstyle" - имя стиля мультилинии.
Такой вариант лучше вашего потому, что в нем, во-первых, не используется команда удаления, теоретически способная удалить не то что требовалось, а во-вторых - командой _-purge удаляестя описание блока из рисунка дабы не "захламлять" его.
> AY
Вариант отличный. Сделала так и мултилинии и типы линий. Еще раз огромное спасибо.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → Настройка меню и DIESEL → Как сделать мултилинию текущей
Форум работает на PunBB, при поддержке Informer Technologies, Inc