|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
19.10.2004, 10:52 | #1 | |
Нужен Лисп для перевода цвета объекта
Москва
Регистрация: 20.01.2004
Сообщений: 154
|
||
Просмотров: 10763
|
|
||||
Регистрация: 20.01.2004
Москва
Сообщений: 154
|
Спасибо что откликнулись,но
у меня в одном файле работает а в другом не хочет пишет ошибку "_color-bylayer ; error: An error has occurred inside the *error* functionAutoCAD variable setting rejected: "OSMODE" nil" и если бы еще можно было выбирать объекты, которым он менял цвета У архитекторов там такая куча мала со слоями и цветами, проще все в один слой кинуть чем в них разбираться.... |
|||
|
||||
Регистрация: 22.11.2010
Сообщений: 5
|
Решил в этой старой темке вопрос задать, чтобы не плодить лишнего...
Подскажет ли кто-нибудь как извлечь лиспом цвет слоя? Мой случай: есть куча примитивов, у которых расцветка по слою. Т.е. в явном виде нет цвета. Мне надо узнать цвет слоя каждого примитива, произвести анализ и разбросать примитивы в слои с одинаковым цветом. Лишние слои удалить. |
|||
|
||||
Регистрация: 22.11.2010
Сообщений: 5
|
Попробовал. Блин комом.
Первое: как при помощи entmod присвоить примитиву цвет, если у некоторых примитивов в наборе группа 62 отсутствует (т.е. по умолчанию указана по слою)? Второе: как грамотно создать логистику выбора примитивов из списка по цвету примитива и цвету слоя? Код: Код:
|
|||
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 571
|
Цитата:
Код:
Код:
__________________
cadtools |
|||
|
||||
Регистрация: 22.11.2010
Сообщений: 5
|
Конечно можно. Просто надо знать какую группу менять. Чтобы не листать книги я вывожу на экран свойства двух идентичных примитивов, отличающихся лишь одним признаком, например:
Command: Command: test “Выберите обьект: ((-1 . <Entity name: 7eeb8540>) (0 . LINE) (330 . <Entity name: 7eeb6cf8>) (5 . 220) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . 0) (6 . Continuous) (100 . AcDbLine) (10 947.293 1511.57 0.0) (11 2167.95 1514.11 0.0) (210 0.0 0.0 1.0))((-1 . <Entity name: 7eeb8540>) (0 . "LINE") (330 . <Entity name: 7eeb6cf8>) (5 . "220") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (6 . "Continuous") (100 . "AcDbLine") (10 947.293 1511.57 0.0) (11 2167.95 1514.11 0.0) (210 0.0 0.0 1.0)) Command: TEST “Выберите обьект: ((-1 . <Entity name: 7eeb8548>) (0 . LINE) (330 . <Entity name: 7eeb6cf8>) (5 . 221) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . 0) (6 . Continuous) (370 . 90) (100 . AcDbLine) (10 906.605 1140.51 0.0) (11 2091.66 1163.38 0.0) (210 0.0 0.0 1.0))((-1 . <Entity name: 7eeb8548>) (0 . "LINE") (330 . <Entity name: 7eeb6cf8>) (5 . "221") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (6 . "Continuous") (370 . 90) (100 . "AcDbLine") (10 906.605 1140.51 0.0) (11 2091.66 1163.38 0.0) (210 0.0 0.0 1.0)) Зная, что второму примитиву я средствами автокада назначил вес линии 0,9 ищу отличия в описании и вычисляю группу. В моём примере - это группа 370. Она появилась во втором примитиве (370 . 90) и её значение соответствует толщине 0,9мм. В первом примитиве значение толщины было "по слою", поэтому и не присутствует в описании |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Garand, а что ты хочешь заменить-то?
Как вариант: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 28.10.2008
Сообщений: 26
|
Не, не совсем то, а как раз наоборот: не замена цвета на "ПоСлою", а замена с "ПоСлою" на цвет фактический, заданный в менеджере слоев. Так вот, в коде поста №4 это все решается, а я хочу еще менять веса и типы линий с "ПоСлою" на фактические. Хочу, но не получается.
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Я специально не ставил обработку заблокированных и замороженных слоев...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||