| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
23.03.2016, 10:44 | #1 | |
Как запретить использование слоя 0.
Регистрация: 12.08.2009
Сообщений: 447
|
||
Просмотров: 4027
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Как вариант - отслеживать системную переменную clayer и обрабатывать ее изменения
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,835
|
Цитата:
Еще и Defpoints не надо трогать
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Об чем?
Что именно? Раз понятие реактора знакомо, то вперед - реактор на изменение системной переменной.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,091
|
Зачем жестко запрещать? Мало ли для чего могут быть нужны примитивы на слое 0 - для создания блока из них, например. Но для того, чтобы в законченных чертежах не было мусора, предлагаю повесить на событие (реактор) сохранения функцию проверки, чтобы после сохранения выдавалось сообщение типа:
Цитата:
|
|||
|
||||
Вы уж определитесь четко, чего хотите - запретить использование слоя "0", только выводить предупреждение или еще какой-то вариант и от этого уже можно будет отталкиваться. Реализуемо все, главное - четко понимать, чего хочется. Прямо вот досконально, что должна делать программа:
- Если запускаем чертеж, а там есть объекты на слое "0"? - Если там же, текущим установлен слой "0"? - А если слой "0" - единственный в чертеже? - А когда пользователь устанавливает текущим слой "0"? - А если вне зависимости от текущего слоя, объект попадает на слой "0" (например, пользователь с инструментальной палитры вставляет объект в чертеж, у объекта настроен слой вставки "0" или получены объекты на слое "0" после взрыва блока)? - ... Проработайте все эти ситуации и алгоритмы действий при них и пишите программу на любом понравившемся языке - lisp, C#, VB...
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
Регистрация: 12.08.2009
Сообщений: 447
|
Если человек хотя бы однажды имел дело с внешними ссылками, он знает, что управлять объектами на слое 0 невозможно. Слой 0 - один и не дублируется при вставке ссылок. Для создания объектов в блоках, их можно положить в 0. Ситуацию с единственным слоем в чертеже не рассматриваем, потому что в нашем случае этого не может быть- в шаблоне всегда есть объекты в других слоях. Все палитры настроены- в 0 ничего не кладется.
В общем оптимально, чтобы при установке слоя 0 текущим, возвращался текущим слоем предыдущий. Но как к этому подойти не имею понятия. |
|||
|
||||
Тогда ищите того, кто сможет. Вариант: http://forum.dwg.ru/forumdisplay.php?f=33
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
Как-то так
Код:
Можно повесить ректор на :vlr-commandWillStart и проверять слой перед началом команды, но как узнать какой слой был до этого?
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Цвет блока по слою, при смене слоя мог бы меняться цвет. | gizmo_zx | AutoCAD | 2 | 22.10.2015 14:46 |
где регламентируется толщина снимаемого почвенно-растительного слоя? какой СНиП? | dfufyjdf | Технология и организация строительства | 18 | 02.06.2012 14:31 |
перенос всех линий слоя в блоках в другой слой | Positron | Программирование | 6 | 10.02.2012 15:59 |
Почему не проходит теплорасчет? | Suom | Конструкции зданий и сооружений | 15 | 10.08.2011 17:22 |