|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
5 | | #1 |
Создание дополнительных параметров Visibility Set в динамических блоках.
Руководитель фирмы
Москва
Регистрация: 28.03.2007
Сообщений: 1,831
|
||
Просмотров: 374517
|
|
||||
Назрел момент коренным образом разобрать строение динамических блоков и определить, что же можно с ними делать, а что нельзя.
Я много "наковырял" информации о структуре динамических блоков, но многое еще не изучил и не понял. Мне не нужно становиться специалистом по каким-то там блокам. У меня много других проблем, но с динамическими блоками у меня связаны многие планы и ковырять их так и так придется. Буду весьма благодарен, если найдутся люди, желающие мне помочь и тоже интересующиеся строением динамических блоков. Чем больше людей будет уметь обращаться с ними программно, тем лучше будут программы к Автокаду, да и в других программах могут тоже появиться динамические блоки. В посте №144 на 8-ой странице все функции по добавлению и управлению добавленными Visibility Set-ами. Для чего нужны дополнительные Visibility Set-ы? Для того, чтобы можно было управлять видимостью одной группы элементов не трогая установку видимости для другой группы. Создание дополнительных Visibility Set возможно и уже реализовано, но реализовано не правильно. Чтобы реализовать эту задачу правильно, надо в первую очередь ясно понять что и для чего сделано. Добраться до словаря (0 . "ACAD_EVALUATION_GRAPH") где собственно лежат все свойства динамических блоков можно двумя путями. 1-й путь: Код:
Код:
Ну не важно. Наша цель - расковырять (0 . "ACAD_EVALUATION_GRAPH"), поскольку именно в него добавляются дополнительные Visibility Set-ы. Следующая моя инфа о строении этого словаря. Последний раз редактировалось Supermax, 03.10.2008 в 15:39. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Не думаю (давно не ковырял), что разбор только словаря ACAD_EVALUATION_GRAPH" даст ожидаемый эффект. Понадобится, скорее всего, просматривать еще и элементы блока.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Сначала я дам код получения словаря "ACAD_EVALUATION_GRAPH".
Первый вариант его получения (из коллекции Block). Код:
Код:
Последовательность размещения точечных пар и DXF кодов в некоторых случаях произвольная, а в некоторых строго определенная. Так в случае с "ACAD_EVALUATION_GRAPH" - последовательность размещения имеет очень боьшое значение. Многие модификации кончаются фатал еррором. Что это такое знают даже не программисты. Не эксперементируйте с рабочими файлами! Не эксперементируйте в тот момент, когда в другом окне загружен рабочий файл! Последний раз редактировалось Supermax, 14.09.2008 в 14:04. |
||||
![]() |
|
||||
Вот распечатка "ACAD_EVALUATION_GRAPH" не очень насыщенного свойствами блока.
Код:
Нужна прога. У меня пока нет. Дописки с правой стороны мои, для понимания что там лежит. Это распечатка словаря блока, в котором установлен только один Visibility Set и больше ничего. Параметр, ручка от него и два объекта - один расположение ручки по X и другой - по Y. Если ручку выключить - этих трех объектов не будет, только параметр останется. Последний раз редактировалось Supermax, 13.09.2008 в 19:03. |
||||
![]() |
|
||||
Я думаю, что до 96 кода описывать точечные пары не надо, поскольку о них все написано в книгах по автолиспу.
96 и 97 код пока рассматривать не будем, поскольку без понимания всего в целом, значения эти не понять. По скольку AutoDeck не дает описания структуы, и даже терминов, которые он присваивает не дает - будем придумывать термины свои. Если кому-то не нравятся мои термины - предлагайте свои. И так: Помимо отдельных точечных пар в начале списка, которые несут общее определение имени, типа объекта, метки, и пр. все остальное делится на "записи". "Записью" я называю ряд точечных пар, из которых состоит что-то типа предложения, описывающего некую константу. Начинается запись после 97 кода с точечной пары с номером записи по порядку. Этокод 91. Записи маркируются с 0. Код:
Следующий код 95 - номер создания элемента по порядку. То есть, когда создается элемент ему присваивается следующий порядковый номер. Этот номер изменить нельзя - фатал еррор сразу. Он сопровождает 360 код, в какую строку его не перемести. И скажу сразу, для практических целей совсем бесполезен. На последовательность отображения свойств в списке свойств блока не влияет. Но это он тут для манипуляций им бесполезен, но Lookup активатор именно на него и ссылается. Следующий код 360 - указатель на объект. Этоили ...PARAMETER, или ...GRIP, или BLOCKGRIPLOCATIONCOMPONENT, или ...ACTION. То, что в редакторе блоков вы видите. Хотя Там явно видны только параметры и актион-сы, но есть и ручки (сине треугольнички). BLOCKGRIPLOCATIONCOMPONENT, как я уже писал - объект с данными о расположении ручки. Следующий код 92 - Первый в строчке с 92 кодами - номер данного объекта в иерархии зависимости-принадлежности, или другими словами маркер места в родословной. Что такое родословная и как она выглядит у людей, думаю, что знают даже школьники. В объекте ...ACTION в случае управления им цепочкой параметров указывает на вторую запись расширенных данных перевого в цепочке управляемого параметра. Следующий код 92 - Второй в строчке с 92 кодами - дополнительный, второй маркер места. Служит для указания "приемного" родителя которым как правило выступают ...ACTION. Главным родителем всегда выступает ...GRIP. Если у объекта нет ACTION, то первая пара 92 и вторая равны. То есть имеют один и тот же код. В объекте ...ACTION в случае управления им цепочкой параметров указывает на вторую запись расширенных данных последнего в цепочке управляемого параметра. Следующий код 92 - Третий в строчке с 92 кодами - Указатель на дочерний компонент №1. Если эта пара принадлежит элементу ...PARAMETER, то это указатель на дочерний компонент "UpdatedX", то есть положение по X. Если это ...GRIP или ...ACTION, то это указывает на дочерний компонет ...PARAMETER. Следующий код 92 - Четвертый в строчке с 92 кодами - Указатель на дочерний компонент №2. Если эта пара принадлежит элементу ...PARAMETER, то это указатель на дочерний компонент "UpdatedY", то есть положение по Y. Если это ...GRIP или ...ACTION, то это указывает на дочерний компонет ...PARAMETER. Исключением является объект LOOKUP, где в случае цепочки LOOKUP-ов эта точечная пара указывает на продолжение расширенной записи, а там уже на компонент "UpdatedY". В случает если это ...GRIP или ...ACTION, последние два 92 кода всегда одинаковые и указывают на одно и то же. Если в точечной паре стоит код -1, это значит, что данная точечная пара не содержит информации о принадлежности. После окончания описания всех свойств записями (93 . 32) идут записи (93 . 0), которые являются расширенными данными о принадлежности элементов друг-другу. Эти записи привязаны к основным по коду маркера положения в родословной. Код:
Второй код 93 - тип записи. Третий код 94 - понятия не имею. Всегда 1. Далее идут два 91 кода - Первый - указатель на номер 32-ой записи элемента-родителя. Второй - указатель на номер собственной 32-ой записи. Далее идут пять 92 кодов - Первый - указатель на основной маркер записи элемента. Точечная пара первого 92 кода в элементе, которому пренадлежит данная расширенная запись. В дополнительных расширенных данных (вторая запись) указывает на дополнительные расширенные данные предидущего в цепочке элемента. Второй - указатель на дополнительный маркер записи элемента. Точечная пара второго 92 кода в элементе, которому пренадлежит данная расширенная запись. Если такового нет, то значение -1. В дополнительных расширенных данных (вторая запись) указывает на дополнительные расширенные данные следующего в цепочке элемента. Первая и вторая точечная пара с 92 кодом заполняются значениями только тогда, когда есть "приемный родитель", то есть у элемента ...RAMETER есть связь с элементом ...ACTION. В остальных случаях обе пары всегда -1. Третий - В расширенной записи "UpdatedY" Указатель на связь с "UpdatedX" - В расширенной записи "Lookup" указатель на расширенные данные преидующего в цепочке Lookup-a (см. далее). Четвертый - В расширенной записи "UpdatedX" Указатель на связь с "UpdatedY" - В расширенной записи "Lookup" указатель на расширенные данные следущего в цепочке Lookup-a (см. далее). Третий и четвертый код во всех остальных расширенных данных всегда -1 (во всяком случае, я не обнаружил других данных). Пятый - В случае наличия цепочки связей на связь предидущей или следующей записи дополнительных расширенных данных (2-я запись). BLOCKVISIBILITYPARAMETER не имеет ACTION. Вообще. Только GRIP и два BLOCKGRIPLOCATIONCOMPONENT. ...GRIP не имеет расширенных данных и значения первых двух 92 кодово в 32-ой записи всегда -1. Последний раз редактировалось Supermax, 03.11.2008 в 11:25. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Пока не забыл: третий путь "добраться до словаря" надо?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Вернемся к 96 и 97 коду в словаре ACAD_EVALUATION_GRAPH.
Они всегда равны. Почему их два - не знаю. Показывают оба на номер создания последнего свойства (код точечной пары в 32 записи 95). Это тот, который менять нельзя. Если нужно добавить свойство в словарь, чтобы его всего не перелопачивать (а в нем ого-го сколько может быть всего) достаточно найти эти коды и прибавив 1 создать новую запись. Теперь поговорим о перестановках свойств местами. У этого словаря есть одна особенность: Если переставить 32 или 0-вые записи местами, то есть целиком, вместе с номером, то после модификации словаря функцией entmod и после прочтения этого словаря заново, мы с удивлением обнаружим, что все опять вернулось на свои места. То есть последовательность расположения записей в словаре строго по порядку. Но, если взять и поменять местами только номера 32 записей и везде, где на них есть ссылка, то после entmod и повторного прочтения мы увидим, что порядок следования записей строго по возростанию, но вот начинка этих записей поменялась местами. В списке свойств панели properties это к перемещению свойств местами не приведет. Для того, чтобы поменять свойства местами в этой панели, надо после обмена между двумя записями их номерами открыть функцией entnget то свойство, которое мы перемещаем (любое из двух) и выбросив из него DXF коды, препятствующие проведению entmod сделать ему это самое entmod. Может быть достаточно просто блоку сделать entmod, не пробовал. Теперь про функцию vla-getdynamicblockproperties: Она дает список свойств блока в той последовательности, в которой они отображены в панели properties. Но после наших манипуляций в панели будет одно, а в списке, возвращаемом этой функцией - старое. Чтобы и в нем поменялась последовательность расположения свойств, надо сделать entmod всему блоку. Вот и вся технология по перемещению свойств местами. Последний раз редактировалось Supermax, 15.09.2008 в 00:38. |
||||
![]() |
|
||||
Словарь "BLOCKVISIBILITYPARAMETER".
Для начала создаем простенький блок, содержащий, скажем, три примитива: Линию, полилинию и круг. в блоке устанавливаем Visibility Set и больше ничего. Последний раз редактировалось Supermax, 14.09.2008 в 13:50. |
||||
![]() |
|
||||
Вот код выковыривания из "ACAD_EVALUATION_GRAPH" свойства "BLOCKVISIBILITYPARAMETER"
Код:
Вот его словарь "ACAD_EVALUATION_GRAPH" Код:
Код:
|
||||
![]() |
|
||||
Рассотрим эти коды:
Начиная с кода -1 и по код 302 только три кода имеют интерес, это коды 280, 300 и 301. 280 - видимость параметра Visibility в списке свойств меню Properties. 1 - видим, 0 - нет. (добавлено) 300 - наименование параметра Parameter name из списка свойств объекта Visibility Set. Если открыть редактор блока и подсветить ручками объек Visibility Set, то в талице свойств вы найдете этот папаметр и можете его отредактировать. 301 - там же Visibility label . То, что мы видим в редакторе блоков написанное на объекте Visibility Set. 302 - там же Visibility description Тоже текстовая строка. Обозначение в списке свойств блока наименования раскрывающегося списка Visibility Set. То, что пишется слева от раскрывающегося списка. И забегая немного вперед 303 - Наименование представления видимости. Таких 303 столько, сколько у вас в списке представлений. Все остальные коды до 91 не имеют особого интереса для пионеров по ковырянию блоков. 91 код - не известно (изменено) 93 код (не путать с 93 кодом в начале списка) - количество графических и текстовых элементов в блоке, включая и атрибуты. Общее так сказать количество элементов. За этим кодом следует 331 коды с указателями на сами элементы. Свойств в этом списке нет. Для чего иметь этот перечень расскажу позже. 92 код - количество представлений в данном Visibility Set-e. (исправлено) А вот дальше - самое интересное. 303 код - имя представления (самое первое представление в данном списке имеет №0) 94 код - количество элементов в этом представлении 332 коды - перечень указателей на те элементы, которые видны в этом представлении. 95 код - количество свойств видимых в этом представлении (свойство Visibility Set не считается) И если помимо Visibility Set есть еще какие-нибудь свойства, то далее идут 333 коды с указателями на эти свойства. Если представлений много, то запись 303, 94, 332-е, 95, 333-ие повторяется и повторяется. Если в представлении нет элементов, то есть (94 . 0), то и 332 кодов тоже нет. Если в представлении нет свойств, то есть (95 . 0), то и 333 кодов тоже нет. Последний раз редактировалось Supermax, 08.02.2009 в 16:12. |
||||
![]() |
|
||||
Теперь коротко что и для чего сделано.
Полный список элементов блока, как и свойств его нужен чтобы видимость выключать при переходе из одного представления в другое, а список элементов в записи под именем представления для того, чтобы видимость элементам включать. То есть Автокад при каждом переключении видимости сначала все, что в записи с 331 кодами и все свойства блока выключает, а затем по записи с 332 кодами и 95-ми следующими после точечной пары с именем представления, все что там указано включает. Я удалял из списка всех элементов и из списка элементов в записи представления отдельный элемент (поменяв при этом и значение 93 и 94 точечной пары с количеством элементов на меньшее) и все именно так и работает. То есть есть реальная возможность частью элементов блока управлять из одного "BLOCKVISIBILITYPARAMETER", а частью из другого и они не будут мешать друг другу (если только в общих списках не будет одинаковых элементов). То, что редактор блока не в состоянии обрабатывать несколько Visibility Set-ов не беда, при помощи не хитрой программы все разруливается самым наилучшим способом. Если в пространстве редактора блока функцией entget открыть примитив, то его -1 код и есть тот 331 и 332 код в этом словаре. 360 коды функций, в словаре "ACAD_EVALUATION_GRAPH" и есть 333 коды в словаре "BLOCKVISIBILITYPARAMETER". Чтобы сопоставить функцию (элемент "параметр") из пространства редактора блока с функцией в словаре "BLOCKVISIBILITYPARAMETER", надо перевести -1 код (там только он и есть, один единственный) объекта параметр во вла-объект и прочитав его тип элемента, имя параметра, найти в словаре параметр соответствующий этому типу и имени. Далее по словарю "ACAD_EVALUATION_GRAPH" найти ручку, актион, координаты по X и Y прочесть их 360 коды и найти их в записи словаря "BLOCKVISIBILITYPARAMETER". Другого способа я не нашел сопоставлять элементы параметров (свойств блока) с их прототипами в словаре "BLOCKVISIBILITYPARAMETER". |
||||
![]() |
|
||||
Последняя информация по теме модернизации динамического блока с целью добавления к нему дополнительных параметров Visibility Set/
Вот, скажем у вас три графических примитива, и вы хотите в разных сочетаниях их включать. Сколько надо представлений? 3 - по одному, 3 - по два, 1 - все видимы и 1 - все не видимы. 8 штук. 2 в степени равной количеству элементов. А если у вас 6 элементов, то чтобы можно было в любом сочетании их увидеть надо аж 2 в 6-й степени представлений. 64 штуки. Если 9 элементов, то 512 представлений и так далее. А чтобы то же самое сделать с тремя Visibility Set, надо в каждом из них по 8 представлений то есть только 24 представления вместо 512. Но если сделать на каждый элемент свой Visibility Set, то всего 9 представлений вместо 512. Впечатляет? Стоит игра свечь? В Visibility Set можно включать элементы не перечисленные в общем списке. То есть, если по каким-то причинам в другом Visibility Set были выключены свойства или элементы, а надо их включить - пожалуйста. Если кто заинтересовался - задавайте свои вопросы. |
||||
![]() |
|
||||
Немного не по теме программирования:
С диначискими блоками дружим уже давно и заметил такую проблемку... Когда динамический блок переграмажден свойствами всевозможными, то он заметно притормаживает. Мне например кучу параметров видимости необходимо только для упрощения создания очень сложных и громоздких динамических блоков. Интересно как они себя будут вести... По сути когдато себе представлял огромнейший динамический блок по сути занимающий весь чертеж который будет иметь ну очень много параметров видимости и других параметров. Как он будет работать уже не могу представить...
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Все очевидно. Гораздо быстрее обработать блок с 10 Visibility Set, в каждом из которых по одному представлению, чем блок с одним Visibility Set, но с 1024 представлениями. Если элементов в блоке очень много, это надо в каждом представлении перечислять все, что включено.
да простит меня администрация форума По просьбе автора поста код заменен вложением /kpblc/ Последний раз редактировалось Кулик Алексей aka kpblc, 16.10.2008 в 01:25. |
||||
![]() |
|
||||
Supermax, Еще не совсем по теме вопрос:
можно ли сделать связь между двумя дин.блоками. Чтобы свойства одного блока связывались с другими. Например есть блок1 с 3 параметрами видимости и есть блок2 с другими 4 параметрами видимости. Нужно их связать - выбрали в первом блоке параметр видимости 1 - автоматом или после лиспа в другом блоке выбирается параметр видимости 3 например. Возможно ли это вообще? Или это фантазии?
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Сделать лисп, который изменяет параметры дин. блока в зависимости от параметров другого дин. блока - раз плюнуть. Только надо чтобы была таблица соответствия сделана и управлять ею можно через "невидимую линию". Это такая линия, которая имеет Linear Stretch параметр, но не видна ни в каких представлениях. Она фигурирует в таблице Lookup и управляет этой таблицей. Какая длинна этой линии, такая строчка Lookup-а задействована.
Два блока, в каждом есть такие линии и они должны быть равны. Вот макрос их и выравнивает. Один блок "ведущий", другой - "ведомый". Ну и третий, четвертый и т.д. Если установить четкое наименование параметра Linear Stretch, то по нему эти линии и находят. Макрос будет что-то типа attsync команды. Чтобы отличать одни ведущие блоки от других и знать кто кому подчиняется, имя Linear Stretch должно содержать Постоянную_часть-номер_группы-признак_ведущий\ведомый. Пример: @Dist-1420-0, где @Dist - говорит о том, что это управляющая невидимая линия; 1420 - номер группы; 0 - ведущий (1 - ведомый). Все блоки где @Dist-1420-1 подгоняются под блок где @Dist-1420-0. Другая группа имеет другой номер группы. Ведущий блок может содержать две невидимые линии. Одна от одной группы в которой он ведущий, а другая от другой, в которой он ведомый. Такие блоки макрос обрабатывает в последнюю очередь. Есть опасность зацикливания. Когда один блок влияет на второй, тот на третий, а третий на первый. Надо дерево делать и его проверять на отсутствие обратных связей. |
||||
![]() |
|
||||
Короче можно! Уже радует. Supermax, Можешь изобразить простенький пример с сием чудом?
Offtop: Вспоминается игра "Что?Где?Когда?" Там как-то команда "Знатоков" очень сильно проигрывала. И ведущий заметил такой момент: В команде очень большие профессионалы с большим стажем игры. Каждый боится сказать "глупую" идею, что либо предположить. Боятся сказать глупый вариант и потерять авторитет. А в команде должен быть человек, который будет как генератор идей выкидывать постоянно даже бредовые идеи, а профессионалы их "отстреливать" - так у команды больше шансов победить. Почему-то почувствовал себя этим генератором идей ![]()
__________________
Поезд который устал от ржавого здравомыслия рельсов... Последний раз редактировалось Shoorup, 15.09.2008 в 14:30. Причина: оффтоп написал |
||||
![]() |
|
||||
Supermax, Пока читал тему успел запутаться. Так у тебя уже получилось создать дин. блок с двумя или более visibility set? Если да то хотелось бы пример посмотреть.
__________________
Блог |
||||
![]() |
|
||||
Вот тут в посте №208 есть ссылка на другую тему, где я выложил первую пробу.
http://dwg.ru/f/showthread.php?t=894...%EA%E8&page=11 и вот тут Shoorup выложил свое детище на основе моего. http://dwg.ru/f/showthread.php?t=894...%EA%E8&page=12 пост №22 Но это не правильные блоки. Я уже сделал правильный и прогу, которая это делает. Также надо сделать прогу по распределениюэлементов между Visibility Set и заменитель штатной функции редактора блоков управляющей видимостью элементов в текущем Visibility Set. Ничего сложного, просто все время какие-то всплывают срочные дела и отрывают меня от этой задачи. Кстати о птичках, объект Visibility может быть включен как свойство и виден в другом Visibility, со всеми вытекающими последствиями (удалением, перемещением, включением ручек и прочее). |
||||
![]() |
|
||||
Visibility "Новый" не перемещать на первую позицию! Я его не успел удалить. Открывается редактором тот Visibility, кто на первом месте по списку. Создавая новый Visibility в него попадают как свойства все предидущие.
|
||||
![]() |
|
||||
И в правду работает. Буду ждать окончательной проги. В перспективе может быть революционная штука. Щас получается добавить новый visibility parameter а редактировать старые нет. Да и не понятно как заставить работать нормально вместе эти параметры видимости.
P.S. При взрыве блок почему-то куда то пропал.
__________________
Блог |
||||
![]() |
|
||||
Ну это понятно, про революцию. 10 Visibility Set-ов и в каждом по одному Visibility State гораздо проще сделать и машине проще обработать чем один Visibility Set с 1024 Visibility State. А в этих 10-ти Visibility Set-ах может быть сколько угодно Visibility State. Подсчет увеличения возможностей управления видимостью просто не поддается расчету.
Как заставить правильно работать? Так я уже все написал. Все элементы блока делятся на группы, для каждого Visibility Set-а своя (сейчас это не так) Группа прописывается в общий список (для выключения) и программой распределяется по Visibility State данного Visibility Set-а. Можно включать в список на включение элементы, не присутствующие в списке на выключение, но тогда, в редакторе блоков если их выключить, они уже в "серой видимости" не появятся. Кстати, Общий список нужен еще и для того, чтобы создавать "серую видимость". Все управление включением и выключением производится через обычное свойство visible, но прикол в том, что если вы в пространстве редактора блоков выключили видимость элемента, то при первой же обработке блока вся видимость выключится по общему списку и включится по тому списку, который активирован. Чтобы сохранить выключенную видимость у объекта, надо его выбросить из списка на включение. Чтобы один Visibility Set не трогал элементы другого Visibility Set-а, надо чтобы ни в его списке на выключение, ни в списках на включение, элементов других Visibility Set-ов небыло. Про взрыв. Ты наверное выключил линию (она из Visibility Set-а первого по списку) и оставил круг (она из второго Visibility Set-а). Если все включено, при взрыве остаются только элементы первого по списку Visibility Set-а. Хорошая защита от взлома. Копирование в буфер из редактора не поможет 100-1000 элементов правильно вставить на свое место в модели. |
||||
![]() |
|
||||
Цитата:
__________________
Блог |
||||
![]() |
|
||||
Цитата:
__________________
Блог |
||||
![]() |
|
||||
Да. И не только этой.
Я пытаюсь заставить редактор работать с первым по списку Visibility Set-ом. Ведь когда вставляешь новый Visibility Set, он с ним работает. Может его entmod встряхнет, а может что еще придумаю. Надо пробовать и тыкать. Надо перебрасывать элементы из одного Visibility Set в другой. И копировать надо и из общих списков удалять. Надо как-то контролировать размножение этой прелести. Когда вставляешь Visibility Set все в него прописывается, а оно надо? Конечно нет. Значит надо очищать от всех элементов или от выделенных. Надо включать видимость тем элементам, которые не входят в текущий Visibility Set и иметь возможность с ними работать по переносу или копированию. Я еще раз повторю. В общем списке может и не быть элемента, если его никогда выключать в данном Visibility Set не надо, а в списке на включение (Visibility State) может. Особенно свойства надо всегда видеть. |
||||
![]() |
|
||||
Supermax, у меня сейчас кучу срочной работы до конца недели... Если получится то выкину блок для эксперимента связки Visibility Setов сегодня. Но это будет сырец - нет времени на перламутр.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Вот так всегда. У всех всегда срочная работа (буд-то у мня ее нет). Халтура, халтура, халтура. Зачем спешить и делать халтуру? Никто ведь не гонит. Думаешь сделать несколько блоков, связать их и лисп нацарапать самое главное? Нет. Самое главное разработать правильную концепцию применению этого способа моделирования.
Что может быть связано и в каких случаях? Не знаем. Когда надо синхронизировать, а когда не надо? Не знаем. Как удалять или заменять блоки, являющиеся вершиной или внутренним звеном дерева зависимости? Да кто-ж его знает? И наверное еще пару вопросв всплывет, а каких именно тоже не знаем. Программу надо писать такую, чтобы она все эти вопросы охватывала и решала. И блоки делать лучше сразу нормальные, может пубика поможет. Лучше чуть-чуть сегодня, чуть-чуть завтра, но результат в библиотеку элементов положить (или жаба давит?). Я программы выкладываю, а что взамен? Ни денег, ни помощи, ни элементной базы. Муть какая-то, мелочевка типа выносок, рамок и прочей лабуды за пять минут сделанной. Редко-редко кто что-то стоящее выложит, а так практически никто ничего не дает, только берут. В данлоадсе количество скачек порою заваливает за 1000, а где диалог? 5-7 ответов. Вот когда выложишь какую-нибудь фигню, сразу как вороны налетают покритиковать. Весь этот сайт держится на нескольких человеках Kpblc, VVA, Елпанов Евгений, ну и еще головы 3-4 наберется. Но это только лисп. А блоки где? Элементной базы что, ни у кого нет? Вот ты Shoorup, что совсем не имеешь ничего стоящего? Или твои руководители не дают выкладывать? Так цепляй рекламу к этим блокам и толкай в библиотеку. |
||||
![]() |
|
||||
Далее. Оказывается, быстро писать ответы в темы нельзя, пропадают буквы, или пробелы, или знаки. Не успевает машина обрабатывать буфер клавиатуры.
Не буду писать лисп для фигни и точка! Про Lookup-ы: Когда вставляешь новый Visibility Set, то Lookup вставляется, но не редактируется поскольку при открытии не видит тот Visibility Set, который открыт редактором. Какой Visibility Set загружен - правильно, первый по списку, а куда встален новый Visibility Set? - правильно, на последнюю строчку списка. не совпадает наличие факта доступа к свойствам Visibility Set (активированы кнопки и окошко выбора Visibility State) и факт, что данное пространство редактора открыто с тем-же Visibility Set. Это все поправимо, поскольку перенос элементов возможен и не сложен. |
||||
![]() |
|
||||
Supermax, правильно заметил "Самое главное разработать правильную концепцию применению этого способа моделирования". Сырец выкладывать не хочется. А серьезный блок требует серьезного подхода. Много часов работы. А потом надо продумать как все это будет взаимосвязано. Что будет и за что цепляться. А работы очень много и времени на творчество нету особо. Есть пару минуток написать на форуме или прочитать чтонить быленько. А часа 2-3 свободного времени нету.
По поводу выложить свои блоки - да запросто,не жалко. Проблема в том, что это мусор для других. Моя работа слишком специфична и врятли мои блоки комунить нужны как применение в своей работе. Идеи которые я использовал в этих блоках описаны в моей теме про динамические блоки. Все, что можно обнародовал. И еще:Supermax, очень нужно твое мнение по поводу nanoCAD СПДС. А именно по поводу "параметрических объектов","Управление зависимостями". Я бегло пробежался по возможностям (нет пока времени детально изучить) - думаю, что динамические блоки "отдыхают" по сравнению с возможностями параметрических объектов. Судя по тому, что я увидел, блоки можно наделить не только динамичностью, но и программировать (С++ кажись) и связывать, создавать отдельные диалоги к этим блокам - это гораздо шире!
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Извините за оффтоп:
Прочитал... Shoorup, сравнивает эту тему с игрой "Что? Где? Когда?" А у меня почему-то возникает другое ощущение. Чувствуешь себя сразу в Древней Греции. Мы сидим на травке вокруг философа, который нам раскрывает тайны глубин вселенной (AutoCAD'a в данном случае), а мы смотрим на него глазами с тарелочку и говорим - УЧИТЕЛЬ... Но не знаю, дано ли кому-нибудь из нас достигнуть таких высот в играх разума (программировании) и не свихнуться при этом. Большинство с жадностью ждет готового продукта чтобы пользоваться им в повседневной жизни и не мучать свой мозг раскапыванием его структуры. Конечно, рядом бродят другие философы, но они пока только прислушиваются. Вот. Бред, наверное. Не стоило всю тему за раз читать, видимо ![]() А еще. А вдруг следующем автокаде будут динамические блоки с несколькими параметрами видимости? А если по теме. То что уж говорить, разрабатываемая Supermax'ом программа невероятно нужная вещь всем, кто знаком с динамическими блоками. Мы рады бы помочь, да не знаем чем ![]() А блоки действительно у всех специфичные. Я даже пока еще не видел двух одинаковых форматок. Вариатов 10 уже встречал ![]() А по поводу связанных блоков. Shoorup, напиши для интересу хотя бы принципиально, в чем это можно использовать? Я вот не подумав почему-то не могу придумать применения. Попробую подумать ![]() Удачи Supermax, в твоей борьбе с заковырками AutoCAD'a! |
|||
![]() |
|
||||
Volodich, даже не понял толи похвалил, толи сказал не выпендриваться
![]() У меня на самом деле уже башка кипит от всего этого и чую скоро свихнусь. По поводу связанных блоков: Применительно к моей работе например. Offtop: Для начала о САПР которого у меня нет. Я работаю в отрасли проектирования железнодорожной автоматики. Для тех кто даже не представляет о чем я - проектирую светофоры, стрелки, посты ЭЦ и пр. электронщина. Своего САПРа контора не имеет. Существует специализированный САПР в России. Занимается этим САПРом целое подразделение -несколько отделов (насколько мне известно). Это не просто система, а комплекс систем и очень сложная. Которая в свою очередь постоянно, дорабатывается и пополняется. Наша организация не может позволить себе купить данную САПР, потому как цену которую нам заломили измеряется более 5 нулями американских рублей. Данная система работает на основе AutoCAD (+ еще 5000$). Ну и в итоге AutoCAD у нас работает в качестве "чертилки". Приходится извращаться с AutoCADом и выжимать из него максимум. Были разработаны бланки (болванки ![]() Давно маячила идея соединить несколько д.блоков зависимостями. Т.е. в одном углу чертежа меняю один д.блок видоизменяя его. На основе его меняются в других местах чертежа другие д.блоки. Например у меня есть статив (грубо говоря шкаф с кучей полок на которых на определенных местах стоят приборы). На комплектации этого статива указываются чертежи полок и показаны как размещены приборы, их тип и пр. В зависимости от того какие приборы ставятся подбираются полки. Я хотел сделать такую связь. На комплектации я выбираю чертеж полки. (полка д.блок). Расставляю приборы. В зависимости от выбранной полки на последующих листах выбираются нужные чертежи полок и в зависимости от приборов расписываются приборы. Это все 2 блока просто соединенных вместе. Поменял на комплектовке - поменялось на полке. И даже это все примитивно, но на какое-то время ускорит процесс проектирования. Offtop: Самое обидное, то что все это реализовано уже давно, я изобретаю велосипед только другим способом
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Shurup, после чтения твоего offtop-a у меня упал процент зрения. Прекрати баловаться! Серое на сером не видно, или ты версию для печати любишь читать?
По порядку. Вы оба не правы по поводу специфичности блоков. Есть конкретное производство, конкретных изделий или строительных объектов. Все проекты, будь то машиностроение или строительство четко укладываются в определенную классификацию. Если нет на рынке фирм проектирующих аналогичные вещи, то и тут есть потребители, которым до зарезу нужны сведения о произведенном продукте. Конкуренция - не двигатель прогресса (в нашей стране точно). Вы хоть лоб об стену расшибите, а заказ не получите. В лучшем случае вас за копейки изнасилуют и выплюнут. Поэтому, как говорится в пословице "Если изнасилование неизбежно - расслабся и получи удовольствие". В такой ситуации делится нужно всем что есть. Для фирмы, где вы работаете, надо этот процесс оформить так, чтобы от него фирме была польза. Известность, имидж, самые современные решения, клиентура, сервис заказчикам и прочее. Просто выкладывать блоки или схемы - ни в коем случае! Все надо классифицировать, подписывать, давать адрес для обратной связи, сопровождать и делать так, чтобы себестоимость выпуска аналогичного для вашей фирмы падала, а для других не давала повода для создания аналогичного по причине больших барышей. Вот ты железнодорожные сфетофоры проетируешь - замечательно. Только автоматику к ним - тоже не плохо. Берем раздел проектирования и создаем хелп по технологии его выпуска. По ходу чтения хелпа идет сборка чертежа или модели с применением макросов и элементной базы вызываемых прямо из этого хелпа. Типа: Заполните таблицу -, Скомпонуйте в модели то-то и то-то, Обработайте полученное так-то и так-то. Запустите данный макрос (короче нажмите на это слово) и т.п. По мере продвижения чтения обычного хелп-файла идет процесс создания рабочей документации или модели объекта. У кого есть такой файл и куча макросов с элементной базой к нему - богатый человек, поскольку с таким хелп-файлом и обезъяна может много сделать не хуже профи. В таком хелп-файле заложены мозги многих профи (и их шишки). Можно создавать такую методичку на что-то огромное, а можно и на одну единственную принципиальную схему. Наличие ее в сети убъет всех конкурентов (точнее они друг друга поубивают), но того, кто это выложил любой заказчик будет уважать, поскольку автор есть автор. Лучше его никто не знает данную тему. Теперь о применении связанных блоков. Самый простой пример - шайба, гайка и болт или шпилька. Как известно то, что скручивают бывает разной толщины, но болт с гайкой и шайбой в комплект поставки не входит. Или не толщина, а ушко крепления. Шкаф имеет несколько ушек. Крепится анкерами, которые надо покупать отдельно. Анкер - 3D динамический блок - виртуальное изделие. Имеет несколько размеров в себе и свойства изделия. Шкаф - имет несколько разных типоразмеров и соответственно крепится в зависимости от типарозмера в разных местах. 3D-динамический блок "Анкер" имеет в себе параметр Mоve (перенос) и положением анкера по верикали, горизонтали и типом размера управляет шкаф. Делаем анкер с системой его перемещения по горизонтали, вертикали и переключение его размера. К чему его привязать народ сам решит. Если этими линиями никто не управляет - не беда. Пусть так остается. Но мне и тебе и другим такая штука пригодится. Volodich, спасибо за комплимент, но дело не в том, что народ глуповат, скорее наоборот - хитроват. Лисп знают очень многие, но даже в диалоге не участвуют. Буду делать все программы вебмакросами. Нате, радуйтесь. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Shoorup, скорее похвалил )) Уважаю людей, не останавливающихся на достигнутом. Сам стараюсь быть таким же. Кстати, насчет серого на сером. Тоже только хотел написать, но Supermax меня опередил
![]() Shoorup, что за программка по подсчету кабеля, написанная Alaspher'ом ? Подскажи ссылку, пожалуйста. Кстати, хорошая идея стойки с полками сделать дин блоками. А я-то мучаюсь вручную делаю ![]() Supermax, может быть я неправильно понял, но в целом понял твою идею - использование опыта для обучения молодых сотрудников. Кстати, к нашей фирме очень даже подойдет. Фирма вроде и крупная, но постоянно жмется. (Боюсь что сейчас вместо автокада купит звкад какой-нибудь). И тоже самое с зарплатой. Берут студентов, платят копейки, студенты выучиваются и уходят. Но проекты-то студенческие и делаются медленно и по качетсву не очень-то. Но не знаю, есть ли смысл в этой методичке... Все равно она даст только общие представления о проектировании, а в каждом проекте столько тонкостей и заковырок, что никакую методичку под это дело не написать. "Наличие ее в сети убъет всех конкурентов" - вообще не понимаю. Наоборот, научишь всех конкурентов работать и все ![]() Кстати, по поводу связанности блоков. Я думаю, для начала надо на простом примере попробовать это сделать. Хотя бы для двух блоков. Опять же довольно простых. А потом уже усложнять. Может быть дальше двух и не лезть. И зачем рисовать в зависимых блоках какую-то невидимую линию а потом считать ее длину? Двойная работа ведь. Нельзя разве просто числом это сделать? В итоге-то длина линии это число. Кстати, народ я глуповатым не считаю! (читай про "философов, бродящих рядом") Просто далеко не все умеют программировать. (я, например, да и Shoorup и еще многие). Или умеют, но на простом уровне. Я тоже со временем хочу научиться хотя бы по простому. И еще, пусть я покажусь глупым, но что такое вебмакросы ? ![]() |
|||
![]() |
|
||||
Про вебмакросы:
http://dwg.ru/f/showthread.php?t=17470 пост 13. Я тоже не то что считаю, а знаю, что народ далеко не глупый, и не смотря на то, что многие программирование не знают, сделать этот народ может многое. Но не делает. Сделать 3D шкафчик (пустой) не такая уж и большая работа, но он должен быть "несколько в одном" и оформлен как "виртуальное изделие" см. в данлоадсе 3D динамические блоки моего производства. Это трудно? Я могу помочь правильно подобрать состав свойств и атрибутов, и их правильно разместить. Сделать анкер совсем уж плевая работа. Берешь PDF на анкера (нету? - могу дать) и делаешь 3D солидами несколько штук, те, которые должны быть в наборе. Про невидимую линию, а точнее про ее Linear Stretch параметр. В Lookup-е указываются только изменяемые свойства. Какие цифры? Куда ты впихнешь цифру, чтобы она переключила в Lookup-е набор параметров? Короче: В Lookup-е колонка, где стоит эта невидимая линия, хотя если есть такой параметр, который тютелька в тютельку совпадает с длинной этой невидимой линии, то можно его использовать как невидимую линию. Нацепить, к примеру, на растягиваемый объект два Linear Stretch. Один видимый и имеет в свойствах свое, конкретное название, а другой - невидимый и имеет название с кодировкой зависимости. Так можно менять длинну другим объектам с точностью автокада. Так вот, если менять значение какого либо параметра, то при совпадении величины этого параметра с величиной прописанной в Lookup-е, происходит переключение в Lookup-е состояния, прописанного во всех колонках. Я потом, на примере покажу, сейчас мало времени на ликбез и тема эта не для этого. Конкурентов ты не научишь работать, поскольку они будут работать тупо, без понимания причин. Ворд есть у всех? А работать на нем могут все? Чтобы убить конкурентов, надо снизить рыночную стоимость изделия и тогда останутся только те, кто может сделать это еще дешевле. Закон рынка. Цитата:
Я сам проектов наделал уйму и в данный момент делаю новые на основе старых. Знаю что говорю. Последний раз редактировалось Supermax, 19.09.2008 в 14:39. |
||||
![]() |
|
||||
Volodich, Своего я точно не достигну никогда
![]() Насчет серого на сером: оффтоп, на то он и оффтоп чтобы он не бросался в глаза и чтобы человек читающий большую тему мог по делу прочитать что нужно а оффтоп не читать. Если хочется читать оффтоп то его достаточно выделить и он вполне читабелен. По поводу программы подсчет кабеля, написанная Alaspher'ом смотри тут и пользуйся всегда поиском.
__________________
Поезд который устал от ржавого здравомыслия рельсов... Последний раз редактировалось Shoorup, 19.09.2008 в 12:45. |
||||
![]() |
|
||||
А вот и правильно сделанный блок с 10-тью Visibility Set и не только. Открывается двойным щелчком. Аудит - 0 ошибок. Текущих Visibility Set редактируется редактором блока. Программкой, что я выложил, перемещаете нужный Visibility в самый верх списка и редактор его обработает.
Чтобы все свойства корректно работали, они должны быть включены везде, кроме того Visibility, где они управляют графикой. Принцип "И" если хоть в каком-нибудь текущем представлении это свойство выключено - оно не будет видно ни в списке свойств, ни в модели. Программу написал отдельными функциями. Одна - вставляет новый Visibility, другая - перемещает в верх выбранный Visibility (делает его текущим), третья - удаляет из общего списка текущего Visibility выделенные пользователем элементы. DCL - пролетает как фаера над Парижем. Потом объясню почему. Короче - вот вам этот блок. (формат 2007 када) Последний раз редактировалось Supermax, 24.09.2008 в 09:57. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Странно... У меня файл-то открывается, но почему-то ни одно действие с блоком я сделать не могу. Не то что видимостью управлять, даже простое растяжение или отзеркаливание не работает. А по видимостям, когда нажимаю на ручки, менюшки-то с вариантами выпадают, но при выборе любого варианта он не выбирается.
Попробовал по двойному щелчку. Вылезло сообщение: "Блок содержит объекты-заместители. Невозможно изменить блок в редакторе блоков." По правой кнопке почему-то в редакторе блоков открылся. Действия видны все, параметры видимости тоже все. Но из объектов видны только первые кружочки. Так и должно быть? Кстати, а где взять программку, про которую ты пишешь в предыдушем сообщении? (#41) AutoCAD 2006 rus. Последний раз редактировалось Volodich, 24.09.2008 в 06:58. |
|||
![]() |
|
||||
Регистрация: 05.04.2007
Самара
Сообщений: 1,202
|
Очень круто я бы сказал, но:
- область применения (на мой взгляд) ограниченна. Непонимаю, зачем десять visibility, когда в один можно все представления засунуть, пусть он даже большой станет. - надо научить тех кому надо, а это посложнее будет чем научить просто создавать ДБ. На мой взгляд лучше попытаться добавить новые параметры и действия, например: при действии array можно было бы с каждым скопированным объектом работать. Непонятно почему Autodesk не развивает это направление, мож коллективное письмо напишем)))). |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Вот это да... ПЕРВЫЙ раз такое слышу, честно!
stas_org, видимо в Autodesk сидит кто-то такой как ты, который не понимает зачем десять параметров видимости вот это направление и не развивается. А мы тут все страдаем и мучаемся всякими array'ями да прочей ерундой заменяем видимости. stas_org, мой тебе совет, беги быстрее, пока камнями тут не закидали! ![]() А по поводу сложности обучения... Я думаю, что тот кто научился делать ДБ разберется и с этим. Причем с радостью разберется! |
|||
![]() |
|
||||
Volodich, я вообще-то делал блок в 2007 английском каде. Как ты умудрился открыть его в 2006, да еще и русском? Там же другой формат файла!
У меня к сожалению накрылся 2006 кад, так что проверить на нем не могу. Даю вам файл в 2004 формате - проверяйте работоспособность. По поводу целесообразности. Подсчитаем, сколько надо описаний видимости для реализации подобного блока с одним Visibility Set. Первая группа имеет 7 штук описаний видимости, вторая - 8, третья - 6, и так далее 2, 2, 5, 2, 2, 2, 2. Это 7*8*6*2*2*5*2*2*2*2=107520 описаний видимости. Вы просто посчитайте вслух до 1000 - охрипнете! А тут 107,5 тысяч! Дальнейшее,думаю, не требует аргументаций. Даже по два описания видимости вкл\выкл у 10-ти элементов это 1024 описания видимости. В редакторе блоков вы видете текущий Visibility Set и его элементы. Иногда можно увидеть элементы других Visibility, но сделать с ними ничего нельзя, а погасив им видимость в серой видимости их уже не увидеть. Перемещайте моей программой нужный вам Visibility в самый верх списка и открывайте блок редактором. Все свойства должны быть включены, кроме тех,которые вам надо выключить в данном состоянии описания видимости текущего Visibility Set-a. Последний раз редактировалось Supermax, 24.09.2008 в 12:05. |
||||
![]() |
|
||||
stas_org, ооооойййй если ты не понимаешь зачем 10 параметров видимости ты вообще не встречался с трудностями Динамических блоков.
Supermax, снимаю шляпу! Это лучший динамический блок который я пока видел! ![]() ![]()
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Программа по перемещению свойств в списке Properties (свойства) я думаю, что уже есть у всех?
Так вот, что можно делать, а что нельзя в данном блоке. Если вас удовлетворяет количество 10 Visibility Set, то можете использовать данный блок как болванку для создания своих блоков с 10-тью или менее Visibility. В текущем Visibility Set можно: 1 - включать и выключать ручки любым свойствам, перемещать их, менять свойства (имя и пр.) (включая и сами Visibility Set-ы). 2 - добавлять и удалать графические и не графические элементы (они будут видны только в данном Visibility). 3 - Устанавливать на эти элементы динамические параметры (после установки поочередно пройти по всем Visibility Set-ам, делая каждый из них текущим, и включить видимость установленному параметру). 4 - Удалять чужие параметры (после удаления пройти по всем Visibility Set-ам и открыв каждый редактором пересохранить блок. В противном случае не будет видна графика этих Visibility). 5 - добавлять новые описания видмости (если двойным кликом кликнуть по любому параметру Visibility Set, то все равно откроется редактирование описаний текущего Visibility). 6 - используя либо мой вебмакрос по управлению видимостью, либо макрос Kpblc-a включать и выключать видимость всем графическим элементам блока (включая и те элементы, которые принадлежат другим Visibility Set-ам). Это нужно для правильного сопряжения элементов графики в блоке. В редакторе блоков, не выходя из него можно: - Делать текущим любой Visibility Set (но только с помощью макроса) - Вставлять новый Visibility Set (но только с помощью макроса) - Удалять из общего списка и списков на включение выбранные элементы (но только с помощью макроса) - Вставлять в общий список текущего Visibility Set элементы выбранные пользователем (после включения видимости у всех элементов блока и только с помощью макроса). - Автоматически включать в списки на включение дин. параметров новые дин. параметры во все Visibility Set-ы (но только с помощью макроса). - Автоматически удалять из всех Visibility Set-ов, из списков на включение дин. параметров, параметры предназначенные на удаление (но только с помощью макроса). - Включать ручки элементам общего списка и свойствам текущего Visibility Set (но только с помощью макроса). Остались нерешенными проблемы: - Как временно запретить Автокаду делать автоматическое сохранение файла?. Постоянно работу макроса прерывает эта гадость, а выключать ее мне нельзя. Надо в начале выполнения функции запрещать автоматическое сохранение, а в конце восстанавливать. - DCL пролетает как фанера над Парижем. В пространсве редактора блоков он работает, но макрос (лисп) останавливает работу самого редактора и пока из макроса не вывалишся не происходит обновление состояния самого редактора. Ручки элментам включать можно, переходить из одного текущего состояния в другое, а то что видишь в редакторе не меняется (только элементы подсвечиваются). Находишся уже в другом текущем Visibility Set, в набор включаются уже его элементы, а видим то, что было когда макрос включили. Надо делать программу, либо вебмакросом (он интерактивен), либо VBA скрещивать с лиспом (тоже интерактивен), либо панелями инструментов ограничиться. Кроме установки кнопок я больше ничего делать с ними не умею (пока). - Кто и за какие выгоды все это будет делать? Тот, кто мне поможет - получит все секреты этого дела. |
||||
![]() |
|
||||
Еще, забыл одно очень важное.
Как известно, включать и выключать видимость Visibility Set нельзя (за исключением случая, когда блок содержит не корректный Visibility Set). Так вот, выключите всем Visibility Set-ам опцию Show Properties (сделайте No) и создайте дя каждого Visibility Set свой Lookup, в котором перечислите имена представлений данного Visibility Set и сопоставьте эти имена самим представлениям, вставив один единственный столбец с данным Visibility. Вот Lookup вы можете включать и выключать где угодно! Таким образом в свойсвах блока можно управлять наличием доступа к данным Visibility Set. |
||||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
|
|||
![]() |
|
||||
Второе покатит точно, правда не известно обнулился ли отсчет для последнего состояния? И ежу понятно, что мне и 10 минут достаточно, лишь бы отсчет можно было обнулять. Та гадость, что ведает этой бедой, следуя логике программиста, считывает из этой переменной значение и запускает таймер, когда тот отсчитал положенное - выполняет действие и по новой считывает значение из переменной. Мы можем до посинения ждать результата, но пока не закончится цикл - новые данные не будут сьедены. Надо обнулять отсчет, либо вовсе его останавливать.
|
||||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Так гласит справка:
![]() Цитата:
Цитата:
Код:
|
|||
![]() |
|
||||
Makswell, Отключать-то отключает, но не тогда, когда мне надо. Я ж говорю, идет отсчет 10-ти минутного интервала. Закончился интервал - сохранило и опять читает системную переменную (если вообще ее читает). Я изменил время на 1 с 10, а сохраняет по пржнему 10.
Про Цитата:
Цитата:
Вот на счет ActiveX не пробовал, может и подействовать. Сейчас поэксперементирую. При обработке данных словарей сохранять документ категорически нельзя, тогда, когда этого хочет программа. Я сам, когда мне надо обновить кодировку элементов это делаю, и только тогда, когда это надо. Есть еще одна проблема, тоже с сохранением. Многие действия автоматически вызывают запрос на сохранение данных блока. Не только выход из редактора. Вот их тоже не плохо было бы контролировать. |
||||
![]() |
|
||||
Supermax,
![]() ...но чтото не получается. Запутался. Вот создал блок. Пока пытаюсь свзяать 2 параметра видимости. Но не получается убрать цифры 12,22,32... когда включен Т в другом параметре видимости. И 13,23,33,43 когда Ф включен
__________________
Поезд который устал от ржавого здравомыслия рельсов... Последний раз редактировалось Shoorup, 24.09.2008 в 16:46. |
||||
![]() |
|
||||
Еще одну очень полезную ве-с-ч скажу.
Как давно я мечтал, зайти в блок и выключить видимость паре-тройке элементов, временно, чтобы в модели глаза не мазолили. Но увы, в простом блоке выключать видимость можно только в пространсве редактора, а когда выходишь из него все опять включается. Параметр 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
С.-Петербург
Сообщений: 40,406
|
К #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
С.-Петербург
Сообщений: 40,406
|
Мой код скрывает объекты внутри блока. Для дин.блоков с установленными VisibilitySet - скрываются объекты, которые отображаются в текущем представлении. Я еще раз повторяю - код сделан "на коленке" с минимумом проверок, и без восстановления состояния блока "назад". Хотя варианты есть как внутри одной сессии, так и между ними.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Kpblc, отличная штука получилась. Я даже не думал, что такое возможно.
Тем элементам, которыми управляют Visibility Set-ы они сами эту видимость и восстанавливают, надо только определить текушее представление каждого из них и переустановить опять на тоже самое. А вот свободным элементам видимость может восстановить только господь бог. Надо всем элементам блока сделать видимость, а потом всем представлениям поменять текушее на текушее. Так блок станет таким, каким и был, а вот свободные элементы станут включены. Ну еще включить свободные элементы можно твоим старым макросом по управлению видимостью. Зашел в редактор блока, нажал "включить все" сохранился и вышел. |
||||
![]() |
|
||||
Простой блок восстанавливает видимость сам, при вхождении в редактор и нажатием "сохранить блок".
И так, на сегодняшний день мы имеем возможность управлять видимостью элементов, заключенных вблок, как при помощи Visibility Set-ов, так и программно. С учетом наличия возможности иметь в блоке такие элементы, которые сохраняют свою установку видимости не смотря ни на что (свободные элементы) мы можем программно управлять содержимым блока, то есть делать динамические массивы, состоящие из блоков "кирпичиков". Если учесть, что свободные элементы могут иметь динамически изменяемые параметры, получается очень интересная картина. Только вот публика, по моему, до понимания ее, пока не доросла. (Ну, несколько человек, это не публика). Сейчас пытаюсь заставить один Lookup управлять другим Lookup-ом. Там творцы Автокада явно поставили запрет на это дело. Наверное только для белых оставили. Но не вижу препятствий вставить в Lookup ссылку на другой Lookup насильно. |
||||
![]() |
|
||||
Цитата:
![]()
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
В связи с ковырянием 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
Челябинск
Сообщений: 475
|
Хе. Прикольно. Я сначала не понял в чем фишка, вроде все понятно. А оказывается в Lookup нельзя добавлять параметром другой Lookup
![]() Кстати, показывать угол при помощи видимости, конечно, хорошо (нет проблемы постоянной регенерации чертежа), но в реальном блоке по-моему нереально, если различных параметров неопределенное количество. |
|||
![]() |
|
||||
Да программка - тьфу. Я всего ОДНУ точечную пару поменял в нужном месте. Вы понимаете, ОДНУ! Я очень сомневаюсь, что господа разработчики редактора динамических блоков не знали о такой возможности. Вы ведь представляете ЧТО они обрубили? Это же такие трансформеры можно делать ... с ума можно сойти! Берешь за ручку и тянешь, а вокруг все стремительно меняется. Я бы мог просто две линии с поворотом поставить. Одну крутишь - другая крутится, но в противоположную сторону. Да, что там какие-то ручки - шестерни можно так крутить! Целые редуктора собирать и смотреть как и кто перемещается. Вот это динамические блоки! А если собрать все в кучу, и большое количество Visibility Set и зависимые Lookup-ы, так такое можно наваять! - слов нет. У меня чувство, что нас банально кинули. Обокрали морально. Кастрировали. Все есть у каждого, а какой-то гад взял и подрезал крылья! Подозреваю, что на самой фирме AutoDesk об этом не все даже и знают.
Последний раз редактировалось Supermax, 28.09.2008 в 10:04. |
||||
![]() |
|
||||
Supermax,
У всех тут руки чешутся. Есть надежа это все в одну программу закатать?
__________________
Блог |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Может и кинули... Если так все просто как ты говоришь и в 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
Челябинск
Сообщений: 475
|
Так, ладно, я под код не подхожу, дайте мне баннер!
![]() А "шайбу" кричать бесполезно. Дело в том что несколько параметров видимости нужно "простым" людям, т.е. проектировщикам, которые большую часть времени занимаются проектированием по основной специальности и немного времени уделяют познанию автокада. А "гуру" по-моему до фени эти параметры видимости, разве что для спортивного интереса. Т.к. "гуру"-то занимаются не проектированием, а программированием. Хотя, конечно, это мое мнение и я могу ошибаться. В общем, дайте мне удобную программу и баннер! ![]() |
|||
![]() |
|
||||
Регистрация: 05.04.2007
Самара
Сообщений: 1,202
|
Сам себе не поможешь, никто не поможет.
Мне тоже эти visibility по барабану, хоть и простой инженер. Я бы вот лучше попробывал сделать параметрическую зависимость одного блока от другого, или это уже давно придумано и скрывается? Есть ли у тов. Supermax мысли по этому поводу? p.s VBA only Примерно так: -создается двумерный массив, в котором i-это ID основного блока, j- ID зависимого. - слушаем акад - реагируем на событие object_modify(проверяем вхождение ID изменяемого объекта, если ОНО, то смотрим какие свойства были change, и соответствующему ID делаем change. Или по хэндлам. Последний раз редактировалось Кулик Алексей aka kpblc, 28.09.2008 в 21:40. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
проектировщик-новобранец Регистрация: 14.09.2005
Minsk
Сообщений: 324
|
Supermax спасибо за предоставленную возможность дополнительных параметров Visibility Set.
Используя ваш блок 3.dwg - создал свой блок Секторные площадки. Споткнулся в нескольких местах: 1) - Не могу отключить в редакторе видимость тех эл. которые принадлежат другим параметрам видимости. 2) - при удалении ваших примитивов, все видимости обнуляются и становятся в неизм. положение. Потонциал для работы огромный, есть еще пару идей внедрения. |
|||
![]() |
|
||||
Посмотрел я твой блок. Что это такое так и не понял, но то, что ты хотел сделать примерно догнал.
Видимостей было 10 и две из них ты удалил. На каком этапе догодаться не трудно, поскольку часть примитивов попала в группу "свободные". Надеюсь, что функции Kpblc-a или мой вебмакрос тебе известны, по управлению видимостью элементов? Так вот, рассказываю как примитивно перекидывать элементы из люого Visibility Set или из группы свободных элементов в текущий Visibility Set: - устанавливаешь нужный Visibility в первую строку списка свойств. - открываешь редактором блок - включаешь видимость всем элементам блока - выбираешь нужные элементы и копируешь в буфер С УКАЗАНИЕМ ТОЧКи ВСТАВКИ - тут же, пока они выделены жмешь DEL - вставляешь из буфера указываяту точку, которую ты выбрал при копировании в буфер. - раскидываешь по представлениям. Вот обственно и все. Твоя проблема была в том, что у тебя не было возможности включить видимость всем элементам и наоборот. |
||||
![]() |
|
||||
stas_org, конечно есть у меня мысли по связыванию динамических блоков друг с другом.
Если говорить про способ связки лиспом, то тут все элементарно. Я с Shoorup-om это уже обсасал, да он никак время не выкроит сделать пару блоков для такого связывания. Я ему поставил условие, что блоки должны быть библиотечные, то есть качественные. Жду-с. А ты в VBA можешь что-то делать? А то у меня как раз есть потребность в этом. |
||||
![]() |
|
||||
проектировщик-новобранец Регистрация: 14.09.2005
Minsk
Сообщений: 324
|
Я пока их не объединил в одну точку, пока неразберусь как убрать их из видимости других Visibility Set.
Это секторные площадки вокруг аппаратов, идея в том что каждый сегмент был не зависим друг от друга , что бы можно было играть дальше с вылетом, кол-вом пролетов, и многим другим с помощью вашей программы "Программа заполнения Lookup-a динамических свойств блока из данных таблицы Excel" (раньше мы с товарищем, пользовались одним блоком , копируя его 8 раз по окружности). В Excelе сейчас пытаемся описать расчет ! то что было до прошлой недели! |
|||
![]() |
|
||||
Внесены изменения в пост пост №13. Кому не лень - ознакомьтесь.
Последний раз редактировалось Supermax, 30.09.2008 в 21:33. |
||||
![]() |
|
||||
Для того, чтобы собрать все функции по созданию и управлению элементами динамического блока нужна интерактивная панель органов управления. Короче, чтобы она висела, а редактор блоков при этом продолжал работать. В VBA это элементарно. Все функции на лиспе, а макрос на VBA запускает через ком. строку эти функции. Ну не может DCL работать интерактивно.
Вот такая вот потребность. Как связать VBA с автолиспом я знаю. |
||||
![]() |
|
||||
Термин "Интерактивно" в буквальном переводе - активное из вне. Например, интерактивные конференции это когда люди совещаются, но рядом их нет. Панели инструментов, которые не являются частью программы и работающие по своим собственным законам, лишь обмениваясь с программой данными - тоже можно считать интерактивными. Немодальные окна тоже самое, но не совсем. Когда говорят "немодальный", подразумевают, что не прерывющий действие, но это чуть-чуть меньше, чем интерактивный.
Применимо к нашему случаю "немодальный" это именно то, что нужно. Мой вебмакрос, к примеру, интерактивный, поскольку хоть и запускается Автокадом, все равно является независимой программой, написанной на VBScript, обрабатываемой непосредственно операционной системой. На VBA я не знаю как устроен интерфейс. Может есть жесткая зависимость от текущей работы Автокада (не путать с загрузкой), а может нет. Так что "немодальный" так "немодальный". А что, есть желание помочь? |
||||
![]() |
|
||||
С решения вопроса, в каком виде и для кого будет делаться эта программа.
Как я уже говорил, можно открытый проект сделать. Все коды вывалить в тему и пр. безрассудства. Я к этому готов. Можно все скомпилировать и выложить только результат, но для свободного скачивания и пользования. Если скомпилированный вариант, то туда можно рекламу сомаго себя любимого вставить. Можно поднапрячься и сделать еще один вебмакрос ведь VBScript это слегка кастрированный VBA. Только можно не для сайта, а для стационарного HTML файла, или для хелп-файла (что гораздо предпочтительнее). Мне все равно, так что ты сам выбирай. |
||||
![]() |
|
||||
Так ведь любые макросы, это приложения. Хоть макрос, хоть вебмакрос, суть одна и та же - приложение. И совершенно ясно, что для Автокада.
Ясен пень, что в пространсве редактора блоков надо запускать. В модели и DCL покатит. На VBA делаем панель с кнопками, по нажатию которых в ком. сторку посылается "(тра-ля-ля)", которое загружается из лиспа. Так как, компилируем или так шлепаем? |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
А результаты выполнения lisp-функций тебе в VBA не понадобятся? И потом, есть очень небольшое количество действий, нереализуемых в VBA - все остальное там есть.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Я уже охрип, крича, что DCL работает в пространстве редактора, но не дает обновляться графике самого редактора. К примеру: Устанавливаешь текущий Visibility Set, а в окошке не появляется наименование представления из этого Visibility Set-а и графика от других элементов осталась. Ее надо регенерировать, чтобы выделить нужные элементы из вновь становленной видимости, а ничего не получается. И т. д.
Когда запускаешь отдельными функциями, то по окончании их работы управление возвращается редактору и тот тут же обновляется. Про использование чисто VBA для обработки словарей, ничего не могу сказать, поскольку даже не знаю, можно ли с его помощью их прочесть? Также не знаю, можно ли с помощью VBA модифицировать словарь, создать новый объект (словарь в частности) и как обрабатывать списки точечных пар в словарях. Все функции это сплошная работа со словарями, но иногда и Актив-Х нужен. Свойства смотреть. Если очень хочется сделать прогу чисто на VBA (ну или почти чисто) согласен раскрыть алгоритм по которому я делал свои функции. Так я так и не понял, мы компилируем или народу на обозрение выставляем? |
||||
![]() |
|
||||
Пока ты думаешь, спрошу у Kpblc-a.
Kpblc, ты свою программу kpblc-objects-hide.lsp даешь вставить в данный проект? Там всего три функции "включить все", "выключить выделенное" и "выключить все, кроме выделенного". Вполне для данного случая достаточно. Перечень будущих кнопок: 1. Вставить Visibility Set. 2. Очистить Visibility Set от всех элементов, свойств и представлений. 3. Включить ручки всем элементам текущего Visibility Set-a. 4. Выключить видимость всем элементам. 5. Включить видимость всем элементам. 6. Выключить видимость выбранным элементам. 7. Выключить видимость всем элементам, кроме выбранных. 8. Перенести в текущее представление текущего Visibility Set-a выбранные элементы. 9. Удалить из текущего Visibility Set-a выбранные объекты (сделать их свободными). 10. Установить видимость выбранным свойствам во всех других Visibility Set-ах. 11. Переписать данные из указанного Lookup-a в EXCEL. 12. Переписать из файла EXCEL в указанный Lookup данные. 13. Скопировать данные из одного Lookup-a в другой Lookup. 14. Установить Action на задействованный другим Action-ом Lookup-параметр. 15. Скопировать указанные элементы текущего Visibility Set в выбранные представления текущего Visibility Set. 16. Ай, вай, вай ! забыл - сделать указанный Visibility Set текущим. Ну еще можно включать ручки элементам любого Visibility Set-a и переносить или копировать их в текущий. Теперь по связыванию блоков друг с другом. Если в данном блоке есть такая пара Lookup-ов, в одном описаны состаяния блока, а в другом длинна технологической, не видимой линии в привязке к этим состояниям, то меняя длинну этой линии мы можем переключать блок из одного состояния в другой. На один Lookup-параметр можно навесить сколько угодно LookupAction-ов. Если все столбцы Lookup-a разбросать по отдельным таблицам, то есть каждому столбцу свой Action, то изменение любого из параметров блока описанного таким, отдельным образом будет автоматом менять все остальные связанные параметры. В блоке может быть много Visibility Set, а значит и много независимых групп элементов, каждую из которых можно перенастраивать изменением всего лишь одного параметра. Можно создать специальный блок, на который настраивается реактор, хоть на автолиспе, хоть на VBA. Этот блок является для всей модели вершиной пирамиды. Именно в нем и лежат все таблицы по зависимостям. Последний раз редактировалось Supermax, 01.10.2008 в 17:29. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Да бога ради.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Скажу по секрету, Visibility всавляет сам Автокад банальным запуском комманды
Код:
"Кривой" получается элементарно! Если уже есть один Visibility Set, то мы его берем, выкидываем из списка его DXF кодов -1, 5, 1071, и 1010 коды, заменяем 301 пару с названием данного Visibility на свое название и создаем по этому списку (в лиспе это функция entmakex) новый объект. Создаем 360 точечную пару с полученым указателем на новый объект, создаем 91 точечную пару с номером новой записи в словаре "ACAD_EVALUATION_GRAPH". Добавляем точечную пару "тип записи", создаем и добавляем в запись 95 пару с следующим номером записи, потом нашу 360-тую цепляем и далее четыре 92 пары с кодом -1. Замняем в словаре 96 и 97 пары на новое число (1+) Вставляем нашу запись в конец всех 32-ых записей и делаем словарю entmod, после чего сохраняем блок. После этого процесса создается ситуация, когда после каждого сохранения блока Автокад в упор не видит Visibility Set и дает добро на установку нового. Мы этим воспользуемся и сделаем это. Затем перемещаем нашу запись с "Кривым" Visibility Set-ом в самый низ 32 записей и удаляем ее. Блок становится почти корректным. Автокад видит первый по списку Visibility Set и дает его редактировать. "Почти" это в смысле, что много Visibility Set-ов блоку де-юре не положено. Вот ты в состоянии все это проделать на VBA? Последний раз редактировалось Supermax, 02.10.2008 в 09:31. |
||||
![]() |
|
||||
Наверное не судьба на VBA такое делать. Скорее всего надо просто отдельную панель сделать и кнопок туда напихать.
Объявляется конкурс на BMP картинки для кнопок вышеперечисленных функций. Как только картинка понравится мне, Kpblc-у, SLADE и stas_org, так я функцию к ней даю. Последний раз редактировалось Supermax, 02.10.2008 в 13:04. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Это кому обращение?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Да тут наблюдаю за одним. С утра висит и висит. Сейчас смылся. А это не ты часом?
![]() Что-то совсем народ обленился. Сложные задачи ставлю - не могут. Простые (ну куда проще, картинку придумать?), так вообще думают, что сейчас набежит несколько остро нуждающихся и сделают. И по скольку так думают все, то простые задачи тоже никто не решает. Обидно Kpblc, до слез. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Supermax, тебе расписать над чем я сейчас сижу?
![]() Я ж тебе говорил - дин.блоки (тем более такие навороченные, как ты делаешь) лично мне пока не требуются. Мне вообще сейчас дин.блоки не нужны. Поэтому я и не принимаю практически никакого участия в разработке. Что понимаю "влет" - то делаю, если успеваю. Кстати, "кнопки рисовать" лично у меня никогда не получалось...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Так я уже себе понавтыкал всякого мусора. Может у кого есть для этого специальная программа. Берешь нормальный рисунок и пропускаешь через такую прогу. Она тебе его сжимает до кучки пикселей, но с тенями и пр. Рисовать Автокадовским редактором иконок ничего у меня не получается.
И вообще, скачивают сотни, а беседуют с автором 2-3 человека. Я Kpblc, не тебя имею в виду. Ты на себя навалил весьма много и тебя я понимаю. Без притензий. Я имею в виду ситуацию. Плохая получается ситуация. Чтобы что-то получить, надо это заработать. Так должно быть во всем. А мы тут халявщиков выращиваем. Все всегда начинается с малого. Когда где-то в чем-то что-то обломилось, то ждут, что и в большем обломится. Халяву и я люблю, поэтому очень хорошо чувствую этот вкус дармовщинки. Наркотик это. Ох какой крутой наркотик! Когда хотят подарить кому-нибудь щенка, то обязательно его типа продают, за рубль. Чисто символически. Дурная примета такая есть, что за даром пришло, за даром и уйдет. Я хочу чтобы очень многие делали крутые динамические блоки легко и быстро. Готов даром дать все, что для этого нужно, но не гоже быть такими КЮ, что даже картинку предложить влом. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
В качестве полного идиотизма (картинка здоровая, сами ужимайте :P)
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
stas_org, а правила одинаковы для всех. Так что "одобрямс" не будет.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Это точно )
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
проектировщик-новобранец Регистрация: 14.09.2005
Minsk
Сообщений: 324
|
11. Переписать данные из указанного Lookup-a в EXCEL.
12. Переписать из файла EXCEL в указанный Lookup данные. 13. Скопировать данные из одного Lookup-a в другой Lookup. Использую их, как только выложили эти лиспы |
|||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Supermax,
Ты упрекаешь всех, что никто тебе не хочет помочь, думаю, все дело в том, что мало кто (как, к примеру, я) обладает достаточным кол-вом знаний и умений, для того чтобы тебе помочь, а не потому что все такие любители халявы. Не расстраивайся ![]() Спасибо тебе большое, ты затеял огромное и полезное дело!!! ![]() Со своей стороны, могу нарисовать несколько вариантов иконок на выходных и выложить в понедельник. Единственное, я не очень понимаю, что означает: Цитата:
Динамические блоки - весьма слабо изученая мною область, к сожалению ![]() Последний раз редактировалось Ddjo, 02.10.2008 в 22:16. |
|||
![]() |
|
||||
Спасибо за сочувствие.
Элементы, это имеется в виду графические, текстовые элементы и атрибуты. То, что объеденено в блок. Visibility Set - это такой динамический объект (параметр + активатор), который позволяет управлять видимостью элементов блока. В блоке создается что-то типа слоев (Visibility State или по русски - представлений) и все элементы раскидываются по этим слоям. В редакторе блоков в правом верхнем углу выпадающий список этих представлений и кнопки для управления ими и видимостью элементов. Переключая одно представление на другое мы одни объекты выключаем, другие включаем. Установив в редакторе какое-нибудь представление мы можем в него добавить элементы, но чтобы их было видно в других представлениях надо по очереди открывать эти представления и включив "серую" видимость (когда видны все элементы блока), указав на нужные элементы включить им видимость в текущем представлении. ![]() Если элементов много, и представлений много, то эта работа не для слабонервных. А с помощью макроса выделяем группу элементов, вызываем список (в макросе) представлений, выделяем через Ctrl или шифт нужные представления и машина сама эти элементы делает в них видимыми. Вся эта возня с включением видимости одним элементам и выключением видимости другим элементам очень сильно взаимозависима. Нельзя (было) управлять видимостью одного элемента не трогая видимость других. Теперь можно. Теперь все элементы могут быть либо свободными, то есть не участвующие в процессе управления видимостью, либо входить в группы, каждаяиз которых управляется своим параметром Visibility Set. В каждом Visibility set свои слои - представления. Вообще-то в Автокаде нет ни одной кнопки для управления видимостью. только несколько человек удосужилось написать макрос для этих целей. Я даже вебмакрос для этого сделал. Очень мало народу знает, что выключить видимость элементу можно не перенося его в какой-то слой для этого, а просто так, взять и выключить. Вот геоподосновы видали? там ничего нельзя из слоя в слой переносить, а работать порою просто невозможно, столько всего друг на друге лежит. Выключишь весь слой, то и в нужном месте все исчезнет. А так можно только часть элементов погасить. Нажатием кнопки "включить все" все и включится. Если элементу выключить видимость, то видеокарте и процессору легче обрабатывать такой чертеж. Чем мньше элементов видны, тем быстрее обрабатывается изображение. В динамическом блоке управляя видимостью можно менять одну графику на другую (образно). На самом деле там обе графики одна на другой лежит, просто переключая представление мы видим то одно, то другое. |
||||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Я правильно понимаю:
Цитата:
к одному Visibility Set относятся круг, квадрат и треугольник в этом Visibility Set есть ряд "представлений", скажем : все видны - при этом видны все фигуры треугольник - при этом виден тольк отреугольник квадрат -виден только квадрат итд Элементы из одного Visibility Set копируются в другой Visibility Set при этом с возможностью их отнести их к определенному "представлению"? |
|||
![]() |
|
||||
Нет не правильно. Разве я писал другим Visibility Set-ам?
Вот ты открыл редактором блока блок. И попал в первое по списку представление первого Visibility Set-a. Ты можешь перейти в другое представление этого же Visibility Set-a, в третье и т.д. Можешь создать еще несколько представлений, но все равно ты всегда находишся только в одном из них. Вот небыло у тебя в этом блоке каких-то элементов, но блок уже создан и в каждом Visibility Set-e уже создано до черта представлений. Тебе надо вставить в блок какие-то новые детали. Куда спрашивается? в один из Visibility set-ов или вставить их и "освободить от зависимости". Ты делаешь текущим тот Visibility set, куда намерен вставлять эти элементы и вставляешь, НО только в одно из его представлений, которых может быть больше сотни! Элементы, что ты вставил в 20 из них должны быть видны, в 50 не видны, а в 30 какие-то видны, а какие-то не видны. Ты сейчас обречен их по очереди открывать и устанавливать видимость каждому из вновь вставленых в блок элементов. Спрашивается зачем это делать? Элемент выделили? - Да. Так надо указать сразу целый список представлений и туда эти выделенные элементы прописать. А не открывать каждое и там каждый раз выделять элементы. Конечно можно и нужно перебрасывать или копировать элементы из одной группы Visibility Set в другую, но чисто технически это выглядит несколько иначе. Если элемент принадлежит какой-тогруппе, то его присутствие в другой очень маловероятно нужно. Только в очень редких случаях это может понадобится. (я даже не знаю в каких). А так, либо там, либо сям. От туда убрали, туда вставили. Что значит убрали? - Просто стерли указатели на эти элементы в Visibility Set-e. Элементы стали свободными. Их можно прописать в какой-нибудь Visibility Set, но как правило не только это надо, поэтому это лучше делать, когда Visibility Set является текущим. Сделал Visibility set текущим, подсветил свободные элементы и нажал кнопку, после чего они стали принадлежать текущему Visibility Set-у. Но это уже не пункт 15. Это уже совсем другое. |
||||
![]() |
|
||||
Supermax, устрой голосование в шапке темы типа:
"Вам нужны динамические блоки, с множеством параметров видимости?" Сразу будет видно, нужно это или нет. А то может ты зря на людей ругаешься? Я напримет только изредка заглядываю в твою тему, т.к. пока особых перспектив не вижу. То что можно было сделать дин. блоком - сделано с базовыми возможностями. Дальнейшее усложнение создания д.блоков отметет львиную долю любителей этих самых д. блоков. ЯТД. Посмотри какие вопросы задаются на форуме по дин блокам? Элементарные. Несмотря на их(блоков) относительную простоту - вникнуть сразу, с 0 довольно трудно. Мне кажется Autodesk не зря оставил 1 параметр видимости. Но это так мысли вслух. Возможно я и неправ. Время покажет
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Supermax, ты конкурс объявил вчера в обед и хочешь чтобы картинки сразу пачками полетели! Подожди немного, дай народу время.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
wetr, может быть ты в чем-то прав. По крайней мере в том что мало кто пользуется динамическими блоками, причем действительно сложными блоками. Эти люди в эту тему и заглядывают
![]() Это тоже мысли вслух ![]() Кстати, Supermax, я чуть чуть подумал над твоими картинками. Это будет довольно сложно... Даже названия-то у кнопок сложные (не все сразу понимают смысл ![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Художник из меня никакой, но попытка не пытка.
Вот, пожалуйста, в качестве идеи для начала: 1. Вставить Visibility Set. (insert_visibility.BMP) 2. Очистить Visibility Set от всех элементов, свойств и представлений. (clean_visibility.BMP) 3. Включить ручки всем элементам текущего Visibility Set-a. (grips_on.BMP) 4. Выключить видимость всем элементам. (visibility_off_all.BMP) 5. Включить видимость всем элементам. (visibility_on_all.BMP) 6. Выключить видимость выбранным элементам. (visibility_off_selected.BMP) 7. Выключить видимость всем элементам, кроме выбранных. (visibility_off_all_Except_selected.BMP) Всякие тени и т.п. по-моему делать бесполезно из-за малости картинки. Хотя может у кого-нибудь получится. Если хоть что-то понравится, попробую нарисовать картинки и на остальные функции.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Посмотрел. Ты прав. Художник ты не ахти. Как в прочем и я.
Буквы тулить не фонтан. Ручку активированного параметра ты изобразил правильно, но она ведь для любых параметров такая. Совсем не ассоциируется с Visibility. А мои иконки хоть кому-то понравились? Про тени ты тоже не прав. Именно из-за теней иконка смотрится издалека понятно. Как только начинаешь ее рассматривать увеличено, так ничего не понимаешь. Как уменьшишь, так сразу все становится понятным. Законы оптики ![]() |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
ТВои иконки понравились
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Ну ладно, сколько людей столько и мнений.
Значит правильно я не стал дальше делать. Я сделал идейно. Усложнять можно дальше, но это уже будет непринципиально. Главное чтобы была отражена суть команды. Ручка такая только у параметра видимости и у lookup. Но насколько я понимаю программа только для параметра видимости. А лукап ты сам изобразил по-другому, в виде таблицы. Поэтому я и не побоялся треугольник рисовать. Насчет теней... Не согласен я с тобой. В твоих картинках тоть есть у буквы Х тень хоть нету по-моему без разницы. Ладно, пока не буду спорить, сначала попробую тень удалить, поставить рядом две кнопки и посмотреть разницу. Посмотрим другие варианты картинок.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Файл Visibility-ADD2.fas содержит следующие функции:
(Visibility_add) - Добавить новый Visibility Set (visibility-up) - делает указанный пользователем Visibility Set текущим (element-sel-current-del) - убирает из текущего Visibility Set-a выделенные элементы (eddedd) - включает ручки всем элементам текущего Visibility Set-a (Visibility_clear) - очищает указанный Visibility Set от всех элементов, параметров и представлений. Принадлежащие ему элементы становятся свободными (element-all-current-del) - удаление из текущего Visibility Set всех элементов оставляя свойства и представления. (element-sel-current-insert) долгожданная - по внедрению в общий список текущего Visibility Set-a выбранных элементов. (properties_add_all_visibility) - устанавливает видимость выбранным динамическим свойствам во всех представлениях всех Visibility Set-ов (tecuch_visibility) - показывает наименование текущего Visibility Set-a и выводит его в статусную строку Когда вставляется новый (уже не первый) Visibility Set, он не делается текущим. Автоматически и к его имени по умолчанию добавляется куча цифр, чтобы не было одинаковых имен. В статусной строке выводится значения текущего Visibility Set-a только после первого применения (tecuch_visibility). 24.01.2009. Исправлена ошибка в функции (properties_add_all_visibility) 16.07.2009. Исправлена ошибка в функции (element-sel-current-insert) 17.07.2009. Еще раз исправил (element-sel-current-insert) и вставил в нее включение видимости всех элементов с последующим откатом назад этой видимости. 06.10.2009. !!! Исправил функцию eval_graf_output, из-за которой не работала visibility-up. 02.02.2010. !!! Еще раз исправил функцию eval_graf_output, под 2010 кад, да и вообще быстрее стала работать. Последний раз редактировалось Supermax, 02.02.2010 в 14:23. |
||||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Supermax,
Насчет пункта 15, все разъяснилось Мне кнопки Volodich, понравились, у меня похожие идеи, насчет лукапа, на мой взгляд, однозначно надо изображать треугольник,(Action - молния, ехсель -таблица с буквой "х" или вообще -значек екселя, видимость/невидемость выделять тоном и тд), короче, использовать интуитивно понятные пиктограммы, которые узнаются с первого взгляда и не путаются между собой ( т.к. когда по кнопкам пыкаешь, их особо не разглядываешь), к тому же, из-за малой величины, должны содержать минимум информации. Supermax, Ваши кнопки мне понравились меньше, лукап->эксель и эксель->лукап, сначала не заметила разницы |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Supermax, прими в качестве совета: первый пост темы виден (благо шапку Админ сделал). Ну так и редактируй первый пост
![]() ![]() Я бы, наверное, так и делал.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Конструирование в области нефтеразведки Регистрация: 10.02.2006
Гомель
Сообщений: 321
|
> Supermax #147, Кулик Алексей aka kpblc
Вот за эту программу огромное спасибо!!! Очень нужная вещь... |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Lite версия бесплатна, стандарт бесплатна (была по крайней мере раньше) для xUSSR, только в конце банеры показывает. Есть online уроки
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Supermax, файл *.fas надо просто поместить в папку к вспомогательным файлам?
Команда: (LOAD "C:/Рабочие документы/LISP/Visibility-ADD2.fas") VISIBILITY_CLEAR Команда: Visibility_add Неизвестная команда "VISIBILITY_ADD". Для вызова справки нажмите F1. Я что-то не так делаю? Цитата:
Я скрываю объекты, отключая слои.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
СВ, а почему остальные не качаешь?
Kpblc, я так уже делал, только в данном случае очень много всего. К каждому файлу хелп нужен не слабый. Боюсь первый пост станет на всю страницу и тогда будет ОПА! Если каждая страница будет содержать одно сообщение размером с целую страницу, то ... ![]() |
||||
![]() |
|
||||
Volodich, Visibility-ADD2.fas это макрос. Прочти пожалуйста повнимательнее тему и на сообщениях VVA есть ссылка на то, как макросами пользоваться. Чес. слово, облом столько по новой писать.
Народ, дайте ссылок на тему, как запускать макросы. Ладно, у VVA там много всего, так что даю вводную. 1. Создаем папку для макросов (где угодно) и кладем в нее файлы *.lsp и/или*.fas. 2. Устанавливаем путь к этой папке Tools->Options...->закладка Files->раскрывающийся список Support File Search Path (нажать на плюсик и раскрыть)->выделить любую строку->нажать клавишу (в правой части меню) "Add..."->нажать кнопку "Browse...">указать в открывшемся окне на папку с макросами->нажать кнопку "Apply" (в нижней части меню) и кнопку "OK", тамже. Теперь набрав в ком строке (load "Visibility-ADD2.fas") ентер, а потом (VISIBILITY_ADD) ентер получим нужное. Мы функцию запускаем, а не команду. В 145 посте все вполне понятно написано. Последний раз редактировалось Supermax, 03.10.2008 в 14:23. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
dwg.ru/art/8
Подпись VVA ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
В продолжение #151:
Я бы написал, наверное, следующее (ну или что-то типа такого): В этой теме рассматривается вопрос программного "наращивания" возможностей динамических блоков. Разбор словарей дин.блока Получение параметра видимости и его разбор Примеры блоков с несколькими параметами видимости (Visibility Set): "неправильные" и "правильные". В постах #70 и #71 - дополнительные примеры. Программа по перемещению параметров видимости "по порядку" Готовые макросы: Excel->Lookup Excel->Lookup для пространства редактора блоков Lookup->Excel Lookup->Lookup Lookup->Excel для пространства редактора блоков Lookup->Lookup для пространства редактора блоков Все, объединенное Функция скрытия объектов
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Kpblc, я перенес из первого поста текст в начало второго, а теперь ты перенеси свой текст в первый пост, и чтобы я мог его редактировать. Я буду добавляя проги, туда ссылки добавлять. Очень хорошо у тебя получилось. Спасибо.
|
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Цитата:
![]() Жмешь цитату на моем варианте, копируешь текст цитаты, входишь в редактирование первого поста; там вставить и удалить тэги QUOTE. Вот и все ![]() P.S. Исправил заголовочный пост
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. Последний раз редактировалось Кулик Алексей aka kpblc, 03.10.2008 в 16:09. |
|||
![]() |
|
||||
Это для палитры? Весьма красиво. Давай, давай.
Я вообще-то с палитрой давно не бадался, даже не знаю где ее включать. А там еще можно и полупрозрачный фон делать. Вот бы кто просвятил. А то я с этими DXF кодами совсем отупел. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Цитата:
![]() Я только одно не учел, что название функции должно быть в скобочках. Сделал. Запустил. При первой попытке добавить дополнительный параметр видимости, автокад вылетел с какой-то ошибкой на пол экрана. (что-то типа обращение к памяти и т.п.) Ну я думаю, щас запущу второй раз запущу и все перепишу. Но не тут-то было. Вот что он мне говорит. Цитата:
Причем остальные функции вроде работают, по крайней мере что-то делают, не выдавая ошибки (попробовал eddedd, выделились ручки, но почему-то не выделился лукап. Но это я еще буду разбираться) Я что, самый невезучий? Или все-таки чайник ![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Цитата:
И мне никто так и не объяснил: Цитата:
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
От е-мае!
Код:
kpblc-objects-hide.lsp - текстовый файл. Там в начале все написано. Там всего одна функция с аргументом. Цитата:
Обычно во всех лиспах в начале идут комментарии. Тут не исключение. Дерзай. |
||||
![]() |
|
||||
проектировщик-новобранец Регистрация: 14.09.2005
Minsk
Сообщений: 324
|
Коллеги , а макросы Lookup->Excel и Lookup->Excel для пространства редактора блоков нельзя соединить в один из 2-х (ведь программка которая говорит "что вы не зашли в редактор блоков " у Supermaxа уже применяется, помоему, в "Программа по перемещению параметров видимости "по порядку"
Сделал 3 иконки для программ Excel->Lookup Lookup->Excel Lookup->Lookup |
|||
![]() |
|
||||
Во, только хотел сказать, что значек Excel-я хорошо смотрится только на Lookup->Excel, а ты уже переделал.
Я уже их пытался в палитру впихнуть. И есть одно но. На панели используются картинки с прозрачным дном. Тебе следует раскопать все по прозрачности и установить галочку в свойствах файла на прозрачность. То есть белый будет прозрачным. Все вокруг значка Excel и таблицы Lookup должно быть прозрачным. Значек активатора излишне нагружает рисунок и стрелка очень жирная. Ты ей постепенно уменьши яркость, чтобы к хвосту она стала бледнорозовой. Расширение на хвосте стрелки лучше переделать на сужение. Если уж тебе так хочется значек активатора оставить, то сделай его пожиже, или поменьше, чтобы не он бросался в глаза, а таблица. И вообще,народ, подскажите где лежат картинки от палитры. Никак не могу найти их месторасположение. |
||||
![]() |
|
||||
Я уже сделал твою иконку прозрачной. В Paint-e убери галку с "непрозрачный фон" в закладке "рисунок" и весь фон сделай стиральной резинкой и пипеткой - белый. :good: От родного, Автокадовского не оличить.
BetoN, твои иконки пока самые лучшие для кнопок. Но в палитре не смотрятся. Мелковаты и расплывчаты (про свои вообще молчу). Последний раз редактировалось Supermax, 04.10.2008 в 12:05. |
||||
![]() |
|
||||
Инженер-проектировщик Регистрация: 01.10.2008
Минск
Сообщений: 13
|
|
|||
![]() |
|
||||
проектировщик-новобранец Регистрация: 14.09.2005
Minsk
Сообщений: 324
|
Цитата:
Поэтому и возникло предложение их объединить в одну прогу, да и кнопок меньше ![]() |
|||
![]() |
|
||||
А это и не надо.
Выделяешь блок, жмешь правую кнопку и выбираешь Edit Block In-place. Давишь ОК. Далее тебя воспрошают в своем ли ты уме, ты ответишь да и войдя в редактор выходишь с сохранением. Все. был блок динамический, а стал простой - взрывай. К его родному имени циферку прибавил Автокад. А в базе блоков чертежа появился новый блок с циферкой в конце. Вот новые файлы совмещенной работы и в модели и в пространстве редактора блоков. Последний раз редактировалось Supermax, 04.10.2008 в 21:34. |
||||
![]() |
|
||||
проектировщик-новобранец Регистрация: 14.09.2005
Minsk
Сообщений: 324
|
процедура не сложная, если не считать , что ряд пользователей ставит на правую кнопку - потверждение (в том числе и я). Проще для обычного юзера - нажал=получил.
Мне иконки для кнопак BetoNа тоже нравятся. Какие размеры делаем 16х16 и 32х32? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
И тем самым лишает себя контекстного меню?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Пробел выполняет те же действия, что и Enter. Хотя это оффтоп чистой воды.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
SLADE, все твое горе заключается в том, что у тебя нет вот такой штуки:
http://dwg.ru/f/showpost.php?p=292682&postcount=14 |
||||
![]() |
|
||||
Когда у меня появилась первая такая мышка МХ-500, то я с ней ходил из дома на работу и обратно. Дома комп, на работе комп, а мышка одна на оба компа. Хотя и стоила она всего 800р. 1500 сейчас MX-518 не такие уж и большие деньги. Но после того, как я привык Esc и Del и все остальное жать на ней, а не на клаве, то когда я захожу к кому-нибудь в гости и мне приходится садиться за комп с 3-х кнопочной мышью - такое впечатление создается, что я не то что автокадом научился пользоваться совсем недавно, с клавиатурой еще не освоился.
![]() И вот два монитора у меня теперь везде, и новый комп себе присмотрел, и 6 мониторов у меня будет очень скоро. И не дорого это. 2 штуки евро стоит потратить на такое. |
||||
![]() |
|
||||
Закину еще сюда прожку по установке и деустановке видимости элементам в представлениях текущего Visibility Set-a.
Это когда вы наваяли очень много представлений и у вас появилась необходимость вставить новый элемент и прописать ему видимость во многих представлениях, а также, если вы наваяли много представлений, но галочка была установлена на включение видимости всем элементам (наследование видимости) и теперь надо выключить видимость нескольким, но везде, или сразу во многих местах, то эта программка вам в этом поможет. Файл обновлен 8.10.2008г. Последний раз редактировалось Supermax, 08.10.2008 в 16:10. |
||||
![]() |
|
||||
проектировщик-новобранец Регистрация: 14.09.2005
Minsk
Сообщений: 324
|
|
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
К оффтопу чистой воды: а я в теме "тюнинг кад систем" (по-моему) вычитал настройку: учитывать время нажатия (правой клавиши мыши). В итоге и меню доступно и команда по быстрому нажатию повторяется. Первое время путаешься, но через пару дней привыкаешь и без этого уже как-то и неудобно.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
А ведь работает!!! По крайней мере добавление нового параметра видимости.
Supermax, Теперь тебе надо справку писать по своим функциям ![]() У меня, например, параметр видимости добавился, я даже сделал там 2 представления видимости, в один из которых "запихал" элемент. Сохранил блок, блок заработал как надо. НО: При повторном открытии блока редактором, новый параметр видимости вообще исчезает, а старый параметр автокадом уже не понимается как параметр видимости. При попытке сделать старый параметр видимости текущим, выдается ошибка, что "Кривой блок не должен содержать технически одинаковых имен свойств! Добавьте пробел в конце имени свойства!" На всякий случай приложу блок. Даже уже на этом этапе Supermax - молодец! Не бросай это дело!!!
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Volodich, прочитай эту тему с самого начала - подобное поведение, насколько мне помнится, описывалось. И также рассказывалось, как с ним бороться
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Volodich , делать все надо аккуратно! Ты первый параметр видимости должен вставить руками из палитры инструментов. И какого ты его снес? Второй параметр видимости ставится тогда, когда их надо два. А у тебя я вижу только один. И не стоит хаотично вставлять, сносить, опять вставлять. Пожара тут нет и нечего так суетиться. От этой суеты только одни глюки и получаются.
Блок переделай и видимость вставляй тогда, когда она нужна. |
||||
![]() |
|
||||
Я нашел почему ты так сделал. Когда тебе нужно было указать точку вставки нового Visibility Set ты вдруг нажал Esc. И программа вывалилась, так и не закончив своей работы. В частности, в блоке остался кривой Visibility.
Ща, это дело можно обойти. Я в самом начале буду спрашивать указания точки вставки, и только если ее указали, то вся остальная программа выполнится автоматически. В таком виде таких накладок уже не будет. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Я кажется тоже понял. Только Esc я не нажимал, вот, смотри сам:
Цитата:
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
То-то я удивлялся, когда запускаю программку по перемещению свойств, там какие-то странные названия параметров "Кривой", "Кривой" ...
![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Так, а теперь займемся моим делом.
Kpblc, дело на миллион. Ну если кто поможет - войдет в историю. Я почти доделал прогу по связыванию Lookup-ов, точнее по установке активатора Lookup-a на параметр, который уже занят другим активатором. Тот пример, из поста 71, я делал, как ты выражаешся "на коленке". И вот решил сделать полноценную прогу для этого. Сделал все, но споткнулся на элементарном. Логика программы такая: Я прошу указать параметр, к которому надо привязать активатор. Затем, прошу указать точку, в которую надо этот активатор поставить. Код:
Код:
Код:
Код:
А мне этого не надь. Ни за деньги не надь, ни даром не надь. Мне надо отключить у этой команды работу с панелью, только вот какая системная переменная за это отвечает - не помню. Мне после установки активатора его надо отредактировать, а потом убить тот параметр Lookup-a, который вставляли ранее. Без него активатор вставляться не хочет. Вот как с панели вставляется параметр с активатором в купе и при этом никаких панелей по его заполнению не вылазит? |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Скажу честно - сейчас возможности по-нормальному разобраться нет. Но вопрос: ты же со словарями уже работал? Так почему б не создавать их полностью программно, не прибегая к командным методам?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
А-а-а! Давно я ждал этого вопроса. Да потому, что создать то могу, но он создается в базе файла, но не вставлен туда, куда надо. Можно создать и вставить в словарь ACAD_EVALUATION_GRAPH, но от этого легче не станет. Работать не будет как и в случае с Visibility Set-ом. Там я тоже создаю, и ничего особенного не делаю, но он не появляется в пространстве редактора блоков и сбивает его работу. Чем собственно мы и воспользовались. И только сам редактор все корректно создает и прописывает в блок как надо. Ни одно динамическое свойство, мы не можем установить на сегодняшний день, полностью самостоятельно и абсолютно корректно. Толлько модификация пока дает пользу, но вставка - только редактором. Увы.
|
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Supermax, скачал, но не порадовался...
Цитата:
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
А-а-а! Вот тут ты батенька попал со своим руссифицированным Автокадом в лужу. Дело в том, что у меня английский вариант, и там надо отвечать на вопросы по анлийски, а у тебя Русский - и там как я вижу надо русские заглавные буквы ставить, чтобы правильно ответить на вопрос выбора режима.
Надо делать аналогичную программу для русских автокадов. Но у меня нет такового и поэтому сорри, за нестыковку. вот это надо перевести на русский язык. Код:
|
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
вместо буквы "V" надо поставить букву "д", причем насколько я знаю неважно заглавную или нет.
вместо буквы "L" - букву "м". вроде все. Насколько я понял, name_visibility - ты специально генерируешь заранее (видимо чтоб не совпадало с "Видимость" - стандартное) point_insert - это тоже точка взятая заранее? Тогда точно все. Кстати, а почему ты не делаешь файл типа "*.lsp" ?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
ОО, когда написал увидел что Кулик Алексей aka kpblc, написал. Он сделал правильнее! Делай как у него! Я проверил, работает!
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Ну ка попробуй вот это:
А по поводу *.lsp, так тут нет тех, кто в этом разбирается (Kpblc не считается) посему и коды не даю. Помогать мне никто не захотел, все дружно заявили, что они дескать чайники и им только результат важен а не процесс. Последний раз редактировалось Supermax, 08.10.2008 в 10:44. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Уже гораздо лучше! Корявые параметры видимости не создаются! Блок работает!
Все равно есть какой-то маленький косячок. Про lsp я спросил к тому что пусть чайники, но такие мелочи можно было бы на месте смотреть. Ладно, буду сюда ошибки вываливать ![]() Цитата:
Прикладываю файл для наглядности. Цифры 1-2-3 и 4-5-6 должны переключаться независимо друг от друга. Но когда я переключаю 1-2-3, почему-то появляются все 4-5-6 сразу. И наоборот.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Volodich, Если вставляешь новый Visibility Set, то в него автоматом попадают все элементы блока. Для этого и сделана функция очистки Visibility Set-a. Я не заню, от куда у тебя лезет эта буква Д.
Ставь нормальный английский автокад. |
||||
![]() |
|
||||
Программа Lookup-дубль-активатор не нужна.
Оказалось, что установка нескольких активаторов на один параметр Lookup-a не совсем обрезана в Автокаде. Установка дополнительных активаторов дает примерно такие блоки см. пост #212. И так: Наведите курсор на значек установки параметра Lookup с активатором в закладке панели динамических свойств, в которой все параметры сразу с активаторами устанавливаются. Нажмите правую кнопку мыши и выберите строку "свойства". Раскроется окно свойств данного элемента. Наведите курсор на нижнюю строку, в которой указан активатор и нажмите левую кнопку мыши. На строке справа появится значек кнопки выбора. Нажмите на него. Откроется новая панель со списком активаторов, привязанных к параметру Lookup. Но в списке будет только один активатор. Нажмите справа кнопку "добавить" и появится в списке еще один активатор. Нажмите "добавить" столько раз, сколько активаторов вам надо. После этой нехитрой процедуры, при нажатии на элемент Lookup+активатор Автокад будет устанавливать вам параметр Lookup с целой кучей активаторов. К сожалению, в 2010 каде, а может и в 2011 (не проверял) активаторы, в которых не заполнены таблицы, в редакторе блока не видны (хотя они есть на самом деле) их заполнение пока можно делать в кадах предидущих годов выпуска или попробовать эксель-лукуп. ![]() Последний раз редактировалось Supermax, 14.12.2010 в 22:49. |
||||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
1. Установить Action на задействованный другим Action-ом Lookup-параметр.
2. Скопировать данные из одного Lookup-a в другой Lookup. 3. Переписать данные из указанного Lookup-a в EXCEL. 4. Переписать из файла EXCEL в указанный Lookup данные. 5. Очистить Visibility Set от всех элементов, свойств и представлений. 6. Удалить из текущего Visibility Set-a выбранные объекты (сделать их свободными). 7. Выключить видимость всем элементам. 8. Включить видимость всем элементам. 9. Включить ручки всем элементам текущего Visibility Set-a. 10. Вставить Visibility Set. Вот, что получилось, пока не все |
|||
![]() |
|
||||
По моемому 7 и 8 надо поменять местами.
Но в целом, лично мне: Обозначение Lookup-a как ручка - не нравится. Глаз понравился, как идея, но исполнение - нет. Стырь где-нибудь красивый глаз. Включение и выключение видимости надо отображать как заход и восход солнца. Со стрелочкой, поясняющей куда это солнце движется. Очистка Visibility Set-a от всего и удаление выбранных элементов в целом хорошо, если не считать глаза. |
||||
![]() |
|
||||
Вот наваял примерчик использования связанных Lookup-ов. На большее у меня фантазии не хватило.
Данный пример показывает, как изменяя один параметр блока можно автоматически менять другие его параметры. Файл обновлен 8.10.2008г. Последний раз редактировалось Supermax, 08.10.2008 в 16:25. Причина: Змена файла более новым. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Цитата:
Ddjo, красотища! Согласен с Supermax, что 7 и 8 надо поменять местами ![]() Lookup мы же по-моему решили показывать все-таки таблицей. Тем более что рисуночки для кнопок у Supermax'а с таблицей, причем неплохие. Я думаю, что надо что-то такое повторить, желательно даже оставить расположение элементов чтоб не путаться. Цитата:
![]() Глаз действительно оригинальная идея. Только может чтоб понятнее было сделать где-нибудь рядом (или вообще вместо зрачка) синий треугольничек?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Цитата:
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Из поста 67:
Цитата:
Supermax, ты сделал функцию, которая очищает текущий параметр видимости от всех элементов и делает их свободными. А есть ли у тебя функция, которая делает наоборот, включает выбранные элементы в текущий параметр видимости?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Цитата:
Пока такой функции нет. Функций надо еще ого-го сколько! Но тут есть простое решение. Макросом Kpblc-a или моим вебмакросом (в первом посте я дал на него ссылку). Включаешь видимость всем элементам блока. Выделяешь нужные тебе желементы и копируешь в буфер с указанием точки вставки. Точку вставки выбираешь такую, чтобы она не принадлежала выделенным элементам, поскольку как только ты их в буфер запишешь, тебе надо их, пока они еще выделены - удалить. Все, в блоке уже нет этих элементов, но они остались в буфере. Нажимаешь правую кнопку мыши и давишь Paste курсором тыкаешь в ту точку вставки, в которую ты тыкал, когда заносил элементы в буфер. Все, элементы установлены на то же место, только теперь это текущий Visibility Set и его текущее представление. Последний раз редактировалось Supermax, 07.10.2008 в 10:27. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Supermax, как будет время, не поленись, напиши инструкцию! Потому что вряд ли только один я не пойму как что нужно делать.
Цитата:
Вот и нашлось применение программе Kpblc-a! ![]() Кстати, никто мне толком так и не объяснил, для каких целей используется программа kpblc-objects-hide.lsp. Написали только что она делает. Это-то я тоже понимаю! Но в каких целях это можно использовать?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Supermax, сделал блок по инструкции из поста 217. Все работает! Здорово!
Молодец! Спасибо тебе за проделанную работу! Результаты уже налицо. Конечно, как ты сам сказал, еще кучу доработок надо делать, но по крайней мере работать уже можно!
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Для сверхнасыщенных чертежей можно скрыть ненужные объекты. Скорость обработки файла увеличится
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Возник еще один вопрос. Получается один элемент может принадлежать только одному параметру видимости? Ну или быть свободным.
Теперь не могу понять вот что. Как надо добавлять параметры для элементов? Я добавил параметр поворота, но он почему-то не видим ни в одном представлении ни одного параметра видимости. Я даже один параметр поворота сделал свободным, другой вставил в дополнительный параметр видимости. Все равно не видно его... Блок прикладываю.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Цитата:
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Volodich, а это не всегда допустимо.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Функция в свое время писалась как замена ADT-шному Isolate Objects. Пример, как это работает в ADT:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Кулик Алексей aka kpblc, если я правильно понял, в данном примере Isolate objects используется чтобы 3d-orbit не тормозила? Или чтобы рассмотреть какой-то кусочек подробнее и чтоб не мешало все остальное?
Сначала посмотрели на одну перегородку, потом ее спрятали, а потом опять вернули все на место... Видимо я не архитектор, мне этого не понять ![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Чтобы вообще чертеж не тормозил. Я просто взял не сильно насыщенный файл (а вот что у Supermax'a творится - это жесть
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Ну ладно
![]() ![]() Я технически понял почему не видно было параметр поворота. Оказывается нужно включить ему видимость во всех представлениях всех параметров видимости где он должен быть виден. Но теоретически непонятно. Я ведь сделал его свободным. (создал его в новом параметре видимости, а потом этот параметр видимости "очистил") Но все равно почему-то его нужно было включать во всех представлениях... Попробовал использовать для этих целей функцию Move-to-visibilityset.fas Вот что выдал автокад: Цитата:
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Инструкция по применению дополнительных параметров Visibility Set в динамических блоках. Установка дополнительного параметра Visibility Set: Запустить функцию (Visibility_add) Указать место установки параметра Visibility Set Параметр устанавливается вне зависимости есть хоть один Visibility Set или нет. Чтобы настраивать представления нужного вам Visibility Set-а, вам надо сделать его "текущим", тогда в редакторе блоков выпадающее меню с представлениями видимости будет показывать представления именно того Visibility Set, который вам нужен. Установка указанного пользователем Visibility Set-а в состояние "текущий": Запустить функцию (visibility-up) Указать на текст значка выбранного вами Visibility Set-а Нажать Enter Элементы: С появлением возможности использования дополнительных параметров Visibility Set, изменился статус элементов блока. Раньше, в блоке без Visibility Set-a, видимость элементов была включена всегда. Даже если вы специальными программами ее выключали, при выходе из редактора она восстанавливалась автоматически. С установленным Visibility Set-ом, управление видимостью всех элементов блока полностью передавалась ему. В нем были записаны указатели на все элементы блока и по этому списку (общий список) Visibility Set выключал видимость всех элементов, а затем по списку элементов видимых в текущем представлении - включал. При установке дополнительного параметра Visibility Set все элементы также прописываются в его общий список. Если у вас два Visibility Set-а и в обоих, в общем списке числятся одни и те же элементы, то оба Visibility Set-a, при обращении к ним, будут стирать видимость этих элементов. Это необходимо в очень редких случаях, поэтому все элементы блока желательно разбросать между установленными Visibility Set-ами. Не путайте состояние видимости элемента (видим или не видим) с принадлежностью к Visibility Set-у. Элементы могут не принадлежать любым Visibility Set-ам вашего блока. Такие элементы называются "свободные". Их видимостью никто не управляет. Если вы зайдете в редактор блока и при помощи специальной программы выключите им видимость, то при выходе из редактора их видимость так и останется выключенной. То есть в пространстве модели или листа вы их не увидите. И наоборот, если они включены, то видны везде. Очистка указанного Visibility Set-а от всех элементов, параметров и представлений. Принадлежащие ему элементы (если они не принадлежат другим Visibility Set-ам) становятся свободными. Запустить функцию (Visibility_clear) Указать на текст значка выбранного вами Visibility Set-а Нажать Enter Удаление из текущего Visibility Set-а выделенных элементов: Запустить функцию (element-sel-current-del) Выделить нужные вам элементы Нажать Enter На попадание в набор выделенных элементов динамических параметров и ручек, макрос не реагирует, то есть, элементы удаляет, а параметры и ручки пропускает. Удаление из текущего Visibility Set-а всех элементов: Запустить функцию (element-all-current-del) Внедрение в текущий Visibility Set выбранных элементов: Запустить функцию (element-sel-current-insert) Выделить нужные вам элементы Нажать Enter Для использования дополнительных Visibility Set-ов, вам необходимо установить для этого все макросы, перечисленные в посте №1. Особое внимание обратите на макрос включающий и выключающий видимость элементов. Он включает видимость всем элементам блока вне зависимости от принадлежности элемента к параметрам Visibility Set, или группе "свободные". Это дает возможность выделять и переносить элементы из одного Visibility Set-а в другой. Установка видимости выбранным динамическим свойствам во всех представлениях всех Visibility Set-ов: Запустить функцию (properties_add_all_visibility) Выделить нужные вам параметры Нажать Enter Если вы выделили параметр, а ручку не выделили (если она есть), то во всех представления всех Visibility Set-ов установится видимость не только этим параметрам, а еще и ручке (это особенность самого Автокада исправлять ошибки в словаре) Помните! При вставке нового парамтра Visibility Set в него попадают все элементы блока. После вставки параметра, либо очистите его полностью от всех элементов и представлений, либо специальной программой выделите те элементы, которые надо исключить из данного Visibility Set-а и исключите их. Все действия с элементами блока надо делать только в тех Visibility Set-ах, которые являются текущими. Свойства: Свойства, это параметры, активаторы и ручки, в отличии от элементов не нуждаются в принадлежности к Visibility Set. Они всегда видны в любых Visibility Set-ах и любой Visibility Set может управлять видимостью любого из свойств. Свойства никогда не бывают "свободными". Включение и выключение видимости параметра - это видите вы или нет этот параметр в списке свойств блока. Включение или выключение видимости ручки - это видите вы эту ручку в модели или листе, или нет. Включение и выключение видимости активатора используется исключительно в косметических целях в пространстве редактора блоков, чтобы не загромождать рисунок лишними, для текущего представления, значками и на работу и видимость других элементов или свойств не влияет. Не зависимо, видны ли параметры и активаторы, или нет, они всегда взаимодействуют с элементами блока на которые они установлены. В отличии от элементов, видимость параметра, ручки или активатора, только включается в Visibility Set-е. Если хоть в одном из текущих представлений Visibility Set-ов видимость свойства выключена, то его вы видеть в списке свойсв блока не будете. Из вышесказанного следует, что вы, войдя в редактор блока, видите элементы текущего представления текущего Visibility Set-a и должны видеть все параметры, ручки и активаторы всех других Visibiliset-ов! И это не в "серой видимости", а без нее! В "Серой видимости" вы максимум можете увидеть элементы текущего Visibility Set-a, которые в данном представлении выключены и те параметры, ручки и активаторы, которые вы выключили для данного представления намерено. Вот тут надо дать еще одно разъяснение: Выключение видимости редактором и выключение видимости подсобным макросом (см. пост №1) - Две огромные разницы! Редактором устанавливается значение видимости для текущего представления, а макросом - просто, временно гасится. Если макросом выключить видимость, хоть в пространстве редактора, хоть за его пределами - при первом же обращении к блоку, когда происходит переключение с одного параметра блока на другой - видимость восстановится в соответствии с требованиями самого блока. А Определение видимости - совсем другое дело! Если вам надо в пространстве редактора временно погасить видимость лишним параметрам, ручкам, активаторам и элементам - пользуйтесь только макросами! НО! Если блок содержит "свободные" элементы, не забудьте потом вернуть им видимость, иначе вы их в модели или на листе не увидите. Внимание! Если вы создали такой блок, в котором в текущем представлении всем элементам выключили видимость, и вы это представление активировали в рисунке, то после выключения ручек у блока, найти его в чертеже можно только по включенным ручкам, а если и они попали в выключенное состояние, то только по точке вставке самого блока и если включить ручки всем элементам чертежа. Найти эту точку будет порою очень затруднительно. Будьте внимательны при управлении видимостью элементов! Продолжение следует. Да простит меня аудитория за ошибки и лишние буквы. Последний раз редактировалось Supermax, 02.02.2010 в 20:54. |
||||
![]() |
|
|||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Supermax, спасибо за мануал. Осталось еще описание "Создание и управление несколькими параметрами видимости в динамических блоках. Практические примеры." И парочку видеоуроков и можно в автодеск все это продавать!
![]() Но у меня почему-то некоторые твои теоретические выкладки не стыкуются с практикой... Я не понял эту фразу: Цитата:
Цитата:
Цитата:
Поэтому очень нужна программка по массовой установке видимости. А она почему-то не работает. Посмотри, пожалуйста, пост 229. Цитата:
Вот. Поясню: я не спорю, я просто пытаюсь разъяснить непонятные моменты.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
||||
![]() |
|
|||||
Отвечаю на вопросы:
Я для кого писал пост №231? Мануал писался, когда не было обновления. Я уже стер в нем эту запись. Цитата:
Цитата:
При включении серой видимости видны все свойсва, но это не означает, что они видны в текущих представлениях. А надо чтобы были видны. Я поясню (если ты поймешь). Visibility Set всем элементам видимость сначала выключает, а потом идет по спискам текущих представления и проверяет "что включить". А всем свойствам изначально видимость включается, а потом Visibility Set идет по спискам текущих представлений и смтотрит, "что не выключать". Между "что включить" и "что не выключать" есть разница. В первом случае идет речь о списке элементов с выключенной видимостью, а во втором о списке свойств с включенной видимостью. Вот почему надо, чтобы видимость свойствам была установлена везде. Достаточно одного не попадания на "не выключение" и ты свойства не увидишь. Программа по массовой установке видимости работает везде, в том числе и в русском автокаде. Там сосвсем другой принцип установки видимости. Я там не словарь редактирую, а тупо команды перебираю. И свойства и элементы там работают. (у меня во всяком случае) Цитата:
Цитата:
Последний раз редактировалось Supermax, 08.10.2008 в 10:31. |
|||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Вроде бы все понял. Вывод такой: Когда я вставляю какой-то параметр в блок с несколькими параметрами видимости, я должен этот параметр включить во всех представлениях всех параметров видимости. А потом уже там где его не нужно видеть, отключать.
Дак вот главное-то что! Supermax, когда я пытаюсь загружать программу по массовой установке видимости Цитата:
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Вот, несколько исправленных, если понравятся, то доделаю остальные
1. Установить Action на задействованный другим Action-ом Lookup-параметр. 2. Очистить Visibility Set от всех элементов, свойств и представлений. 3. Вставить Visibility Set. |
|||
![]() |
|
||||
Внимание! очередной раз обновлен файл Visibility-ADD2.fas. Добавлены две функции: (element-all-current-del) - удаление из текущего Visibility Set всех элементов оставляя свойства и представления. (element-sel-current-insert) долгожданная - по внедрению в общий список текущего Visibility Set-a выбранных элементов. |
||||
![]() |
|
||||
Ddjo, да, трудная это работа по рисованию иконок. Не зря целые программы пишут для этого. Глаз стал значительно лучше, но он явно женский. Не знаю, может кому женский - самое оно, но уж больно он не концептуальный. Тот что раньше был вполне условный, но какой-то по детски условный, а этот больше похож на фотографию, чем на символ. Нужен глаз-символ. У египтян можно позаимствовать. Я там видел нечто подобное. Стрелки очень жирные. Стрелка направленная в глаз - не правильно. Надо глаз расположить наверху, а стрелку от него (только не из него) вниз. Вот это будет похоже на установку глаза куда-то. А то в глаз - не понятно. Ты за много картинок сразу не берись. С глазом пока повоюй. И стрелок пока не надо. Надо для начала сам глаз круто изобразить. И чтобы маленький получился, и чтобы было понятно, что это глаз, и чтобы было понятно, что это символ, а не предложение куда-то посмотреть.
|
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Цитата:
![]() Юморист ![]() Если честно, мне последний глаз меньше всех понравился. Первый был вполне нормальный. Может быть только стоило его чуть уменьшить и все. Ddjo, а ты можешь сделать маленькие картинки для кнопок такие же красивые?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Supermax, ну ты прям как горячие пирожки выдаешь обновления! Молодец! У меня к тебе у меня опять много вопросов...
1. Программа по массовой установке видимости запускается! Скажи только, правильно ли что в командной строке она выдает: Цитата:
При нажатии на ОК закрывается, но в командной строке пишет: Цитата:
Поясню. Когда я нажимаю "Установить для выбранных объектов видимость везде", видимость выбранным объектам действительно устанавливается, но только во всех представлениях текущего параметра видимости. Аналогично работают и другие функции. 4. (element-all-current-del) и (element-sel-current-insert) работают отменно! По крайней мере я с первой пробы ничего не заметил. 5. Supermax, Посмотри, пожалуйста, еще раз функцию по вставке параметра видимости. Откуда-то у меня ведь вылезает "Setд"... конечно и с этим все работает, но хочется чтобы не было всякой ерунды. Да и ты сам любишь идеальность, как я заметил. Может быть поэтому у меня ИЗРЕДКА вставляется "кривой" параметр видимости, который портит (блокирует) весь блок. Кстати, ВОПРОС КО ВСЕМ. Что, никто еще не пробовал пользоваться функциями Supermax'а ??? Я тут только один по-моему достаю его своими вопросами и замечаниями! ![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... Последний раз редактировалось Volodich, 09.10.2008 в 07:49. |
|||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Цитата:
![]() Цитата:
Цитата:
![]() |
|||
![]() |
|
||||
Цитата:
Цитата:
|
||||
![]() |
|
||||
Нужен глаз-символ. Как у египтян, к примеру. Глаз Гора очень символичен. Вот его и копируйте.
http://newhoros.narod.ru/all_sym.htm Последний раз редактировалось Supermax, 09.10.2008 в 19:37. |
||||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Supermax,
Пытаюсь начать пользоваться Вашими разработками, но, к сожалению, для меня описание из 1-го поста не достаточно подробно... Не могли бы Вы более подробно описать на простом примере, как пользоваться каждой из функций? Новые варианты: Последний раз редактировалось Ddjo, 09.10.2008 в 21:13. |
|||
![]() |
|
||||
... Доктор, не дадите ли вы мне лекарство от жадности, только побольше, побольше!...
Ты начни с чего-нибудь и упрись в конкретный вопрос, а нагружать меня "кратенькими" хелпиками по всем функциям не надо. Вот как свой вопрос решишь, так кратенький хелпик по его решению сюда и выложи. А я на него ссылочку в первом посте дам, или объединю с инструкцией, а то мне уже совсем не понятно, что вам понятно, а что не понятно. Понятно? |
||||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Supermax,
Ну, для начала, мне непонятно, как же добавить дополнительные visibilityset? После прочтения всех страниц этой темы, для меня все-таки этот вопрос остался открытым... P.S. Чесно говоря, идея с "египетским" глазом, мне не кажется удачной.. |
|||
![]() |
|
||||
Ddjo , вот это, уже 250 пост! тут хелпики даже для программистов есть. По пять раз в разном виде о многом сказано. Скопируй тему, повыбрасывай флуд и перепиши объяснения по своемому. Если что не понятно - ссылка, вопрос. Отвечу.
Изпоследней троицы самый лучший глаз - №1. Но тебя тянет все время к косметике. Ты можешь изобразить для начала без теней что-то типа дорожного знака? Да просто в Интернете собери кучу разных глаз и сюда выложи. Народ глянет (правда какой там народ? 3000 серых личностей) и критику наведет на все это. Последний раз редактировалось Supermax, 09.10.2008 в 21:32. |
||||
![]() |
|
||||
Цитата:
Я думал, что такие действия пояснений не требуют для тех, кто хоть линии рисовать умеет. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Ddjo, мое мнение в этот раз совпадает с Supermax'ом. Из трех последних лучший глаз первый. Может быть попробовать верхнее веко убрать? Но это делати. А ты не пробовала по моей идее в виде зрачка попробовать вставить синюю стрелочку (visibility set) ? Вот и был бы символ!
По поводу того как пользоваться. Supermax'у это кажется просто, но он не знает что знаешь ты. Попробую написать чуть чуть поподробнее. Если некоторые шаги кажутся уж слишком простыми, не обессудьте ![]() 1. Прочитай как пользоваться Lisp'ом, опубликованным на форуме. http://dwg.ru/art/8 2. Читая эту статью, сделай для себя панель с кнопками, в которую занеси все функции, выложенные Supermax'ом. Обрати внимание, что у него в одном файле сразу несколько функций. Т.е. для вызова функции вставки нового visibility set нужно сделать макрос на кнопку: ^C^C(load "Visibility-ADD2.fas") (visibility_add) для того чтобы сделать выбранный параметр видимости текущим, надо сделать макрос на кнопку: ^C^C(load "Visibility-ADD2.fas") (visibility-ap) и т.д. 3. Создай простейший блок. (опишу как сделал я: создал блок из 9ти цифр: от 1 до 9, расставленных в 3 столбика по 3 цифры.) 4. Открой этот блок в редакторе блоков. 5. Из стандартной панели autocad вставь параметр видимости. (И назначь для него, например, три состояния видимости: в первом видна цифра 1, во втором цифра 2, в третьем цифра 3.) 6. Теперь самое интересное. Жми на кнопку "вставить дополнительный параметр видимости" из панели, которую ты сделала сама в п.2 В командной строке появляется приглашение - "Укажите место расположение Visibility set". Щелкай мышкой в чертеж и вот у тебя еще один параметр видимости! 7. По дальнейшей работе для начала почитай инструкцию по работе с несколькими visibility set: http://forum.dwg.ru/showpost.php?p=293985&postcount=230 -- Ты не спрашивала, но все-таки опишу кратко что стоит делать дальше. 8. Чтобы работать в только что вставленном visibility set, нужно сделать его текущим. === Supermax, скажи, почему у тебя при вставке нового visibility set он не делается текущим? Может стоит это сделать если возможно? === 9. Теперь вставленный visibility set желательно очистить. Есть два варианта: а) очистить visibility set от всего (макрос: ^C^C(load "Visibility-ADD2.fas") (visibility_clear) ) б) очистить visibility set от всех элементов, оставляя параметры и активаторы. (макрос ^C^C(load "Visibility-ADD2.fas") (element-all-current-del) ). Лучше пользоваться вторым макросом, т.к. при этом параметры (синенькие ручки) и активаторы остаются видимыми во всех представлениях нового visibility set. В первом случае они делаются невидимыми. 10. Теперь при добавлении элементов и свойств они будут попадать в новый visibility set. 11. Если хочешь вставить в новый visibility set элементы уже присутствующие в блоке, надо сделать несколько действий. (Для начала нужно понять, что элементы, которые уже были в блоке принадлежат предыдущему visibility set, поэтому надо их оттуда удалить и вставить в новый visibility set) а) делаем текущим старый visibility set б) Удаляем из него нужные нам элементы (макрос ^C^C(load "Visibility-ADD2.fas") (element-sel-current-del) ) в) делаем текущим новый visibility set. г) вставляем в него эти элементы (макрос ^C^C(load "Visibility-ADD2.fas") (element-sel-current-insert) ) 12. При добавлении в новый visibility set параметров, они становятся видимыми только в текущем представлении текущего visibility set. Чтобы в модели их ручки было видно, нужно сделать их видимыми во всех представлениях всех visibility set. Для этого Supermax сделал программу по массовой видимости (макрос: ^C^C(load "Move-to-visibilityset.fas") ) Но, к сожалению, она пока работает не полностью. === Supermax, обрати внимание, пожалуйста, на пост 242. Самое главное пункт 3. (кстати, пункт 5 отменяется, там был мой косяк, я оказывается букву "д" в макросе прописал каким-то образом ![]() Не знаю, поможет мое описание или нет... Я думаю, лучший вариант - сделать видеоуроки. Я сделал бы, но не умею. Если это не сложно, объясните как, может я что-нибудь и выдам ![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Во! Круто!
![]() Хоть кто-то в чем-то помогает. Выношу благодарность с занесением в личное дело. Цитата:
Я наверное чуть попозже сделаю для функции Visibility-add аргумент, если запустить (Visibility-add 0) - Просто вставляться будет, если (Visibility-add 1) - вставляться и делаться текушим, а если (Visibility-add 2) - вставляться, делаться текущим и очищаться от элементов. Это граждане далеко не все функции. Надо еще прописывать установленное свойство (параметр+ручка+активатор) во все Visibility Set-ы и все их представления. Надо сделать функцию, по устаноке Hyperlink-ов всем свойствам и элементам, с указанием кому те принадлежат. Навел курсор на элемент, а у курсорчика всплыло окошечко с перечнем (или с одним) имен Visibility Set, где те участвуют. Например, для свойств участие в работе Visibility Set-a означает быть не указанным в списке на "не выключение". А то бог его знает где искать дырки в решете. Я скачал JbjectDCL и теперь буду на нем панели органов управления делать. А то кнопок слишком много надо иметь. На все картинок не напасешся. |
||||
![]() |
|
||||
Смотрю я на проявляемый интерес публики к установке активаторов Lookup-a на параметр Lookup-a уже занятый другим активатором и горько сожалею, о дремучей отсталости наших граждан. Мало того, что динамические блоки мало кто умеет делать, мало того, что из тех кто умеет, мало кто их делает воистину динамическими, так и любопытсво к работе других людей совсем не проявляют. А ведь я выложил совершенно революционную вещь. Установка дополнительных Visibility Set по сравнению с ней - мелочь. Жаль, очень жаль. Ну что-ж, значит у меня будет меньше конкурентов, а значит больше денег.
Последний раз редактировалось Supermax, 10.10.2008 в 11:36. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
"Это граждане далеко не все функции. Надо еще прописывать установленное свойство (параметр+ручка+активатор) во все Visibility Set-ы и все их представления."
Я про это и писал в посте 242. У тебя в программе по массовой установке видимости есть функция "сделать видимым везде". Я думал что она для этого и есть, но работает некорректно. Или я неправильно понял? "Навел курсор на элемент, а у курсорчика всплыло окошечко с перечнем (или с одним) имен Visibility Set, где те участвуют" Может попроще? Выделил элемент, нажал кнопочку, подсветились visibility set'ы, в которых он задействован. Кстати, кнопку "выделить ручки всем элементам" ты сделал, чтобы видеть, какие из них принадлежат текущему visibility set? А можешь ли ты сделать так: тыкаешь на любой visibility set, он выделяется и при этом жирным подсвечиваются элементы, которые ему принадлежат. (по аналогии с активаторами).
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Для тех, кто читает бегло, перескакивая через слово.
Цитата:
По поводу подсветки: Если бы мне кто-нибудь подсказал, где эта зараза управляет этой жирностью, я бы так и сделал. Я пока не нашел где сам образ формируется. Может словарь где-нибудь есть еще один. |
||||
![]() |
|
|||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Volodich,
Цитата:
![]() Цитата:
Supermax, Цитата:
![]() Цитата:
Вещи, которые кажутся Вам простыми и понятными, для меня, к примеру, - за гранью понимания. Это с вязано исключительно с наличием у Вас специфических знаний и опыта, которые отсутствуют, к примеру, у меня. И опять же, это не говорит о том, что мне не интересно, вот умею делать дин блок с одним параметром видимости и хватит..., а эти изыски нам, простым рабочим, ![]() В результате получилось, что потенциальные пользователи не могут воспользоваться (могут, весьма немногие) Вашими разработками, а те кто могут - не пользуются, т.к. для работы им это не нужно... to all Насчет глаза, соглашусь..., первый из трех - наиболее удачный.... еще: Последний раз редактировалось Ddjo, 10.10.2008 в 12:34. |
||||
![]() |
|
||||
Ага! И поэтому никто даже не смотрит на готовый блок и скачек до сего дня с тех опр, как я выложил это чудо было 0! Это как объяснить? Просмотры темы прибавляются сотнями, а тут 0! Надо, не надо, умею, не умею, но посмотреть что это такое ведь разве не интересно? А если не интересно, то почему? Это же единственный блок в мире, где так реализован динамизм! (старые мои пробы не всчет). Вот статистику провожу и картина вырисовывается не в пользу среднего уровня интеллекта толпы.
Последний раз редактировалось Supermax, 10.10.2008 в 13:29. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Цитата:
![]() А насчет интерфейса... мне бы хватило и такого, лишь бы он работал как надо. Мне вообще эта программа нужна только для того, чтобы добавив новый параметр, сделать его видимым во всех представлениях всех параметров видимости. Иначе придется по очереди включать каждый параметр видимости и делать в нем вставленный параметр видимым. Может быть ты можешь хотя бы отдельную функцию для этого написать? Ddjo, рад, что помог! Если что-то непонятно, спрашивай еще. Насчет глаза. На удивление, опять соглашусь с Supermax'ом ![]() ОФФТОП: по-моему пора делать под ником строчку "пол". А то я по контексту уже запутался, Ddjo, ты парень или девушка (ну или там мужчина, женщина, неважно, не придирайтесь ![]() Supermax, по поводу связи лукапов. Странно, что скачек - 0. Я смотрел из любопытства ![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Supermax,
Цитата:
Если "да", то я его скачивала из темы "мои динамические блоки", а как он добавился здесь, просто не заметила... Цитата:
|
|||
![]() |
|
||||
Конструирование в области нефтеразведки Регистрация: 10.02.2006
Гомель
Сообщений: 321
|
>Supermax
Не умею я говорить так красиво как ты, но все же высказажу и свое мнение (надеюсь без обид) по поводу всего, о чем идет речь в этом топике, т.к. слишком уж много было тобой сказано неприятного о "серости","отсталости" "дремучести" и т.д. об участниках форума (или толпы, как ты их называешь). Во первых, что бросается в глаза - то, что ты этим вопросом занимаешься постоянно - и дома, и на работе. С одной стороны это хорошо, что у руководителя фирмы столько свободного времени. Значит подчиненные загружены, фирма приносит стабильную прибыль и можно поработать для души. Но задумывался ты когда-нибудь, что у большинства, этого свободного времени просто нет, что на работе нужно работать, а не заниматься экспериментами с динамическими блоками? Ну сделаю я этот супер-блок, возможно получу моральное удовлетворение, и что дальше - дам этот файл "тетке" и все на этом... Во-вторых я думаю, что ты совершенно не учитываешь такой момент, что многие фирмы и предприятия не имеют возможности приобрести нужный лицензионный продукт (в данном случае ACAD версии 2006 и выше). Ну а про санкции за выпуск продукции (для конструктора это документация), сделанной на нелицензионном ПО, ты, как руководитель должен знать. Например у нас все работают в ACAD2002 и про эти самые блоки знают только по наслышке (серость...). Хотя A2008 естественно стоит на машине, но прыгать с одного акада в другой и обратно не очень то привлекательно... Лично я интересуюсь этой темой, только чтобы не отстать от жизни и будь у меня чуть больше времени, с удовольствием погрузился бы в этот волшебный мир динамических блоков. Но увы... Хотя в принципе и хотелось бы помочь (только не созданием иконок)... Вот за программу kpblc-objects-hide еще раз спасибо, т.к. она прекрасно работает в A2002 и лично мне весьма помогает... Нужно только ее сделать по принципу _refedit - динамическая панель, какой нибудь индикатор, что есть скрытые объекты ну и т.д., и это я сделаю, без вопросов... Надеюсь, что ничего обидного для тебя я не сказал, только факты... Последний раз редактировалось CB, 10.10.2008 в 17:48. |
|||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
CB,
Полностью тебя поддерживаю Вот новые: 1. Вставить Visibility Set. 2. Выключить видимость всем элементам. 3. Включить видимость всем элементам. 4. Удалить из текущего Visibility Set-a выбранные объекты (сделать их свободными). 5. Очистить Visibility Set от всех элементов, свойств и представлений. 6. Включить ручки всем элементам текущего Visibility Set-a. 7. Перенести в текущее представление текущего Visibility Set-a выбранные элементы. 8. Выключить видимость выбранным элементам. 9. Выключить видимость всем элементам, кроме выбранных. 10. Переписать данные из указанного Lookup-a в EXCEL. 11. Переписать из файла EXCEL в указанный Lookup данные. 12. Скопировать данные из одного Lookup-a в другой Lookup. 13. Установить Action на задействованный другим Action-ом Lookup-параметр. |
|||
![]() |
|
||||
Ddjo, Давай примем серую галку за "выключить", а красную за "включить".В таком случае кое где не бъет смысл. Надо поправить.
Выбор элементов лучше синими точками по контуру обозначать. Попробуй, а то выбор рамкой у тебя наслоился на примитив квадрат. В одном месте примитивы обозначены как квадрат с кружочком, а в другом ты переделала квадрат на рамку. А так, весьма и весьма не дурно. Да ты и сама наверное это понимаешь. Теперь СВ, Цитата:
И веду я диалог с двумя людьми,один мои функции тестирует и хелп написал неплохой, а другой (точнее другая) вон какие отличные иконки сварганила. И больше никого не было, вот ты появился, надеюсь не только с критикой. Про мое свободное время - да нет его у меня, это моя работа. И людям я работу даю редко. Работаю только с фрилансерами. И про ситуацию с программным обеспечением все знаю. Лицензии покупают на устаревшие версии, а работают некоторые даже не на Автокадах. Скоро выйдет уже 2010 кад. Там по слухам будет ого-го сколько изменений. И как с 2002 перейти на 2010? Лицензию от 14 Автокада уже никому не покажешь - не поверят, так и тут будет. И пока я тут в теме писал, да макросы делал 2 теплотрассы в 3D собрал и уже пару раз изменения отслеживал. Так что, "дела идут, контора пишет". |
||||
![]() |
|
||||
Ddjo, 2, 3, 8 и 9 пункт - убери глаз совсем. Он там не к месту. Причем тут Visibility Set, когда идет речь о включении и ивыключении.видимости всем объектам.
Потом еще одно: Ты делаешь иконки для палитры, а там надо чтобы фон был прозрачным. Серый фон надо попробовать убрать и посмотреть что будет в палитре. Потом там есть еще одна фишка. Когда наводишь курсор на иконку, она подпрыгивает и появляется тень у всех линий (если фон прозрачный).Поэтому надо это учитывать и свои тени не делать (во всяком случае найти компромис между своим и чужим). Ели со вставкой в палитру будут проблемы - помогу чем смогу. |
||||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
измененные:
1. Вставить Visibility Set. 2. Выключить видимость всем элементам. 3. Включить видимость всем элементам. 4. Удалить из текущего Visibility Set-a выбранные объекты (сделать их свободными). 5. Очистить Visibility Set от всех элементов, свойств и представлений. 6. Включить ручки всем элементам текущего Visibility Set-a. 7. Перенести в текущее представление текущего Visibility Set-a выбранные элементы. 8. Выключить видимость выбранным элементам. 9. Выключить видимость всем элементам, кроме выбранных. 10. Переписать данные из указанного Lookup-a в EXCEL. 11. Переписать из файла EXCEL в указанный Lookup данные. 12. Скопировать данные из одного Lookup-a в другой Lookup. 13. Установить Action на задействованный другим Action-ом Lookup-параметр. 14. Скопировать указанные элементы текущего Visibility Set в выбранные представления текущего Visibility Set. 15. Сделать указанный Visibility Set текущим. п.п. пока не могу придумать, но работаю в этом направлении ![]() 16. Установить видимость выбранным свойствам во всех других Visibility Set-ах. 17. Включать ручки элементам любого Visibility Set-a и переносить или копировать их в текущий. Последний раз редактировалось Ddjo, 10.10.2008 в 18:47. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
"Дохтор, почему меня никто не слышит?"
Это я про пост 260. Про картинки могу сказать только одно: хочется такие же для маленьких кнопок! )) И еще, кажется я отстал от жизни: Цитата:
И еще, забыта функция: Цитата:
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Volodich,
Цитата:
Единственное, не знаю, должны ли они быть с прозрачным фоном и без теней как эти или наоборот, с фоном и тенями? Цитата:
![]() |
|||
![]() |
|
||||
Volodich
Цитата:
Про функции я уже и сам начинаю путаться что есть, а чего нет. Еще пару напишу и окончательно запутаюсь. Ddjo, все хорошо, даже отлично, кроме последних двух. Значек, что ты внизу нарисовала во втором справа означает включение серой видимости, только там он вверх ногами. Попробуй изобразить гибрид глаза и таблицы. Оставь левую половину глаза и половину зрачка и пририсуй справа таблицу, как на значке редактора представлений, но без восклицательного знака и пунктирной рамочки над ним. Последний рисунок чуть подправь. Глаз текущего Visibility Set-a чуть подними и влево смести, галку убери, тут никто ничего не включает. Все остальные глаза - чуть вправо. Слева от них стрелку вверх, в сторону главного глаза. У стрелки низ загни вправо, как буд-то от нижних глаз к верхнему идет. |
||||
![]() |
|
||||
Запихнул в Lookup 10000 строк. Люди, никогда так не делайте! Все вроде путем, и файл не так уж и вырос 100 килобайт вместе с графикой, до этого был почти такой же. Крутится отлично, но вот выделить блок и свойства посмотреть - минуты 2, хотя в свойствах бегунок от 1 до 10000 бегает расчудесно. Мне правда 105000 нужно, но кад не захотел столько впихивать.
|
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Ddjo,
Цитата:
![]() Цитата:
Цитата:
![]() Кстати, расскажите мне кто-нибудь, как сделать в редакторе динамических блоков дополнительную палитру? (чтобы использовать иконки, сделанные Ddjo). Палитра-то делается простым нажатием на правую кнопку и "создать новую палитру", а вот как команду "затолкать" в палитру, понять не могу. Вроде бы должно быть в "адаптации", но там не могу найти палитры... ![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Чего??? Народ, все делается намного проще... Видео с вариантом "палитра с нуля" - здесь (загрузка на форум что-то не сработала). Кодек - в подписи.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Значит я не понял, о чем был разговор в #281
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Кулик Алексей aka kpblc, спасибо за видео!
Вы оба предлагаете слишком сложные варианты ![]() Кулик Алексей aka kpblc, а ты можешь сделать видео по статье VVA - "Как использовать Lisp, использованный на форуме" ? Тоже так же с комментариями. (или может быть это уже где-то есть?). Просто я на работе в отделе людям поставил пару лиспиков, им очень понравилось и все теперь хотят научиться. Но объяснять по 1000 раз мне уже надоело, они пытаются на бумажках что-то записывать, но не помогает...
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Привет челы! Я свои пять копеек тоже вставлю. Прошлый раз писал, писал, да забыл в буфер записать перед отправкой на форум, а сеть взяла и глюкнула, сожрав всю мою писанину. Обино, однако. Вот коротеньким сообщением решил обойтись, но как видно не помогло.
Я установку палитры начал с пространства модели (ну, она мне там была нужна в первую очередь) и обнаружил, что кнопки в нее просто перетаскиваются, причем с картинками 32х32. Эти же кнопки, эти же картинки ужимают до 16х16 и демонстрируют на самих кнопках, при этом совершенно не нарушая рисунок 32х32. Он так и остается 32х32. Вызывается палитра командой TOOLPALETTES (ну это тем, кто не знает). Редактируется палитра командой CUSTOMIZE или Tools->Options->Customise->Tool Palettes (ну, это тоже для публики) (хотя редактировать совсем и не пришлось). Если напихать кнопок в палитру (простым перетаскиванием), то в редакторе блоков командой TOOLPALETTES вы также откроете эту палитру и простым перетаскиванием можете с нее перетащить в палитру редактора то, что вам надо. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Volodich, такого видео нет. Да вроде и статья нормально написана - с максимумом информации. Сегодня точно ничего не получится, а завтра - только если не забуду (а то с меня станется).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Обнаружен Автокадовский глюк.
Если в блок вставить штриховку - кранты. Блок становится не корректным. Словарь ACAD_EVALUATION_GRAPH, а точнее тот словарь, который получаем при продвижении к словарю через сам примитив, перестает сохранять вновь появляющиеся свойства. ![]() |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Volodich, Offtop: Может просто распечатать 1000 раз статью с картинками?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Supermax, мою задачу всетаки не решить
![]() Если не очень понятно: Допустим есть у меня 1 параметр видимости: "Видимость" с возможными вариантами видимости: 01,02,03,04,05. При выборе 01 - виден "параметр выбора 01" (значек со всеми его свойствами) и не видно ничего больше. При выборе 02 - виден "параметр выбора 02" (значек со всеми его свойствами) и не видно ничего больше и т.д. А теперь все параметры выбора заменяем "дополнительными параметрами видимости". Но у меня не получилось их скрыть... они все видны. И получается после каждого выбора все сбивается.
__________________
Поезд который устал от ржавого здравомыслия рельсов... Последний раз редактировалось Shoorup, 21.10.2008 в 12:51. |
||||
![]() |
|
||||
Ну попробую еще раз. Я думаю непонимание скорее всего из-за нехватки терминологии
![]() Visibility Set - это параметр видимости со всеми вытекающими его свойствами. Другими словами это треугольничек-маркер при нажатии на который выпадет меню с моими видимостями (Visibility). При выборе какого либо у меня могут исчезнуть как примитивы так и связанные с ним параметры. Например можно скрыть параметр выбора (лукап) или параметр растяжения (треугольничек для растягивания). Но когда я добавляю еще один Visibility Set, то хотелось бы скрывать и другие Visibility Setы со всеми их видимостями (Visibility).
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
В блоке, который сделан не правильно, Visibility set попадает в группу элементов как параметр и может быть выключен другим Visibility Set-ом. Я пока еще не колупал этот момент. Не уверен, но скорее всего можно будет делать такие блоки как тебе надо, только они будут "кривыми", то есть при вхождении редактором будут скрывать Visibility Set-ы.
Ты лучше мне скажи, ты гидроцилиндр смотрел? |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Вставлю свою мысль. А если сделать еще один параметр видимости, который управляет видимостью других параметров видимости? А управлять им можно с помошью lookup. Т.е. в каждом параметре видимости есть режим видимости, в котором не видны никакие объекты, принадлежащие этому параметру. А в lookup-е просто установлены какие режимы в каком случае включать.
Наверное непонятно сказал ![]() Дело в том что я не проверял, можно ли одним параметром видимости скрывать другой. Если да, то можно попробовать мой вариант.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Я что-то туплю. Сейчас, если не обращать внимание на синие ручки Visibility Set-ов и строки в свойствах все уже работает так, как надо Shoorup-у. Только не надо очищать Visibility Set-ы. Если их не очищать и проконтролировать, чтобы во всех общих списках были все элементы, а в списках на "невыключение" были все параметры (кроме тех, которые надо скрыть), то вуаля - надавил на ручку нужного Visibility set-а, выбрал представление в нем, все элементы блока погаснут, а потом нужные воскреснут. Что еще надо? Другое дело, что я пока не написал функцию прописывающую элемент во все общие списки всех Visibility Set-ов, так это не долго. Тот VS (сокращенно), который ты выбрал имеет ограниченное количество представлений, но гасит все элементы, раз они включены в общий список. Можно некоторые VS не трогать и делать такое группе VS. Только что-то смысла я в этом не наблюдаю.
Допустим мы имеем три VS в каждом из которых по три представления. Это всеравно, что один VS с 9-ю представлениями. Зачем разбивать VS на три части? |
||||
![]() |
|
||||
Кстати о птичках:
Если всем VS выключить ручки и установить, что они не видны в свойствах, а вместо этого сделать Lookup-ы, в которых все видимости продублировать такими же названиями позиций, то такие Lookup-ы будут управлять видимостью, но могут быть скрыты другими VS. Поскольку я уже дал функцию прописывающую выбранные элементы в общий список, считаю, что все уже есть, просто надо хорошенько подумать. |
||||
![]() |
|
||||
Вот примерчик простой. А фишка в том, что каждый параметр видимости должен "помнить" свои изменения даже будучи скрытым.
По сути это визуальное программирование получится ![]() ![]()
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Я думаю, что так будет немного лучше.
Но как сделать, чтобы запоминались предыдущие установки... Это к Supermax'у ![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Lookup - это единственный элемент, который способен сохранять установки видимости, да и не только видимости. Приведенный пример показывает как можно "встряхивать" Lookup, чтобы заставить его восстановить статус кво блока. Вот только кнопка для "встряхивания" одна на каждый Lookup и объединить их в одну пока не получается.
В Lookup-е также есть галочка,в выпадающем списке значений и восстанавливать значения можно нажимая на тот пункт, напротив которого установлена галочка. |
||||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Вот, наконец-то образовалось немного свободного времени, что позволило доделать обещанные кнопки:
1. Скопировать данные из одного Lookup-a в другой Lookup. 2. Установить Action на задействованный другим Action-ом Lookup-параметр. 3. Переписать данные из указанного Lookup-a в EXCEL. 4. Переписать из файла EXCEL в указанный Lookup данные. 5. Скопировать указанные элементы текущего Visibility Set в выбранные представления текущего Visibility Set 6. Вставить Visibility Set. 7. Сделать указанный Visibility Set текущим. 8. Перенести в текущее представление текущего Visibility Set-a выбранные элементы. 9. Включить ручки всем элементам текущего Visibility Set-a. 10. Удалить из текущего Visibility Set-a выбранные объекты (сделать их свободными). 11. Очистить Visibility Set от всех элементов, свойств и представлений. 12. Включить видимость всем элементам. 13. Выключить видимость всем элементам. 14. Выключить видимость всем элементам, кроме выбранных. 15. Выключить видимость выбранным элементам. п.п. так пока и не придумались, может, у когонибудь есть идеи как это могло бы выглядеть, а я нарисую... 16. Установить видимость выбранным свойствам во всех других Visibility Set-ах. 17. Включать ручки элементам любого Visibility Set-a и переносить или копировать их в текущий. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Ddjo, молодец, спасибо!
У меня теперь вопрос по первым (большим) иконкам. Они у тебя сделаны в одном файле в одном рисунке. Не могла бы ты их тоже сюда приложить архивом, в котором каждая иконка в своем файле? А то я не знаю как их разрезать...
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Volodich
да, да..., сделаю..., сегодня выложу попозже... |
|||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
ну, собственно, вот:
еще раз 16х16 и 32х32, в 16 изменены названия на идентичные 32 и все же, есть у кого-нибудь идеи насчет 16. Установить видимость выбранным свойствам во всех других Visibility Set-ах. 17. Включать ручки элементам любого Visibility Set-a и переносить или копировать их в текущий.? Я вчера голову сломала, но так и не придумала как это изобразить... |
|||
![]() |
|
||||
По пункту 16 - точно так же, как сделать нужный Visibility Set текущим, только глаз текущего замени на молнию и стрелку поверни вниз. Стрелку надо рисовать с двумя остриями. Одно - в самый нижний глаз, другое в самы верхний. Если поместится, то точечки между нижним и верхним острием.
По пункту 17 - включение ручек - это одна функция, перенос элементов - другая, а копирование - третья. Включение ручек аналогична пункту 16, только вместо молнии - квадратик с ручками. Перенос - стопочку Visibility Set-ов строго по центру, над ним квадратик с значком переноса внутри, справа стрелка идет от верхнего Visibility Set-а к квадратику, слева - от квадратика стрелка к нижнему. Копирование аналогично переносу, только вместо значка переноса, значек копирования. Влезет\не влезет не знаю, но попробуй. |
||||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
|
|||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
начала разбираться с дополнительными Visibility Set, пробовать функции, возникли следующие вопросы:
1. как определить, какой Visibility Set в данный момент является текущим? 2. попытка "установка режима видимости сразу в нескольких Visibility Set, вешает напроч автокад. Это только у меня? |
|||
![]() |
|
||||
С пунктом 1 -
![]() По пункту 2 - могет быть, могет быть. Надо очень тщательно все изучить, включая и ваш файл. И просьба, пишите название вызываемой функции так, как она мною названа, а то я не догоняю порой. |
||||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Цитата:
Цитата:
|
|||
![]() |
|
||||
Я думал над этим, но влезть редактор блоков невозможно, свой редактор сваять- сложно, а немодальное окно повесить в принципе не сложно, но тут народ никак не определится с выбором способа. На VBA можно немодальное окно сделать и тогда все будет ОК.
Открой новую тему и попытайся достучаться до VBA-шников, может кто-нибудь откликнится. В принципе не сложно, но врядли кто-то еще жив. Народ угас в своем интузиазме. И я гасну потихоньку. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Народ не угас, народ решил отвлечься и поработать!
Я с разбором дин блоков работу запустил, сейчас пытаюсь наверстать. По поводу текущего visibility set. Ddjo, есть же функция, включающая ручки всем элементам текущего параметра видимости. Я ее использую, т.к. я знаю какие элементы какому параметру видимости принадлежат. А если не уверен, так есть же функция для установки любого параметра видимости текущим. Supermax, а сложно сделать фунцию, которая выделяет ручку текущему параметру видимости выделяет? И еще, не хватает очень фунции, которая все свойства делает видимыми во всех представлениях всех параметров видимости... А вообще все уже сделано на отличном уровне, вполне можно работать. Жаль только что штриховку нельзя использовать, без нее половину блоков не сделать...
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Цитата:
element-sel-current-del - удалить из текущего параметра видимости выбранные элементы (для частичного удаления), либо element-all-current-del - удалить из текущего параметра видимости все элементы, оставляя свойства и представления (для полного удаления). element-sel-current-insert - добавить выбранные элементы в текущий параметр видимости. А уже после этого можно запускать Move-to-visibilityset и устанавливать там видимость элементов. Но можно сделать и проще. Эта программа нужна, когда много элементов, много представлений... А если твой случай - 9 элементов и 3 представления, дак просто выбирай вручную нужное представление и вручную включай / выключай видимость элементам.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Цитата:
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Ты пробовал делать блоки с несколькими параметрами видимости и штриховкой в акаде 2009м ?? Меня Supermax напугал что все виснет, я даже не пытался
![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Что-то вы по верхам читаете, господа. Я написал, что штриховку надо вставлять в самую последнюю очередь, поскольку она уже не дает добавлять Visibility Set и вообще, редактировать словари.
Я как-нибудь еще с ней поэксперементирую. Чую, что не все словари она блокирует. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Ну тогда это не так страшно!
Лень сейчас искать цитаты, но по-моему ты писал, что штриховка "все вешает". Ну да неважно, я потом тоже как-нибудь поэксперементирую по вставке штриховки.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Вот тот пост, в котором я про ошибку писал. Там нет слов "виснет".
http://forum.dwg.ru/showpost.php?p=296223&postcount=289 А вот про штриховку: http://forum.dwg.ru/showpost.php?p=296260&postcount=291 |
||||
![]() |
|
||||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Volodich
Цитата:
Цитата:
Цитата:
Цитата:
Supermax Цитата:
![]() to all я вконец запуталась с макросами и кнопками... составила список кнопок и макросов на них, на некоторые кнопкине могу понять, какие должны быть макросы.., в связи с этим, у меня огромная просьба помочь мне добавить недостающие макросы... Последний раз редактировалось Ddjo, 07.11.2008 в 15:26. |
|||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
без всякого файла:
9. Включить ручки всем элементам текущего Visibility Set-a. Макрос: ^C^C(load "Visibility-ADD2.fas") (eddedd) 5, 12, 13, 14, 15: ^C^C(load "Move-to-visibilityset.fas") (я эту кнопку назвал "массовая видимость") Не хватает: 16. Удаление из текущего Visibility Set всех элементов ОСТАВЛЯЯ свойства и представления Макрос: ^C^C(load "Visibility-ADD2.fas") (element-all-current-del) Есть еще 3 функции, не совсем относящиеся к видимости, но иногда полезные: 1. Показать все элементы Макрос: ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 0) 2. Скрыть выделенные элементы Макрос: ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 1) 3. Скрыть все, кроме выделенных Макрос: ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 2) Я тут долго добивался для чего они нужны, но надо просто пощелкать и понять как они работают и иногда пользоваться. Например, можно сразу все объекты увидеть в блоке.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Volodich
Огромное спасибо!!! Становится все понятнее, Ваши пояснения и помощь меня очень выручают ![]() Цитата:
Последний раз редактировалось Ddjo, 07.11.2008 в 13:53. |
|||
![]() |
|
||||
Цитата:
Вы вебмакрос попробуйте. Там можно выбирать из всех выкллюченных объектов по типу объекта, цвету и пр. и включать ручки к примеру. |
||||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Я что-то совсем запуталась...
Цитата:
Цитата:
Цитата:
|
|||
![]() |
|
||||
9 - ^C^C(load "Visibility-ADD2.fas") (eddedd)
5 - ^C^C(load "Move-to-visibilityset.fas") 12 - ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 0) 13 - ^C^C(load "kpblc-objects-hide.lsp") (sssetfirst nil (ssget "_X")) (kpblc-objects-hide 1) 14 - ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 2) 15 - ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 1) |
||||
![]() |
|
||||
Ddjo, ой как мне стыдно
![]() Функция, то определяющая текущий Visibility Set уже есть, правда я ее для технических целей сделал, но раз тебе надо - на. Она уже есть у тебя в файле "Visibility-ADD2.fas" Можешь так на кнопку повесить ^C^C(load "Visibility-ADD2.fas") (alert (TECUCH_VISIBILITY)) А можешь и так: ^C^C(load "Visibility-ADD2.fas") (alert (strcat "Текущий Visibility Set - " (TECUCH_VISIBILITY))) |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Ddjo, вот блок, который я обещал показать.
Для примера я рядом приложил табличку функции EATTEXT. Что приятно (я даже не ожидал), что эта функция воспринимает разные параметры видимости и может из отображать и считать. Это очень здорово.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Supermax, Ничего не напутано, лампа-то одна, просто нужно чтобы были разные названия (для подсчета и спецификации). А видимость работает только с буквочкой "А". Конечно, я этот блок потом усложню, будет все меняться. Придется лукапы делать (по твоему совету). Но это потом. Сейчас главное суть.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Я вот тут с формулировкой не согласен:
12 - Включить видимость всем элементам ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 0) 13 - Выключить видимость всем элементам. ^C^C(load "kpblc-objects-hide.lsp") (sssetfirst nil (ssget "_X")) (kpblc-objects-hide 1) 14 - Выключить видимость всем элементам, кроме выбранных ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 2) 15 - Выключить видимость выбранным элементам. ^C^C(load "kpblc-objects-hide.lsp") (kpblc-objects-hide 1) Я бы назвал это так: 12 - Показать все элементы 13 - Скрыть все элементы 14 - Скрыть все элементы кроме выбранных 15 - Скрыть выбранные элементы. Потому что видимость и скрытие - разные вещи. Могут возникнуть непонимания.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Дэк хэлп хэлпом, фунции еще не все работают... особенно массовая видимость огорчает.
А насчет хэлпа надо подумать, наверное, напишу, если получится. Только туда придется всю информацию из этой темы запихивать. Может быть в хэлпе стоит только ссылку сделать на форум? ![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Цитата:
http://forum.dwg.ru/showpost.php?p=307687&postcount=337 Volodich вот, пересохранен в 2004, объекты СПДС на всякий случай разбиты Последний раз редактировалось Ddjo, 11.11.2008 в 15:54. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Ddjo, wetr, ну вот скажите, не извращение ли эта форматка? А если еще надо будет что-то изменять? Например, здесь я вижу только штамп первого листа, а где штамп последующего?
Неет, я не согласен, чтобы все было просто и эффективно надо несколько параметров видимости! У меня дойдут руки, сделаю, выложу свое видение.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
ни на что, не претендуя, покажу свою форматку.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) Последний раз редактировалось wetr, 12.11.2008 в 08:13. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
wetr, вариант поинтереснее, но если нужен штамп не 1го, а последующего листа? И я одно понять не могу, как ты сделал в лукапе в стоблце Lookup properties еще одну колонку - "Выбор" ? А цель ее только для того чтобы в правом нижнем углу формат был написан? ("А4" или "2А3", например)
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Я ими не пользуюсь
Цитата:
Цитата:
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
wetr, Ну вот, я еще одну вещь узнал теперь! А вообще если рассматривать не этот частный случай, а общий, то второй параметр "определить" вставляется тоже только для описания какого-то? Или бывает другое применение?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
Volodich
Цитата:
Цитата:
Цитата:
Последний раз редактировалось Ddjo, 12.11.2008 в 12:52. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Ddjo, wetr, такое ощущение что я вам пытаюсь продать программу Supermax'а и всячески ее рекламирую, а вы не хотите брать и придираетесь.
![]() Supermax, 1й пост уже как радуга! Красотища! ![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Volodich, ничуть. Supermax, делает большое дело. Я помочь к сожелению не могу, но и мешать не собираюсь. По мере возможности просматриваю тему. Признаюсь чесно, прогамму не устанавливал и даже не пробовал установить - просто не было надобности. Ну как-то всегда плучается обойтись штатными средствами дин. блоков.
Так что считай мои посты в теме - повышением популярности. Чем чаще тема всплывет на глвной странице dwg.ru - тем больше народу зайдет-почитает-поможет.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Не думайте, что я обижаюсь
![]() Видимо я действительно переборщил немножко, защищая программу ![]() Ладно, скоро у меня работа закончится, сделаю форматку для примера и обсудим в чем я не прав.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Регистрация: 29.10.2008
Сообщений: 5
|
Вопросик по программе по устаноке на параметр Lookup-a сколь угодного количества активаторов
не получается у меня с ней что-то как-то ![]() |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Supermax, с видимостью свойств - работает! Правда у меня после этой команды почему-то один параметр перестал вручную выключаться (кнопочкой на панели), но зато другой без проблем. Непонятный глюк.
Цитата:
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Supermax, а поподробнее можно?
Блин, я вот недавно делал блок с несколькими видимостями и забыл про эту функцию, вручную все включал. ![]() Кстати, в теме "Мои динамические блоки" уже несколько человек говорили, что хотели бы пользоваться твоими функциями, но слишком сложно. Можно ли как-то сделать все твои макросы плагином с появляющейся панелью с кнопками?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Что можно сделать в принципе. Ну, во-первых - объединить все лисп-файлы в один. Все будет сделано функциями.
Во-вторых - написать для чайников последовательность действий. Но тут, есть загвоздка, нет нормального описания самого процесса создания динамических блоков. Есть небольшой файлик с картинками даже, но научится по нему очень сложно. Надо все описывать художественно, в разговорной форме, а это делать всем не охота. Я наверное займусь этим когда-нибудь, но лучше было бы, если бы кто-нибудь мне помог преодолеть эту рутину. И вообще, есть эта тема - задавайте вопросы и высказывайте пожелания по существу. P.S. сделать панель с кнопками можно, но кто будет это делать? |
||||
![]() |
|
||||
Отредактировал мануал по этим функциям.
http://forum.dwg.ru/showpost.php?p=293985&postcount=230 |
||||
![]() |
|
||||
Supermax, на самом деле очень сложно для восприятия. Новичкам так вообще кажется сумасшествием. Я так вообще запутался, что и где запускать и каждый раз лезу вспоминаю команду. Все люди уже давно привыкли к кнопочкам и отвыкли от доса. Последний раз когда юзал твою прогу по душе не пришлись слишком длинные названия кнопок. Достаточно иконку и всплывающее примечание. Кнопки выучатся после 10-го применения и заграмождать экран бесполезной информацией не стоит.
Программу стоит сделать .exe-шником который все поставит и все настроит. Понимаю, что это все время и причем чисто энтузиаста... помочь смогу не скоро (сессия (предпоследняя) в понедельник - ина 3 недели). Могу сделать краткое описание или что-то вроеде "Быстрый старт". А динамические блоки я забросил (и статью тоже) потому как они не решают моих задач. А то, что хотелось бы, больше похоже не на динамический блок, а на новый примитив со своими свойствами и причудами. Нечто подобное есть в NanoCADах. Вот если объединить возможности динамических блоков, да плюс параметрические объекты (NanoCAD), да плюс пожелания трудящихся - вот тогда бы!!!! Эх!
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Я просто тащусь. Все иконки к кнопкам сделали, все макросы на кнопки написали и выложили, мануал написали. Народу осталось просто панель с кнопками сделать и туда все переписать, но народ этого оказывается делать то ли не умеет, то ли не хочет и поэтому мои наработки обвиняются в сложности к восприятию. А особенно мне нравится
Цитата:
Но про слишком длинные названия кнопок ![]() И потом, зайди в библиотеку функций и посмотри какие там бывают названия. А ты читал тему про реакторы? А ты в курсе, что я реактор повесил на динамический блок и заставил блок редактировать программно самого себя? Мне лично вопросы никто не задает, а это значит, что все всем понятно, или вообще не нужно. С восприятием все в порядке, даже некоторые девушки прекрасно все освоили. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Shoorup, я тоже не понял проблемы с длинными названиями. Ты функции из командной строки, чтоли, запускаешь? Сделай свою панельку с кнопками и макросы на них повесь и все. Для чего тут Ddjo трудилась и иконки рисовала?
Конечно, функции иногда глючат, но пользоваться вполне можно и довольно удобно. Только когда долго не пользуешься забываешь последовательность действий. (Вставить новый параметр - сделать его текущим - очистить от элементов - сделать в нем нужные видимости.. и т.д.) Пропустишь, например, "сделать его текущим" и случайно можешь очистить предыдущий параметр. Кстати, этот вопрос я Supermax'у уже задавал. Supermax, к сожалению, народ штука ленивая )) Ему надо чтобы: Цитата:
![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
По поводу кнопок больших это что-то я старое вспоминаю - помойму даже в этой теме уже отписывался по этому поводу (давно). Проехали пока кнопки.
Пока делаю свой файл частичной адаптации и кнопки со своими иконками для динамических блоков. Думаю было бы неплохо чтобы это работало по бысрому для чайников: я выложу папку со всем, что нужно (чтоб по постам не собирать файлы и не вникать в детали которые не нужны). Напишу инструкцию аля "быстрый старт". Папку копируем в любое место которое прописано в настройках (пути доступа к вспомогательным файлам). Ну и запускаем файл частичной адаптации. Всё! Ничего создавать не нужно, ни во что вникать не надо. Единственное можно сделать пару примеров по применению дополнительных параметров видимости.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Минимизировать усилия для установки чего-то, это конечно хорошо, и не только для начинающих. Для меня тоже нужно. Устал я постоянно настраивать эти дурацкие кнопки. Но вот иметь хоть минимум заний для самостоятельной настройки надо. Я уже главный файл раза 4 апгрейдил, и думаю, что на этом дело не закончится. Значит следить надо за апгрейдами и вовремя менять старое на новое, а также добавлять новые кнопки.
Заранее предупреждаю, выложишь свою папку, сам ее сопровождать и будешь. Если файлы в ней будут устаревшие, вся твоя работа будет напрасной. |
||||
![]() |
|
||||
Всем, кого интересуют исходники к функциям, выложенным в этой теме, а также просто почитать, как все происходит, нужно зайти сюда:
http://www.private.peterlink.ru/pole...9/tainypod.htm |
||||
![]() |
|
||||
Буду сопровождать. По возможности. Пока хочу сделать свои иконки..копаюсь с ними. В любом случае папку сделаю к концу февраля. (сессия чтоб её).
Supermax, есть хорошая новость с динамическими блоками в 2010 каде. Если честно думал актуальность они потеряют к 2010му... ан нет! Возможности их расширили.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Цитата:
![]() ![]() ![]()
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Спасибо за оценку.
Но мой только сам рассказ, а оформление - это заслуга Николая Николаевича. Я считаю, что это оформление дает больше 50% общего впечатления. Плюс он немного поправил меня тут и там. Сделует заметить, что некоторые функции слегка переименованы, например Visibility-ap на Visibility-up, что более правильно. Я уже готовлю новый "взрыв на макаронной фабрике". Если мне не помешают обстаятельства, то динамизм расширится до бесконечности. |
||||
![]() |
|
||||
Supermax, у меня опять появился неподдельный интерес к динамическим блокам! Распечатаю всю инфу себе и буду на сессии штудировать.
По теме. (помойму уже писал) Когда-то, решил я сделать динамический блок с большим количеством "параметров видимости", но они все сделаны не функцией, а геморойным методом через масштабы. Все бы ничего но после очередного "параметра видимости" я заметил, что блок начал тормозить (опять же не помню выкладывал или нет) и я его забросил. С каждым добавлением нового "параметра видимости" блок внутренне усложнялся. Почему делал масштабами... да потому что нужно чтобы каждый параметр видимости "помнил" изменения сделанные другим параметром видимости. В случае с функциями все будет сбрасываться... или просто у меня руки корявые.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Цитата:
|
|||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
http://www.private.peterlink.ru/pole...9/tainypod.htm
+1 Читал с удовольствием, а кто на англ. переводил? |
|||
![]() |
|
||||
Autodesk Authorized Author Регистрация: 16.05.2006
Санкт-Петербург
Сообщений: 14
|
Я тоже хочу отметить незаурядные литературные способности автора, оргинальность стиля в изложении казалось бы скучных вещей. Надеюсь, еще большее количество пользователей AutoCAD смогут оценить находки Андрея Викторовича.
Как говорится, enjoy! ![]() |
|||
![]() |
|
||||
Спасибо за оценки. Только пора завязывать, а то я зазнаюсь.
Формат файла в 2010 каде, на сколько я знаю - 2007. Так что принципиальных изменений ни в структуре динамических блоков, ни в их возможностях нет. Вот сервис может и развили немного. Но опять же дополнительных Visibility Set там не появилось (увы). Можно сказать прямо, сдвигов нет. Николай Николаевич его ковырял, он может вам больше рассказать. |
||||
![]() |
|
||||
Autodesk Authorized Author Регистрация: 16.05.2006
Санкт-Петербург
Сообщений: 14
|
Каждые три версии Autodesk меняет формат DWG. Так что в 2010 будет уже новый формат. Программы Supermax'a работают в бета-версии 2010.
В 2010 версии появятся новшества в динамических блоках, но говорить об этом пока рано. ![]() |
|||
![]() |
|
||||
2000-2004-2007 как-то не очень вяжется
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
Н.Н.Полещук, в "семинаре по новым возможностям" к бетта версии, по моему, все новшества к динамическим блокам описали. Очень кстати там добавили режим тестирования блока - теперь не нужно каждый раз сохранять и выходить из редактора блоков. Плюс еще будет параметризация с которой я еще пока не знаком. Надеюсь новшеств будет гораздо больше.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Supermax,
На сколько я понимаю все функции выложены в отдельном виде, и кнопки с макросами предполагается делать вручную. Может закатать все в одну программу с меню, чтобы загрузил и все?
__________________
Блог |
||||
![]() |
|
||||
Если никто до этого не сделает, то при наличие свободного времени сам сделаю, так как лучше 1 раз нормально сделать чем каждый раз ..., только вот когда такая пора наступит не знаю. А в общем удивительно что 20 листов уже обсудили, все программы готовы, все иконки навояли, а до менюшки ни у кого руки не дошли.
__________________
Блог |
||||
![]() |
|
||||
Цитата:
А вообще идея такая - скачать например одну папку, закинуть ее в нужное место на диске и забыть про какие либо настройки и нюансы.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Supermax, А как обстоит дело с explode? Помню ты хотел новую взрывалку написать, для корректного взрыва.
__________________
Блог |
||||
![]() |
|
||||
Регистрация: 17.03.2009
Сообщений: 114
|
Помогите с динамическим блоком! Сделал динамический блок с несколькими параметрами видимости, а при его расчленении вся настоенная видимость исчезает! Остаются только элементы, которые были в текущем visible-sete! Блок создавался для отрисовки участка трубопровода. Видимость настоена на на концевые сварные швы (в зависимости от проекции трубопровода), а также на теплоизоляцию. Кое-как разобрался с настройками visible-set, вроде работает как мне надо. А вот при взрыве блока все (или почти все) исчезает! Блок предусматривался по принципу "вставил-изменил-взорвал-распечатал". В чертеже может быть несколько сотен вхождений блока. Очень нужно, чтобы он корректно взрывался! Что надо слелать для этого? Желательно, чтобы расчленялся стандартным explode. В противном случае придется отказаться от этого "чуда" и пользоваться старым блоком.
|
|||
![]() |
|
||||
Регистрация: 17.03.2009
Сообщений: 114
|
Цитата:
![]() Последний раз редактировалось Нефтепроводчик, 26.03.2009 в 21:02. Причина: орфография |
|||
![]() |
|
||||
Есть такая команда, _refedit или "Edit block In-place" это когда выделяешь блок и на правую кнопку мыши жмешь. После сохранения блок становится простым. Я где-то это уже писал. После конвертации блока в простой вид он взрывается explode.
Можно последовательно _.refedit потом _.refclose и _.sav |
||||
![]() |
|
||||
Регистрация: 17.03.2009
Сообщений: 114
|
Снова обращаюсь к знатокам этого форума и авторам дополнительной видимости динамических блоков!
![]() Выше я писал, что при взрыве блока, в котором установлены параметры видимости, остаются только те объекты, которые были видны в активном visible-sete ("рожки да ножки" ![]() ![]() Так вот я решил использовать этот баг Автокада в пользу себе. ![]() ![]() Но радость моя была не долгой... ![]() При отражении блока это полезное свойство теряется. Т. е. при взрыве появляется атрибут, маска (если было выбрано "видно"), появляются элементы, которые видны на текущих видах всех visible-set. Вобщем заметил, что динамические блоки работают корректно, когда масштабы блока по трем осям (x,y,z) равны. При отражении (-1,1,1) или (1,-1,1) косяк как выше, а при неравных по модулю (1,2,1) вообще ручки пропадают! Вопрос: как с этим бороться? Можно ли принудительно зафиксировать масштаб блоков? Или чтобы вместо зеркала был поворот на 180гр (блоки с осью симметрии)? Вообщем, может кто-то сталкивался? P.S. Кстати, из всего вышесказанного вытекают очень замечательные свойства. В зависимости от масштаба по оси z (1,1,z) блок с дополнительными параметрами видимости взрывается: - при (1,1,1) блок взрывается с получением элементов, которые были на текущем виде текущего visible-set; - при (1,1,-1) блок взрывается с получением элементов, которые были на текущих видах всех visible-set, эдакая альтернатива метода Supermax, только обратимая; - при (1,1,z), z не равно -1, 0, 1 (к примеру 2) у блока пропадают ручки, он как бы становится замороженным. При взрыве он себя ведет как в случае 2. Правда у меня еще появляются поля, которые берут длины из отрезков других visible-set. Почему - только догабываюсь. Если надо, могу выложить блоки, но думаю, это справедливо для всех. Чет длинный ЗЫ. ![]() |
|||
![]() |
|
||||
HVAC (ОВК) Регистрация: 08.10.2005
Ukraine, L'viv
Сообщений: 822
|
Цитата:
Command: (load "move-properties.fas") Select object: (move-properties) Can't reenter LISP. *Invalid selection* Expects a point or Last Select object: ; error: bad argument value: non-negative: -1 Вы не подскажите в чем проблема? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Потому что сначала надо объект выделить, и только потом уже перемещать свойства.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 01.04.2009
Сообщений: 19
|
Добрый день,
Правильно ли я понял что при установки нескольких параметров visibility всё равно в один момент времени может быть активирован только один набор одного из параметров visibility. Мне нужно чтобы наборы нескольких параметров visibility работали как маски и при задейсвовании нескольких параметров visibility видились только те объекты которые входят в выбранные наборы всех параметров visibility. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
ТуПик, если честно как-то непонятно объяснил. По-моему все так и работает как тебе надо... Приведи, пожалуйста, конкретный пример.
tovdi, у меня с твоим блоком еще круче: Я нажимаю на кнопку move_properties, выбираю блок, вылезает окошечко со списком свойств, я тыкаю в любое свойство, окошко закрывается и вылезает это: Цитата:
Обратитесь к разработчику ![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Регистрация: 01.04.2009
Сообщений: 19
|
Volodich,
Цитата:
Привожу пример Дано матрица обектов 3 на 3 1 2 3 4 5 6 7 8 9 первый парамтр имеет в наборах только столбцы из матрицы пример 2 5 8 второй параметр имет в наборах только строки из матрицы пример 4 5 6 Мне нужно чтобы при установке в обойх параметрах видимости наборов приведённых в пример отображался только 5 теперь понятно? Извините если тяжело обясняю. |
|||
![]() |
|
||||
HVAC (ОВК) Регистрация: 08.10.2005
Ukraine, L'viv
Сообщений: 822
|
Цитата:
Блок не сложный, его можно переделать по новой, но хотелось бы разобраться, в чем именно загвоздка, дабы не повторять подобного рода ошибок в дальнейшим. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
ТуПик, да уж... Понятно. Но по-моему такое сделать не получится. Один элемент может принадлежать только одному параметру видимости. Когда мы создаем новый параметр видимости, его сразу же очищаем от всех элементов. Иначе получается путаница. Поэтому то что ты хочешь, сделать не выйдет. Вот только ума не приложу, куда можно это приспособить...
tovdi, пиши Supermax'у в личку, может ответит. Что-то его не видно на форуме.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
tovdi, этот блок испорченный. Почему? - не разбирался пока, но как-нибудь разберусь. Возможно появится способ защиты блока от перестановок. Хотя зачем и кому это надо не представляю.
ТуПик, для того, чтобы сделать так, как ты хочешь, надо делать не просто динамический блок, а программно-динамический. Автокад при переключении представления сначала выключает видимость всем элементам блока, вообще всем, а затем включает видимость элементам, которые попали в список включенных в текущих представлениях во всех visibility set-ах. Таким образом у тебя будут видны _2 456 _8 Volodich , элементы могут принадлежать и нескольким visibility set-ам, но тогда если хоть в одном из текущих представлений он включен, то и будет виден. Господа, внимательно читайте тему. Я уже давно все разжевал. Последний раз редактировалось Supermax, 03.07.2009 в 18:18. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Я это знаю и помню, сам с этим столкнулся. Поначалу не понимал, почему все не так работает как мне надо. Просто решил так сказать чтобы не путать человека. Потому что все равно вряд ли найдется случай, когда надо будет один элемент вставлять в несколько параметров видимости. Хотя проектировщики на всякое горазды )))
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Инженер Регистрация: 11.12.2007
Москва
Сообщений: 295
|
Помогите/научите плз.
Второй раз пытаюсь подобраться к нескольким параметрам видимости, в прошлый раз хоть что то получалось теперь упёрся в то же. ( (кстати есть CUI файл менюшки по вашим иконкам и макросам) Сильно не ругайте, но решил что если не отпишусь так и не разберусь. В пятницу всё настроение испоганил отказами работать видимостей... (2008 акад рус) : Видимости получилось победить но они управляют сразу всеми объектами. Когда из одной видимости удаляю все объекты, потом пытаюсь присоеденить Visibility-ADD2.fas вот что получается. ( Цитата:
Цитата:
Скачал по новой "Visibility-ADD2.fas". Всеравно не хочет присоединять. Втрой блок кидаю в коотром внутри две единички. В первой видимости две единички одну видно только по тому что убрал вторую на обеих видимостях. Со второй было так же и они друг друга отключали. Попробывал удалить все объекты - удалил но присоеденить не могу. (В прошлый раз застрял на этом же месте) Видимости перекрывали друг друга, но похоже тогда не разобрался какая команда не работала)
__________________
Live as though tomorrow you will die, Study as though you will live eternally. Последний раз редактировалось Juss_00, 13.07.2009 в 10:57. |
|||
![]() |
|
||||
Здесь выложен макрос Kpblc-а по управлению видимостями
http://forum.dwg.ru/showpost.php?p=292468&postcount=147 открыть блокнотом, прочитать и использовать для включения видимости всем элементам блока в редакторе блока. Включает видимость тем элементам, которые выброшены из всех visibility set-ов. После того, как ты включишь видимость всем элементам, указывай на те элементы, что тебе нужны и они перенесутся в текущий visibility set. Элементы не принадлежащие ни одному visibility set называются "свободными элементами" если у них видимость включена, то они всегда будут видны, а если выключена - не видны. Когда устанавливается новый visibility set, то в него попадают все элементы блока. Все до единого, включая и "Свободные". Эти "Свободные" тут же перестают быть "свободными", так, как попадают в новый visibility set. Есть еще функция, очищающая visibility set от всех элементов, но не удаляющая из него дин. параметры. Есть, которая вообще все удаляет. Есть, которая устанавливает видимость в группе представлений и многое еще. У меня тоже он не захотел присоединяться (потом разберусь) скопировал в буфер и вставил в чистый файл с оригинальными координатами, а от туда опять в блок тоже с оригинальными координатами. Последний раз редактировалось Supermax, 13.07.2009 в 19:14. |
||||
![]() |
|
||||
Регистрация: 28.02.2007
Riga
Сообщений: 19
|
Если можно, я тоже об этом.
Во первых - большое спасибо. ![]() ![]() ![]() Во вторых - я тоже никак присоеденить объекты к visibility set не могу. Я удаляю только ненужные а не все. Сделал один блок, но если копировать его в файл в котором такой блок уже есть, то он портится. В чём может быть проблема? |
|||
![]() |
|
||||
Инженер Регистрация: 11.12.2007
Москва
Сообщений: 295
|
Supermax, премного благодарен. Хоть пока и не очень понятно но думаю разберусь. (За обедом)
![]() Получилось, но на уровне танцев с бубном. Как я понял: Лисп Крыса прячет объекты где то в чертеже как будто их и нет. Достать тока его же лиспом и можно )) 1) Делаем сколько угодно Видимостей 2)Чистим все видимости от всего. (на сколько понял можно просто от объектов) 3)Выключаем видимость (крыс-макросом) всем объектам кроме тех что будут относится к активной видимости. 4) "Visibility-ADD2.fas" не присоединяет, по этому сделаю макрос на копирование сточкой 0 удаление и вставкой на от же место. (по сути и получится присоединить объекты) Но как я понимаю при такой работе Дин Свойства можно накладывать только в активной видимости. Значит блок нужно заранее хорошо продумать. 5) Включаем видимости (макрос-крыса) Активизируем другу видимость. И Погнали дальше с 3 пункта... Как то так? Иль это бред прошлого века? п.с. В сложные блоки (с полями и расчётом) пока вставлять не поспешу. П. П. С. Большое спасибо Supermax !!! Вопрос о второй видимости просился как только первую увидел. И даже если это не приживётся из за каких ни будь их (блоков) особенностей это уже сильный толчок. А подскажите где прочесть про то зачем вы вставляетете параметр выбора в блоках с видимостями. (Никогда не использовал и зачем не понимаю) Эт тож самое что таблица блока в 2010? Вобщем вот такой вот получился с вашими советами. Заместо "Visibility-ADD2.fas" стал использовать Код:
__________________
Live as though tomorrow you will die, Study as though you will live eternally. Последний раз редактировалось Juss_00, 14.07.2009 в 16:58. |
|||
![]() |
|
|||||
kor99, я починю скоро функцию добавления элемента в текущий visibility set. Пока копированием попользуйтесь.
Цитата:
Juss_00, Цитата:
Работает макрос везде, не только в пространстве редактора блоков. Почему AutoDesk не афиширует тот факт, что элементам можно видимость вкл\выкл делать - наверное не может делать "серую видимость" как в редакторе блоков, всей модели. Но "Включить все" и откат назад - решает эту проблему. Можно сделать надстройку на макрос Kpblc-a. Нажимаешь кнопку "Включить избранное" и макрос включает все, просит указать нужные элементы, запоминает их, откатыват назад в состояние когда все не было включено и затем включает видимость выбранным элементам. Visibility-ADD2.fas - это не одна функция, а целая куча! Цитата:
Set - по английски выбор. Visibility state - представление видимости. Это внутри visibility set описывается состояние, когда чать элементов visibility set включена, а чать выключена. В одном visibility set может быть от одного и более visibility state. Цитата:
http://discussion.autodesk.com/forum...pa?forumID=154 |
|||||
![]() |
|
||||
Регистрация: 28.02.2007
Riga
Сообщений: 19
|
Цитата:
Например если нужно вставить готовий узел из другово рисунка. |
|||
![]() |
|
||||
Внимание, обновление!
Исправлена ошибка в функции (element-sel-current-insert) Скачайте и замените Visibility-ADD2.fas http://forum.dwg.ru/showpost.php?p=292452&postcount=144 Прога пошла в мир! Очень хороший пример использования нескольких групп видимости http://discussion.autodesk.com/forum...36387&tstart=0 Последний раз редактировалось Supermax, 16.07.2009 в 15:18. |
||||
![]() |
|
||||
Да, ты прав. Нашел накладочку. И еще больше эту функцию изменил. Теперь она сама включает видимость всем элементам и после выбора нужных тебе, откатывает видимость как было.
Внимание еще раз обновление Visibility-ADD2! |
||||
![]() |
|
||||
HVAC (ОВК) Регистрация: 08.10.2005
Ukraine, L'viv
Сообщений: 822
|
Цитата:
Спасибо. |
|||
![]() |
|
||||
В Автокаде, и именно в блоках, попадаются такие ошибки, которые не определяются аудитом и восстановлением файлов. Я много раз ползал по таким испорченным блокам и пытался что-то предпринять, чтобы либо и в них все работало, либо чтобы ругалось и говорило, что блок поврежден, но бросил эту затею, поскольку слишком много разных повреждений в них бывает.
Еще в программе по перемещению свойств не до конца отполирован момент по перемещению одноименных свойств, отличающихся только количеством пробелов в конце наименования свойства. Все время пробуксовывает. Я пока циферки в конце ставлю, а когда перемещение выполнено, заменяю эти циферки на пробелы. Наверное надо что-то в консерватории подправить, но руки пока не доходят. Во всяком случае, в таком виде, эти программы, как лакмусовая бумажка, позволяют выявить блок с ошибками. Все равно ведь придется блок исправлять, и мои проги этого уж точно сделать не смогут, так зачем зря мне пыхтеть? Последний раз редактировалось Supermax, 27.09.2009 в 10:38. |
||||
![]() |
|
||||
HVAC (ОВК) Регистрация: 08.10.2005
Ukraine, L'viv
Сообщений: 822
|
|
|||
![]() |
|
||||
Не Господа! Я был не прав!!!
Блоки тут не причем! Оказалось, что создавая набор в пространстве редактора блоков из всех элементов, включая и те, что черти-где, (setq Nabor_all (ssget "_A")) в набор попадают все элементы не только самого блока, но и все элементы всех layout-ов! Почему-то элементы модели туда не попадают. Вот новый вариант этой функции, может кто ее усовершенствует. Код:
Внимание! Обновление Visibility-ADD2.fas Последний раз редактировалось Supermax, 07.10.2009 в 10:57. |
||||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Supermax, замени уже в
http://forum.dwg.ru/showpost.php?p=292452&postcount=144 строчку: "(visibility-ap) - делает указанный пользователем Visibility Set текущим" на строчку: "(visibility-up) - делает указанный пользователем Visibility Set текущим" А то народ путается. |
|||
![]() |
|
||||
Исправил.
А знают ли уважаемые господа, что сама модель тоже может содержать динамические параметры и свойства, как динамический блок? Прямо в модель можно встроить, к примеру, параметр visibiliti и разбросать элементы модели по представлениям. Правда переключать эти представления можно только с помощью специальной программки, но она совершенно пустяковая. Tools -> Block Editor -> <Current Drawing> и вставляйте что хотите. Если вы вставили динамические параметры прямо в модель, то использовать такой файл как внешнюю ссылку с применением команды REFEDIT нельзя, поскольку все динамические параметры будут после этого снесены. Увидеть ручки в самой модели и свойства этой модели в Properties тоже нельзя. Надо писать специальую прогу для этого. Но преимуществ и уникальностей достаточно много. К примеру, нет вхождений такого блока как "Модель". Нет масштабирования и поворотов. и т.п. Ручки можно сделать специальными объектами и генерить их программно. Понавешать на них реакторов и при перемещении управлять динамическими свойствами модели. Вот я функцию получения ACAD_EVALUATION_GRAPH подправил специально для этого. |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
да уж, вот это жесть )))
Интересно хотя бы примерный пример применения (вот такая тавтология ![]() По-моему то про что ты говоришь это уже реализовано. Например, я часто пользуюсь параметрами видимости в модели - слои отключаю. Да и масштабом и копированием...
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Скажем, есть модель дома. В слои ибъеденены все материалы одного вида. Труба ПП-25, к примеру. А в представления попали элемены цоколя, 1-го этажа, второго и т.п.
То есть, в одно представление попадает немного из одного слоя, немного из другого, немного из третьего и т.д. Отключаешь слой "Труба ПП-25" и все полипропиленовые трубы во всем доме пропали. Такую модель можно посмотреть целиком, надо просто параметр visibility всем элементам включить принудительно, с помощью макроса Kpblc-а, но как только вы выставите какое-нибудь представление - все потухнет, кроме нужного. С остальными параметрами я еще не баловался. Масштабировать ты можешь только отдельные элементы (даже все вместе), но не само пространство модели. то же с поворотами и перемещением. |
||||
![]() |
|
||||
Не получается у меня ни чего...
Цитата:
Цитата:
Пожалуйста, у кого всё работает, помогите, в блоке три атрибута, нужно на каждый поставить видимость с состояниями вкл\выкл.
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Всё победил, сразу не заметил в 432 мелко так... написанную фразу: -" Внимание! Обновление Visibility-ADD2.fas"
![]() Supermax ![]()
__________________
Почему все вдруг становятся умными, когда уже не надо? Последний раз редактировалось Disney, 26.10.2009 в 13:56. |
||||
![]() |
|
||||
архитектор Регистрация: 01.04.2008
СПб
Сообщений: 296
|
уже были здесь выложены
![]() http://forum.dwg.ru/showpost.php?p=307079&postcount=316 и еще было http://forum.dwg.ru/showpost.php?p=430696&postcount=428 Последний раз редактировалось Ddjo, 27.11.2009 в 12:35. |
|||
![]() |
|
||||
Внимание! Очередное обновление!Скачайте заново и замените файл visibility-ADD2.fas
Также надо обновить программу по перемещению свойств. SLADE, конечно можно! Найди в тексте лиспа такое место: Код:
Последний раз редактировалось Supermax, 02.02.2010 в 20:29. |
||||
![]() |
|
||||
Небольшие замечание по поводу кода Lookup-Lookup
В начало дописать (vl-load-com) без этого выдает ошибку в строках 104, 119 (ex_break_connect) лишнее, а также prign заменить на progn ![]() СПАСИБО за код. Последний раз редактировалось sdv79, 30.05.2010 в 14:28. |
||||
![]() |
|
||||
инженер-конструктор Регистрация: 03.02.2010
г. Березники, Пермский край
Сообщений: 40
|
Добрый день, уважаемые! Прочитал сию тему, но может где чего пропустил, поэтому сильно не пинайте пожалуйста, а просто, если не затруднит, ткните носом в нужную ссылку...
Создал динамический блок с несколькими параметрами видимости. Всё прекрасно работает. Когда тянешь за ручку рамка "Общий вес" сдвигается, поле "Масса стали по элементам растягивается", рамка, где будет выбираться элемент конструкции (например "Балки"), копируется массивом. Вопрос в следующем: как скопировать сам параметр видимости? ну то есть как сделать, чтобы при добавлении 4-й, 5-й и т. д. ячеек можно было бы выбирать как и в первых трёх. Если есть способ реализовать сие более простыми методами, подскажите пожалуйста как это сделать. Юзаю AutoCAD 2009 (RUS) Заранее благодарен. |
|||
![]() |
|
||||
проектировщик-новобранец Регистрация: 14.09.2005
Minsk
Сообщений: 324
|
Эх если бы это можно было реализовать,
Здесь стандартные методы не прокатят, может только програмирование, создание дополнительных параметров видомости. p.s. в вашей конретной задаче есть путь на много проще, ТСМ в VetCADe http://dwg.ru/dnl/206 (демо, сама прогамма стоит копейки, если попасть на скидки, будет еще дешевле, думаю что к дню строителя (как обычно) опять будет информация. Сам пробовал и блоком и ексель в этому делу приручить, но это все не то. |
|||
![]() |
|
||||
КИП и А Регистрация: 28.04.2010
Киев
Сообщений: 101
![]() |
Доброго дня.
Очень интересная тема. Не могли бы подсказать каким образом можно взорвать все динамические блоки на чертеже сделанные с несколькими параметрами видимости Visibility? Но при этом все выбранные параметры видимости после взрыва остались на чертеже. Взрываю explode. Требуется для передачи готовых чертежей заказчику, а так же для уменьшения размера чертежа. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Eddicordo, Открой и сохрани в Авкаде 2004. Сохрани как dxf R12. Все динамические блоки заменятся на анонимные с именами *Unnn. Дальше, если нужно, можно использовать UX или U2B
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
КИП и А Регистрация: 28.04.2010
Киев
Сообщений: 101
![]() |
VVA Спасибо
А ни кто не сталкивался с такой проблемой как: скрыть сам треугольничек выбора невидимости Visibility. Lookup скрыть можно, а вот Visibility не получается. Для чего надо? Мне надо при выборе невидимости объектов помимо показа что бы некоторые объекты двигались Move. Для этого я указал в Lookup свойства выбора Visibility и движение Move. Все классно, Но лишний треугольник Visibility мешает. Как его скрыть? |
|||
![]() |
|
||||
КИП и А Регистрация: 28.04.2010
Киев
Сообщений: 101
![]() |
Если ручки убрать то и смысл Visibility пропадет.
Принял решения лишние Visibility переносить далеко за пределы блока. Будут просто висеть. Не выход конечно но по крайней мере не будут мешать работать с блоком. Вопрос возник следующий. При выборе невидимых объектов Visibility. Появляется менюшка в 1 колонку. Можно каким то образом сделать менюшку с выбор пунктов и так же подпунктов. Тобиш получается много ярусное меню. Пример. Типа как в любом браузере "Закладки" и справа стрелочка с еще одним меню. Нужно поскольку при большом выборе не удобно искать то что тебе надо. |
|||
![]() |
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
Скрываешь ручки у параметров видимости и отключаешь показ параметра видимости. А управление видимостями делаешь через Lookup.
Ручки Lookup'ов можно делать невидимыми там где это нужно. По поводу многоярусного меню даже и не задумывался. Это уже ближе к программированию
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. |
|||
![]() |
|
||||
КИП и А Регистрация: 28.04.2010
Киев
Сообщений: 101
![]() |
kha Спасибо все получилось.
Возник следующий вопрос. Использование программки Excel-Lookup.lsp 1) В блоке использую 3 параметра Lookup В которые мне и нужно записать с Excel информацию. В Excel создаю 3 листа, в каждом листе прописываю в 2 колонки инфу которую мне надо закинуть в Lookup-ы. В итоге почему то во все 3 Lookup записывается только в с 1 листа. Хотя я указываю первый лист к первому Lookup. и т.д. Глюк какой то? |
|||
![]() |
|
||||
КИП и А Регистрация: 28.04.2010
Киев
Сообщений: 101
![]() |
Supermax
Доброго времени суток. Выловил глюк с русским AutoCad 2009. При попытке подключить активатор к Lookup-у выдает. Код:
Ошибка насколько я понял аналогичная http://forum.dwg.ru/showpost.php?p=293303&postcount=198 Можно подправить ошибку для работы в русских Автокадах |
|||
![]() |
|
||||
Исправил. Только с появлением их значков туго. Пока файл не закрыл и открыл, не появились дополнительные значки активаторов.
Может даже в 2007 или 2004 формат пересохранять придется. Сейчас уточню. Разобрался. В 2009 и 2010 каде активаторы проподают, если в них ничего нет. Последний пустой остается и на нем появляется знак !. Как-нибудь на досуге попытаюсь их перетасовывать, чтобы была возможность редактировать. Но не обещаю. Пока советую открывать 8 кадом и заполнять там. Последний раз редактировалось Supermax, 29.10.2010 в 19:57. |
||||
![]() |
|
||||
Как оказалось Автокад сам умеет вставлять параметр Lookup сразу с кучей активаторов. См. http://forum.dwg.ru/showpost.php?p=293460&postcount=209
|
||||
![]() |
|
||||
Регистрация: 28.02.2007
Riga
Сообщений: 19
|
Цитата:
Lookup Action -> Action name и пробовать имя с большим номером - например Lookup2 Мне так работает |
|||
![]() |
|
||||
Ну, тут нет ничего сложного.
Есть в словаре "ACAD_EVALUATION_GRAPH" указатель на активатор вашего Polar Stretch. Открываете его и видите указатели на элементы блока. Надо только разобраться с точечными парами самого активатора (где указано количество элементов, последний созданный и т.п). Все можно. |
||||
![]() |
|
||||
Имеем polar stretch в блоке, добавляем в сам stretch объекты...
Меняются только пары в описании BLOCKSTRETCHACTION: 71 - количество объектов в action`е 330 - имена объектов 73* - см 71 331* - см 330 *(только если объект находится в рамке влияния actiona`а, плюс к каждой строке 331 идут парочки 74.1 и 94.1) Supermax, расскажи пожалуйста, имеет ли значение, в каком месте я добавлю имя нового объекта в описание BLOCKSTRETCHACTION? Т.е.: 1) (append new_330 acad_eval_graph) 2) (append acad_eval_graph new_330) 3) искать нужное место в описании и сувать туда [Верное отметить] ![]() Последний раз редактировалось 5hev, 22.12.2010 в 15:11. Причина: добавил |
||||
![]() |
|
||||
Выкладываю распечатку описания BLOCKSTRETCHACTION:
((-1 . <Entity name: 7eb8c1f8>) (0 . "BLOCKSTRETCHACTION") (330 . <Entity name: 7eb8c1b8>) (5 . "35F") (100 . "AcDbEvalExpr") (90 . 5) (98 . 27) (99 . 25) (100 . "AcDbBlockElement") (300 . "Stretch") (98 . 27) (99 . 25) (1071 . 0) (100 . "AcDbBlockAction") (70 . 0) (71 . 1) (330 . <Entity name: 7eb8c1a8>) (1010 4.25338 20.7466 0.0) (100 . "AcDbBlockStretchAction") (92 . 1) (301 . "EndXDelta") (93 . 1) (302 . "EndYDelta") (72 . 2) (1011 -5.0 5.0 0.0) (1011 13.4784 40.3757 0.0) (73 . 1) (331 . <Entity name: 7eb8c1a8>) (74 . 1) (94 . 1) (75 . 0) (140 . 1.0) (141 . 0.0) (280 . 0)) ((-1 . <Entity name: 7eb8c498>) (0 . "BLOCKSTRETCHACTION") (330 . <Entity name: 7eb8c470>) (5 . "3AB") (100 . "AcDbEvalExpr") (90 . 5) (98 . 27) (99 . 25) (100 . "AcDbBlockElement") (300 . "Stretch") (98 . 27) (99 . 25) (1071 . 0) (100 . "AcDbBlockAction") (70 . 0) (71 . 2) (330 . <Entity name: 7eb8c458>) (330 . <Entity name: 7eb8c460>) (1010 4.25338 20.7466 0.0) (100 . "AcDbBlockStretchAction") (92 . 1) (301 . "EndXDelta") (93 . 1) (302 . "EndYDelta") (72 . 2) (1011 -4.95064 19.1229 0.0) (1011 13.4784 40.3757 0.0) (73 . 1) (331 . <Entity name: 7eb8c458>) (74 . 1) (94 . 1) (75 . 0) (140 . 1.0) (141 . 0.0) (280 . 0)) ((-1 . <Entity name: 7eb8c300>) (0 . "BLOCKSTRETCHACTION") (330 . <Entity name: 7eb8c2d8>) (5 . "380") (100 . "AcDbEvalExpr") (90 . 5) (98 . 27) (99 . 25) (100 . "AcDbBlockElement") (300 . "Stretch") (98 . 27) (99 . 25) (1071 . 0) (100 . "AcDbBlockAction") (70 . 0) (71 . 2) (330 . <Entity name: 7eb8c2c8>) (330 . <Entity name: 7eb8c328>) (1010 4.25338 20.7466 0.0) (100 . "AcDbBlockStretchAction") (92 . 1) (301 . "EndXDelta") (93 . 1) (302 . "EndYDelta") (72 . 2) (1011 -5.0 5.0 0.0) (1011 13.4784 40.3757 0.0) (73 . 2) (331 . <Entity name: 7eb8c2c8>) (74 . 1) (94 . 1) (331 . <Entity name: 7eb8c328>) (74 . 1) (94 . 1) (75 . 0) (140 . 1.0) (141 . 0.0) (280 . 0)) * - зона влияния подразумевает рамку которую acad просит обвести перед указанием объектов для набора в actionset. Последний раз редактировалось 5hev, 22.12.2010 в 15:55. |
||||
![]() |
|
||||
Тебе надо добавить свой новый элемент в этот список
Цитата:
и добавить в конец Цитата:
пары 1010 и 1011 надо просто выкинуть перед entmod-ом Они сами восстановятся |
||||
![]() |
|
||||
Попробовал самый простой вариант:
![]() Возможно, где-то еще надо менять описания? Supermax, я, видимо, спустя несколько лет после создания темы, выгляжу тут олухом, но не взыщи, подскажи. Сам сижу и ругаюсь, - где я был в 2008... ![]() |
||||
![]() |
|
||||
Оказалось, что 1011 неразрывно связана с 72 парой, которая считает их количество. Порезал 72ую - и все работает!
Вот только выбирать имя того объекта, который надо включить в set, приходится через (entnext <block_ename>), неудобно. Кстати, можно включить в set любой объект даже вне блока, entmod съест, но вот двигаться объект не будет... Может, с другими parameter будет такой фокус прокатывать ![]() |
||||
![]() |
|
||||
Не, не из других элементов, а из этого же.
Картина вырисовывается следующая: 1. Есть пары, которые определяют принадлежность DXF описания к объекту. 2. Есть пары и DXF списки, которые менять нельзя. Они не обрабатываются entmod 3. Есть пары, которые менять можно. Entmod держит перед собой два описания, старое и новое. Определяет отличия, проверяет их на допустимость изменения и изменяет. Пары 1010, 1011, 1071 и т.п берет из старого описания. Где-то похоже так. P.S. Про 72 пару ценная инфа, я не знал. Надо запомнить. В блоке есть возможность выбора многоугольником. Не квадратом. В таком случае 1011 пар будет много и 72 пара будет давать их количество. Попробуй проделать такой фокус: Размести блок в пространстве модели так, чтобы пространство блока по координатам совпало с пространством модели и попробуй привяжи элемент вне блока, но чтобы координаты его точек попадали в рамку выбора. Последний раз редактировалось Supermax, 23.12.2010 в 11:30. |
||||
![]() |
|
||||
Добавлять элементы внутри блока легко - промодить ...parameter и всё.
А как быть, если задача сложнее:
Получается, необходимо модить сам evaluation-graph, меняя в нем 330ую и может что-то еще. Но даже если заморочиться, то в какой момент его entmak`ить в процессе формирования нового блока ![]() Supermax, странно, но ни на одном форуме такие вопросы не поднимаются... Ты где-нибудь нашел? Последний раз редактировалось 5hev, 24.12.2010 в 16:35. |
||||
![]() |
|
||||
Ну, я так думаю:
Есть в пространстве модели блок (точнее, вхождение) и он динамический. Есть рядом с ним объект. Запоминаем точку вставки блока (назовем его "первоначальный") и нормаль. Нужный (нужные) объекты объединяем программно в блок с любой точкой вставки (0,0,0 к примеру). Запоминаем эту точку и нормаль этого блока. Также вычисляем смещение этой точки относительно точки вставки "первоначального блока" Программно открываем редактор блока, вставляем программно созданный нами блок, смещаем точку вставки так, как она смещена относительно нашего первоначального блока и разворачиваем нормаль. Технический блок взрываем. Все. элементы в блоке. Тут же корректируем активатор и выходим из редактора. Можно попробовать редактировать активатор после выхода из редактора блоков. |
||||
![]() |
|
||||
Хех, я пошел по тому же пути, и теперь юзера веду в bedit, делаю дела, закрываю. Уже реализовал...
Спрашивал я скорее про то - теперь уже могу сформулировать - как программно эмулировать bedit. Сам себе ответил что это будет *опа, и решил мол зачем выдумывать велик, коли автодэск не публикует свои тайные функции для таких вещей (или тут надо курить ObjectARX)? Только есть один момент: как подавить строку редактора блоков, ведь это же тулбар или нет? Не догнал. Я хочу чтоб юзер bclose`зился только через меня. |
||||
![]() |
|
||||
Программно сделать динамический блок нельзя по двум причинам.
1. Не все словари, входящие в блок можно создать программно. 2. все те же 1010, 1011, 1071 списки. Первоначальный динамический блок и динамические параметры со свойствами должны быть. ObjectARX тут не помощник. В нем ты того, что сделал в лиспе не повторишь. а последнее переведи с гоблинского, а то я не догнал. |
||||
![]() |
|
||||
|
||||
![]() |
|
||||
А вот так.. Создается-то он программно, но не нам это дано.
Можно конечно Автокад надурить, но надо разобраться со структурой файла и базы блоков. Я, к примеру, visibility-set создаю программно, но его автокад не принимает и его глючит, благодаря чему я заставляю сам автокад себе вставлять новый visibility-set. Можно попробовать всетаки создать visibility-set программно и правильно его вставить в базу. Я на коленке все это ваял и не со всеми парами разбирался "по мужски". А панель скрыть можно, но надо в скрипты лезть, писать всякие ковырялки. Я как-то все эти окна изучал, да лень одолела дальше изучать. |
||||
![]() |
|
||||
Регистрация: 30.03.2011
Сообщений: 1
|
Подскажите как быть в этом случае:
Есть 2 Visibility Set - в одном выбирается элемент, во втором по идее должны включаться и выключаться размеры. Проблема в том, что если сначала выключить размеры, а потом их включить, то включаются все имеющиеся размеры. Мучаюсь уже который день - но могу разобраться... |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Supermax, тут такая ситуация: поставил новый MS Office 2007. При попытке использования Excel-Lookup.lsp, прога пишет "Невозможно запустить Microsoft Excel 2003", ну и не работает соответственно.
Не мог бы ты допилить своё творение на предмет этого? Добавлено: А, не, погорячился я. Есть уже в этой теме решение: http://forum.dwg.ru/showpost.php?p=425895&postcount=425 Ложная тревога. Отбой. )) |
|||
![]() |
|
||||
Регистрация: 02.02.2010
Сообщений: 14
|
EXCEL2LOOKUP очень полезная программка, но
PS: Ну народ, подправьте, пожалуйста, для 2012 акада. В 2009 работает, а в 2012 нет.... Последний раз редактировалось andmail, 05.05.2011 в 22:01. |
|||
![]() |
|
||||
КИП и А Регистрация: 28.04.2010
Киев
Сообщений: 101
![]() |
Supermax,
Не подскажешь каким образом поставить Lookup-a сколь угодного количества активаторов имея Акад 2010 русс и не имея Акадов предыдущих годов? Может каким то другим способом можно добратся до заполнения таблиц других Lookup-ов. |
|||
![]() |
|
||||
Вариант 1. Научиться программировать в AutoLisp-е и самому подправить код.
Вариант 2. Попросить кого-то, у кого есть русский Автокад 2010 (у меня нет) и кто занет Автолисп сделать аналогичное. Вариант 3. Попросит кого-то дать тебе любой готовый файл, где есть блок с лукупом и несколькими активаторами. На сколько я знаю, начинкой динамических блоков можно манипулировать только в Автолиспе. Все исходники я выложил, но пока наследников не наблюдаю. |
||||
![]() |
|
||||
Регистрация: 26.12.2011
Сообщений: 322
|
Supermax - нашел вашу программу для создания новых параметров видимости!!! Прошу помочь разобраться!!!
и так попорядку: создал блок с параметром видимости, теперь при вставке второго параметра выходит такая ошибка: Команда: (Visibility_add) Укажите место расположения Visibility Set: _.point Текущие режимы точек: PDMODE=0 PDSIZE=0.0000 Укажите точку: 0,0,0 Команда: ; ошибка: неверная DXF-группа: (360) Подскажите пожалуйста, что не так??? |
|||
![]() |
|
||||
Konstrukteur Регистрация: 28.09.2008
Europa
Сообщений: 20
![]() |
Ребята, помогите пожалуйста "заточить" сие чудо под -AutoCAD Mechanical 2011 German-.
Уже какой день колдую ну никак не получается добавлять дополнительные видимости. Вот вырезка из протокола, может кто увидит ошибку: Код:
|
|||
![]() |
|
||||
проектировщик-новобранец Регистрация: 14.09.2005
Minsk
Сообщений: 324
|
|
|||
![]() |
|
||||
Geniy_Dzydo, какой у Вас Автокад?
Basawur, - у меня нет AutoCAD Mechanical 2011 German. syt89, - может Вы его загружаете не в Автокад? Пока я не могу заниматься любительским программированием - занят. Новых энтузиастов этого дела пока не наблюдаю. Бороться с Автодеском нет ни малейшего желания. Не хочет он развивать динамизм блоков, так и не надо. Есть кады где эти видимости вставляются, так и пользуйтесь ими. |
||||
![]() |
|
||||
проектировщик-новобранец Регистрация: 14.09.2005
Minsk
Сообщений: 324
|
Привет всем
при импорте из Excel в lookup (Excel 2007 рус / Acad 2012 Eng, а так же пробовал Excel 2010 рус / Acad 2013 рус) на финише пишет Код:
![]() п.с. "Excel.Application.11" заменил на "Excel.Application" Не могу понять в чем затык, т.к. экспорт из lookup в Excel (Excel 2007 рус / Acad 2012 Eng, а так же пробовал Excel 2010 рус / Acad 2013 рус) работают корректно! Supermax и VVA у меня все надежда на вас ![]() |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Подтверждаю. С Автокадом 2012 программа не дружит.
Когда нужно, специально запускаю Автокад 2008 и работаю в нём. Пока только так. Просто Supermax явно сказал, что поддерживать программу не собирается. Его право, хотя жаль конечно - вещь очень полезная. P.S. У меня не работает конкретно связка Excel 2007 rus/AutoCAD 2012 rus sp1. Работает связка Excel 2007 rus/AutoCAD 2008 rus sp1 |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
SLADE, Makswell, Выложите пример:
1. Excel файла с исходными данными 2. Dwg файл с динамическим блоком 3. И сами лиспы
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
С вашими файлами чего-то не получается. У меня есть давнишний вариант заполнения LoockUp из Bedit. Подредактировал его чуток. Протестируйте. Lisp, пример и видео в архиве
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
SLADE,Проверь, плз, работает ли lisp #495 в 2008 Автокаде. Я тестировал на 2009 и 2011. По крайней мере lookup заполнялся. 2012 у меня нет. При наличии времени попробую завтра протестировать.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Протестировал. К сожалению всё по-старому.
Цитата:
Цитата:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Да я тоже проверил в 2012 SP2 - не работает. Причем трассировка показала, что не работает ф-ция entmod. Т.е. если в 2-х словах то она не обновляет список для объекта (0 . "BLOCKLOOKUPACTION"). С чем это связано - не понятно, то ли баг Автокада, то ли такая политика
![]()
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 20.07.2012
Сообщений: 15
|
Подскажите пожалуйста. Пытаюсь использовать move-properties-rus.lsp, но при выборе динамического блока он выдает ошибку:
Цитата:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
bibleo, Сам лисп не смотрел, но попробуй выполнить из редактора блоков (_bedit)
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
HVAC (ОВК) Регистрация: 08.10.2005
Ukraine, L'viv
Сообщений: 822
|
Цитата:
Пришел к результату, блоки которые программа не захотела обработать сделал по новому, с учетом отображения параметров |
|||
![]() |
|
||||
HVAC (ОВК) Регистрация: 08.10.2005
Ukraine, L'viv
Сообщений: 822
|
Цитата:
Command: _battman Последний раз редактировалось Vombat, 26.07.2012 в 13:06. |
|||
![]() |
|
||||
Визайнер-дизуализатор в отставке Регистрация: 12.11.2009
Сообщений: 133
|
Цитата:
Win7x64 AutoCAD 2010 sp1 x64 - работает старый_Supermax-a/новый_mod_VVA Win7x64 AutoCAD 2013 sp1 x64 - не работает старый_Supermax-a/новый_mod_VVA (выдает nil 8, хоть и выскакивает окошко что заполнилось успешно) Excel 2007 скрипт "старый_Supermax-a" пробовал подправленным для связи с 2007 офисом двумя способами: заменой application.11 на application.12 и способом Кулика в этом посте. Хотя скрипт Lookup-Ecxel работает в обоих версиях Када. Не появилось решение данной проблемы?
__________________
Жизнь не сахар, а смерть нам не чай... © Ю.Шевчук |
|||
![]() |
|
||||
Регистрация: 20.04.2011
Сообщений: 481
|
Добрый день. Пытаюсь сделать блок с несколькими видимостями.
Что делаю не так? ACAD 2006 1. загружаю visibility-ADD2.fas 2. редакторе блоков в командной строке пишу "visibility_add" 3. Unknown command "VISIBILITY_ADD". Press F1 for help. и другой вопрос. при попытке отредактировать некоторые блоки (скачанные с этой ветки форума), выходит сообщение: Block contains proxy objects. Cannot edit block in Block Editor. Чего делать то... Где почитать? p.s. Спасибо автору за его труды. |
|||
![]() |
|
||||
Цитата:
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
![]() |
|
||||
Регистрация: 20.04.2011
Сообщений: 481
|
Цитата:
Я вполне успешно могу сделать сделать в 2006 автокаде динамический блок с параметром видимости (Visibility Parameter). Единственное, что этот параметр только один... Мне хотелось бы больше. Может, я что то не понимаю, и мы про разные вещи говорим? |
|||
![]() |
|
||||
извиняюсь, проверил, действительно динамические блоки появились именно в 2006 AutoCAD.
Но в 2006 акаде, они были еще в зачаточном состоянии, многого от них не ждите...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
![]() |
|
||||
Регистрация: 20.04.2011
Сообщений: 481
|
Вообще хотел бы создать примерно такую штуку:
Объясню на примере из головы, главное определить функциональные возможности. Динамический блок - ЧЕЛОВЕК (схематичное изображение человека) Точка вставки - пуп (не смейтесь)) При этом человек может быть в шляпе и без шляпы (видимость1) Также он может быть в штанах, а может и в шортах (видимость2) Также нужно уметь менять рост человека. (меняется относительно точки вставки) Это конечно не моя задача, но функциональные возможности примерно такие. Я в дин.блоках не особо силен, пока например, не понимаю каким макаром увязать рост человека со шляпой )) |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
В таком случае с этим вопросом надо в тему "Мои динамические блоки" в разделе "AutoCAD", я думаю.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Цитата:
по поводу п.3 попробуй писать не "visibility_add", а "(visibility_add)" - в скобочках. Не помню в чем разница, но возможно сработает. К сожалению, я потерял тот свой акад, где все эти кнопочки были настроены и не могу точно посмотреть. Но блоки, созданные с помощью этой утилитки очень успешно использую! Насчет редактирования других блоков ничего не могу сказать, нужен конкретный пример нерабочего блока. А насчет того что в 2006 акаде динблоки в зачаточном состоянии... Не увидел принципиальных различий с 2009 акадом, например. Про параметризацию 10го не говорю.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Регистрация: 10.02.2013
Сообщений: 4
|
Здравствуйте!
Только недавно для себя открыл этот замечательный плагин для расширения visibility в динблоках. Но к сожалению, камнем преткновения для меня стало то, что если нескольким visibility set' ам принадлежат общие элементы, то они будут сбрасывать друг-друга (об этом писалось в мануале). Вот простой пример того, что мне нужно сделать. Имеется 4 параллелепипеда: 1x1 h=1 1x1 h=0.7 1x0.5 h=1 1x0.5 h=0.7 Я создаю 2 visibility set. Один отвечает за габариты (Visibility states: 1x0.5; 1x1), второй за высоту (Visibility states: h1; h0.7). Возможно ли сделать, чтобы можно было переключать оба тумблера, и при этом они не сбрасывали друг друга? Те в конченом итоге с помощью 2х тумблеров должен быть выбран только один параллелепипед. А в данном случае, из-за принадлежности обоим сетам одинаковых элементов они друг друга сбрасывают. Вариант с 1 Visibility Set и 4 Visibility States не предлагать, тк задача не настолько тривиальна как приведенный пример. ПС. У меня автокад механикл 2006, и на нем работает плагин версии 1.1. Все плагины версии выше вылетают, либо при создании visibility set блокируется меню редактора visibility states. Так и должно быть? |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Честно говоря я очень давно не работал с несколькими видимостями. Но по-моему они действительно "сбрасывают" друг друга. Значит, надо пытаться использовать то что есть. Не "пересекать" их. По-моему они и созданы-то были для того чтобы можно было независимо управлять разными элементами блока.
Опишите свою задачу и может быть мы что-нибудь полезное посоветуем.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Регистрация: 10.02.2013
Сообщений: 4
|
Здравствуйте.
Картинка во вложении. В ней видно семейство деталей (на картинке изображена часть деталей) с меняющимися параметрами: высота h=0.1; 0.3; 0.5; 0.7; 1.0; 1.1 габариты d=1x1; 1x0.5; 0.5x0.5 видимость для каждой из стенок: v= стена видима; стена не видима Задача. Собрать это в единый динблок в котором будут следующие тумблеры (ручки): тумблер высоты h тумблер габарита b тублеры видимости на каждой из стен v На выходе должна получиться всего одна деталь. Добавить параметры видимости не проблема, но проблема в том, что у разных видимостей есть общие элементы, и в силу этого видимости будут сбрасывать друг друга. Те выбрав вариант видимости в первом параметре высоты все будет хорошо, но как только я выберу следующий параметр и изменю его видимость, например изменю габарит, это повлечет за собой сброс первого параметра. В итоге габариты станут верными, но выбранная ранее высота сбросится. То же и с видимостью стен, они тоже сбросят параметры высоты или габарита. Как вариант я вижу (но еще не пробовал) прописание видимостей параметров h и d для индивидуальной детали, а не для всего семейства, отключение для них ручек видимости (чтобы для варианта, например 1х1, не показывались тумблеры варианты 1х0.5; 0.5х0.5 и тп) и управление видимостями через Lookup. А для видимостей стен уже оставить visibility. Но как представлю сколько будет вариантов выбора через lookup... 1. 1х1, высота 1 2. 1x1, высота 0.7 3. 1х1, высота 0.5 ... 7. 1х0.5 высота 1 8. 1х0.5 высота 0.7 ... 15. 0.5х0.5 высота 1 ... 21. 0.5х0.5 высота 0.1 В выборе такого количества вариантов запутаться можно. А если бы видимости не сбрасывались было бы все просто волшебно. Но видно не судьба. Или может подскажете более "гуманный" способ? PS. Вопрос еще такого плана. В моей базе габариты меняются с помощью stretch, тк блок состоит из 3D полилиний. В 2006 автокаде они рендеряться при правильном угле сглаживания как параллелепипеды. Но вот начиная с 2007 новый рендер рендерит их уже как цилиндры (если заданы ширина и высота полилиний). Угла сглаживания там нет. Выход только использовать солиды. Но солиды не поддаются стретчу. В пространстве модели легко их поменять за грипы, но вот в дин блоках нет параметра управления их длиной. Не знаете как кроме visibility динамически менять размер солидов (обычных параллелепипедов)? |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Я-то сделал бы по тому варианту, который Вы уже описали - видимости на сторонах, а изменение H и D - растягиванием через lookup.
К сожалению, я не черчу в 3Д, поэтому не понимаю проблемы полилиний или солида и рендера. Может быть эту проблему возможно решить и тогда сделать блок по тому варианту как я описал. Попробуйте с этой проблемой в другую тему (куда-нибудь по 3Д черчению) и тогда вопрос решится.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Регистрация: 10.02.2013
Сообщений: 4
|
Спасибо за ответ.
У меня просто всегда была мечта свести количество элементов базы к минимуму. До 2006 автокада не было динблоков и база была просто огромна. В 2006 я стал активно пользоваться динблоками но был ограничен одной видимостью, и комбинировал ее с lookup. Но с видимостями стен нереально было использовать lookup из-за количества вариантов. Ведь только вариантов видимостей стен было бы 16 (по 2 варинта на каждую стену те 2^4=16), а перемножить их на высоты и габариты 16*3*6=288 вариантов. С открытием для себя данного плагина затеплилась надежда. Но и тут появилось очень жесткое ограничение по использованию общих элементов. Но все же задача упростилась. Думаю в моем случае оптимально все-таки создать 3 элемента, по габаритам: 1х1; 1х0.5; 0.5х0.5, и для каждого с помощью lookup сделать выбор высот, а с помощью visibility выбор видимостей для стен. Это все равно гораздо лучше чем было. Вариант одного динблока это видно утопия, да и вес такого блока будет неоправданно велик. Или может спросить у Supermax, может он подскажет какой-то вариант? Еще вопрос по команде: исключение блоков с помощью команды (element-sel-current-del) работает как положено, но вот обратная ей команда (element-sel-current-insert) почему то не срабатывает (версия плагина 1.1). Те раз по ошибке удалив из набора видимости элемент, вроде как можно вернуть его, но при использовании (element-sel-current-insert) и указании данного объекта он в набор не попадает. Более поздние версии плагина у меня не работают, при добавлении 2го набора вываливается фатал еррор, или блокируется диспетчер видимостей. PS. Можно ли как-то при атозагрузке макроса отключить сообщение "This program works only in the block editor space"? Спасибо! |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Да меня-то за что благодарить, создатель программы молодец ))
Попробуйте по вопросам программы спросить у Supermax'а. Он человек отзывчивый, хоть иногда и резковатый ![]() Программа должна работать, у меня по-моему все добавлялось этими функциями. Там надо очень внимательно быть при переключении рабочего visibility set. Но опять же, я давно работал, на 100% сказать не могу. Все-таки лучше к Supermax'у. Я так и не понял почему ширину нельзя как и высоту менять с помощью растягивания, чтобы получился один блок, ну да это неважно )))
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Всетаки динблоки это инструмент для малой автоматизации. Если речь идет о большой базе то можно готовится к большим тормозам, но если такие тормоза не помеха то можно делать. Много visibility тоже не выход т.к. уже писалось будут сбрасывать друг друга. Как вариант использовать масштаб в качестве "параметра видимости" который не сбрасывается, но я такой фишкой пользуюсь когда блок простенький (зато многофункциональный). Еще один из вариантов автоматизации это таблицы, но они будут работать только с 2010 акада.
![]() Пример
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Регистрация: 10.02.2013
Сообщений: 4
|
Всем привет!
Цитата:
Цитата:
Цитата:
Во вложении блок что я нарисовал. Задача вроде как проста, но у меня никак не получается. В общем один тумблер отвечает за габариты и высоты, а второй за видимость стен (пока сделал только левую). Я подиумы раскидал для наглядности, а вообще они будут в одном месте собраны. Попробуйте поклацать левую ручку, а потом правую. Нажатием на off стена выключится как нужно для конкретного размера подиума, но включив ее на on произойдет сбой. Причем, что интересно, off всегда срабатывает корректно. Мне тут ответили на автодеск форуме, кто знает английский может прочесть здесь. В общем я пробовал создать еще одну зависимость для стен: all, on, off. Думал если off корректно работает при по-умолчанию установленной on, то может если по умолчанию поставить all, то и on сработает ![]() Вот, сделал пока блок (podium h1000 new) со сменой размера через lookup+stretch и visibilities для каждой стенки. Но стретч не прокатит в 2013 автокаде, там нужны будут солиды. А в данном примере, нужно еще поменять высоты, которые тоже нужно менять через visibility. Последний раз редактировалось vavalexus, 12.02.2013 в 20:31. |
|||
![]() |
|
||||
геология, геодезия Регистрация: 29.05.2009
Хабаровск
Сообщений: 185
|
Исправте пожалуйста ошибку в файле "кнопки_макросы.doc"
"7. - Сделать указанный Visibility Set текущим. Макрос: ^C^C(load "Visibility-ADD2.fas") (visibility-ap)" - up ...ups... ![]() пока не сравнил с описанием функции в теме битый час не мог понять - почему у меня макрос не работает... И там же - 10. - Удалить из текущего Visibility Set-a выбранные объекты (сделать их свободными).[/FONT] Макрос^C^C(load "Visibility-ADD2.fas") (element-all-current-del) И описание функции в теме:(element-sel-current-del) - убирает из текущего Visibility Set-a выделенные элементы Последний раз редактировалось Krovlaf, 18.03.2013 в 16:12. |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Обнаружил неприятную штуку, когда попытался в 2013 каде подредактировать блок с доп. визибли сетами созданный в 2011 каде.
Я конечно знал, что начиная с 2012 каде, уже начались глюки, нельзя создать новый доп. визибли сет, но править вроде было можно. А теперь выяснилось что и править блоки с сетами желательно до 2011 када включительно. Выложу видео нормальной работы и плохой работы. Расписывать долго, на видео вроде все понятно. Если коротко то, доп. сеты стали сбрасываться от действия другого сета.
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Регистрация: 17.03.2009
Сообщений: 114
|
Цитата:
|
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Нефтепроводчик, Визибли сеты здесь не причем. Тебе в тему Мои динамические блоки.
Скачай блок, нажми два раза на таблицу и увидишь как там заполнены данные.
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Astartes, к Вам вопрос да и ко всем остальным тоже.
Если с 2012 када пользоваться этой полезностью нельзя, интересно, сами автокадовцы-то придумали что-нибудь подобное для нас, пользователей? Уже 14й кад вышел, кто-нибудь в нем копался? Неужели так и не догадались сделать несколько видимостей?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Volodich, В 2013 точно нет.
Пользоваться можно, но начиная с 2012 акада не работает команда AddVisibly. Можно взять в качестве основы блок с несколькими визибли сетами из первого поста, и изменить на свое усмотрение. Ну лучше конечно иметь под рукой акад до 2011. Это проблема для тех у кого лицензия с подпиской. У меня тоже через год нужно будет удалить 2011 (пока стоит), как быть дальше пока не знаю.
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
конструктор машиностроитель Регистрация: 14.05.2007
Новосибирск
Сообщений: 893
|
Я на виртуальной машине держу Акад 2011 32бит для visibility и еще некоторых программ.
Там делаю что нужно с блоками, а в 2012 они работают нормально.
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Может попросить Супермакса, пусть обозначит цену, за сколько он переделает свою прогу, что бы она работала на поздних версия.
Потом попробую набрать всем форумом. ![]()
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Astartes, 37 постов назад VVA доказал, что это невозможно в принципе. Печально, но это так.
Если бы было возможно, то я бы с удовольствием поддержал затею и не пожалел бы n-ую сумму денег на такое дело. Потому что программы отличные и я ими пользуюсь регулярно. Для этого установлен Автокад 2008. |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Я тоже не вижу проблемы установить куда-нибудь себе на ноут или жене на ноут или там еще куда-нибудь старый автокад да и работать спокойно.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Volodich, Вы наверное работаете в частной конторе, где весь софт паленый. Там да, проблем нет.
А там где за этим следят, могут возникнуть проблемы. Я в свое время пронес на работу портативный 2008, так чисто в резерв. Нашли его у меня. Обошлось все предупреждением, и письмишком, что я нанес конторе ущерб в размере 100 тыс. рублей, если бы контору проверял соответствующий отдел. ![]()
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
У нас на работе софт нормальный.
Но у вас круто все поставлено. Но я же не говорю на работу приносить. Дома-то кто вам запрещает? Ладно, по-моему мы уже не совсем по теме говорим ![]()
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Кстати вопрос такой.
А кто-нибудь пытался обратить внимание Автодеска на данную проблему? Понятно что чисто технически косяка Автодеска тут нет, потому что доп. визибли сеты сторонняя программа. Кто-нибудь может составить технически грамотное письмо с описанием проблемы, почему до 2011 работало, а начиная с 2012 перестало. Может они это специально сделали, а может банально случайно, не заметили. Я бы сам написал, не понимаю принципа, что там сломалось. Если нет доступа к техподдержке, можно отправить через меня, или через другого человека у кого есть доступ. И еще. А кто-нибудь писал в Автодеск, со ссылкой на данную тему, что возможно создание доп. визибли сетов? Вот допустим в 2011 Акаде, появилась команда Выбор подобных. Но ведь она почти полностью слизана с программы Александра Ревилиса SelSim. Не знаю сами Автодески до этого дошли или просто слизали с готовой программы. Может имеет смысл обратить внимание Автодеска на данную тему с доп. Визибли сетами?
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Я вроде об этом говорил уже. Не понимаю, почему автодеск сам этого давно уже не сделал! Я считаю, что обязательно надо обратить на это их внимание и может быть даже со ссылкой на эту тему. Об этом стоит еще подумать. А насчет технически грамотно, я считаю, не заморачивайтесь. Вы - официальный пользователь. Вот и напишите вопрос как официальный пользователь. Без заморочек. Если вдруг они сделают, это будет большой шаг вперед.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Для того, чтобы автодеск начал реагировать, обращение должно носить массовый характер. Практика показывает, что основная масса (99,9%) мемберов сидит и ждёт, что напишет кто-то другой.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
ПТО, ППР, ППРк, СВСиУ Регистрация: 21.12.2011
Сообщений: 147
|
Всем привет! Хотел вот воспользоваться программой, загружаю в Acad, в менюшке появляется сообщение, что приложение успешно загружено, выскакивает системное сообщение "Праграмма работет только в редакторе блоков", однако при вводе _(VISIBILITY_ADD) система выдает "Команда Lisp недоступна" ; при вводе (VISIBILITY_ADD) система выдает: (ошибка: no function definition: VISIBILITY_ADD), хотя в меню, команду включал как положено, в пространстве редактора блоков. Система WIN7*64 Autocad 2011x64RUS, из сторонних приложений SPDS 7 от Сисофта. Другие лиспы рабатают прекрасно. Что я делаю не так?
|
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Какой файл в акад подргузил? visibility-ADD2.fas ?
Если да, то наверное не работает из-за 64 битного разряда.
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Astartes, вообще-то есть: можно найти исходники и, разобрав их, переписать модули.
P.S. Лично у меня на это нет времени.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Не знаю граждане есть ли повод для радости, полноценное тестирование не проводил. Но по порядку.
Написал письмо в нашу техподдержку по Акаду. Удивительно то, что в нашей техподдержке люди намного адекватней чем в самом автодеске. Короче читаем письмо. Качаем прогу для визибли сетов. Я сам попробовал на 2013. Новый визибли сет добавляется и переключается на него. Дальше давайте тестировать вместе. ОТВЕТ. AutoCAD в штатном режиме не поддерживает несколько параметров видимости. В предложенном решении программа слишком глубоко забирается в AutoCAD. Это означает, что при дальнейшем развитии AutoCAD никто не даст гарантии, что подобная технология будет работать. Что, собственно говоря и происходит: выходит версия 2010,- требуется корректировка основных функций. Выходит версия 2012- опять требуется корректировка… И Autodesk здесь не при чем,- он и не гарантирует, что внутренняя структура блоков/параметров и т.п. не будет претерпевать изменений. Т.е. если данное решение использовать в практике, то на свой страх и риск, осознавая, что при следующей версии AutoCAD, возможно, придется допиливать основные функции, а еще хуже, имеется вероятность неработоспособности существующих блоков и невозможности применения функций в следующих версиях. А то, что несколько параметров видимости пока еще не появились в AutoCAD,- полагаю, что на то есть определенные основания (например, надо разруливать ситуацию, когда в нескольких состояниях используются одни и те же объекты. Либо не допускать таких состояний). Функционал нескольких параметров видимости востребован и, если бы вопросов с реализацией особо не возникало, мне кажется, он был бы уже реализован. Однако его пока нет. Следует также отметить, что LISP Сейчас поддерживается для обеспечения работоспособности предыдущих наработок, а главный упор делается на ARX и NET. Соответственно, далеко не всегда удается совместить новые технологии, для которых имеется API в ARX и NET cо старой обработкой данных средствами списков LISP. LISP хорош для решения несколько другого вида задач. Теперь, собственно о вопросе и решении. Используемое решение на форуме dwg.ru, полагаю, взято от Николая Полищука. Полищук уже выпустил более новую версию программы (1.5). которую и прилагаю. Решение Полищука взято с форума http://forums.autodesk.com/t5/Dynami...e/td-p/3303547 Работоспособность создания новых параметров видимости (визуально параметр появился и ему можно назначить состояния видимости) проверено на версиях 2012 и 2014. ВОПРОС. Здравствуйте! Вопрос по Autocad 2013. В динамических блоках есть параметр Видимость (Visibility Set). Дело в том что в одном динамическом блоке, можно создать только один параметр Видимости. Этого бывает недостаточно. На форуме dwg.ru нашлись энтузиасты, которые исправили этот недостаток и написали программу, которая позволяет добавлять дополнительные параметры Видимости. http://forum.dwg.ru/showthread.php?t=24597 Все работало отлично до выхода Автокад 2012. Начиная с Акад 2012 перестала работать команда на добавление дополнительного параметра Видимости (Visibility_add). Т.е. старые блоки в 2012 можно редактировать, но добавлять новые параметры видимости нельзя. Но проблема даже не в этом, а в том, что Автодеск специально или случайно закрыла доступ для дальнейшей модернизации программы. http://forum.dwg.ru/showpost.php?p=923866&postcount=501 Собственно вопрос такой. 1. Случайно или специально компанией Автодеск были внесены изменения в структуру автокада 2012 и теперь из-за этого энтузиасты не могут развить программу? 1.1 Если случайно – может ли Автодеск открыть возможность для совершенствования данной программы? 1.2. Если специально – то планирует ли Автодеск сделать создание дополнительных параметров Видимости – штатными командами Автокада когда-нибудь?
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Просматривать почти 50 кб исходников - не, робяты, я пас
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Хорошо, хорошо, рабочая... Но что я успел увидеть - почти целиком надо бы переделывать (это если по-хорошему).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Результаты предварительного тестирования.
Взял старый блок с доп визибли сетами созданными прогой Супермакса. Удалил все дополнительные визибли сеты и создал новые с помощью новой проги. Тестировал на 2013 Акаде. У меня не работают команды (element-sel-current-del), (element-all-current-del), (Visibility_clear). Точнее они работают, но эффекта я от них не заметил. Элементы остаются на активном визибли сете. И самое плохое и не понятное: новый визибли сет сбрасывает значения предыдущих. На моем примере (см. вложение). Визибли сет "Пров." сбросит сет "Разраб.", а сет "Т.контр" сбросит значения сетов "Пров." и "Разраб.". Т.е. нужно выставлять значения сетов в обратном порядке. Очень хотелось бы надеется, что это я чего то не так сделал и эти проблемы решаемы.
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Регистрация: 06.09.2011
Сообщений: 10
|
Результаты предварительного тестирования у меня.
выдает ошибку: Команда: (visibility_add) Укажите место расположения Visibility Set: _point Текущие режимы точек: PDMODE=0 PDSIZE=0 Укажите точку: 0,0,0 Команда: ; ошибка: неверная DXF-группа: (360) Система win 7, x64, Acad 2012, rus. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Offtop: Говорите, рабочая?
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Кулик Алексей aka kpblc, Ну человек указал что 64 бита. На 64 битах и старая от супермакса не работала.
Ну на безрыбье и ... Кстати Алексей, а за деньги взялся бы переработать, что бы работало как в старой проге?
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Вряд ли - совсем нет времени
![]() ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Связался с Полещуком Н.Н. , т.к. думал что программа выложенная мной выше это его разработка, отличная от программы Супермакса.
Вот ответ. Кому интересно можно ознакомится. Под версии 2013 и старше никто ничего не писал и не пробовал. Программы Supermax основаны на недокументированных возможностях, которые сами Аутодесковцы меняют, как хотят. Я связывался с руководителем разработки программ по динамическим блокам Autodesk, но он предупредил, что дальше все будет плохо (не так, как в 2011 версии). Уже два или три года назад AUGI внесла в список пожеланий по развитию Автокада предложение по введению нескольких параметров состояний видимости. Ответа нет, но предполагаю, что Аутодеск как-то движется в эту сторону. Кроме Supermax тут никто помочь не может, моих программ там нет (хотя я что-то редактировал). Автор принял решение не поддерживать разработку ввиду большой трудоемкости. Дискуссии на англоязычном форуме в общем-то ничего нового не содержат. Так что желающие сами могут напрячься и доработать выложенные исходные тексты, но это трудно. Я к тому что, если есть тот, кто сможет доработать программу за деньги скажите. Может мы, пользователи, сумеем скинувшись, собрать нужную сумму.
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Регистрация: 01.10.2009
Сообщений: 4
|
Прочитал не значит понял) У меня есть несколько дин. блоков, как мне объединить их, чтобы не надо было взрывать общий блок и чтобы они работали все? Понимание того что это разные видимости наверное у меня есть, но я не могу понять сам процесс (тут можно или посылать перечитавать 29 страниц или просто помочь) п.с. Например если взять очень примитивный пример - 3 динамических блока - рамка с меняющимися размерами и форматами, блок штампа с атрибутами, и блок эл. подписей разработчиков, как все объединить это?? |
|||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Цитата:
Когда с этим всем разберешься и занимаешься этим, все в общем-то понятно и получается. Но я эти блоки делал года 3-4 назад и сейчас остались только ощущения, знания забылись )) Может вам ответит кто-то кто недавно делал блоки, а я могу только посоветовать почитать первые странички, там и создатель темы и я долго разбирались как это все работает. Даже алгоритмы писали по-моему. Сразу скажу - существующие блоки использовать не получится. Разве что только какой-то один основной. Эта программка блоки не объединит. Она только в существующем блоке сделает новый параметр видимости. Ну или несколько параметров, как пожелаете. Поэтому, советую взять за основу что-то более сложное, а более простые блоки взорвать и вставить в этот основной.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит... |
|||
![]() |
|
||||
Регистрация: 28.01.2013
Минск
Сообщений: 375
|
Цитата:
|
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Titli-pytli, Лисп выложенный на первой странице работает как минимум с 2008-2011 на 32 бита.
64 бита не работает вообще, насколько я знаю. Выкладывал выше лисп подправленный Полещуком Н.Н., он работает в 2013 32 бита, но со странностями, описанными выше. Последний раз редактировалось Astartes, 25.10.2013 в 07:20. |
|||
![]() |
|
||||
Регистрация: 23.10.2013
Сообщений: 23
|
|
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
В посте 570 я немного ошибся. Правленый Полещуком Н.Н. лисп я тестировал на Акаде 2013 32 бита.
Сейчас попробовал на Вин7 Акад 2013 64 бита. Правленый лисп работает так же как и на 32 битах. Т.е. новый сет создается. Остальные функции непонятно как то работают (очистка сета вроде не работает, удаление всех объектов тоже, а вот удаление выбранных работает). Но проблема, что следующий сет сбрасывает предыдущий осталась. В общем для 64 бит есть решение хоть и специфическое. Думаю привыкнуть можно, если уж без визибли сетов никуда. Хотя может быть вылезет еще какая-нибудь проблема. Новые блоки не создавал. Последний раз редактировалось Astartes, 25.10.2013 в 07:27. |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Открылись новые обстоятельства.
![]() Тут кто то жаловался, что на 64 битной системе не работает исходный лисп от Супермакса. У меня Вин 7 - 64. Тут на днях попросил поставить мне Акад 2010. Для других целей, не связанных с доп. сетами. Решил заодно попробовать подправить свои дин блоки, где есть доп. сеты. И о чудо! У меня все работает. Добавляется новый сет, и редактируются старые. Так что у кого и что там не работало на 64 битной версии, даже не знаю.
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
инженер-проектировщик КИПиА Регистрация: 30.08.2008
Минск
Сообщений: 159
|
2 дня я рыл эту тему, так, что про перекур забывал
cad 14 R19.1 LMS - как то так, точнее не помню ![]() изложенные программы выше (те что еще и ексель прикручивают) не работают, но суть понял дорылся сам до evalgraph и его детей и через vla-* и entget, и из blockeditor и из modelspace... всё что было близко - это entmod на lookupAction, но и он не работал (хотя тут я не удивлен) была мысль создать клон lookupAction (entmakex) и подменить его в evalgraph, но не создался клон ![]() не прокопал (покачто) мысль о работе с lookupActionENTITY через vla-* а потом меня осенила усталость... сохранил пустой чертеж,содержащий 1 единственный интересующий меня динблок в формате dxf и {блокнотом} вставил заранее подготовленный цепочкой mapcar'ов (302 a 302 b 302 x ...) список нужных мне параметров собственно - это решение вылилось мне в целых 5 минут должен заметить что в ваших изысканиях выше - вы используете visibility - это не мой случай , и, я оного не сторонник... я использовал 2 активатора растяжения (см a b [x]), может поэтому и не работало... к сожалению, не было времени проработать всю ветку данного вопроса, скажите, есть ли работающие (R19) решения? |
|||
![]() |
|
||||
Регистрация: 26.12.2013
Сообщений: 283
|
|
|||
![]() |
|
||||
Пол дня сегодня мучался с блоком... всеравно не получилось сделать 2 параметра видимости чтоб они не пересекались. Если работать с одним параметром видимости при наличии в блоке другого то они друг друга "сбрасывают" на дефолт. Может кто знает как излечить?
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Shoorup, Что то вроде этого?
http://forum.dwg.ru/showpost.php?p=1...&postcount=531 http://forum.dwg.ru/showpost.php?p=1...&postcount=558 Если вкратце, что надо использовать исходную прогу от Супермакса (в первом посте). Акады до 2011 включительно.
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Astartes, да. Прогу и с первого поста брал и с сайта Supermaxа
один из параметров видимости настраивается только через свойства (ручка скрыта)
__________________
Поезд который устал от ржавого здравомыслия рельсов... Последний раз редактировалось Shoorup, 09.07.2014 в 11:28. |
||||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Shoorup, У меня нет доступа на форум Нанокад. Соответственно доступа к файлу тоже нет.
УПД: Так и не понял где и что там сбрасывается. Выставлял разные последовательности видемостей и все оставалось на своих местах. Можно по подробней, что, где и при каких действиях сбрасывается?
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 Последний раз редактировалось Astartes, 10.07.2014 в 13:23. |
|||
![]() |
|
||||
Например выбираем группу 4 для контакта. Потом в свойствах блока выбираем "С термоэлементом", затем меняем параметр выводы на любой другой и видим "слет".
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Регистрация: 27.11.2013
Сообщений: 8
|
Кто не будь тут может корректно написать как загрузить и пользоваться командой "видимости" несколько раз в одном блоке.?
Не хочу вдаваться в подробности просто нужна эта команда. Как быстро загрузить и пользоваться макросом этим. Спасибо большое!!! |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
четай опесание
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 26.12.2013
Сообщений: 283
|
Цитата:
Как говорит преподаватель по ОС: - "Программист может написать программу на разных языках программирования, но донести до простого читателя (далеко не специалиста и эксперта) смысл программы может и не смочь." Именно поэтому не все специализированные книги легко читаются и усваиваются - требуется база знаний в голове у читателя. Итак ответ на вопрос: Программа работает только на ACAD 2010 х32 (с разрядностью не проверял, но у меня так). WinXP (тут тоже под вопросом - на Win7 вроде как не получалось). Итого у меня работает так: WinXP, ACAD 2010 х32. Дальше по инструкции (в теме описание) -ищем последний релиз. Любое изменением блока в другом ACAD полностью ломает блок. Поэтому или делать блок безошибочно или изменять там где создали его. |
|||
![]() |
|
||||
Регистрация: 09.06.2010
Сообщений: 126
|
Astartes, только в определенном
попробую его в чистый чертеж вставить. ----- добавлено через ~7 мин. ----- Astartes, только в определенном попробую его в чистый чертеж вставить. ----- добавлено через ~32 мин. ----- Astartes, Команда: _(visibility_add) Команда LISP недоступна. Что это может быть? |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Бася, А с лиспом раньше работали? Подключать умеете?
Настройка-Путь доступа к вспомогательным файлам-указать пусть к fas файлу. Сервис-Приложения-Выбрать Fas файл нажать загрузить. В ком.строке. (visibility_add). Если не работает, значит гдето чтото делаете не так.
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Бася, На словах объяснить не смогу. Инструкция в теме есть, я по ней разбирался. Появились бы пораньше, я может бы небольшое видео сделал. Но с недавнего времени у меня удалил все Автокады, кроме 2013. Соответственно я теперь сам беспомощен с доп. сетами. Пользуюсь ранее созданными блоками, а править если понадобиться, то все - приплыл.
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
конструктор машиностроитель Регистрация: 14.05.2007
Новосибирск
Сообщений: 893
|
Жаль конечно, но не безвыходно. К примеру я установил виртуальную машину с ОС XP 32 и там акад 2010.
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Да, нельзя. Я в свое время пытался разобраться. Итог:
До 2011 - работает (читаем с #495) C 2012 - нет. Проблема в этом Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Видео инструкция по создания динамического блока с дополнительными параметрами видимости.
Может кому пригодиться. https://yadi.sk/d/BtUZlTDQjooNg
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Регистрация: 26.12.2013
Сообщений: 283
|
Цитата:
![]() Без задней мысли - просто такая рекомендация: Вот вы создали фамилии в set-ах, а как потом добавлять будите в других версиях? А точнее будут коллеги (2010- может и не быть, а если большой коллектив, а если текучка есть?). На своем опыте я создал дополнительный блок который вставляют внутрь при необходимости. Или поверх блока-рамки. Сугубо мое мнение! В предыдущем моем посте описываю проблему которую так и не решил, буду благодарен за такое видео !!! ![]() С автором программы общался- вроде проблем самостоятельно дописать программу нет проблем (почитав его статью). Сам пока не добрался. И еще такая проблема у меня была: При программном смене set-ов не получилось. Не стал долго разбираться, обошелся одним set-ом и программой. Вроде была проблема в переключении set-ов через таблицу свойств, а вставлять получалось только одну . собственно проблема у меня сохранилась. Может кто подскажет видео по добавлению таблиц свойств? |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
tujn08, Ну вот только сейчас руки дошли до создания инструкции.
![]() Рамка создавалась в тот момент, когда еще не было известно что на 2011 версии прекратится работа программы. Поэтому да, сейчас у меня такая проблема. Сижу на 2013, а поставить раннею версию нельзя, нарушение и т.д. Поэтому придется таскать домой и там править, пока не перекроют интернет. ) По вашему вопросу, про сет в сете не знаю. Я работал по инструкции что в первом посте. Если там ничего нет, то я пас. ![]() В программирования я полный ноль, так что тоже - пас. ![]()
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Регистрация: 07.05.2013
Сообщений: 48
|
Всем привет. На сайте Полещука Николая Николаевича нашёл такое сообщение "В AutoCAD 2016 снова можно работать с программой visibility-add-eng.lsp для множественных состояний видимости в динамическом блоке" http://www.private.peterlink.ru/pole...tainypod12.htm
|
|||
![]() |
|
||||
Регистрация: 09.06.2010
Сообщений: 126
|
Уважаемые форумчане, добрый вечер!
работаю в 2010ом Акаде, правда на 64ех битной системе. Есть попытка создать штамп с несколькими сетами. подгрузить параметр не могу, но зато если открыть чужой файл, то можно поковырять настройки. при этом, один сет, сбрасывает другой. (в строках Выполнил и проверил) как решить данную проблему? |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Бася, Мою видео инструкцию смотрели парой постов выше? Я там как раз на 2010х64 показываю. Все работает.
Если один сет сбрасывает другой, значит у вас не оригинальная программа из первого поста, а переработанная Полещуком версия для 2012 и выше. Формально она работает, но приходиться мириться со сброской сетов. Пользуйтесь оригинальной программой, тем более у вас 2010 и с этим проблем нет.
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Регистрация: 05.11.2015
Сообщений: 585
|
Цитата:
Цитата:
Т. е. против динамических блоков, как таковых, ничего против не имею. Замечательная вещь, но... это все хорошо для каких-то именно блоков, небольших легко параметризируемых деталей. Как, например, выше приведен пример "Контакт...dwg" Что касается более сложных задач, типа рамки и штампа, думаю, здесь уместней применить VBA. И никаких трудностей с видимостью, постоянно меняющимися списками сотрудников, с изменением версий Акада, и проч., да и просто масса прочих возможностей дополнительно появится, чтобы уже выжать из данной задачи по максимуму. Описание возможных идей по данной задаче и пути их реализации, см. вложение. Не судите строго, описание приложения устаревшее... Последний раз редактировалось Владимир_М, 15.12.2015 в 06:59. |
|||
![]() |
|
||||
Регистрация: 09.06.2010
Сообщений: 126
|
Astartes, инструкцию видела, более того, я уже визибилити сетом пользовалась раньше - создавала блок с 3мя видимостями. Другое дело, что там была другая машина (хотя Акад тот же).
Вчера загружала из шапки .fas, но! когда в блоке пытаюсь запустить функцию получаю ошибку. команда: (Visibility_add) ; ошибка: no function definition: VISIBILITY_ADD Владимир_М, на самом деле, согласна - ну их. но пока возможности выбрать что-либо из выпадающего списка нет. что касается коллег и пр. - тут как раз, для того, чтобы никто ничего не добавлял. я устала постоянно чистить файл от левых слоев, стилей текста и размеров, которые нигде не используются, но захламляют файл. с VBA я не знакома, буду изучать на досуге. Спасибо! |
|||
![]() |
|
||||
Регистрация: 05.11.2015
Сообщений: 585
|
Цитата:
![]() Кстати, в моем случае, программка никакого хлама не добавляет, даже если захочется. Править коллеги могут только, отдельно лежащий, текстовый файл, у каждого свой. |
|||
![]() |
|
||||
КИП и А Регистрация: 28.04.2010
Киев
Сообщений: 101
![]() |
Кто подскажет.
1) В динамических блоках есть вставка "Таблица свойств блока" Штука прикольная можно создать что то типа lookup но многоуровневый и более понятный по корректировке. - Минус не могу вставить две и более таких таблиц. - Не могу операцией "перемещение" переместить саму галочку выбора таблицы. 2) С lookup все это можно сделать но гораздо сложнее и запутанней (Особенно когда с помощью lookup я выбираю нужное значение и вписываю в атрибут) Сам Вопрос. Можно сделать lookup многоуровневый? или Как вставить две и более "Таблица свойств блока"? Как перемещать галочку выбора "Таблица свойств блока"? |
|||
![]() |
|
||||
Может кто подскажет.
Есть блок с двумя Visibility. Visibility1 управляет состояниями "1" "2" "3" а Visibility 2 соответственно "4" "5" "6". У меня ни как не получается добиться того, чтоб после активации любого состояния из Visibility 2, при переключении в стояние "3", элементы "4" "5" "6" становились бы невидимыми
__________________
...переменная FILEDIA создана для привлечения пользователей к форумам. |
||||
![]() |
|
||||
Регистрация: 26.12.2013
Сообщений: 283
|
1) Нужен 10 если не ошибаюсь (или 12) версия автокада - программа только в них работает. Начну с этого- проверьте.
2) Сам мучался с такой проблемой. делал так: а) прикинули сколько параметров видимости будет использоваться б) надо нарисовать в блоке абсолютно все линии для всех видимостей (разбрасывайте по рабочему полю относительно одной точки. потом все это просто совместить в одну точку нужно будет). Если есть накладывающиеся линии лучше оставить их. Пока не разберетесь как работает программа- будите путаться и все время переделывать в) открыли блок, программой вставить подсчитанное количество видимостей (лучше так же в разные места, что бы не накладывалиь) - сразу называем как надо г) теперь начинаем раскидывать, что с чем видимо и невидимо. Выходим из блока сохраняем, программой выбираем видимость, заходим в блок, стандартными средствами автокада выбираем скрыть/показать, если есть несколько сетов в видимости- так же делаем скрыть/показать. д) выходим сохраняем, переключаемся на следующую видимость и повторяем пункт г) Примечание! из-за которого и начинается путаница Скрыв линии они могут все равно быть видны- это нормально. Все будет работать исправно (поэтому нужен пункт б) ) PS лучше делать разные версии блоков при каждом изменении т.к. что-то можете сломать/забыть и будет худо. поправка: версия где все раскидано(для отладки и внесения изменений через некоторое вреся) и версия где все собрано(рабочая). Т.к. скрытые линии все равно видны- сразу запутаетесь. Чем больше видимостей тем сложнее вносить изменения в будущем!!! На мой взгляд программно решать некоторые проблемы и атрибутами. Последний раз редактировалось tujn08, 01.03.2016 в 11:08. |
|||
![]() |
|
||||
Решил немного разобраться с созданием параметров видимости в Autocad 2016, записал ролик. Надеюсь, кому-то поможет.
https://www.youtube.com/watch?v=3VWoHxLD8Lc |
||||
![]() |
|
||||
Регистрация: 19.04.2016
Сообщений: 3
|
Если тут не поднималось такое решение, выкладываю свой пример (на примере рамки со штампом).
Несколько "параметров видимости", реализовано стандартными средствами автокада без дополнительных программ и надстроек. Настоящий параметр видимости только один, а остальные - параметр выбора. В параметрах выбора ненужные объекты "отключаются" масштабированием до мизерных размеров и маскируются под линию рамки (реализовано, для полей согласования и окошка номера страницы в стадии П) Решение так се, но может кому пригодится ----- добавлено через ~2 мин. ----- Забыл сказать, блок пока ещё в процессе изготовления, работает не всё корректно. Желательно тестировать на "Форме 3 по ГОСТ ....." |
|||
![]() |
|
||||
Регистрация: 30.10.2008
Сообщений: 53
|
Хотел воспользоваться Excel->Lookup и Lookup->Excel из этого поста.
Autocad2016eng, Excel 2013. Lookup->Excel завершился с сообщением "Невозможно запустить Microsoft Excel 2003". Поменял Код:
С обратной функцией Excel->Lookup, такое не прокатило. Она вроде отрабатывает, но изменений в блоке не происходит. В ком. строку выводит: Код:
|
|||
![]() |
|
||||
Регистрация: 30.10.2008
Сообщений: 53
|
Цитата:
В тексте скрипта есть фраза "It seems only VSPadd and VSPSet are working under AutoCAD 2016.", у меня так и есть: VSPDelsel не работает судя по всему. Какая у Вас версия Autocad x64 или x86? |
|||
![]() |
|
||||
Цитата:
У меня Autocad 2016x64. Помнится, когда я баловался, вроде как, все работало (VSPDelsel в том числе). |
||||
![]() |
|
||||
Регистрация: 02.07.2016
Сообщений: 251
|
Цитата:
Autocad x64 |
|||
![]() |
|
||||
Цитата:
![]() ![]()
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
Autodesk Authorized Author Регистрация: 16.05.2006
Санкт-Петербург
Сообщений: 14
|
К несчастью, автор темы недавно ушел из жизни:
http://isicad.ru/ru/articles.php?article_num=18968 Пусть земля ему будет пухом. |
|||
![]() |
|
||||
Регистрация: 02.02.2017
Сообщений: 1
|
Доброго времени суток!
Начал изучение данной темы по созданию расширенных динамических блоков. В общем и целом все уже давно разжевано и обкатано, поэтому в основном я разобрался. Уважаемые форумчане, прошу помочь разобраться в некоторых нюансах. Выкладываю свою модель необходимого мне блока. Создан динамический блок стандартными средствами автокад 2010 с тремя видимостями: вид 1, вид 2, вид 3, которые переключают три разноцветных прямоугольника. В этом блоке ещё создан дополнительный параметр Visibility Set с видимостями: VS 1, VS 2, которые выбирают фигуры: круг или квадрат. Все работает и переключается как надо. Вопрос: как сделать, чтобы дополнительные параметры Visibility Set отключались (были невидимы) при выборе вида 3, а при выборе вида 1 и вида 2 оставались? С уважением, Иван. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Подскажите, пожалуйста, если кто знает, как получить список объектов текущего состояния видимости в динамическом блоке? Есть динамический блок, в нем присутствуют статические блоки в разных состояниях видимости. Нужно подсчитать все дочерние блоки, которые видны на экране.
Взрывать или преобразовывать его (копию) в статический - это вариант, конечно, но как-то уж слишком он брутфорсен, планируется обработка больших количеств. Ковырял через ActiveX, но там явно не добраться до такой информации. Остается надежда на dfx-коды, но как-то уж для меня этот метод не слишком дружелюбен, и я обращаюсь к нему редко. Перед тем, как лезть в дебри и писать код, решил узнать, может, кто-то уже решал такую задачу или просто натолкнет на мысль или любую вспомогательную информацию. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
В смысле, посчитать общее количество всех одинаковых блоков и разделить на количество вариантов параметра видимости?
Ну просто в одном варианте видимости может быть два одинаковых блока, а в другом - три. Делитель везде разный будет. Плюс и количество параметров видимости может быть не равным одному (спасибо Supermax'у). Отсюда и вопрос. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Точнее не видимости. Если можно на лиспе достучаться до содержимого промежуточного анонимного блока *U - то в этих блоках как раз будут видимые в данном состоянии субблоки и примитивы находиться. Акад напрямую то не умеет динблоки отображать. Т.е. посчитали сначала количество вставок с привязкой к определениям анонимных блоков, потом по этому списку сформировать список субблоков, умножая на количество вставок.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Дополню Сергей812 Достучаться можно (dxf группа 2 или свойство Name будет содержать имя анонимного блока, а EffectiveName - человеческое)
Цитата:
Т.е. нужно "собрать" блоки с включенной видимостью
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 07.07.2017 в 11:02. |
|||
![]() |
|
||||
HVAC (ОВК) Регистрация: 08.10.2005
Ukraine, L'viv
Сообщений: 822
|
Здравствуйте.
Не получается в данном блоке добавить дополнительный параметр видимости. «Command: (LOAD "D:/LISP/visibility/visibility-ADD2.fas") C:HIDEOBJ Command: (Visibility_add) Укажите место расположения Visibility Set: ; error: bad argument type: lentityp nil» Проблема именно с этим блоком. Win 7 x 86, Autocad 2011 |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Дополнение к посту №630 - пример получения списка видимых примитивов в динамическом блоке на .Net. Не тестировал на текущий момент, просто для информации.
|
|||
![]() |
|
||||
HVAC (ОВК) Регистрация: 08.10.2005
Ukraine, L'viv
Сообщений: 822
|
Странно. У меня не получилось.
В Вашем варианте блока (с добавленной видимостью) все равно выскакивает та же ошибка "Command: (visibility-up) Выберите параметр требуемого Visibility Set: ; error: bad argument type: lentityp nil" p/s вечером попробую на другом ПК Win7x64 |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
VVA, Сергей812, спасибо за помощь и прошу прощения за долгое молчание по моему вопросу - большой аврал, не было времени все хорошенько проверить и разобраться. Пришлось для текущего горячего проекта идти "в лоб" - переконвертировал все блоки (точнее, копии) в статические и собрал списки объектов из них, произведя подсчет вложенных блоков. Около сотни блоков отрабатывает примерно секунд за пять. Я думал, будет хуже. И в статическом блоке мне не удалось найти все объекты из всех видимостей, применив к нему функцию Алексея (см. ссылку на функцию ниже), я получил список объектов текущего состояния видимости - как раз, то, что требовалось.
Однако я не оставил попыток разобраться с изначально желаемым подходом. Идея мне понравилась, но реализовать ее мне не удалось. Использовал функцию Алексея отсюда. Она по указанному вхождению блока возвращает список всех элементов из всех видимостей. То есть, она обращается не к описанию блока *U, а к описанию самого динамического блока. Пока пытаюсь понять, как получить список объектов не описания, а вхождения блока и результатами еще похвастаться не могу. Vombat, действительно странно. (visibility-up) у меня тоже отработало нормально. Но ведь его действие распространяется только в текущем режиме редактирования блока. Смысла нет прикладывать файл с "апнутым" сетом. Если нужно срочно и сможете легко объяснить, какие объекты надо убрать из этого визабилити сета, то я могу это сделать. Правда текстом это объяснить, полагаю, если и не невозможно, то как минимум, трудно. Можно, выделить неким особенным цветом то, что нужно из него удалить. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
skkkk, самое интересное:
Цитата:
|
|||
![]() |
|
||||
HVAC (ОВК) Регистрация: 08.10.2005
Ukraine, L'viv
Сообщений: 822
|
результат идентичен. Та же ошибка
Спасибо, но не надо, так как после этого я уже не смогу редактировать (дорабатывать) блок, а это творческий процесс и он бесконечный. Сделал по старинке через Lookup и масштабирование (пришлось ввести дополнительные параметры). Через Visibility Set было бы проще Последний раз редактировалось Vombat, 27.07.2017 в 20:07. |
|||
![]() |
|
||||
Регистрация: 16.09.2010
Сообщений: 24
|
Добрый день. Необходима помощь. Пытаюсь создать рамку с несколькими параметрами видимости: для основной надписи, для рамки сквозной нумерации и для дополнительной графы слева. Пробовал это сделать в AutoCAD 2013, 2016 и 2018. Всё делаю как показано в в этом видео. https://www.youtube.com/watch?v=3VWoHxLD8Lc
Для основной рамки использую 4 видимости: для блока со штампом по форме 3, по форме 4, по форме 5 и по форме 6. Для сквозной нумерации 2 видимости: показывать или не показывать сквозную нумерацию. По итогу получается, что в режиме по умолчанию можно менять виды штампов по отдельности и показывать/не показывать сквозную нумерацию. Но когда в режиме отсутствия нумерации пытаюсь перейти на другой штамп, то у меня показывается штамп по форме 3, или все сразу (такое тоже бывает). И когда перехожу в другие виды штампов, то появляется рамка нумерации, хотя сама рамка стоит в режиме нет (не отображать). Делаю вроде всё по инструкции. Сначала добавляю параметр видимости VSPadd. Потом перехожу на него VSPSet. Убираю объекты штампов основной надписи командой VSPDelsel. В чём может быть проблема? Что же я делаю не так? Есть ли более подробная инструкция, как с этим приложением работать? За ранее благодарен помощи. ----- добавлено через ~7 мин. ----- Пытался делать по этой схеме, но до конца так и не понял, что к чему и в каком порядке. Цитата:
|
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Black Diamond, полагаю, что предварительно нужно вновь создаваемые параметры видимости очистить от всех объектов с помощью функции (Visibility_clear). Потом активировать этот параметр функцией (visibility-up) и уже после создавать состояния видимости и назначать им соответствующие объекты.
|
|||
![]() |
|
||||
Регистрация: 26.12.2013
Сообщений: 283
|
Ну так вот:
Цитата:
Я тоже хотел сделать несколько таблиц с видимостью, НО в тот момент когда меняется ГОСТ или оформительская ситуация- все надо переделывать. От видимости отказался и все нужно лучше через LISP выполнять ----- добавлено через ~7 мин. ----- И еще вот Цитата:
|
|||
![]() |
|
||||
Инженер-проектировщик Регистрация: 12.10.2010
Москва
Сообщений: 41
![]() |
Добрый день. Есть ли хоть один адекватный вариант добавить видимость. На 2016 версии не получается сделать полностью независимые видимости. На 2010 вообще не работают команды. Хотя приложение загружается.
Мне очень нужно нормальное решение вопроса скрытия объектов и атрибутов. Есть ли такие варианты? Возможно кто-то может создать рабочее приложение, за вознаграждение. |
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Я вот до сих пор не могу понять эту возню с дополнительной видимостью.
Если мне нужны различные сочетания отображения и одной видимостью не обойтись, то я просто использую Lookup таблицу и масштабирование. Без всякого программирования. Может я чего то упустил и не понимаю, ну может точечки кому то мешают... |
|||
![]() |
|
||||
Инженер-проектировщик Регистрация: 12.10.2010
Москва
Сообщений: 41
![]() |
Не всё так просто. Если нужно только визуальное отображение, вообще нет проблем.
Но у меня другая задача, есть блок в нём ещё 10 блоков которые делятся на 2 группы и в этих группах должен быть независимый выбор. А потом из этого всего надо ещё корректное извлечение сделать. Тоесть чтоб блоки не отображаемые не считались. И чтоб это юзер мог все ручечками делать, не открывая блок. Конечно мне хватило бы и одной видимости под управлением 2-х таблиц выбора, или под управлением таблицы свойств блока. Но к сожалению таблица занята на основной блок, а а таблицы выборе не имеют ступеней и не умеют работать парно в качестве двух ступеней. Через Лукапы можно было бы, если бы была возможность, исключить блоки из извлечения имеющие масштабирование меньше ХХХ. Последний раз редактировалось Awave, 28.12.2017 в 15:49. |
|||
![]() |
|
||||
Инженер-проектировщик Регистрация: 12.10.2010
Москва
Сообщений: 41
![]() |
Конечно вариант, и ввести горячую клавишу для ускорения процесса. Но пока не знаю насколько пользователям удобно будет. Надо обсуждать с начальством. Спасибо за совет, группы и в правду могут помочь. Как то почитав тему об 2-х видимостях, о группах то и забыл.)
|
|||
![]() |
|
||||
Цитата:
Offtop: Попросить бы кого-нибудь более подробно написать последовательность действий на настоящее время.
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Так есть же инструкция от автора (светлая ему память).
ArtistAvidaDollars, на всякий случай напомню, что функции надо запускать в редакторе блоков. И вроде бы (логично, но не уверен, проверить сейчас не могу) до их запуска первый параметр видимости должен уже существовать в блоке. В инструкции сказано, что первый параметр необязателен. На 2011-м все работает. |
|||
![]() |
|
||||
Цитата:
Offtop: Тайны подземелий я уже дважды прочитал, но с места ничего не сдвинулось ![]()
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Да, это было в 2010, пишет nil
Offtop: Установлю 2011 попробую еще раз
__________________
главное не останавливаться... |
||||
![]() |
|
||||
продолжаю п. 4, устанавливаю стандартный параметр видимости, выполняю VSPadd, добавляю второй параметр видимости, дальше для первой видимости делаю объекты видимыми/невидимыми для второй пытаюсь добавить удалить элемент и ничего не происходит ![]()
__________________
главное не останавливаться... Последний раз редактировалось ArtistAvidaDollars, 01.01.2018 в 14:20. |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Offtop: Где только сейчас купить 2011 акад, даунгрейд только на 3 версии вроде возможен) Или хотите блоки для работы делать на добровольной основе дома?)
тут скорее: 1. Программно привязываться к контекстному меню на примитив типа вставки блока. 2. Создать блоки с одинаковыми названиями атрибутов, базовой точкой вставки, динамическими параметрами. 3. При вызове контекстного меню выдавать список этих "связанных" блоков. 4. При выборе определения блока, отличного от определения выбранной вставки - считывать все параметры вставки блока, и заменять вставку на другую с установкой этих параметров. |
|||
![]() |
|
||||
Цитата:
![]()
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
имел в виду, что от использования недокументированных функций перейти к программной реализации на базе стандартных документированных функций) Которые с весьма высокой вероятности будут работать и в следующих версиях акада.
и как тогда свои наработки сумеете применить на работе? |
|||
![]() |
|
||||
Цитата:
либо повторением с нуля на работе того что сделал дома, либо что-то не запрещенное по почте пришлю ![]()
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
один набор видимости в блоке
![]() а вы уточнили - является ли подобное (когда для создания нужен достаточно старый акад и нет никакой гарантии работы при очередном обновлении акада) разрешенным? Просто потратите время на выходных на эксперименты вместо чего то более стоящего. Например, рекомендовал бы "поиграться" со связкой акад-эксель с управлением из экселя: если есть эксель, то гарантировано там есть и VBA (в отличие от акада, с 2010 вроде там надо ставить отдельный энаблер под правами администратора). Конечно, если у вас разрешено сохранять файлы эксель с макросами на работе и работать с ними - степень маразма бывает разной у IT-безопасников) |
|||
![]() |
|
||||
Цитата:
У меня стаж работы 6 лет с автокадом (и за 6 лет с видимостью ничего не изменилось, кроме того что я каждые пол года пытаюсь освоить этот лисп). Три работы сменил и на каждой специалисты чертят отрезками и не мм больше. Я хочу хоть как то раскачать эту ситуацию, тем более когда на новом месте есть возможность проявлять инициативу и новаторства способные ускорить работу. Excel, это следующий шаг после создания единого шаблона с блоками на новой работе. Так как сначала динамический блок, а потом все остальное. К сожалению единственный источник знаний форум dwg, много времени уходит на изучение неактуальных сообщений. Думал пойти на курсы автокада но там программа состоит из примитивных команд, которые без труда можно освоить с помощью ютюба. Я их уже освоил ![]()
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Offtop: дежавю.. один уже электронщик пытался раскачать "болото" в проектном отделе на несколько сот человек в конце прошлого года
![]() Делайте маленькими шажками, попробуйте внедрить постепенно те же листы, шаблоны, подшивку, палитры - и посмотрите на реакцию людей, насколько это примут сотрудники, насколько руководство будет участвовать в процессе. Говорунов сейчас много, а как доходит до необходимости немного напрячься и что-то реально сделать - то ряды "желающих" работать по новому стремительно редеют) А на блок с несколькими видимостями я бы не стал уже ориентироваться - в свое время нашли лазейку в механизме динблоков, но создание уже перекрыли (видимо), и нет никакой гарантии работы в последующих версиях. |
|||
![]() |
|
||||
Offtop: я электрик (энергетик), согласен не все готовы к переменам. Недавно показал стандартную таблицу автокадовскую, некоторые не захотели менять религию, отрезками и однострочным текстом это же удобнее
![]() ![]() Вы мне лучше с видимостью помогите, истории это хорошо но "во рту слаще не становится"
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Цитата:
![]() ![]()
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Offtop: Сделал свой примитив, наконец-то! сквозь фатальные ошибки... маленький шаг для проектировщика, большой шаг для проектного института
![]()
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
1. Вставляем новый блок "проба" в чертеж - все три видимости работают.
2. Теперь _audit с исправлением ошибки, вставляем заново блок - ручки видимости есть, а блок не работает. так что внедрение подобных блоков может быть только большим шагом на выход из проектного института) Тем более, если до сих пор "успешно" палочками и однострочным текстом чертили) |
|||
![]() |
|
||||
Цитата:
![]() Это как то решается?
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
в 663 посте уже написал про свое отношение ко всему этому) Но вам так хочется стать крайним, похоже, чтобы все лентяя и лодыри отмазывались перед начальством - что из-за ваших нововведений они не успели там что-то сделать)
----- добавлено через ~2 мин. ----- если делаете не под себя решение - оно должно быть повторяемым на разных машинах и иметь определенную защиту "от дурака". |
|||
![]() |
|
||||
Цитата:
От дурака невозможно даже отрезок защитить так и слой могут изменить и цвет и длину сделают .998.
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Offtop:
Цитата:
А вы хотите коллегам еще подобные блоки подсунуть, требующие аккуратного внимательного отношения - у вас так много свободного времени бегать по проектному отделу и объяснять всем, что кривые руки не у вас лично? А ответственным вас за это сделают 100% - начальство обожает инициативных и готовых подставить шею. Ну это ваше дело, конечно... |
|||
![]() |
|
||||
Цитата:
![]()
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Можно попробовать загнать новоиспеченный блок с несколькими параметрами видимости в новый статический блок (состоящий из одного объекта - блока) и в свойствах на палитре настроить расчленение при вставке. Непонятно почему, но некоторые проблемы вставки динблоков с палитры так решаются. Например поля в атрибутах слетают. При вставке описанным образом все в порядке.
|
|||
![]() |
|
||||
Цитата:
Спасибо, вот и выход, блок в блоке, и расчленение при вставке!!! все работает ![]()
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
Offtop: пока не подставите их своим прущим из всех щелей энтузиазмом. Если вы 6 лет с автокадом, то в подковерной борьбе вы явно новичек) Но фирма московская - не жалко ![]() |
|||
![]() |
|
||||
Цитата:
Offtop: как можно подставить руководителей грамотно оформленными чертежами и сдачей раньше срока?
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Offtop: оформление идет на втором месте после содержимого. И основные усилия надо как раз на организации проектирования содержимого сосредотачивать.
а вы поинтересовались - нужно ли им сдавать раньше срока? И кого будут увольнять первым в случае фактического увеличения производительности? |
|||
![]() |
|
||||
Цитата:
![]() философствовать можно до бесконечности, все зависит от цели и психологии человека, пока кто-то думает, кто-то делает, видимо поэтому у нас организации по 500 человек делают то что за бугром делают 100 человек (данные приблизительны, но смысл верен)
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Offtop: 1. И давно акад стал программой российского происхождения?) Давай тогда уж, к примеру, на Нанокад переходить сразу. Который вообще, насколько помню, не умеет с динблоками акада работать.
2. Это не философия, это практический опыт: 2.1. Если до сих пор в проектном институте нет нормальной организации проектирования - то скорее всего в штате не предусмотрен инженер/менеджер САПР и не собираются вводить эту штатную единицу. 2.2. Появляется энтузиаст, готовый выполнить работу этой штатной единицы за радость видеть "хорошее и адекватное руководство". Как тут не воспользоваться таким ... 2.3. Или этот энтузиаст "сдыхает", сталкиваясь с реальностью - множеством людей, уже достаточно давно работающие вместе и которые не особенно расположены радикально что-то менять. Либо превращается в мальчика на побегушках - которого дергают при любой проблеме, связанной с его "нововведениями". Зачем включать голову - когда можно заявить еще и с претензией, что не работает это все. 2.4. В результате при более менее удачном внедрении коллеги пользуются вашими наработками, и отвлекают от работы - дергая для консультаций. Если 5 человек в отделе, то это особо не заметно. Если десятки и более, и еще разбросаны по разным помещениям - времени на это будет уходить прилично. Но основной нагрузки с вас снимать при этом никто не будет, так как в штате нет должности инженера САПР - это лишь приятный бонус к вашим прямым должностным обязанностям. 2.5. Сейчас любят всякие отчетности вводить - догадываетесь, у кого будут показатели по основной работе в конце списка? И при "оптимизации" штатов это сыграет не последнюю роль. p.s. Но вы же "умнее" всех, поэтому офтоп заканчиваю - бессмысленный разговор. Набивайте свои шишки. Только, плиз, потом не надо как Кондратий Тихонович тут на форуме изливать горечь непризнания вашей "гениальности" - что даже Админу пришлось вмешаться и одернуть. |
|||
![]() |
|
||||
Цитата:
У меня в организации оплачивают время разработки ПО увеличивающего скорость работы и "ЗА" любую автоматизацию рутинного процесса. Просто по техническим причинам Автокад оказался пропущен. В любой организации есть "специалисты" которые растягивают работу по той или иной причине, но для этого есть руководство которое их изредка пинает. Я уже выбрал свой путь и он ориентирован на получение постоянно новых знаний, преимущественно полезных. Эти праздники я посвятил Автокаду ![]()
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
тогда тем более - надо не с нестандартными блоками возиться (покупать неизвестно где и ставить 2011 - это не выход), а направить время на изучение автоматизации акада ака простейшее программирование. Но тут подводный камень - если за дополнительные знания не платят дополнительно, то по сути совмещаешь бесплатно две и более специальности)
|
|||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
Вставлю свои 5 коп. В нашей организации я сделал несколько десятков блоков с несколькими видимостями, причем с довольно сложным сочетанием видимостей. Делается все на базе акада 2011. Используется на всех версиях до 2018 включительно. Никаких проблем с функционированием данных блоков нет, ни в одной из версий. Бывают сбои со штатными таблицами, с аннотативностью, с параметризацией- с этими блоками не было. Использование их принудительно утверждено для всех (пара сотен прооектировщ). Есть сложность, когда наличием в определенном месте определенного объекта управляется несколькими видимостями или когда один объект входит в несколько видимостей (то ли я не разобрался с программой, то ли какая то функция все таки не работает). но в целом использование видимостей позволяет отказаться от десятка вариантов одного блока. К особо сложным потребовалось дать описание прользователям принципа функционирования и порядка переключения ручек (это бывает важно).
|
|||
![]() |
|
||||
Главное - свято в это верить...
Правило первое: проблем нет. Правило второе: если есть проблема - смотри правило первое. Жесть. Цитата:
Цитата:
![]() В общем, не верю, что всё так радужно. Я в таких вещах более доверяю отзывам пользователей а не позитивным рапортам изобретателя. А так-то, изобретателям всегда кажется, что они сделали прямо конфетку...
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
Цитата:
Цитата:
Цитата:
С Вами дискуссию считаю бессмысленной, вы просто не в теме. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Offtop: нет смысла спорить: в разных организациях такими костылями порою пользуют за неимением более приличного - потому что было бесплатно скачено, украдено сотрудниками с предыдущих работ и т.д. А когда потрачено заметное время на реализацию костылей - признаться начальству, что облажались, и причем в наше нервное время...)
Подправит в какой то момент код Аутодеск, разошлют обновления или в случае подписки перейдут на новые версии и перестанет нормально это все работать - и даже претензии некому будет предъявить: техподдержка с чистой совестью скажет - что это недокументированный режим работы. Нафиг такое счастье в масштабах фирмы, имхо. |
|||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
Цитата:
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
Техподдержка в организации должна обеспечивать нормальную работу тех, кто производит продукт на продажу - а не заниматься оправданием своего существования путем придумыванием всяких костылей) |
|||
![]() |
|
||||
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Ну да, ну да...
Артемий Юрьевич, впечатление о Вас у меня уже давно и полностью сложилось. Дабы оно не было субъективным, я общался и с проектировщиками на Вашем текущем месте работы, и с товарищами по Вашему предыдущему месту работы. И, как результат - мне дискутировать с Вами совершенно неинтересно. Но остальные участники сообщества не знают Вас, и, не дай бог, ещё примут за чистую монету Ваши безапелляционные заявления. У меня они, как минимум, вызывают большие сомнения.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
Offtop: Как вывод своему выше заданному вопросу напишу, что блок все таки сделал без дополнительного Visibility Set, возможно благодаря диалогу с Сергей812.
Из написанного выше коллегами до конца непонятно, какая все таки должна быть эта идеальная автоматизированная работа проектировщика, чтобы все были довольны.
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Offtop: быстро качественно недорого и все это одновременно, очевидножэж
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
если делаете автоматизацию на энтузиазме - то всех брюзжаще-недовольных посылайте подальше со словами: я автоматизатор - я так вижу)
а если по согласованию с руководством - составляете ТЗ, подписываете у начальства и в строгом соответствии с ним. И тыкая ТЗ в лицо опять тем же недовольным. p.s. И помните, победителей тоже судят - но трусливенько за спиной. А вот если облажаетесь..) |
|||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
К ArtistAvidaDollars. Ваш блок во вложении. Он элементарный. Все работает, ни каких ошибок.
Цитата:
Последний раз редактировалось shartal, 15.01.2018 в 10:30. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
и где сейчас 2011 акад покупать для реализации "великолепных" возможностей?)
----- добавлено через ~4 мин. ----- перестали работать блоки с несколькими параметрами видимости - сколько времени займет переход на альтернативные варианты? Сколько времени люди будут ждать это и во сколько выльется в виде з/п, сопутствующих расходов? |
|||
![]() |
|
||||
Сергей812,
Да нисколько ждать не будут, станут рисовать черточками и палочками, пока новый блок не сделают.
__________________
...переменная FILEDIA создана для привлечения пользователей к форумам. |
||||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
Переход на обычные блоки может потребоваться ТОЛЬКО при переходе на новую версию, в которой функционирование видимостей станет не возможным. Переход на новую версию акада вообще дело нецелесообразное, но в любом случае не внезапное и подготовиться к этому можно без проблем. Где купить 2011 совсем другой вопрос. Проблему поднял человек у которого он есть. Но в конце концов в России есть способы получить это версию. И нужна всего одна программа на организацию.
|
|||
![]() |
|
||||
Инженер-проектировщик Регистрация: 07.07.2016
Санкт-Петербург
Сообщений: 759
|
Коллеги-товарищи, подскажите!
Неработающий блок с несколькими видимостями в новых версиях автокада - это факт или пока только опасения? Если факт, то блок вообще не работает или невозможно создавать/редактировать видимости? И с какой версии автокада это происходит? У меня есть парочка таких блоков. Попробовал в 2017-ой версии автокада (сохранил в 2013). Вроде бы работает блок. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
downgrade действует вроде на три версии только, т.е. официально купить софт 2011 года не получиться, во всяком случае так просто. И 100% гарантии никто не даст, что в последующих версиях не только создаваться, но и работать не перестанет. Так что на свой страх и риск либо иметь альтернативный вариант в виде тех же настроенных палитр, чтобы в случае проблем перейти на них. И меньше слушайте тех, у кого 4 года прямо идеально все работает - у них свой бюджет, у вашей фирмы - свой)
|
|||
![]() |
|
||||
Цитата:
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Инженер-конструктор Регистрация: 10.03.2013
Якутск
Сообщений: 472
|
Всё испробовал, скачал с сайта "Тайны акад" дополнительный параметр видимости, всё делал чётко по видеоинструкции, но всё равно, одна от другой параметра видимости зависит, это для Автокад 2014, 32 бита.
У кого-нибудь получилось..? И ещё. Если подгрузить данный лисп на уже готовый динамический блок, то при vspadd происходит фатальная ошибка. Кто пробовал, у кого получилось безусловно так, как описано в инструкции..? на всякий случай файл приложу, может кто что подскажет...
__________________
Век Живи - Век Учись! Последний раз редактировалось Sergey_v, 25.03.2018 в 19:43. |
|||
![]() |
|
||||
Цитата:
__________________
главное не останавливаться... |
||||
![]() |
|
||||
Регистрация: 12.03.2018
Чебоксары
Сообщений: 19
|
Добрый день, коллеги! Штука по предназначению - классная!
Подскажите - насколько данный .fas актуален? На каких версиях с ним можно работать? Попробовал на AutoCAD 2012 и AutoCAD 2019 - подгрузил .fas через _.appload, и далее по инструкции - не смог вызвать ни одну функцию. Как запустить функцию "(Visibility_add)"? Прописывал в командной строке и "(Visibility_add)" и "Visibility_add" - команда неизвестна. |
|||
![]() |
|
||||
Регистрация: 07.05.2013
Сообщений: 48
|
|
|||
![]() |
|
||||
Регистрация: 15.01.2010
Сообщений: 254
|
Доброй ночи!
Отличная тема, спасибо всем, причастным к ее развитию. Особенно - автору, светлая ему память... Попробовал читать тему с начала, но тяжеловато дается. Общий смысл - fas-файл в шапке полностью рабочий только для версий 2010-2011 (в последующих можно только использовать результаты работы). Если не так - поправьте. Есть также Lisp-вариант (https://forums.autodesk.com/t5/dynam...5877456#M19228), работающий в более поздних версиях (в теме говорится про 2016). Воспользовался инструкцией
В принципе, все работает, за исключением выявленного нюанса - нужно соблюдать порядок изменения видимостей (сначала меняется последняя, добавленная через lisp, первая зависимость сбрасывается на начальный вид, которая потом настраивается). Незначительный минус, а есть ли другие подводные камни? И еще - если бы я делал блок в 2010/2011 версии с помощью fas-файла - в чем этот блок был бы лучше? Помимо того, что, наверное, выбор видимостей в разных группах не влияет друг на друга. |
|||
![]() |
|
||||
Регистрация: 01.07.2007
Москва
Сообщений: 26
|
Добрый день!
Не пойму как сделать связь lookup, можете подсказать? Пример в шапке есть, но повторить не могу, потому что autocad не присоединяет вторую таблицу свойств к одному параметру lookup, autocad пишет: Lookup parameter already associated with a lookup table. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Может, кто-то уже разбирался, знает? По основному вопросу темы "Создание доп.параметров Visibility Set" сделать блоки мне в своё время удалось. Хоть и помню с трудом, как я это делал, помню, что все дополнительные виз.сеты добавлялись внутри редактора блоков функциями из лиспов в шапке (или в ссылках из шапки). А есть ли возможность их программно менять эти видимости, если их в блоке больше одной, не заходя, желательно, в редактор блоков? Ткните, пожалуйста, носом, если уже тут было, мало ли кто-то помнит.
|
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Цитата:
----- добавлено через ~3 мин. ----- Похоже, придётся вникать в коды и писать свою. Но сперва почитать эти тридцать шесть страниц топика ![]() ----- добавлено через ~8 мин. ----- Сергей812, ещё уточнение на всякий случай. Программка из шапки работает следующим образом (вкратце, без деталей): 1. Пользовательской функцией на лиспе создаётся дополнительный параметр Vis.Set. 2. Такой же функцией он активируется. 3. После этого этот параметр настраивается вручную тем же самым образом, что и первый - стандартными автокадовскими возможностями. 4. Закрывается редактор блоков с сохранением. В итоге у блока появляется два независимых друг от друга параметра видимости. ----- добавлено через ~10 мин. ----- 5. При необходимости внесения изменений во ВТОРОЙ параметр видимости его нужно снова активировать в редакторе блока той же функцией. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Цитата:
Я для программной смены видимости использую код Lee Mac отсюда. И там даже в аргумент имя параметра не выведено, то есть код предполагает, что он может быть только один. Или я упустил новость, и теперь автокад добавил в коробку несколько параметров видимости? |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
Код:
это функция из тестового примера, без дополнительных проверок. Получаем список дин.параметров блока, в цикле ищем по имени требуемый параметр и задаем ему новое значение. Причем напрямую в .Net различить параметр видимости и выбора вроде нет возможности - у обоих PropertyTypeCode = 5) |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
так у меня было сомнение - что если этот доп. параметр видимости делается не штатными средствами акада, то его могут не "увидеть" стандартные методы работы с дин.параметрами. Но похоже, что в свое время Аутодеск просто посчитал - что одного параметра видимости пользователям будет достаточно, но никаких дополнительных проверок в коде не вводил.
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как с помощью 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 |