|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Еще одну очень полезную ве-с-ч скажу.
Как давно я мечтал, зайти в блок и выключить видимость паре-тройке элементов, временно, чтобы в модели глаза не мазолили. Но увы, в простом блоке выключать видимость можно только в пространсве редактора, а когда выходишь из него все опять включается. Параметр Visibility Set снимает это ограничение, но вместо этого сам управляет видимостью всех элементов, что приводит к аналогичным последствиям. Выходишь - что включено, то включено, а что тебе надо было временно погасить - дудки. Когда из общего списка и списков на включение удаляешь часть элементов, то они становятся свободными и их видимостью можно управлять.Зашел в редактор, выключил видимость элементам, вышел - они не видны. Зашел в редактор, включил все (это если макросом Kpblc-a) или если вебмакросом, то можно из группы не видимых выбрать нужные элементы, включил видимость, вышел они видны. Если вам нужно, чтобы часть элементов всегда была видна, то зачем их вообще в Visibility Set держать? Это ведь для машины дополнительная нагрузка такие сиски обрабатывать. В общем делайте выводы. Если убить один или несколько Visibility Set-ов, то элементы в них находящиеся станут свободными. Одни остануться с выключенной видимостью (можно включить, если надо), другие с включенной. Свободные элменты можно опять вставлять в представления видимости любого из Visibility Set-ов. Динамические параметры так и остануться привязанными к этим элементам. Вот такие пироги. |
||||
|
||||
Shoorup, ты изначально не совсем правильно все сделал.
Visibility, что выводами управляет - правильно. Цифры сслева - отдельным Visibility сделай, справа и внизу тоже по отдельным Visibility распихай. Тому Visibility, что выводами рулит ручку выключи и сделай Lookup, который будет управлять всеми четырьмя Visibility в зависимости от потребности. Lookup тоже не обязательно высвечивать, просто пару невидимых линий в него втули и все будет ОК. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,772
|
К #61:
Если (подчеркиваю - если!) на коленках, то можно использовать такой вариант: Код:
Слегка подумав, я прикинул, что не все так плохо - пока файл не закрыт, можно попытаться восстановить исходное состояние дин.блока. Но это надо гонять и тестировать, а я уже спать хочу.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. Последний раз редактировалось Кулик Алексей aka kpblc, 25.09.2008 в 01:49. |
|||
|
||||
Shoorup, я был не прав. Поставленная тобою задача выходит за рамки раздельного управления видимостью. Интересная, скажем,задачка. Меня заинтересовала. Еле заснул, все пытался решить.
С линиями и прочими прибамбасами не получается. Получилось если цифры сделать атрибутами, связанными с длинной невидимой линии, а та в свою очередь управляется либо списком, либо из Lookup-a. Либо сделать цифры размером с выключенными линиями и стрелками. Там тоже есть суффикс и можно подцепив на размер параметр растяжения управлять этими цифрами. Но в обеих случаях выключать цифры у меня не получилось. Сделать так, чтобы одним выпадающим списком управлять номерами и выключать элементы, а другим выводами управлять, да еще и цифры иногдавыключать не выходит у меня. Бум думать. kpblc, я рад, что ты обратил свой взор на сию тему. Очень рад. Только не понял что твой код делает. Он что, выключает видимость отдельным элементам блока? Или весь блок делает невидимым? Или он свободные элементы включает и выключает? Я его сейчас конечно буду внимательно изучать, но с хелпом у тебя явно напряг получился. Я ж тут не один. все это читаю и пишу. Все основные функции для создания и управления дополнительными Visibility Set готовы. У меня они уже в панели отдельными кнопками висят. Но я хочу развернутый интерфейс, с указанием текущего Visibility Set, списком всех Visibility Set и возможностью устанавливать тот Visibility, в который импортируются или из него экспортируются в текущий Visibility элементы. Кнопок будет не меньше десятка и штуки три диалоговых окон. НО! VBA я знаю плохо и поэтому создать смесь VBA c AutoLisp не могу. DCL, как я уже писал выше не подходит. Либо вебмакрос делать. Если вебмакрос,то для какого сайта? Или для стационарного хелп-файла? А я что один все это должен ваять? А какого ражна, я спрашиваю? Выложить функции, чтобы народ успокоился и вообще ничего не делать? В общем я решение принял. Если администрация этого сайта заинтересована разместить на своем сайте вебмакрос, который делает то, что никто в мире сейчас не умеет делать, то я готов вести переговоры. А если нет, то кому нужны дополнительные Visibility, готов вставить, если буду не очень занят. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,772
|
Мой код скрывает объекты внутри блока. Для дин.блоков с установленными VisibilitySet - скрываются объекты, которые отображаются в текущем представлении. Я еще раз повторяю - код сделан "на коленке" с минимумом проверок, и без восстановления состояния блока "назад". Хотя варианты есть как внутри одной сессии, так и между ними.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Kpblc, отличная штука получилась. Я даже не думал, что такое возможно.
Тем элементам, которыми управляют Visibility Set-ы они сами эту видимость и восстанавливают, надо только определить текушее представление каждого из них и переустановить опять на тоже самое. А вот свободным элементам видимость может восстановить только господь бог. Надо всем элементам блока сделать видимость, а потом всем представлениям поменять текушее на текушее. Так блок станет таким, каким и был, а вот свободные элементы станут включены. Ну еще включить свободные элементы можно твоим старым макросом по управлению видимостью. Зашел в редактор блока, нажал "включить все" сохранился и вышел. |
||||
|
||||
Простой блок восстанавливает видимость сам, при вхождении в редактор и нажатием "сохранить блок".
И так, на сегодняшний день мы имеем возможность управлять видимостью элементов, заключенных вблок, как при помощи Visibility Set-ов, так и программно. С учетом наличия возможности иметь в блоке такие элементы, которые сохраняют свою установку видимости не смотря ни на что (свободные элементы) мы можем программно управлять содержимым блока, то есть делать динамические массивы, состоящие из блоков "кирпичиков". Если учесть, что свободные элементы могут иметь динамически изменяемые параметры, получается очень интересная картина. Только вот публика, по моему, до понимания ее, пока не доросла. (Ну, несколько человек, это не публика). Сейчас пытаюсь заставить один Lookup управлять другим Lookup-ом. Там творцы Автокада явно поставили запрет на это дело. Наверное только для белых оставили. Но не вижу препятствий вставить в Lookup ссылку на другой Lookup насильно. |
||||
|
||||
Интересно где грань возможностей динамическим блокам? Эх... я б щас покрутил бы блоки...но сессия в понедельник... готовится надо. Да и 3 недели меня не будет. Так что потестирую только после 20го числа.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
В связи с ковырянием Lookup-ов изменил пост №7. Всем, кто интересуется моими исследованиями будет полезно прочесть его еще раз.
Я не бог и если что - опять исправлю, или дополню данные этого поста. Также буду благодарен за помощь в этой работе. Последний раз редактировалось Supermax, 30.09.2008 в 21:24. |
||||
|
||||
Трепанация Автокада прошла успешно!
Вот примитивный (но не совсем) блок. Две линии. Одна с параметром изменения длинны, другая с поворотом. Меняя длинну линии меняется поворот верхней линии. соответствие забито в таблицах Action. Мне удалось связать Lookup-ы в совместную работу. Можете что-нибудь нарисовать и сделать Visibility Set, добавить его в Lookup4 и длинна линии будет управлять переключением видимости! Ну и прочие параметры могут изменть другие параметры. Добавлю: Не просто потянуть за ручку линии и увидеть соответствие, для этого надо установить Dist type в LINEARPARAMETER на список (List) и перечислить длины 10, 20, 30, 40, 50. Толькотогда можно тянуть за ручку спокойно. В остальных случаях если длинна не соответствует значению записанному в Lookup-e поворот будет без изменения. Можно установить значение по умолчанию, чтобы при всех остальных значениях длинны не соответствующих таблице поворот был скажем 0, но это не интересно. Сохранение старого значения тоже имеет огромную ценность. Если у вас в одной таблице забито одна цепочка соответствия, а в другой - другая, то переключение одного комплекта значений произойдет при совпадении всех значений в другом комплекте. Короче,как только Lookup определяет совпадение данных в строке таблицы, так сразу переключается на эту строку и тянет за собой переключение другой таблицы. Последний раз редактировалось Supermax, 27.09.2008 в 11:29. |
||||
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 474
|
Хе. Прикольно. Я сначала не понял в чем фишка, вроде все понятно. А оказывается в Lookup нельзя добавлять параметром другой Lookup Supermax, у тебя для этого тоже какая-то программа записана? А идея-то хорошая. Что-то я все больше перестаю понимать создателей Autodesk. Может им правда письмо отправить коллективное? И ссылку дать на Supermax'a чтоб сами не морочились ))
Кстати, показывать угол при помощи видимости, конечно, хорошо (нет проблемы постоянной регенерации чертежа), но в реальном блоке по-моему нереально, если различных параметров неопределенное количество. |
|||
|
||||
Да программка - тьфу. Я всего ОДНУ точечную пару поменял в нужном месте. Вы понимаете, ОДНУ! Я очень сомневаюсь, что господа разработчики редактора динамических блоков не знали о такой возможности. Вы ведь представляете ЧТО они обрубили? Это же такие трансформеры можно делать ... с ума можно сойти! Берешь за ручку и тянешь, а вокруг все стремительно меняется. Я бы мог просто две линии с поворотом поставить. Одну крутишь - другая крутится, но в противоположную сторону. Да, что там какие-то ручки - шестерни можно так крутить! Целые редуктора собирать и смотреть как и кто перемещается. Вот это динамические блоки! А если собрать все в кучу, и большое количество Visibility Set и зависимые Lookup-ы, так такое можно наваять! - слов нет. У меня чувство, что нас банально кинули. Обокрали морально. Кастрировали. Все есть у каждого, а какой-то гад взял и подрезал крылья! Подозреваю, что на самой фирме AutoDesk об этом не все даже и знают.
Последний раз редактировалось Supermax, 28.09.2008 в 10:04. |
||||
|
||||
Supermax,
У всех тут руки чешутся. Есть надежа это все в одну программу закатать?
__________________
Блог |
||||
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 474
|
Может и кинули... Если так все просто как ты говоришь и в autodesk об этом знают, то логично если бы они выпустили какой-нибудь сервис пак к автокаду или набор дополнительных утилит... за отдельные деньги, конечно. Но ведь нет! Даже этого нет... что еще более странно.
Supermax, а ты им не пробоал свои идеи продать? Глядишь и следующий автокад будет значительно удобнее... |
|||
|
||||
AutoDesk - это уже не 5-10 человек, это корпорация, где каждый занимается маленьким кусочком общего дела, а над ними те, кто из этих кусочков складывает более крупный кусочек, но в тонкости создания элементов программы, коими он оперирует, уже не вникает. И так далее, и тому подобное. Стучаться туда со своими умозрениями глупее, чем с копьем наперевес штурмовать мельницу. Может это техническая политика такая, не давать все сразу, а растянуть на 100 серий, а может чья-то лень или отсутствие входной информации сработало - не знаю, и знать совсем это не обязательно.
Сделать программку для этого легко. Могу сделать, только вот я тут уже не однократно взывал о помощи, а протянутых рук, что-то не вижу. Тем, кто хочет иметь такую программу советую обратится сисадмину и спросить его, а почему собственно он не хочет вебмакросы на сайте устанавливать? Денег жалко? Так ведь все от цены зависит. На определенном уровне, оплату и деньгами трудно назвать. Или можно обратится к местным гуру с вопросом, а почему собственно им мне не помочь? Что, самолюбие ущемляется? Либо проект делается как свободный, но коллективно, либо за бабки нанятыми специалистами. А меня ставить в позу я не дам. Каждая функция должна быть написана максимально грамотно и рационально. Из этих функций собрать программу еще труднее, чем эти функции писать. Вот тут Kpblc функцию по выключению видимости в блоках выложил, тоже ведь архи полезная вещ. Ее тоже впрограмму вставить надо, но одно дело функция, а другое - программа. Там уже ошибок и не корректной работы быть не должно. Я не первый раз что-то выкладываю и какой результат? Берут сотни, а спасибо скажет пара человек, да и то я заметил, все время одни и те же. Про помощь скажу так: Было несколько предложений, но такие, типа "я готов помочь, правда времени у меня очень мало и делать то, что вам нужно практически не умею". Спасибо, как говорится, но не надо. Да что там помощь! Народ скрывает свое присутствие и интерес к определенным темам. Ну с админами все понятно, им это необходимо, но вот с гуру что-то не так. Они как "гость" все время тут тусуются, вынюхивают, а открыто заходят только для написания реплик. Стестнительные все какие-то. Не хотят, чтобы к ним ON-LINE обращались. Как в таких условиях сеять доброе, вечное? Вы не смотрите на то, что вебмакрос я придумал. Я ведь не спроста этим занялся. Это единственный способ дать вам (ну и мне в том числе) почти бесплатно то, что стоит в изготовлении не дешево. Ваш трафик за скачку страниц и ваш интерес к рекламе и есть ваша плата. Зашел, слепил два-три или более Lookup-ов вместе и вышел. Потрати трафика ну 20 килобайт. Если учесть, что трафик у многих безлимитный, а то и вообще на работе в сети сидят безвылазно, то это же халява! Надо программу - подрабатывайте масовкой, раз уж совсем ничего не можете. Кричите "шайбу" - шайбу" может при большом количестве обращений администрация или гуру сдадутся. |
||||
|
||||
Мне ничего не остается как кричать
"шайбу - шайбу" Цитата:
Цитата:
__________________
Блог |
||||
|
||||
1. Нужна программа по перемещению свойств местами. Пролистай эту тему, она тут выложена.
2. Функцию по добавлению дополнительного Visibility Set-a я пока не выкладывал, вместо этого выложил блок с 10-тью Visibility Set-ами, в которм ты можешь создавать свои блоки. Там в посте написано как это делать. Все в этой же теме. Читай. Надо будет больше - стучись, выложу аж 100 штук. Мало - еще добавлю, но функцию дам только тем, кто: Код:
Открою один секрет. Я Action привязал пустым. Там вообще не было таблицы. А таблицу я уже создавал обычным способом. Так что ничто вам не мешает делать из моего блока свои. 4. В данлоадсе лежат мои макросы по заполнению Lookup-a из таблицы Excel. Пригодятся для больших таблиц. А "шайбу-шайбу" надо кричать на ухо конкретным адресатам, а то они глуховатыми прикидываться любят. Последний раз редактировалось Supermax, 28.09.2008 в 12:24. |
||||
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 474
|
Так, ладно, я под код не подхожу, дайте мне баннер!
А "шайбу" кричать бесполезно. Дело в том что несколько параметров видимости нужно "простым" людям, т.е. проектировщикам, которые большую часть времени занимаются проектированием по основной специальности и немного времени уделяют познанию автокада. А "гуру" по-моему до фени эти параметры видимости, разве что для спортивного интереса. Т.к. "гуру"-то занимаются не проектированием, а программированием. Хотя, конечно, это мое мнение и я могу ошибаться. В общем, дайте мне удобную программу и баннер! |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как с помощью vba начертить линию | vasyavip | Программирование | 77 | 09.10.2008 23:17 |
Femap и VBA | Makson | Программирование | 11 | 05.08.2008 14:54 |
Создание списка чертежей из Sheet Set Manager | krokh | AutoCAD | 2 | 20.06.2008 16:46 |