Макрос. Вставить блок в заданный слой.
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Макрос. Вставить блок в заданный слой.

Макрос. Вставить блок в заданный слой.

Ответ
Поиск в этой теме
Непрочитано 11.05.2015, 13:12 #1
Макрос. Вставить блок в заданный слой.
sathalex
 
Регистрация: 02.07.2014
Сообщений: 59

Для вставки блока использую такой макрос ^C^C_-insert;(имя блока);\;;;\
Подскажите, как дополнить данный макрос, чтобы при вставке в чертеж блока создавался слой с заданным именем, и этот блок помещался в данный слой.
Просмотров: 3642
 
Непрочитано 13.05.2015, 10:44
#2
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


Поиском надо вообще-то пользоваться...
http://forum.dwg.ru/showthread.php?t...C+%F1%EB%EE%E9
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Непрочитано 13.05.2015, 13:50
1 | #3
LynxM


 
Регистрация: 17.08.2010
Kyiv
Сообщений: 688
<phrase 1= Отправить сообщение для LynxM с помощью Skype™


sathalex, перед командой -insert дописать макрос для создания слоя.
Цитата:
-слой;создать;ИМЯ_СЛОЯ;цвет;ЦВЕТ_СЛОЯ;;вес;ВЕС_СЛОЯ;;;
(тип линии, заморозка/разморозка и т.п. не указана на примере).
__________________
Лучше не обещать, чем обещать и не исполнять.
LynxM вне форума  
 
Автор темы   Непрочитано 13.05.2015, 16:51
#4
sathalex


 
Регистрация: 02.07.2014
Сообщений: 59


Цитата:
Сообщение от LynxM Посмотреть сообщение
sathalex, перед командой -insert дописать макрос для создания слоя.
(тип линии, заморозка/разморозка и т.п. не указана на примере).
Спасибо, все понял. Вот только я назначаю цвет слою, скажем зеленый и мой блок соответственно вставляется зеленым. Сам блок представляет собой крест(зеленого цвета) и атрибуты(белого цвета). Вот как мне сделать, чтоб при вставке блока его цвета были исходные? Сейчас макрос выглядит вот так
Цитата:
^C^C-слой;создать;крест_координат;цвет;зеленый;;;_-insert;krest_koordinat;\;;;\

Последний раз редактировалось sathalex, 13.05.2015 в 17:15.
sathalex вне форума  
 
Непрочитано 13.05.2015, 17:46
#5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Внутри блока назначай цвета примитивам принудительно. Хотя лично я считаю это порочной практикой.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 13.05.2015, 21:08
#6
sathalex


 
Регистрация: 02.07.2014
Сообщений: 59


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Внутри блока назначай цвета примитивам принудительно. Хотя лично я считаю это порочной практикой.
Решил вопрос. Вот такой макрос прописал
Цитата:
^C^C-слой;создать;крест_координат;;;^C^C_-insert;kr_set;\;;;
Вот как бы мне его (макрос) дополнить, чтоб после того как он (макрос) создает слой и вставляет блок возвращал меня в слой что был прежде.
sathalex вне форума  
 
Непрочитано 13.05.2015, 22:20
#7
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Запоминай старое значение системной переменной clayer, а потом возвращай обратно. В чем вопрос-то?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.05.2015, 08:07
#8
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Запоминай старое значение системной переменной clayer, а потом возвращай обратно. В чем вопрос-то?
Зачем так сложно, есть же команда "_LayerP".
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 14.05.2015, 09:06
#9
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Krieger, ну есть еще ToolPalettes - там вообще все просто до ужаса )))
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.05.2015, 09:51
#10
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Ну да. Только вот там не всегда срабатывает возврат слоя, например у меня на палитре вот такой макрос забит:
Код:
[Выделить все]
^C^C_-insert;ListPanel;\1;1;0;_EXPLODE;_last;_-purge;_Blocks;"ListPanel";_No;
Слой меняется на нужный, но после выполнения макроса предыдущий не возвращается.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 14.05.2015, 10:03
#11
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Ээээ... А зачем макрос? Правый пинок на инструменте - Свойства и выбирай что надо и как. Смысла в макросе я не вижу никакого.
Миниатюры
Нажмите на изображение для увеличения
Название: ToolPalettes.png
Просмотров: 39
Размер:	123.4 Кб
ID:	149785  
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.05.2015, 10:30
#12
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Кнопка сама по себе не вставляет шасшаренный чертеж как блок. Т.е. ListPanel - это не блок изначально, а dwg файл в путях поиска. Уж так они у меня хранятся, с тех пор когда еще не было палитр. Не в этом суть, здесь то слой и не надо менять, т.к. он расчленяется после. Просто эта та кнопка, где возврат слоя не срабатывает. Были еще такие кнопки, но я их на лисп перевел давно, не помню уже какие именно не срабатывали.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Макрос. Вставить блок в заданный слой.



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои макрокоманды zenon Программирование 1048 16.03.2025 07:36
Линии электрических соединений Shoorup Программирование 23 07.02.2015 15:13
Создать блок для вставки в чертеж congr Динамические блоки 2 30.09.2012 22:02
как вставить блок в точки, заданные во внешнем файле (txt,) Marina Динамические блоки 8 06.04.2012 16:04
Помогите доделать программу добавления объектов в блок МишаVBA Программирование 1 20.05.2006 01:04