| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
25.01.2009, 03:05 | #1 | |
Автоматическое назначение цветов по градиенту на комплект слоев
Екатеринбург
Регистрация: 14.03.2008
Сообщений: 678
|
||
Просмотров: 5708
|
|
||||
Проектировщик СС Регистрация: 24.06.2008
Минск
Сообщений: 134
|
Коряво наверное, но работает.
Код:
Внимание программа изменяет цвета всех слоев формата "###*", включая замороженные и заблокированные, кроме тех, для которых указан цвет отличный от белого. Последний раз редактировалось Donhuan, 26.01.2009 в 00:51. |
|||
|
||||
Сначала это все на сайте NASA было, потом несколько зеркал появилось. Качать можно здесь http://ftp.ecc.u-tokyo.ac.jp/GIS/e0s...SRTM3/Eurasia/или здесь http://ftp.ecc.u-tokyo.ac.jp/GIS/e0s...SRTM3/Eurasia/. Неполная коллекция лежит еще и здесь http://gps.uralstars.com/srtm/- по скорости значительно быстрее первых двух.
Эти файлы открываются и обрабатываются в GlobalMapper http://www.globalmapper.com/ |
||||
|
||||
Проектировщик СС Регистрация: 24.06.2008
Минск
Сообщений: 134
|
Спасибо за ссылки.
В проге изначально считается, что имена начинаются с цифр. Отбор слоев осуществляется в этом куске кода: Код:
Можешь либо почитать в хелпе про формат шаблона данной функции, либо описать все возможные имена слоев, которые надо обрабатывать и я модернизирую прогу. Вообще лучше наверное будет сделать, чтобы передавать шаблон как параметр в функцию. Последний раз редактировалось Donhuan, 26.01.2009 в 01:52. |
|||
|
||||
Проектировщик СС Регистрация: 24.06.2008
Минск
Сообщений: 134
|
Дополненный вариант.
Запуск фукции (gr_color_layers "*_m") в ком. строке. Работает непосредственно с файлом .dwg после экспорта из GM. От пользователя требуется только присвоить цвета нужным слоям. Установка цвета полилиний в bylayer и создание градиента производится функцией. Код:
|
|||
|
||||
Donhuan, Вы меня опередили я еще возможные форматы не описала, сорри. Сумашедший денёк был.
Сегодня совместила этот рельеф с гарминовской графикой и выдала археологам промежуточный вариант, им понравилась идея. Сказали, что это действительно удобно и даже сказали, что это лучшая карта из тех, что у них есть |
||||
|
||||
Проектировщик СС Регистрация: 24.06.2008
Минск
Сообщений: 134
|
Последняя функция должна сильно ускорять перевод цветов полилиний в bylayer, попробуйте.
У меня лично в больших файлах попытки измения цвета стандартным способом сразу всех полилиний скопом, приводили к вылету акада из-за нехватки памяти. По-идее если названия слоев имеют формат "уровень *_m" (а других вариантов в GM кроме футов нет, для этого достаточно задать шаблон "*_ft"), то все они будут обработаны последним вариантом функции с указанным параметром (шаблоном). P.S. Если планируется постоянное использование в работе данного лиспа, то в будущем можно присобачить к нему диалоговое окно и придумать как можно автоматом назначать ключевые цвета слоям. Последний раз редактировалось Donhuan, 26.01.2009 в 19:03. |
|||
|
||||
Вы прямо мысли читаете Весь день про диалоговое окно думала, но не решалась попросить.
Если бы было диалоговое окно, то тогда наверное стоило бы отвязаться от слоев с их форматами и задавать цвета по значению Elevation или по значению одного из полей в таблице объектных данных. Тогда этим лиспом можно было бы обрабатывать практически любые даные из разных программ. |
||||
|
||||
Проектировщик СС Регистрация: 24.06.2008
Минск
Сообщений: 134
|
По большому счету можно и отказаться от слоев, если каждое сечение заведомо расположено на своем уровне. Но здесь есть ньюанс: если понадобиться вдруг поэкспериментировать с рисунком в плане подбора окраски, то перекрашивать каждый раз линии будет гораздо медленее чем слои. Хотя есть выход - создавать нужные слои самостоятельно.
В диалоговом окне можно будет задавать шаблон слоев и настраивать цветовую шкалу. Только быстро это сделать не получится потому как работать еще надо |
|||
|
||||
Не получилось почему-то... еще раз попробую завтра.
Сделала еще пару файлов, определились такие форматы: -20_M -2_M 0_M 20_M 200_M 2000_M и вариант с десятичным делителем 20_5_M и с сортировкой слоев проблема - сортируется, как текстовый формат, а не по возрастанию числовых значений. |
||||
|
||||
Donhuan, Еще на заметку. Ты сейчас применяешь модель RGB для перехода. Как вариант попробовать перевести в HSL и управлять долями H (оттенок ), S (насыщенность) и L (яркость).
Функции перевода здесь. Хотя может это и лишнее. И так получается красиво *** Добавлено Ещ один вариант (про круги) http://autolisper.googlepages.com/ Беглый просмотр кода показывает, что тоже меняют градиент через HSL
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 25.08.2010 в 13:28. |
||||
|
||||
Donhuan, теперь все получилось (я вчера без скобок команду вводила поэтому и не шло). Классно, что программа теперь сама цвет примитивов меняет на BYLAIER. Намного быстрее, чем врукопашную.
А, с какого объема у Вас автокад начал вылетать? Может быть окно Свойств открыто было? Я вчера 15 квадратов в один файл собрала и все работало. |
||||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Для чего нужны фильтры слоев?Как ими пользоваться? | Aysulu | AutoCAD | 43 | 17.04.2019 10:59 |
Назначение слоев в AutoCAD 2007 | RodiXX1 | AutoCAD | 5 | 02.08.2007 23:58 |