|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Таблица+атрибут(?) с заливкой?
архитектор
Беларусь
Регистрация: 02.04.2006
Сообщений: 349
|
||
Просмотров: 7572
|
|
||||
архитектор Регистрация: 02.04.2006
Беларусь
Сообщений: 349
|
Шквал советов... Гуры, где вы? В частности, очень хотелось бы узнать мнение Vova по данному вопросу.
Вьюпорты сделал; работают, естественно, и цвет меняется, как положено. Неужели это единственное решение? И вопрос-то ведь не абстрактный, а на 100% связанный с реальной практикой. |
|||
![]() |
|
||||
архитектор Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,342
|
Цитата:
Цитата:
Цитата:
Получается что идея с vports-ами единственное решение. Попробовал vport в блок положить и в ячейку вставить - vport в блоке не показывает свое содержимое |
|||
![]() |
|
||||
архитектор Регистрация: 02.04.2006
Беларусь
Сообщений: 349
|
>Лентяй, Vova, Asys Спасибо всем!
>Vova Понимаю... Мне не срочно, время терпит. >Лентяй Выкладываю. Фасады кидаю тоже, мне не жалко. Заодно, может, и по ним какое мнение услышу... Это всё по т. н. Программе возрождения села (агрогородки и т. п., может, слыхали?). Хотят почти бесплатно из ***** конфетку сделать. Хорошо, если их вообще станут красить. В таблице соответствия - только цвета, использованные в чертеже (из них два - не "чистый" RAL, а разбелы. С этими что делать?). Лишние лэйауты выкинул; если заливка прёт вперёд - draworder. [ATTACH]1149694906.dwg[/ATTACH] |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
> Archeo
Ну вот, наваял, вроде работает. Обработчика ошибок, правда нет, ибо лениво, да и прочие знатоки щач ринутся на готовенькое улучшать до бесконечности :twisted: . Прога работает небыстро, но да ничего ![]() Код:
|
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
Цитата:
|
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
|
|||
![]() |
|
||||
архитектор Регистрация: 02.04.2006
Беларусь
Сообщений: 349
|
>Лентяй Спасибо! Вот только есть ещё одна проблемка. Я... э-э-э... как бы это сказать помягче... не вполне представляю себе, а что же делать с этим замечательным кодом, чтобы оценить его по достоинству?
>Всем Просьба не биться, а, если не трудно, потратить ещё кусочек своего времени и рассказать несведущему в этом вопросе. Копируем код, вставляем его в текстовый документ, присваиваем расширение .lsp? Да? Нет? А дальше что? А то человек делал, старался, а я не в курсе, как облечь это в рабочую форму... |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
>Archeo
Нет ничего проще. Открываете АвтоКАД, в меню "Инструменты" (Tools) открываете "Редактор VLISP" (Visual LISP Editor). В этом редакторе открываете новое окно, куда и копирутете код. Код:
>Asys Попробуй код выше. Введена проверка на нахождение примитива, потому как не всегда это происходит. Вот почему так - не знаю [sm2100]. МБ, коллектив подскажет. [sm1400] |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Ну, не зочет оно, сцуко, выбираться в точку, где велено
![]() Код:
|
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
Цитата:
|
|||
![]() |
|
||||
архитектор Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,342
|
Цитата:
![]() ![]() p.s. да, еще можно ли сделать чтоб имя цвета заливки вставлялось полем в ячейку? |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
> Asys
Держи исправленный и дополненный вариант. Теперь можно заполнять как строки подряд, так и выборочно, т.е. редактировать таблицу. Код:
1. ОБЯЗАТЕЛЬНО создай два листа (layouts) "Passport" и "TABLE". Если имена другие, то нужно пeреписать имена листов в команде (FndTbl " "). Впрочем, без листа "TABLE" можно обойтись, если заменить его текстовым файлом, в котором каждая строка - имя и код цвета. Но тогда нужно переписать соотв. кусок программы. 2. Форма таблиц должна быть, как у Archeo. Если это не так, то нужно заменить на "правильные" целые числа в строках, начинающихся с vla-setCell и vla-setText - это номера столбцов в таблицах. Учти, что первый номер - 0. Цитата:
![]() ![]() |
|||
![]() |
|
||||
архитектор Регистрация: 02.04.2006
Беларусь
Сообщений: 349
|
Всем привет! Я, видимо, особо непонятливый экземпляр. Ничего у меня не получается с этими кодами. Их три варианта; соответственно, сделал из них три лиспа, как было сказано, через VLISP Editor. Загружал их в разных сессиях АвтоКАДа. Меняю цвет цоколя, запускаю первый вариант лиспа, автоматом попадаю в лэйаут “Passport”, в котором уже активизировался произвольный вьюпорт (из тех, что с цветом), причём каждый раз – разный. При зуммировании роликом активными становятся другие вьюпорты, в произвольном порядке, пока в какой-то момент вдруг не становится активным пространство листа. Само по себе. Дальше не происходит ничего. По F2 получаем следующее:
Команда: _appload COLOR_CHANGE_1.LSP successfully loaded. Команда: clrtbl Restoring cached viewports - Regenerating layout. Restoring cached viewports - Regenerating layout. Команда: ; error: bad argument type: VLA-OBJECT nil Команда: При запуске второго варианта лиспа имеем сообщение о неизвестной команде CLRTBL. Попытка № -дцать: меняю цвет цоколя (либо ещё чего-нибудь, неважно), он, естественно, автоматически отображается в соответствующем вьюпорте в таблице на лэйауте “Passport”. Далее загружаю третий вариант лиспа. Меня просят выбрать объекты. Выбираю изменённый цвет цоколя, автоматом попадаю в лэйаут “Passport”. Меня спрашивают, заполнить ли таблицу? Ответ – да. Просят выбрать начальный ряд – щёлкаю мышкой в ячейке таблицы (пробовал в разных ячейках и даже в разных строках). Результат один: изменённым цветом заливается последняя ячейка выбранной строки. Вся целиком. Дальше не происходит ничего. В том числе и изменений текстовых индексов цвета. По F2: Команда: _appload COLOR_CHANGE.LSP successfully loaded. Команда: Command: Команда: CLRTBL Regenerating layout. Restoring cached viewports. Команда: Выберите объекты: 1 found Выберите объекты: Команда: Restoring cached viewports - Regenerating layout. Заполнить таблицу [Да/Нет]: ? <Да>Д Команда: Выбери начальный ряд: Команда: ; error: ActiveX Server returned an error: Параметр является обязательным Команда: Где и что я делаю не так? PS. Пока пробовал, Лентяй сотворил четвёртый вариант лиспа. С ним я ещё не успел поработать. |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Вот возьми последний вариант и сним работай, вместо того. счтобы заниматься всякими гдупостями. Не забудь только удалить из таблицы свои мальнькие видовые экраны. Успехов! [sm2200]
PS Можешь не убирать - их прекрасно замазывает. Хотя в этом случае чертеж отягощается мусором. И еще. Время выполнения прграммы сильно зваисит от железа. На 1 ГГц/384 МБ она выполняется секунд за 15-20, а на 2,7 ГГц/1ГБ - мгновенно. |
|||
![]() |
|
||||
архитектор Регистрация: 02.04.2006
Беларусь
Сообщений: 349
|
Катастрофически не хватает времени. Спасибо за помощь! Всё работает. Плюсы: оно действительно работает! И по скорости всё ОК, тормозов нет. Минусы: 1) надо сотворить таблицу соответствия RAL_to_RGB хотя бы для шкалы RAL-classic. Некогда, а ведь есть ещё и RAL-design... А таблица эта должна быть обязательно цельная или можно из нескольких частей? Она же здоровая получится. 2) оно всё-таки заливает цветом всю ячейку таблицы; конечный результат от этого выглядит менее изящно. 3) все оттенки, для которых нет индекса RAL, всё равно придётся описывать в духе "RAL **** (разбел)". 4) что-то вроде было ещё, но не помню.
С уважением. |
|||
![]() |
|
|||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
Цитата:
Цитата:
Цитата:
![]() |
||||
![]() |