|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Конструктор Регистрация: 18.02.2005
Москва
Сообщений: 125
|
и Вам поклон низкий!!!
Ну и что б два раза не вставать (сам-то уже пробывал - не получилось...) Всё в слой 0, цвет остаётся, тип и вес линий по слою... Можно??? Пожалуйста Последний раз редактировалось pers2, 23.05.2013 в 15:13. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Так там вроде так и делается?
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
геолог Регистрация: 27.11.2015
Сообщений: 2
|
Дома autocad нет под рукой, у меня несколько расширенная задача.
Так же постоянно экспортируем в dfx из горно-геологического программного комплекса, все вылезает отрезками, для своего удобства выгоняем различными цветами (зачастую более одного десятка цветов), потом ручками разносим послоям и дальше работаем. Времени уходит уйма. Пробовал Lisp из сообщения #18 работает идеально, создает слои Color_"номер цвета", все разносит, но цвет слоя белый. Только сейчас увидел, что нужно был попробовать нужно код из #10. На работе все попробую. Еще раз огромное спасибо, сократили нам огромный объем работы. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
sergeev_2005,
Кратко - можно. А дальше одни вопросы. Есть слой "0", цвет слоя "красный", его нужно переименовать в "0_1", где 1 - красный? Есть слой "Стена", цвет слоя "синий",его нужно переименовать в "Стена_5"? Есть слой "Оси", цвет слоя "119,213,34",его нужно переименовать в "Оси_119_213_34"? Что делать, если есть слой "Стена", цвет слоя "синий" и слой "Стена_5" так же еcть в перечне слоев?
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Проектирование гражданских зданий Регистрация: 25.03.2010
Санкт-Петербург
Сообщений: 90
|
VVA, спасибо!
Нет, не так. Как в твоей программе C2L иметь возможность самому давать название слоя для переименования в зависимости от цвета. Если цвет слоя с любым названием "119,213,34", то дать слою новое название (вручную), например "Мойслой1", как в твоей программе C2L. Если цвет слоя с любым названием "4", то дать слою новое название (вручную), например "Мойслой2". |
|||
|
||||
Проектирование гражданских зданий Регистрация: 25.03.2010
Санкт-Петербург
Сообщений: 90
|
Все бы устраивало, но примитивы имеют цвет "по слою".
А в этом случае ничего не происходит. А мне нужно все слои с цветом 119,213,34 назвать "Мойслой1" и т.д. То есть все примитивы, "лежащие" на разный слоях с одним и тем же цветом, оказались на новом слое, название которому я сам могу дать. ----- добавлено через ~38 мин. ----- Да, именно это и нужно! Но, наверное, я много хочу. По программе L2LC самопроизвольно создались новые слои типа "Color_182_181_180" и "Color_7". Это не нужно. А вот два "старых" слоя с одинаковым цветом повели себя следующим образом: первый получил новое название, которое я задал, а вот второй как был, так и остался с прежним названием. А хотелось бы, чтобы слои с одинаковым цветом слились в один слой. И объекты с этих слоев попали на один новый слой. Ну очень надо! ----- добавлено через ~58 мин. ----- VVA, можно надеяться на помощь? |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Исправил в #29
Это требует пояснения. Как появляются два слоя с одинаковым цветом?
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Проектирование гражданских зданий Регистрация: 25.03.2010
Санкт-Петербург
Сообщений: 90
|
Нет, они не появились. Они были. Конкретно, их названия были "A-WALL-PATT1" с цветом "133,169,214" и слой "A-WALL-PATT4" с цветом "133,169,214".
На первом и втором слое лежали "одинаковые" объекты (полилинии с заливкой). И мне надо в идеале, чтобы эти объекты перешли на новый слой "Мой слой...", а "A-WALL-PATT1" и "A-WALL-PATT4" удалились. Фактически сейчас получается, что объекты, лежавшие на слое "A-WALL-PATT1" перешли на новый слой "Мой слой...", причем слой "A-WALL-PATT1" удалился. А вот слой "A-WALL-PATT4" остался, и объекты на нем остались. ----- добавлено через ~4 мин. ----- Может быть сформулировать иначе? Все объекты, лежащие на слоях с одинаковым цветом, должны перейти на новый слой, название которому я задам вручную, а слои, на которых они лежали, удаляются. |
|||
|
||||
КИП, проектировщик Регистрация: 02.04.2012
Самара
Сообщений: 54
|
Уже несколько дней бьюсь с задачей и никак не найду решение. VBA занимаюсь по случаю, поэтому самое сложное - понять почему выскочила ошибка. Долго искал в интернете в итоге нашел эту ветку.
Задача: есть чужой чертеж с множеством слоев разного (иногда и одинакового) цвета. Необходимо разместить все примитивы цвета Х или с цветом по слою и расположенных на слое с цветом Х на отдельном слое "sloi_x" где х - цвет (1...255). Попробовал код выше. Если у примитива конкретный цвет - все нормально. Но если цвет по слою - примитивы никуда не переносятся. В итоге у меня куча слоев, по 2-6 шт одного цвета. То есть после работы программы у меня 4 желтых слоя осталось, 6 красных, два зеленых. AutoCAD2007
__________________
Ник AntonFox зарегистрирован! |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,855
|
Если у примитива цвет "по слою" - читай, какой у него слой, определяй цвет слоя и вперед.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
КИП, проектировщик Регистрация: 02.04.2012
Самара
Сообщений: 54
|
Если бы все было так просто... У меня перебираются все примитивы, 3 ветки условий.
1. Если цвет примитива по слою, примитиву присваивается цвет слоя. 2. Если цвет примитива по блоку, присваивается цвет белый 3. Если цвет примитива какой-то другой (1...255), создается слой "sloi_X", где Х- цифра цвета (проверка на существование слоя тоже есть) и примитив переносится на этот слой, цвет делается по слою. Примитивы по первым двум веткам так же проходят через ветку 3, поскольку мы им поменяли цвет на "цифру" В большинстве случаев все срабатывает на ура. Но примерно 10% файлов ведут себя иначе. Если удаляю часть чертежа, я получаю новые ошибки в других местах. Предполагаю, что дело в каких-то примитивах, но почему ошибки скачут с места на место, не понимаю. Код:
__________________
Ник AntonFox зарегистрирован! |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,589
|
Наборы нужно чистить перед использованием.
Глобальные переменные - зло. Строить логику работы программы на обработчиках ошибок - еще большее зло Про остальное писать не буду, я не пишу на VBA и мог подзабыть многое... То что я изваял из Вашего кода, лично мне не нравится, но за неимением времени... пойдет. Код:
Последний раз редактировалось Boxa, 08.05.2020 в 15:40. Причина: Принцип единственной ответственности нужно соблюдать, не смог себе пересилить и подправил. |
|||
|
||||
КИП, проектировщик Регистрация: 02.04.2012
Самара
Сообщений: 54
|
Не все понял что вы сделали и написали - буду еще разбираться, НО.... (см. картинку)
PS: Некоторые вещи у вас уже увидел - проще и красивее сделали. Увы, из-за редкого программирования почти не совершенствуюсь, от того и казусы.
__________________
Ник AntonFox зарегистрирован! |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
1000 слоев. Нормально или плохо? И другие аспекты правильного черчения в автокаде | Vova | AutoCAD | 96 | 07.09.2019 16:26 |
Для чего нужны фильтры слоев?Как ими пользоваться? | Aysulu | AutoCAD | 43 | 17.04.2019 10:59 |
Unreconciled new layers при Xref | Red Nova | AutoCAD | 17 | 10.01.2019 13:00 |
Почему не проходит теплорасчет? | Suom | Конструкции зданий и сооружений | 15 | 10.08.2011 17:22 |