| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание дополнительных параметров Visibility Set в динамических блоках.

Создание дополнительных параметров Visibility Set в динамических блоках.

Ответ
Поиск в этой теме
Непрочитано 13.09.2008, 13:35 5 | #1
Создание дополнительных параметров Visibility Set в динамических блоках.
Supermax
 
Руководитель фирмы
 
Москва
Регистрация: 28.03.2007
Сообщений: 1,831

В этой теме рассматривается вопрос программного "наращивания" возможностей динамических блоков.
Программистам:
Разбор словарей дин.блока
Получение параметра видимости и его разбор

Примеры блоков с несколькими параметами видимости (Visibility Set): "неправильные" и "правильные".
В посте #212 - пример связи Lookup-ов друг с другом.
Макрос по перемещению свойств в списке свойств блока меню Properties
02.02.2010 Откорректирована для работы в 2010 каде



Пользователям:
Готовые макросы:
Все функции по вставке и обработке дополнительных Visibility Set
Обновление 17.07.2009г. Исправлена ошибка в element-sel-current-insert и добавлено включение видимости всем элементам с откатом назад, после выбора нужных элементов
Обновление 06.10.2009. Исправил функцию eval_graf_output, из-за которой не работала visibility-up.
Обновление 02.02.2010. !!! Откорректирована в связи с появлением нового динамического элемента в 2010 каде
(properties_add_all_visibility) - установка видимости выбранных динамических свойств и ручек во всех представлениях всех Visibility Set-ов.
Добавлен вывод значения текущего Visibility Set-a в статусную строку и спрятаны не нужные глобальные переменные
(element-all-current-del) - удаление из текущего Visibility Set всех элементов оставляя свойства и представления.
(element-sel-current-del) - очищает Visibility Set от указанных элементов без необходимости выключать им видимость в других представлениях текущего Visibility Set-а.
(element-sel-current-insert) - внедрение в общий список текущего Visibility Set-a выбранных элементов.
(Visibility_add) - Добавление нового Visibility Set-a
(visibility-up) - Делает указанный пользователем Visibility Set текущим
(eddedd) - Включает ручки всем элементам текущего Visibility Set-a
(Visibility_clear) - Очищает указанный Visibility Set от всех элементов, параметров и представлений. Принадлежащие ему элементы становятся свободными
Инструкция по применению дополнительных Visibility Set

Функции управления видимостью объектов (вкл\выкл)
Вебмакрос по управлению видимостью объектов (только для тех, у кого Internet Explorer 7.0)
Функция по выключению видимости отдельных элементов блока из пространства модели
#66 и #67 - восстановление видимости отдельных элементов блока.
Excel->Lookup
Lookup->Excel
Lookup->Lookup

Самые последние версии, для работы в любом пространстве.
Программа по массовой установке и снятию видимости элементов в представлениях текущего Visibility Set-a Обновление 8.10.2008г. Устранена ошибка загрузки DCL панели.
Программа по устаноке на параметр Lookup-a сколь угодного количества активаторов
Пример использования связанных активаторов Lookup-a через один параметр Lookup-a. 3D-динамический блок-игрушка Гидроцилиндр телескопический 4-х секционный. Файл обновлен 8.10.2008г.

Все макросы для кнопок и иконки к ним

24.01.2009.
Исправлена ошибка в функции (properties_add_all_visibility)

Исходные тексты к функциям:
http://www.private.peterlink.ru/pole...9/tainypod.htm

Последний раз редактировалось Supermax, 02.02.2010 в 20:26.
Просмотров: 275012
 
Автор темы   Непрочитано 13.09.2008, 14:35
#2
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Назрел момент коренным образом разобрать строение динамических блоков и определить, что же можно с ними делать, а что нельзя.
Я много "наковырял" информации о структуре динамических блоков, но многое еще не изучил и не понял. Мне не нужно становиться специалистом по каким-то там блокам. У меня много других проблем, но с динамическими блоками у меня связаны многие планы и ковырять их так и так придется. Буду весьма благодарен, если найдутся люди, желающие мне помочь и тоже интересующиеся строением динамических блоков. Чем больше людей будет уметь обращаться с ними программно, тем лучше будут программы к Автокаду, да и в других программах могут тоже появиться динамические блоки.

В посте №144 на 8-ой странице все функции по добавлению и управлению добавленными Visibility Set-ами.

Для чего нужны дополнительные Visibility Set-ы? Для того, чтобы можно было управлять видимостью одной группы элементов не трогая установку видимости для другой группы.
Создание дополнительных Visibility Set возможно и уже реализовано, но реализовано не правильно. Чтобы реализовать эту задачу правильно, надо в первую очередь ясно понять что и для чего сделано.

Добраться до словаря (0 . "ACAD_EVALUATION_GRAPH") где собственно лежат все свойства динамических блоков можно двумя путями.
1-й путь:
Код:
[Выделить все]
Выбрать в модели или листе любое из вхождений нужного нам блока.
└> Найти его эффективное имя.
    └> Найти в коллекции Block объект этой коллекции по эф. имени.
       └> Достать из DXF описания этого блока точечную пару 330 (0 . "BLOCK_RECORD")
         └> От туда 360 пару (0 . "DICTIONARY")
           └>  От туда 360 пару (0 . "ACAD_EVALUATION_GRAPH")
Второй путь - это через пространство редактора блоков.
Код:
[Выделить все]
Выбрать любой графический элемент (объекты свойств не трогать!)
└> Достать из DXF описания этого элемента точечную пару 330 (0 . "BLOCK_RECORD")
  └> От туда 360 пару (0 . "DICTIONARY")
    └>  От туда 360 пару (0 . "ACAD_EVALUATION_GRAPH")
-1 коды у полученных данных разные и это настораживает, поскольку не известно почему. Я знаю, что DXF представление искуственное отображение данных и порою даже меняется от одного запроса к другому, но тут коды -1 не меняются от того, что ты заходишь в редактор и выходишь из него, только если что-то изменить в графике.
Ну не важно. Наша цель - расковырять (0 . "ACAD_EVALUATION_GRAPH"), поскольку именно в него добавляются дополнительные Visibility Set-ы.

Следующая моя инфа о строении этого словаря.

Последний раз редактировалось Supermax, 03.10.2008 в 15:39.
Supermax вне форума  
 
Непрочитано 13.09.2008, 18:37
#3
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Не думаю (давно не ковырял), что разбор только словаря ACAD_EVALUATION_GRAPH" даст ожидаемый эффект. Понадобится, скорее всего, просматривать еще и элементы блока.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 13.09.2008, 18:44
#4
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Сначала я дам код получения словаря "ACAD_EVALUATION_GRAPH".
Первый вариант его получения (из коллекции Block).
Код:
[Выделить все]
(setq lst 
  (entget 
    (TBLOBJNAME "block" 
      (vla-get-EffectiveName 
        (vlax-ename->vla-object 
          (car (entsel "Укажите нужный вам блок"))))) '("*")))
(setq EVAL_GRAPH 
  (entget 
    (cdr (assoc 360 
      (entget 
        (cdr (assoc 360 
          (entget (cdr (assoc 330 lst))))))))))
Второй способ (из пространства редактора блоков).
Код:
[Выделить все]
(setq EVAL_GRAPH 
(entget (cdr
(assoc 360 (entget (cdr 
(assoc 360 (entget (cdr 
(assoc 330 (entget (car (entsel))))))))))))
Автокад многие DXF пары корректировать не дает. Что туда не вставь - восстанавливает прежнее. Удали - тоже восстанавливает, но в тоже время, в том же списке этих пар есть такие, которые Автокад позволяет менять. Есть некоторые DXF коды (пара без точки посередине) присутствие которых в списке не дает возможность модифицировать этот список и только удалив эти коды из списка можно его модифицировать, но после модификации эти коды опять восстанавливаются.
Последовательность размещения точечных пар и DXF кодов в некоторых случаях произвольная, а в некоторых строго определенная. Так в случае с "ACAD_EVALUATION_GRAPH" - последовательность размещения имеет очень боьшое значение.
Многие модификации кончаются фатал еррором. Что это такое знают даже не программисты.

Не эксперементируйте с рабочими файлами! Не эксперементируйте в тот момент, когда в другом окне загружен рабочий файл!

Последний раз редактировалось Supermax, 14.09.2008 в 14:04.
Supermax вне форума  
 
Автор темы   Непрочитано 13.09.2008, 18:47
#5
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Даст, поверь. Но в объект (0 . "BLOCKVISIBILITYPARAMETER") мы залезем обязательно.
Supermax вне форума  
 
Автор темы   Непрочитано 13.09.2008, 18:58
#6
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот распечатка "ACAD_EVALUATION_GRAPH" не очень насыщенного свойствами блока.
Код:
[Выделить все]
((-1 . <Entity name: 7bf53288>) 
(0 . "ACAD_EVALUATION_GRAPH") 
(5 . "37EF9") 
(102 . "{ACAD_REACTORS") (330 . <Entity name: 7bf53280>) (102 . "}") 
(330 . <Entity name: 7bf53280>) 
(100 . "AcDbEvalGraph") 
(96 . 14) 
(97 . 14) 
(91 . 0) (93 . 32) (95 . 11) (360 . <Entity name: 7bf53308>) (92 . 0) (92 . 0) (92 . 1) (92 . 2)     BLOCKVISIBILITYPARAMETER 
(91 . 1) (93 . 32) (95 . 12) (360 . <Entity name: 7bf53310>) (92 . -1) (92 . -1) (92 . 0) (92 . 0)   BLOCKVISIBILITYGRIP 
(91 . 2) (93 . 32) (95 . 13) (360 . <Entity name: 7bf53318>) (92 . 1) (92 . 1) (92 . -1) (92 . -1)   BLOCKGRIPLOCATIONCOMPONENT "UpdatedX"
(91 . 3) (93 . 32) (95 . 14) (360 . <Entity name: 7bf53320>) (92 . 2) (92 . 2) (92 . -1) (92 . -1)   BLOCKGRIPLOCATIONCOMPONENT "UpdatedY"

(92 . 0) (93 . 0) (94 . 1) (91 . 1) (91 . 0) (92 . -1) (92 . -1) (92 . -1) (92 . -1) (92 . -1) 
(92 . 1) (93 . 0) (94 . 1) (91 . 0) (91 . 2) (92 . -1) (92 . -1) (92 . -1) (92 . 2) (92 . -1) 
(92 . 2) (93 . 0) (94 . 1) (91 . 0) (91 . 3) (92 . -1) (92 . -1) (92 . 1) (92 . -1) (92 . -1))
Именно в таком виде и надо просматривать этот словарь.
Нужна прога. У меня пока нет.
Дописки с правой стороны мои, для понимания что там лежит.

Это распечатка словаря блока, в котором установлен только один Visibility Set и больше ничего.
Параметр, ручка от него и два объекта - один расположение ручки по X и другой - по Y. Если ручку выключить - этих трех объектов не будет, только параметр останется.

Последний раз редактировалось Supermax, 13.09.2008 в 19:03.
Supermax вне форума  
 
Автор темы   Непрочитано 13.09.2008, 23:40
#7
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Я думаю, что до 96 кода описывать точечные пары не надо, поскольку о них все написано в книгах по автолиспу.
96 и 97 код пока рассматривать не будем, поскольку без понимания всего в целом, значения эти не понять.

По скольку AutoDeck не дает описания структуы, и даже терминов, которые он присваивает не дает - будем придумывать термины свои. Если кому-то не нравятся мои термины - предлагайте свои.
И так:
Помимо отдельных точечных пар в начале списка, которые несут общее определение имени, типа объекта, метки, и пр. все остальное делится на "записи". "Записью" я называю ряд точечных пар, из которых состоит что-то типа предложения, описывающего некую константу.
Начинается запись после 97 кода с точечной пары с номером записи по порядку. Этокод 91. Записи маркируются с 0.
Код:
[Выделить все]
(91 . 0) (93 . 32) (95 . 11) (360 . <Entity name: 7bf53308>) (92 . 0) (92 . 0) (92 . 1) (92 . 2)
Следующая пара с кодом 93 - тип записи. В этом же словаре есть и другого типа записи и в других словарях тоже по всей видимости, а в недрах Автокада есть скорее всего набор функций, которые в зависимости от типа записи знают сколько точечныхпар в ней, на каких местах кто стоит и что означает, и в соответствии с типом записи она и обрабатывает эти записи.

Следующий код 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), которые являются расширенными данными о принадлежности элементов друг-другу. Эти записи привязаны к основным по коду маркера положения в родословной.

Код:
[Выделить все]
(92 . 0) (93 . 0) (94 . 1) (91 . 1) (91 . 0) (92 . -1) (92 . -1) (92 . -1) (92 . -1) (92 . -1) 
(92 . 1) (93 . 0) (94 . 1) (91 . 0) (91 . 2) (92 . -1) (92 . -1) (92 . -1) (92 . 2) (92 . -1) 
(92 . 2) (93 . 0) (94 . 1) (91 . 0) (91 . 3) (92 . -1) (92 . -1) (92 . 1) (92 . -1) (92 . -1))
Первый код 92 - Указатель на маркер элемента (первая или вторая точеная пара 92 в строке из четырех точечных пар). Это говорит, что данная запись принадлежит именно этому элементу.

Второй код 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.
Supermax вне форума  
 
Непрочитано 14.09.2008, 00:15
#8
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Пока не забыл: третий путь "добраться до словаря" надо?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 14.09.2008, 08:49
#9
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Цитата:
третий путь "добраться до словаря" надо?
Я тебя не понимаю. Ты это о чем?
Supermax вне форума  
 
Автор темы   Непрочитано 14.09.2008, 09:58
#10
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вернемся к 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.
Supermax вне форума  
 
Автор темы   Непрочитано 14.09.2008, 13:40
#11
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Словарь "BLOCKVISIBILITYPARAMETER".
Для начала создаем простенький блок, содержащий, скажем, три примитива: Линию, полилинию и круг. в блоке устанавливаем Visibility Set и больше ничего.
Вложения
Тип файла: dwg
DWG 2004
Пример1.dwg (29.5 Кб, 14269 просмотров)

Последний раз редактировалось Supermax, 14.09.2008 в 13:50.
Supermax вне форума  
 
Автор темы   Непрочитано 14.09.2008, 14:19
#12
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот код выковыривания из "ACAD_EVALUATION_GRAPH" свойства "BLOCKVISIBILITYPARAMETER"
Код:
[Выделить все]
(mapcar '(lambda (x) 
  (if (and (= (car x) 360) 
           (= (cdr (assoc 0 (entget (cdr x)))) "BLOCKVISIBILITYPARAMETER"))
      (setq BLC-VIS-PAR (entget (cdr x))))) EVAL_GRAPH)
В переменную BLC-VIS-PAR записано содержимое "BLOCKVISIBILITYPARAMETER".

Вот его словарь "ACAD_EVALUATION_GRAPH"
Код:
[Выделить все]
((-1 . <Entity name: 7c702330>) 
(0 . "ACAD_EVALUATION_GRAPH") 
(5 . "20E") 
(102 . "{ACAD_REACTORS") (330 . <Entity name: 7c702328>) (102 . "}") 
(330 . <Entity name: 7c702328>) 
(100 . "AcDbEvalGraph") 
(96 . 8) 
(97 . 8) 
(91 . 0) (93 . 32) (95 . 5) (360 . <Entity name: 7c702340>) (92 . 0) (92 . 0) (92 . 1) (92 . 2) 
(91 . 1) (93 . 32) (95 . 6) (360 . <Entity name: 7c702348>) (92 . -1) (92 . -1) (92 . 0) (92 . 0) 
(91 . 2) (93 . 32) (95 . 7) (360 . <Entity name: 7c702350>) (92 . 1) (92 . 1) (92 . -1) (92 . -1) 
(91 . 3) (93 . 32) (95 . 8) (360 . <Entity name: 7c702358>) (92 . 2) (92 . 2) (92 . -1) (92 . -1) 

(92 . 0) (93 . 0) (94 . 1) (91 . 1) (91 . 0) (92 . -1) (92 . -1) (92 . -1) (92 . -1) (92 . -1) 
(92 . 1) (93 . 0) (94 . 1) (91 . 0) (91 . 2) (92 . -1) (92 . -1) (92 . -1) (92 . 2) (92 . -1) 
(92 . 2) (93 . 0) (94 . 1) (91 . 0) (91 . 3) (92 . -1) (92 . -1) (92 . 1) (92 . -1) (92 . -1))
А вот и его "BLOCKVISIBILITYPARAMETER"
Код:
[Выделить все]
((-1 . <Entity name: 7c702340>) 
(0 . "BLOCKVISIBILITYPARAMETER") 
(330 . <Entity name: 7c702330>) 
(5 . "218") 
(100 . "AcDbEvalExpr") 
(90 . 5) 
(98 . 27) 
(99 . 1) 
(100 . "AcDbBlockElement") 
(300 . "Visibility State") 
(98 . 27) 
(99 . 1) 
(1071 . 16) 
(100 . "AcDbBlockParameter") 
(280 . 1) 
(281 . 0) 
(100 . "AcDbBlock1PtParameter") 
(1010 1121.97 306.361 0.0) 
(93 . 6) 
(170 . 0) 
(171 . 0) 
(100 . "AcDbBlockVisibilityParameter") 
(281 . 1) 
(301 . "Visibility") 
(302 . "") 
(91 . 0) 
(93 . 3) 
(331 . <Entity name: 7c702310>) (331 . <Entity name: 7c702318>) (331 . <Entity name: 7c702320>) 
(92 . 1) 
(303 . "VisibilityState0") 
(94 . 3) 
(332 . <Entity name: 7c702310>) (332 . <Entity name: 7c702318>) (332 . <Entity name: 7c702320>) 
(95 . 0))
Supermax вне форума  
 
Автор темы   Непрочитано 14.09.2008, 21:02
#13
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Рассотрим эти коды:
Начиная с кода -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.
Supermax вне форума  
 
Автор темы   Непрочитано 15.09.2008, 00:17
#14
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Теперь коротко что и для чего сделано.
Полный список элементов блока, как и свойств его нужен чтобы видимость выключать при переходе из одного представления в другое, а список элементов в записи под именем представления для того, чтобы видимость элементам включать. То есть Автокад при каждом переключении видимости сначала все, что в записи с 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".
Supermax вне форума  
 
Автор темы   Непрочитано 15.09.2008, 09:44
#15
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Последняя информация по теме модернизации динамического блока с целью добавления к нему дополнительных параметров 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 были выключены свойства или элементы, а надо их включить - пожалуйста.

Если кто заинтересовался - задавайте свои вопросы.
Supermax вне форума  
 
Непрочитано 15.09.2008, 10:23
#16
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Немного не по теме программирования:
С диначискими блоками дружим уже давно и заметил такую проблемку... Когда динамический блок переграмажден свойствами всевозможными, то он заметно притормаживает. Мне например кучу параметров видимости необходимо только для упрощения создания очень сложных и громоздких динамических блоков. Интересно как они себя будут вести... По сути когдато себе представлял огромнейший динамический блок по сути занимающий весь чертеж который будет иметь ну очень много параметров видимости и других параметров. Как он будет работать уже не могу представить...
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 15.09.2008, 11:30
#17
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Все очевидно. Гораздо быстрее обработать блок с 10 Visibility Set, в каждом из которых по одному представлению, чем блок с одним Visibility Set, но с 1024 представлениями. Если элементов в блоке очень много, это надо в каждом представлении перечислять все, что включено.
да простит меня администрация форума
По просьбе автора поста код заменен вложением /kpblc/
Вложения
Тип файла: rar visibilty.rar (6.4 Кб, 598 просмотров)

Последний раз редактировалось Кулик Алексей aka kpblc, 16.10.2008 в 01:25.
Supermax вне форума  
 
Непрочитано 15.09.2008, 12:15
#18
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Supermax, Еще не совсем по теме вопрос:
можно ли сделать связь между двумя дин.блоками. Чтобы свойства одного блока связывались с другими. Например есть блок1 с 3 параметрами видимости и есть блок2 с другими 4 параметрами видимости. Нужно их связать - выбрали в первом блоке параметр видимости 1 - автоматом или после лиспа в другом блоке выбирается параметр видимости 3 например. Возможно ли это вообще? Или это фантазии?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 15.09.2008, 13:05
#19
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Сделать лисп, который изменяет параметры дин. блока в зависимости от параметров другого дин. блока - раз плюнуть. Только надо чтобы была таблица соответствия сделана и управлять ею можно через "невидимую линию". Это такая линия, которая имеет Linear Stretch параметр, но не видна ни в каких представлениях. Она фигурирует в таблице Lookup и управляет этой таблицей. Какая длинна этой линии, такая строчка Lookup-а задействована.

Два блока, в каждом есть такие линии и они должны быть равны. Вот макрос их и выравнивает. Один блок "ведущий", другой - "ведомый". Ну и третий, четвертый и т.д.
Если установить четкое наименование параметра Linear Stretch, то по нему эти линии и находят.
Макрос будет что-то типа attsync команды. Чтобы отличать одни ведущие блоки от других и знать кто кому подчиняется, имя Linear Stretch должно содержать Постоянную_часть-номер_группы-признак_ведущий\ведомый. Пример: @Dist-1420-0, где @Dist - говорит о том, что это управляющая невидимая линия; 1420 - номер группы; 0 - ведущий (1 - ведомый). Все блоки где @Dist-1420-1 подгоняются под блок где @Dist-1420-0. Другая группа имеет другой номер группы.

Ведущий блок может содержать две невидимые линии. Одна от одной группы в которой он ведущий, а другая от другой, в которой он ведомый. Такие блоки макрос обрабатывает в последнюю очередь.

Есть опасность зацикливания. Когда один блок влияет на второй, тот на третий, а третий на первый. Надо дерево делать и его проверять на отсутствие обратных связей.
Supermax вне форума  
 
Непрочитано 15.09.2008, 14:19
#20
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Короче можно! Уже радует. Supermax, Можешь изобразить простенький пример с сием чудом?

Offtop: Вспоминается игра "Что?Где?Когда?" Там как-то команда "Знатоков" очень сильно проигрывала. И ведущий заметил такой момент: В команде очень большие профессионалы с большим стажем игры. Каждый боится сказать "глупую" идею, что либо предположить. Боятся сказать глупый вариант и потерять авторитет. А в команде должен быть человек, который будет как генератор идей выкидывать постоянно даже бредовые идеи, а профессионалы их "отстреливать" - так у команды больше шансов победить. Почему-то почувствовал себя этим генератором идей
__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Shoorup, 15.09.2008 в 14:30. Причина: оффтоп написал
Shoorup вне форума  
 
Автор темы   Непрочитано 15.09.2008, 16:58
#21
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот ты сделай эти блоки, а я их лиспом свяжу.
Supermax вне форума  
 
Непрочитано 17.09.2008, 11:25
#22
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,970
Отправить сообщение для Red Nova с помощью Skype™


Supermax, Пока читал тему успел запутаться. Так у тебя уже получилось создать дин. блок с двумя или более visibility set? Если да то хотелось бы пример посмотреть.
__________________
Блог
Red Nova вне форума  
 
Автор темы   Непрочитано 17.09.2008, 11:45
#23
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот тут в посте №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, со всеми вытекающими последствиями (удалением, перемещением, включением ручек и прочее).
Вложения
Тип файла: dwg
DWG 2004
2.dwg (26.1 Кб, 4172 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 17.09.2008, 11:48
#24
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Visibility "Новый" не перемещать на первую позицию! Я его не успел удалить. Открывается редактором тот Visibility, кто на первом месте по списку. Создавая новый Visibility в него попадают как свойства все предидущие.
Supermax вне форума  
 
Непрочитано 17.09.2008, 14:37
#25
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,970
Отправить сообщение для Red Nova с помощью Skype™


И в правду работает. Буду ждать окончательной проги. В перспективе может быть революционная штука. Щас получается добавить новый visibility parameter а редактировать старые нет. Да и не понятно как заставить работать нормально вместе эти параметры видимости.
P.S. При взрыве блок почему-то куда то пропал.
__________________
Блог
Red Nova вне форума  
 
Автор темы   Непрочитано 17.09.2008, 18:38
#26
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Ну это понятно, про революцию. 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 элементов правильно вставить на свое место в модели.
Supermax вне форума  
 
Непрочитано 17.09.2008, 20:08
#27
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,970
Отправить сообщение для Red Nova с помощью Skype™


Цитата:
Хорошая защита от взлома.
Меня не столько заботит защита сколько удобство работы. Ведь блоки часто взрывать приходится. Не хотелось бы при этом что-то терять.
__________________
Блог
Red Nova вне форума  
 
Непрочитано 17.09.2008, 20:14
#28
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,970
Отправить сообщение для Red Nova с помощью Skype™


Цитата:
Группа прописывается в общий список (для выключения) и программой распределяется по Visibility State данного Visibility Set-а.
Наверное этой проги и надо мне дождаться да?
__________________
Блог
Red Nova вне форума  
 
Автор темы   Непрочитано 17.09.2008, 23:14
#29
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Да. И не только этой.
Я пытаюсь заставить редактор работать с первым по списку Visibility Set-ом. Ведь когда вставляешь новый Visibility Set, он с ним работает. Может его entmod встряхнет, а может что еще придумаю. Надо пробовать и тыкать. Надо перебрасывать элементы из одного Visibility Set в другой. И копировать надо и из общих списков удалять.
Надо как-то контролировать размножение этой прелести. Когда вставляешь Visibility Set все в него прописывается, а оно надо? Конечно нет. Значит надо очищать от всех элементов или от выделенных. Надо включать видимость тем элементам, которые не входят в текущий Visibility Set и иметь возможность с ними работать по переносу или копированию. Я еще раз повторю. В общем списке может и не быть элемента, если его никогда выключать в данном Visibility Set не надо, а в списке на включение (Visibility State) может. Особенно свойства надо всегда видеть.
Supermax вне форума  
 
Автор темы   Непрочитано 17.09.2008, 23:16
#30
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Да и взрывалку надо новую делать, чтобы она сначала переписывала видимые элементы в верхний по списку Visibility Set, а уж потом взрывала блок.

Последний раз редактировалось Supermax, 17.09.2008 в 23:56.
Supermax вне форума  
 
Непрочитано 18.09.2008, 07:51
#31
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Supermax, у меня сейчас кучу срочной работы до конца недели... Если получится то выкину блок для эксперимента связки Visibility Setов сегодня. Но это будет сырец - нет времени на перламутр.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 18.09.2008, 10:04
#32
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот так всегда. У всех всегда срочная работа (буд-то у мня ее нет). Халтура, халтура, халтура. Зачем спешить и делать халтуру? Никто ведь не гонит. Думаешь сделать несколько блоков, связать их и лисп нацарапать самое главное? Нет. Самое главное разработать правильную концепцию применению этого способа моделирования.
Что может быть связано и в каких случаях?
Не знаем.
Когда надо синхронизировать, а когда не надо?
Не знаем.
Как удалять или заменять блоки, являющиеся вершиной или внутренним звеном дерева зависимости?
Да кто-ж его знает?
И наверное еще пару вопросв всплывет, а каких именно тоже не знаем.

Программу надо писать такую, чтобы она все эти вопросы охватывала и решала. И блоки делать лучше сразу нормальные, может пубика поможет. Лучше чуть-чуть сегодня, чуть-чуть завтра, но результат в библиотеку элементов положить (или жаба давит?).
Я программы выкладываю, а что взамен? Ни денег, ни помощи, ни элементной базы. Муть какая-то, мелочевка типа выносок, рамок и прочей лабуды за пять минут сделанной. Редко-редко кто что-то стоящее выложит, а так практически никто ничего не дает, только берут.
В данлоадсе количество скачек порою заваливает за 1000, а где диалог? 5-7 ответов. Вот когда выложишь какую-нибудь фигню, сразу как вороны налетают покритиковать. Весь этот сайт держится на нескольких человеках Kpblc, VVA, Елпанов Евгений, ну и еще головы 3-4 наберется. Но это только лисп. А блоки где? Элементной базы что, ни у кого нет?
Вот ты Shoorup, что совсем не имеешь ничего стоящего? Или твои руководители не дают выкладывать? Так цепляй рекламу к этим блокам и толкай в библиотеку.
Supermax вне форума  
 
Автор темы   Непрочитано 18.09.2008, 10:17
#33
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Далее. Оказывается, быстро писать ответы в темы нельзя, пропадают буквы, или пробелы, или знаки. Не успевает машина обрабатывать буфер клавиатуры.

Не буду писать лисп для фигни и точка!

Про Lookup-ы:
Когда вставляешь новый Visibility Set, то Lookup вставляется, но не редактируется поскольку при открытии не видит тот Visibility Set, который открыт редактором. Какой Visibility Set загружен - правильно, первый по списку, а куда встален новый Visibility Set? - правильно, на последнюю строчку списка. не совпадает наличие факта доступа к свойствам Visibility Set (активированы кнопки и окошко выбора Visibility State) и факт, что данное пространство редактора открыто с тем-же Visibility Set.

Это все поправимо, поскольку перенос элементов возможен и не сложен.
Supermax вне форума  
 
Непрочитано 18.09.2008, 11:50
#34
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Supermax, правильно заметил "Самое главное разработать правильную концепцию применению этого способа моделирования". Сырец выкладывать не хочется. А серьезный блок требует серьезного подхода. Много часов работы. А потом надо продумать как все это будет взаимосвязано. Что будет и за что цепляться. А работы очень много и времени на творчество нету особо. Есть пару минуток написать на форуме или прочитать чтонить быленько. А часа 2-3 свободного времени нету.
По поводу выложить свои блоки - да запросто,не жалко. Проблема в том, что это мусор для других. Моя работа слишком специфична и врятли мои блоки комунить нужны как применение в своей работе. Идеи которые я использовал в этих блоках описаны в моей теме про динамические блоки. Все, что можно обнародовал.

И еще:Supermax, очень нужно твое мнение по поводу nanoCAD СПДС. А именно по поводу "параметрических объектов","Управление зависимостями".
Я бегло пробежался по возможностям (нет пока времени детально изучить) - думаю, что динамические блоки "отдыхают" по сравнению с возможностями параметрических объектов. Судя по тому, что я увидел, блоки можно наделить не только динамичностью, но и программировать (С++ кажись) и связывать, создавать отдельные диалоги к этим блокам - это гораздо шире!
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 18.09.2008, 14:02
#35
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Извините за оффтоп:
Прочитал...
Shoorup, сравнивает эту тему с игрой "Что? Где? Когда?"
А у меня почему-то возникает другое ощущение.
Чувствуешь себя сразу в Древней Греции. Мы сидим на травке вокруг философа, который нам раскрывает тайны глубин вселенной (AutoCAD'a в данном случае), а мы смотрим на него глазами с тарелочку и говорим - УЧИТЕЛЬ...
Но не знаю, дано ли кому-нибудь из нас достигнуть таких высот в играх разума (программировании) и не свихнуться при этом.
Большинство с жадностью ждет готового продукта чтобы пользоваться им в повседневной жизни и не мучать свой мозг раскапыванием его структуры.
Конечно, рядом бродят другие философы, но они пока только прислушиваются.

Вот. Бред, наверное. Не стоило всю тему за раз читать, видимо

А еще. А вдруг следующем автокаде будут динамические блоки с несколькими параметрами видимости?

А если по теме. То что уж говорить, разрабатываемая Supermax'ом программа невероятно нужная вещь всем, кто знаком с динамическими блоками. Мы рады бы помочь, да не знаем чем Разве что тестированием... Когда будет что тестировать.
А блоки действительно у всех специфичные. Я даже пока еще не видел двух одинаковых форматок. Вариатов 10 уже встречал А для себя сделал 11й.
А по поводу связанных блоков. Shoorup, напиши для интересу хотя бы принципиально, в чем это можно использовать? Я вот не подумав почему-то не могу придумать применения. Попробую подумать

Удачи Supermax, в твоей борьбе с заковырками AutoCAD'a!
Volodich вне форума  
 
Непрочитано 18.09.2008, 14:46
#36
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Volodich, даже не понял толи похвалил, толи сказал не выпендриваться
У меня на самом деле уже башка кипит от всего этого и чую скоро свихнусь.
По поводу связанных блоков:
Применительно к моей работе например.
Offtop: Для начала о САПР которого у меня нет. Я работаю в отрасли проектирования железнодорожной автоматики. Для тех кто даже не представляет о чем я - проектирую светофоры, стрелки, посты ЭЦ и пр. электронщина. Своего САПРа контора не имеет. Существует специализированный САПР в России. Занимается этим САПРом целое подразделение -несколько отделов (насколько мне известно). Это не просто система, а комплекс систем и очень сложная. Которая в свою очередь постоянно, дорабатывается и пополняется. Наша организация не может позволить себе купить данную САПР, потому как цену которую нам заломили измеряется более 5 нулями американских рублей. Данная система работает на основе AutoCAD (+ еще 5000$).
Ну и в итоге AutoCAD у нас работает в качестве "чертилки". Приходится извращаться с AutoCADом и выжимать из него максимум. Были разработаны бланки (болванки )При проектировании принципиальных схем я хотел упростить черчение одних и тех же схожих частей схемы. С появлением 2006го это реализовал на основе динамических блоков. По прошествии некоторого времени понял, что стандартных возможностей динамических блоков мягко говоря маловато. Для хоть какой автоматизации некоторых операций нужны программы-довески. Несколько наработок уже есть. Например программа подсчета кабеля (сделал Alaspher). Так как блоки постоянно дорабатываются, то они зачастую и усложняются. На какое-то время несколько параметров видимости значительно упростят создание сложных блоков. Но они не автоматизируют процесс проектирования. Без программирования ни куда не деться.

Давно маячила идея соединить несколько д.блоков зависимостями. Т.е. в одном углу чертежа меняю один д.блок видоизменяя его. На основе его меняются в других местах чертежа другие д.блоки.
Например у меня есть статив (грубо говоря шкаф с кучей полок на которых на определенных местах стоят приборы). На комплектации этого статива указываются чертежи полок и показаны как размещены приборы, их тип и пр. В зависимости от того какие приборы ставятся подбираются полки. Я хотел сделать такую связь. На комплектации я выбираю чертеж полки. (полка д.блок). Расставляю приборы. В зависимости от выбранной полки на последующих листах выбираются нужные чертежи полок и в зависимости от приборов расписываются приборы. Это все 2 блока просто соединенных вместе. Поменял на комплектовке - поменялось на полке. И даже это все примитивно, но на какое-то время ускорит процесс проектирования.
Offtop: Самое обидное, то что все это реализовано уже давно, я изобретаю велосипед только другим способом
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 18.09.2008, 20:27
#37
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Shurup, после чтения твоего offtop-a у меня упал процент зрения. Прекрати баловаться! Серое на сером не видно, или ты версию для печати любишь читать?

По порядку. Вы оба не правы по поводу специфичности блоков. Есть конкретное производство, конкретных изделий или строительных объектов. Все проекты, будь то машиностроение или строительство четко укладываются в определенную классификацию. Если нет на рынке фирм проектирующих аналогичные вещи, то и тут есть потребители, которым до зарезу нужны сведения о произведенном продукте.
Конкуренция - не двигатель прогресса (в нашей стране точно). Вы хоть лоб об стену расшибите, а заказ не получите. В лучшем случае вас за копейки изнасилуют и выплюнут. Поэтому, как говорится в пословице "Если изнасилование неизбежно - расслабся и получи удовольствие". В такой ситуации делится нужно всем что есть. Для фирмы, где вы работаете, надо этот процесс оформить так, чтобы от него фирме была польза. Известность, имидж, самые современные решения, клиентура, сервис заказчикам и прочее. Просто выкладывать блоки или схемы - ни в коем случае! Все надо классифицировать, подписывать, давать адрес для обратной связи, сопровождать и делать так, чтобы себестоимость выпуска аналогичного для вашей фирмы падала, а для других не давала повода для создания аналогичного по причине больших барышей.
Вот ты железнодорожные сфетофоры проетируешь - замечательно. Только автоматику к ним - тоже не плохо. Берем раздел проектирования и создаем хелп по технологии его выпуска. По ходу чтения хелпа идет сборка чертежа или модели с применением макросов и элементной базы вызываемых прямо из этого хелпа. Типа: Заполните таблицу -, Скомпонуйте в модели то-то и то-то, Обработайте полученное так-то и так-то. Запустите данный макрос (короче нажмите на это слово) и т.п.

По мере продвижения чтения обычного хелп-файла идет процесс создания рабочей документации или модели объекта.
У кого есть такой файл и куча макросов с элементной базой к нему - богатый человек, поскольку с таким хелп-файлом и обезъяна может много сделать не хуже профи. В таком хелп-файле заложены мозги многих профи (и их шишки).

Можно создавать такую методичку на что-то огромное, а можно и на одну единственную принципиальную схему. Наличие ее в сети убъет всех конкурентов (точнее они друг друга поубивают), но того, кто это выложил любой заказчик будет уважать, поскольку автор есть автор. Лучше его никто не знает данную тему.

Теперь о применении связанных блоков. Самый простой пример - шайба, гайка и болт или шпилька. Как известно то, что скручивают бывает разной толщины, но болт с гайкой и шайбой в комплект поставки не входит. Или не толщина, а ушко крепления. Шкаф имеет несколько ушек. Крепится анкерами, которые надо покупать отдельно. Анкер - 3D динамический блок - виртуальное изделие. Имеет несколько размеров в себе и свойства изделия. Шкаф - имет несколько разных типоразмеров и соответственно крепится в зависимости от типарозмера в разных местах.
3D-динамический блок "Анкер" имеет в себе параметр Mоve (перенос) и положением анкера по верикали, горизонтали и типом размера управляет шкаф.
Делаем анкер с системой его перемещения по горизонтали, вертикали и переключение его размера. К чему его привязать народ сам решит. Если этими линиями никто не управляет - не беда. Пусть так остается. Но мне и тебе и другим такая штука пригодится.

Volodich, спасибо за комплимент, но дело не в том, что народ глуповат, скорее наоборот - хитроват. Лисп знают очень многие, но даже в диалоге не участвуют.

Буду делать все программы вебмакросами. Нате, радуйтесь.
Supermax вне форума  
 
Непрочитано 19.09.2008, 08:41
#38
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Shoorup, скорее похвалил )) Уважаю людей, не останавливающихся на достигнутом. Сам стараюсь быть таким же. Кстати, насчет серого на сером. Тоже только хотел написать, но Supermax меня опередил Тяжело читать.
Shoorup, что за программка по подсчету кабеля, написанная Alaspher'ом ? Подскажи ссылку, пожалуйста. Кстати, хорошая идея стойки с полками сделать дин блоками. А я-то мучаюсь вручную делаю Если у тебя стандартные ГЭМ'овские (теперь уже РЭМ) полки, то выложи свой блок, пожалуйста. Кстати, в таком блоке удобно было бы писать количество метров кабельного канала (где стоят эти полки) и чтобы спецификация сама писалась. А то я маюсь с их подсчетом.
Supermax, может быть я неправильно понял, но в целом понял твою идею - использование опыта для обучения молодых сотрудников. Кстати, к нашей фирме очень даже подойдет. Фирма вроде и крупная, но постоянно жмется. (Боюсь что сейчас вместо автокада купит звкад какой-нибудь). И тоже самое с зарплатой. Берут студентов, платят копейки, студенты выучиваются и уходят. Но проекты-то студенческие и делаются медленно и по качетсву не очень-то. Но не знаю, есть ли смысл в этой методичке... Все равно она даст только общие представления о проектировании, а в каждом проекте столько тонкостей и заковырок, что никакую методичку под это дело не написать.
"Наличие ее в сети убъет всех конкурентов" - вообще не понимаю. Наоборот, научишь всех конкурентов работать и все

Кстати, по поводу связанности блоков. Я думаю, для начала надо на простом примере попробовать это сделать. Хотя бы для двух блоков. Опять же довольно простых. А потом уже усложнять. Может быть дальше двух и не лезть. И зачем рисовать в зависимых блоках какую-то невидимую линию а потом считать ее длину? Двойная работа ведь. Нельзя разве просто числом это сделать? В итоге-то длина линии это число.

Кстати, народ я глуповатым не считаю! (читай про "философов, бродящих рядом") Просто далеко не все умеют программировать. (я, например, да и Shoorup и еще многие). Или умеют, но на простом уровне. Я тоже со временем хочу научиться хотя бы по простому.
И еще, пусть я покажусь глупым, но что такое вебмакросы ?
Volodich вне форума  
 
Автор темы   Непрочитано 19.09.2008, 11:16
#39
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Про вебмакросы:
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.
Supermax вне форума  
 
Непрочитано 19.09.2008, 12:31
#40
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Volodich, Своего я точно не достигну никогда
Насчет серого на сером: оффтоп, на то он и оффтоп чтобы он не бросался в глаза и чтобы человек читающий большую тему мог по делу прочитать что нужно а оффтоп не читать. Если хочется читать оффтоп то его достаточно выделить и он вполне читабелен.
По поводу программы подсчет кабеля, написанная Alaspher'ом смотри тут и пользуйся всегда поиском.
__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Shoorup, 19.09.2008 в 12:45.
Shoorup вне форума  
 
Автор темы   Непрочитано 24.09.2008, 00:29
#41
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


А вот и правильно сделанный блок с 10-тью Visibility Set и не только. Открывается двойным щелчком. Аудит - 0 ошибок. Текущих Visibility Set редактируется редактором блока. Программкой, что я выложил, перемещаете нужный Visibility в самый верх списка и редактор его обработает.
Чтобы все свойства корректно работали, они должны быть включены везде, кроме того Visibility, где они управляют графикой. Принцип "И" если хоть в каком-нибудь текущем представлении это свойство выключено - оно не будет видно ни в списке свойств, ни в модели.
Программу написал отдельными функциями. Одна - вставляет новый Visibility, другая - перемещает в верх выбранный Visibility (делает его текущим), третья - удаляет из общего списка текущего Visibility выделенные пользователем элементы.
DCL - пролетает как фаера над Парижем. Потом объясню почему.

Короче - вот вам этот блок. (формат 2007 када)
Вложения
Тип файла: dwg
DWG 2004
2.dwg (277.9 Кб, 5809 просмотров)

Последний раз редактировалось Supermax, 24.09.2008 в 09:57.
Supermax вне форума  
 
Непрочитано 24.09.2008, 06:23
#42
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Странно... У меня файл-то открывается, но почему-то ни одно действие с блоком я сделать не могу. Не то что видимостью управлять, даже простое растяжение или отзеркаливание не работает. А по видимостям, когда нажимаю на ручки, менюшки-то с вариантами выпадают, но при выборе любого варианта он не выбирается.
Попробовал по двойному щелчку. Вылезло сообщение: "Блок содержит объекты-заместители. Невозможно изменить блок в редакторе блоков."
По правой кнопке почему-то в редакторе блоков открылся. Действия видны все, параметры видимости тоже все. Но из объектов видны только первые кружочки. Так и должно быть?
Кстати, а где взять программку, про которую ты пишешь в предыдушем сообщении? (#41)
AutoCAD 2006 rus.

Последний раз редактировалось Volodich, 24.09.2008 в 06:58.
Volodich вне форума  
 
Непрочитано 24.09.2008, 07:39
#43
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


Очень круто я бы сказал, но:

- область применения (на мой взгляд) ограниченна. Непонимаю, зачем десять visibility, когда в один можно все представления засунуть, пусть он даже большой станет.
- надо научить тех кому надо, а это посложнее будет чем научить просто создавать ДБ.


На мой взгляд лучше попытаться добавить новые параметры и действия, например: при действии array можно было бы с каждым скопированным объектом работать.

Непонятно почему Autodesk не развивает это направление, мож коллективное письмо напишем)))).
stas_org вне форума  
 
Непрочитано 24.09.2008, 08:33
#44
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Вот это да... ПЕРВЫЙ раз такое слышу, честно!
stas_org, видимо в Autodesk сидит кто-то такой как ты, который не понимает зачем десять параметров видимости вот это направление и не развивается.
А мы тут все страдаем и мучаемся всякими array'ями да прочей ерундой заменяем видимости.
stas_org, мой тебе совет, беги быстрее, пока камнями тут не закидали!
А по поводу сложности обучения... Я думаю, что тот кто научился делать ДБ разберется и с этим. Причем с радостью разберется!
Volodich вне форума  
 
Автор темы   Непрочитано 24.09.2008, 09:49
#45
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


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.
Вложения
Тип файла: dwg
DWG 2004
3.dwg (81.0 Кб, 4333 просмотров)

Последний раз редактировалось Supermax, 24.09.2008 в 12:05.
Supermax вне форума  
 
Непрочитано 24.09.2008, 10:03
#46
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


stas_org, ооооойййй если ты не понимаешь зачем 10 параметров видимости ты вообще не встречался с трудностями Динамических блоков.
Supermax, снимаю шляпу! Это лучший динамический блок который я пока видел!
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 24.09.2008, 11:32
#47
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Программа по перемещению свойств в списке 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 скрещивать с лиспом (тоже интерактивен), либо панелями инструментов ограничиться. Кроме установки кнопок я больше ничего делать с ними не умею (пока).
- Кто и за какие выгоды все это будет делать?

Тот, кто мне поможет - получит все секреты этого дела.
Supermax вне форума  
 
Непрочитано 24.09.2008, 11:56
#48
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


Покруче кубиба-рубика будет
Vildar вне форума  
 
Автор темы   Непрочитано 24.09.2008, 12:01
#49
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Еще, забыл одно очень важное.
Как известно, включать и выключать видимость Visibility Set нельзя (за исключением случая, когда блок содержит не корректный Visibility Set).
Так вот, выключите всем Visibility Set-ам опцию Show Properties (сделайте No) и создайте дя каждого Visibility Set свой Lookup, в котором перечислите имена представлений данного Visibility Set и сопоставьте эти имена самим представлениям, вставив один единственный столбец с данным Visibility. Вот Lookup вы можете включать и выключать где угодно!
Таким образом в свойсвах блока можно управлять наличием доступа к данным Visibility Set.
Supermax вне форума  
 
Непрочитано 24.09.2008, 12:11
#50
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,251


Цитата:
Сообщение от Supermax Посмотреть сообщение
Как временно запретить Автокаду делать автоматическое сохранение файла?. Постоянно работу макроса прерывает эта гадость, а выключать ее мне нельзя. Надо в начале выполнения функции запрещать автоматическое сохранение, а в конце восстанавливать.
Код:
[Выделить все]
(setq Old_SAVETIME (getvar "SAVETIME"))
(setvar "SAVETIME" 0)
;;;нужный код
(setvar "SAVETIME" Old_SAVETIME)
Такое не покатит?
Makswell вне форума  
 
Автор темы   Непрочитано 24.09.2008, 12:23
#51
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Ты хочешь сказать, что если сделать время автосахранения равное 0, то это эквивалентно отключению автохранения?
Надо проверить, может и покатит. Спасибо.
Supermax вне форума  
 
Непрочитано 24.09.2008, 12:23
#52
SetQ

конструктор
 
Регистрация: 21.07.2007
Петрозаводск
Сообщений: 1,546


формально ещё такое решение: поставить SAVETIME стопицотминут
SetQ вне форума  
 
Автор темы   Непрочитано 24.09.2008, 12:51
#53
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Второе покатит точно, правда не известно обнулился ли отсчет для последнего состояния? И ежу понятно, что мне и 10 минут достаточно, лишь бы отсчет можно было обнулять. Та гадость, что ведает этой бедой, следуя логике программиста, считывает из этой переменной значение и запускает таймер, когда тот отсчитал положенное - выполняет действие и по новой считывает значение из переменной. Мы можем до посинения ждать результата, но пока не закончится цикл - новые данные не будут сьедены. Надо обнулять отсчет, либо вовсе его останавливать.
Supermax вне форума  
 
Автор темы   Непрочитано 24.09.2008, 12:58
#54
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Проверил. Так оно и есть. Установил (setvar "SAVETIME" 1) (было 10) и ждал 7 минут пока стал действовать новый закон.
К 0 это тоже относится.
Supermax вне форума  
 
Автор темы   Непрочитано 24.09.2008, 13:15
#55
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вы будете смеяться, но я вообще не могу найти где у меня в 2007-ом устанавливается автосохранение. Визуально картинку помню, а найти не могу.
Supermax вне форума  
 
Непрочитано 24.09.2008, 13:35
#56
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Supermax, чтото очень сложно... скинь макрос. Я не смог сделать текущим нужный Visibility Set
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 24.09.2008, 14:14
#57
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,251


Так гласит справка:

Цитата:
SAVETIME
...
0 - Отключает функцию автосохранения
...
И вот кстати ещё (там же, в справке):
Цитата:
Автосохранение отключается, если открыт Редактор блоков
Кстати аналогичное можно сделать через ActiveX:
Код:
[Выделить все]
(vla-put-AutosaveInterval
  (vla-get-OpenSave (vla-get-Preferences (vlax-get-acad-object)))
  0
)
Makswell вне форума  
 
Автор темы   Непрочитано 24.09.2008, 14:30
1 | #58
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Макрос по перемещению свойств в списке свойств блока меню Properties, для пространства модели или листа.

02.02.2010 отредактирован под 2010 кад.
Вложения
Тип файла: rar move-properties.rar (2.5 Кб, 800 просмотров)

Последний раз редактировалось Supermax, 02.02.2010 в 20:22.
Supermax вне форума  
 
Автор темы   Непрочитано 24.09.2008, 15:02
#59
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Makswell, Отключать-то отключает, но не тогда, когда мне надо. Я ж говорю, идет отсчет 10-ти минутного интервала. Закончился интервал - сохранило и опять читает системную переменную (если вообще ее читает). Я изменил время на 1 с 10, а сохраняет по пржнему 10.

Про
Цитата:
Автосохранение отключается, если открыт Редактор блоков
Нагло лгут, не верь. Я чтобы написать все эти функции раз 1000 набирал разные выражения в ком. строке. И что ты думаешь? Набираю, набираю, БАЦ! все как корова языком слизала и читаю в эхе
Цитата:
Automatic save to C:\Documents and Settings\АНДРЕЙ\Local
Settings\Temp\4_1_1_6500.sv$ ...

Вот на счет ActiveX не пробовал, может и подействовать. Сейчас поэксперементирую.

При обработке данных словарей сохранять документ категорически нельзя, тогда, когда этого хочет программа.
Я сам, когда мне надо обновить кодировку элементов это делаю, и только тогда, когда это надо.

Есть еще одна проблема, тоже с сохранением. Многие действия автоматически вызывают запрос на сохранение данных блока. Не только выход из редактора. Вот их тоже не плохо было бы контролировать.
Supermax вне форума  
 
Непрочитано 24.09.2008, 15:44
#60
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Supermax, почему-то сразу не догадался или "не догнал" как использовать шаблон из поста 45. Здорово придумано!

...но чтото не получается. Запутался.
Вот создал блок. Пока пытаюсь свзяать 2 параметра видимости. Но не получается убрать цифры 12,22,32... когда включен Т в другом параметре видимости. И 13,23,33,43 когда Ф включен
Вложения
Тип файла: dwg
DWG 2004
dwgKO_05!!!.dwg (397.0 Кб, 4224 просмотров)
__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Shoorup, 24.09.2008 в 16:46.
Shoorup вне форума  
 
Автор темы   Непрочитано 24.09.2008, 17:18
#61
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Еще одну очень полезную ве-с-ч скажу.
Как давно я мечтал, зайти в блок и выключить видимость паре-тройке элементов, временно, чтобы в модели глаза не мазолили. Но увы, в простом блоке выключать видимость можно только в пространсве редактора, а когда выходишь из него все опять включается. Параметр Visibility Set снимает это ограничение, но вместо этого сам управляет видимостью всех элементов, что приводит к аналогичным последствиям. Выходишь - что включено, то включено, а что тебе надо было временно погасить - дудки.
Когда из общего списка и списков на включение удаляешь часть элементов, то они становятся свободными и их видимостью можно управлять.Зашел в редактор, выключил видимость элементам, вышел - они не видны. Зашел в редактор, включил все (это если макросом Kpblc-a) или если вебмакросом, то можно из группы не видимых выбрать нужные элементы, включил видимость, вышел они видны.
Если вам нужно, чтобы часть элементов всегда была видна, то зачем их вообще в Visibility Set держать? Это ведь для машины дополнительная нагрузка такие сиски обрабатывать. В общем делайте выводы.

Если убить один или несколько Visibility Set-ов, то элементы в них находящиеся станут свободными. Одни остануться с выключенной видимостью (можно включить, если надо), другие с включенной.
Свободные элменты можно опять вставлять в представления видимости любого из Visibility Set-ов. Динамические параметры так и остануться привязанными к этим элементам. Вот такие пироги.
Supermax вне форума  
 
Автор темы   Непрочитано 24.09.2008, 17:53
#62
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Shoorup, ты изначально не совсем правильно все сделал.
Visibility, что выводами управляет - правильно.
Цифры сслева - отдельным Visibility сделай, справа и внизу тоже по отдельным Visibility распихай.
Тому Visibility, что выводами рулит ручку выключи и сделай Lookup, который будет управлять всеми четырьмя Visibility в зависимости от потребности. Lookup тоже не обязательно высвечивать, просто пару невидимых линий в него втули и все будет ОК.
Supermax вне форума  
 
Непрочитано 25.09.2008, 01:40
#63
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


К #61:
Если (подчеркиваю - если!) на коленках, то можно использовать такой вариант:
Код:
[Выделить все]
(defun hide-in-block
       (select / adoc *error* ent blk_def blk_def_sel lst fun_put-vis)
       ;|
*    Скрытие элементов блока
*    Параметры вызова:
	select	указывать блок (t) или обрабатывать все / любые блоки файла (nil)
*    Примеры вызова:

(hide-in-block t)	; скрывать указанные примитивы, с контролем вхождения внутрь
			; одного блока
(hide-in-block nil)	; то же, но без контроля принадлежности примитивов одному блоку
|;
  (defun *error* (msg)
    (vla-endundomark adoc)
    (princ msg)
    (princ)
    ) ;_ end of defun

  (defun fun_put-vis (ent value)
    (vl-catch-all-apply
      '(lambda ()
	 (vla-put-visible
	   ent
	   (cond
	     ((or value (= value :vlax-true)) :vlax-true)
	     (t :vlax-false)
	     ) ;_ end of cond
	   ) ;_ end of vla-put-visible
	 ) ;_ end of lambda
      ) ;_ end of vl-catch-all-apply
    ) ;_ end of defun

  (vl-load-com)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
    ) ;_ end of vla-startundomark
  (if select
    (progn
      (while
	(and
	  (= (type (setq ent
			  (vl-catch-all-apply
			    '(lambda ()
			       (car (nentsel "\nУкажи скрываемый примитив <Отмена> : "))
			       ) ;_ end of lambda
			    ) ;_ end of vl-catch-all-apply
			 ) ;_ end of setq
		   ) ;_ end of type
	     'ename
	     ) ;_ end of =
	  (setq ent (vlax-ename->vla-object ent))
	  (if blk_def
	    (equal blk_def (vla-objectidtoobject adoc (vla-get-ownerid ent)))
	    (setq blk_def (vla-objectidtoobject adoc (vla-get-ownerid ent)))
	    ) ;_ end of if
	  ) ;_ end of and
	 (setq lst (cons ent lst))
	 ) ;_ end of while
      (foreach item lst
	(fun_put-vis item nil)
	) ;_ end of foreach
      ) ;_ end of progn
    (progn
      (while
	(and
	  (= (type (setq ent
			  (vl-catch-all-apply
			    '(lambda ()
			       (car (nentsel "\nУкажи скрываемый примитив <Отмена> : "))
			       ) ;_ end of lambda
			    ) ;_ end of vl-catch-all-apply
			 ) ;_ end of setq
		   ) ;_ end of type
	     'ename
	     ) ;_ end of =
	  (setq ent (vlax-ename->vla-object ent))
	  ) ;_ end of and
	 (setq lst (cons ent lst))
	 ) ;_ end of while
      (foreach item lst
	(fun_put-vis item nil)
	) ;_ end of foreach
      ) ;_ end of progn
    ) ;_ end of if
  (vla-regen adoc acallviewports)
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
Восстановление видимости не прописывал специально - для дин.блоков с установленными параметрами видимости надо слишком сильно голову ломать.
Слегка подумав, я прикинул, что не все так плохо - пока файл не закрыт, можно попытаться восстановить исходное состояние дин.блока. Но это надо гонять и тестировать, а я уже спать хочу.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 25.09.2008 в 01:49.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.09.2008, 10:03
#64
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Shoorup, я был не прав. Поставленная тобою задача выходит за рамки раздельного управления видимостью. Интересная, скажем,задачка. Меня заинтересовала. Еле заснул, все пытался решить.
С линиями и прочими прибамбасами не получается. Получилось если цифры сделать атрибутами, связанными с длинной невидимой линии, а та в свою очередь управляется либо списком, либо из Lookup-a. Либо сделать цифры размером с выключенными линиями и стрелками. Там тоже есть суффикс и можно подцепив на размер параметр растяжения управлять этими цифрами.
Но в обеих случаях выключать цифры у меня не получилось.
Сделать так, чтобы одним выпадающим списком управлять номерами и выключать элементы, а другим выводами управлять, да еще и цифры иногдавыключать не выходит у меня.
Бум думать.

kpblc, я рад, что ты обратил свой взор на сию тему. Очень рад. Только не понял что твой код делает. Он что, выключает видимость отдельным элементам блока? Или весь блок делает невидимым?
Или он свободные элементы включает и выключает?
Я его сейчас конечно буду внимательно изучать, но с хелпом у тебя явно напряг получился. Я ж тут не один. все это читаю и пишу.

Все основные функции для создания и управления дополнительными Visibility Set готовы. У меня они уже в панели отдельными кнопками висят. Но я хочу развернутый интерфейс, с указанием текущего Visibility Set, списком всех Visibility Set и возможностью устанавливать тот Visibility, в который импортируются или из него экспортируются в текущий Visibility элементы.
Кнопок будет не меньше десятка и штуки три диалоговых окон.
НО!
VBA я знаю плохо и поэтому создать смесь VBA c AutoLisp не могу. DCL, как я уже писал выше не подходит. Либо вебмакрос делать. Если вебмакрос,то для какого сайта? Или для стационарного хелп-файла? А я что один все это должен ваять? А какого ражна, я спрашиваю?
Выложить функции, чтобы народ успокоился и вообще ничего не делать?
В общем я решение принял. Если администрация этого сайта заинтересована разместить на своем сайте вебмакрос, который делает то, что никто в мире сейчас не умеет делать, то я готов вести переговоры. А если нет, то кому нужны дополнительные Visibility, готов вставить, если буду не очень занят.
Supermax вне форума  
 
Непрочитано 25.09.2008, 10:11
#65
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Мой код скрывает объекты внутри блока. Для дин.блоков с установленными VisibilitySet - скрываются объекты, которые отображаются в текущем представлении. Я еще раз повторяю - код сделан "на коленке" с минимумом проверок, и без восстановления состояния блока "назад". Хотя варианты есть как внутри одной сессии, так и между ними.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.09.2008, 17:13
#66
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Kpblc, отличная штука получилась. Я даже не думал, что такое возможно.
Тем элементам, которыми управляют Visibility Set-ы они сами эту видимость и восстанавливают, надо только определить текушее представление каждого из них и переустановить опять на тоже самое. А вот свободным элементам видимость может восстановить только господь бог. Надо всем элементам блока сделать видимость, а потом всем представлениям поменять текушее на текушее. Так блок станет таким, каким и был, а вот свободные элементы станут включены.
Ну еще включить свободные элементы можно твоим старым макросом по управлению видимостью. Зашел в редактор блока, нажал "включить все" сохранился и вышел.
Supermax вне форума  
 
Автор темы   Непрочитано 25.09.2008, 17:58
#67
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Простой блок восстанавливает видимость сам, при вхождении в редактор и нажатием "сохранить блок".
И так, на сегодняшний день мы имеем возможность управлять видимостью элементов, заключенных вблок, как при помощи Visibility Set-ов, так и программно. С учетом наличия возможности иметь в блоке такие элементы, которые сохраняют свою установку видимости не смотря ни на что (свободные элементы) мы можем программно управлять содержимым блока, то есть делать динамические массивы, состоящие из блоков "кирпичиков". Если учесть, что свободные элементы могут иметь динамически изменяемые параметры, получается очень интересная картина. Только вот публика, по моему, до понимания ее, пока не доросла. (Ну, несколько человек, это не публика).

Сейчас пытаюсь заставить один Lookup управлять другим Lookup-ом. Там творцы Автокада явно поставили запрет на это дело. Наверное только для белых оставили. Но не вижу препятствий вставить в Lookup ссылку на другой Lookup насильно.
Supermax вне форума  
 
Непрочитано 26.09.2008, 09:11
#68
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Сейчас пытаюсь заставить один Lookup управлять другим Lookup-ом. Там творцы Автокада явно поставили запрет на это дело. Наверное только для белых оставили. Но не вижу препятствий вставить в Lookup ссылку на другой Lookup насильно.
Интересно где грань возможностей динамическим блокам? Эх... я б щас покрутил бы блоки...но сессия в понедельник... готовится надо. Да и 3 недели меня не будет. Так что потестирую только после 20го числа.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 26.09.2008, 18:08
#69
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


В связи с ковырянием Lookup-ов изменил пост №7. Всем, кто интересуется моими исследованиями будет полезно прочесть его еще раз.
Я не бог и если что - опять исправлю, или дополню данные этого поста.
Также буду благодарен за помощь в этой работе.

Последний раз редактировалось Supermax, 30.09.2008 в 21:24.
Supermax вне форума  
 
Автор темы   Непрочитано 27.09.2008, 09:49
#70
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Трепанация Автокада прошла успешно!

Вот примитивный (но не совсем) блок. Две линии. Одна с параметром изменения длинны, другая с поворотом. Меняя длинну линии меняется поворот верхней линии. соответствие забито в таблицах Action.
Мне удалось связать Lookup-ы в совместную работу.
Можете что-нибудь нарисовать и сделать Visibility Set, добавить его в Lookup4 и длинна линии будет управлять переключением видимости! Ну и прочие параметры могут изменть другие параметры.

Добавлю:
Не просто потянуть за ручку линии и увидеть соответствие, для этого надо установить Dist type в LINEARPARAMETER на список (List) и перечислить длины 10, 20, 30, 40, 50. Толькотогда можно тянуть за ручку спокойно. В остальных случаях если длинна не соответствует значению записанному в Lookup-e поворот будет без изменения. Можно установить значение по умолчанию, чтобы при всех остальных значениях длинны не соответствующих таблице поворот был скажем 0, но это не интересно. Сохранение старого значения тоже имеет огромную ценность.
Если у вас в одной таблице забито одна цепочка соответствия, а в другой - другая, то переключение одного комплекта значений произойдет при совпадении всех значений в другом комплекте. Короче,как только Lookup определяет совпадение данных в строке таблицы, так сразу переключается на эту строку и тянет за собой переключение другой таблицы.
Вложения
Тип файла: dwg
DWG 2004
Super-lookup.dwg (26.1 Кб, 3732 просмотров)

Последний раз редактировалось Supermax, 27.09.2008 в 11:29.
Supermax вне форума  
 
Автор темы   Непрочитано 27.09.2008, 17:30
#71
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот получше блочек. Доделал предидущий. Теперь понагляднее получилось. Крутите за ручку верхнюю линию.
Вложения
Тип файла: dwg
DWG 2004
Super-lookup.dwg (31.8 Кб, 3748 просмотров)
Supermax вне форума  
 
Непрочитано 27.09.2008, 19:53
#72
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Хе. Прикольно. Я сначала не понял в чем фишка, вроде все понятно. А оказывается в Lookup нельзя добавлять параметром другой Lookup Supermax, у тебя для этого тоже какая-то программа записана? А идея-то хорошая. Что-то я все больше перестаю понимать создателей Autodesk. Может им правда письмо отправить коллективное? И ссылку дать на Supermax'a чтоб сами не морочились ))
Кстати, показывать угол при помощи видимости, конечно, хорошо (нет проблемы постоянной регенерации чертежа), но в реальном блоке по-моему нереально, если различных параметров неопределенное количество.
Volodich вне форума  
 
Автор темы   Непрочитано 27.09.2008, 23:24
#73
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Да программка - тьфу. Я всего ОДНУ точечную пару поменял в нужном месте. Вы понимаете, ОДНУ! Я очень сомневаюсь, что господа разработчики редактора динамических блоков не знали о такой возможности. Вы ведь представляете ЧТО они обрубили? Это же такие трансформеры можно делать ... с ума можно сойти! Берешь за ручку и тянешь, а вокруг все стремительно меняется. Я бы мог просто две линии с поворотом поставить. Одну крутишь - другая крутится, но в противоположную сторону. Да, что там какие-то ручки - шестерни можно так крутить! Целые редуктора собирать и смотреть как и кто перемещается. Вот это динамические блоки! А если собрать все в кучу, и большое количество Visibility Set и зависимые Lookup-ы, так такое можно наваять! - слов нет. У меня чувство, что нас банально кинули. Обокрали морально. Кастрировали. Все есть у каждого, а какой-то гад взял и подрезал крылья! Подозреваю, что на самой фирме AutoDesk об этом не все даже и знают.

Последний раз редактировалось Supermax, 28.09.2008 в 10:04.
Supermax вне форума  
 
Непрочитано 28.09.2008, 00:08
#74
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


> Supermaks

Отправляй блок в Autodesk, тыкай носом, прикрепляй посты, и будет счастье!!!
stas_org вне форума  
 
Непрочитано 28.09.2008, 00:18
#75
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,970
Отправить сообщение для Red Nova с помощью Skype™


Supermax,
У всех тут руки чешутся. Есть надежа это все в одну программу закатать?
__________________
Блог
Red Nova вне форума  
 
Непрочитано 28.09.2008, 08:11
#76
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Может и кинули... Если так все просто как ты говоришь и в autodesk об этом знают, то логично если бы они выпустили какой-нибудь сервис пак к автокаду или набор дополнительных утилит... за отдельные деньги, конечно. Но ведь нет! Даже этого нет... что еще более странно.
Supermax, а ты им не пробоал свои идеи продать? Глядишь и следующий автокад будет значительно удобнее...
Volodich вне форума  
 
Автор темы   Непрочитано 28.09.2008, 09:43
#77
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


AutoDesk - это уже не 5-10 человек, это корпорация, где каждый занимается маленьким кусочком общего дела, а над ними те, кто из этих кусочков складывает более крупный кусочек, но в тонкости создания элементов программы, коими он оперирует, уже не вникает. И так далее, и тому подобное. Стучаться туда со своими умозрениями глупее, чем с копьем наперевес штурмовать мельницу. Может это техническая политика такая, не давать все сразу, а растянуть на 100 серий, а может чья-то лень или отсутствие входной информации сработало - не знаю, и знать совсем это не обязательно.
Сделать программку для этого легко. Могу сделать, только вот я тут уже не однократно взывал о помощи, а протянутых рук, что-то не вижу. Тем, кто хочет иметь такую программу советую обратится сисадмину и спросить его, а почему собственно он не хочет вебмакросы на сайте устанавливать? Денег жалко? Так ведь все от цены зависит. На определенном уровне, оплату и деньгами трудно назвать. Или можно обратится к местным гуру с вопросом, а почему собственно им мне не помочь? Что, самолюбие ущемляется?
Либо проект делается как свободный, но коллективно, либо за бабки нанятыми специалистами. А меня ставить в позу я не дам.
Каждая функция должна быть написана максимально грамотно и рационально. Из этих функций собрать программу еще труднее, чем эти функции писать. Вот тут Kpblc функцию по выключению видимости в блоках выложил, тоже ведь архи полезная вещ. Ее тоже впрограмму вставить надо, но одно дело функция, а другое - программа. Там уже ошибок и не корректной работы быть не должно.
Я не первый раз что-то выкладываю и какой результат? Берут сотни, а спасибо скажет пара человек, да и то я заметил, все время одни и те же. Про помощь скажу так: Было несколько предложений, но такие, типа "я готов помочь, правда времени у меня очень мало и делать то, что вам нужно практически не умею". Спасибо, как говорится, но не надо.
Да что там помощь! Народ скрывает свое присутствие и интерес к определенным темам. Ну с админами все понятно, им это необходимо, но вот с гуру что-то не так. Они как "гость" все время тут тусуются, вынюхивают, а открыто заходят только для написания реплик. Стестнительные все какие-то. Не хотят, чтобы к ним ON-LINE обращались. Как в таких условиях сеять доброе, вечное?
Вы не смотрите на то, что вебмакрос я придумал. Я ведь не спроста этим занялся. Это единственный способ дать вам (ну и мне в том числе) почти бесплатно то, что стоит в изготовлении не дешево. Ваш трафик за скачку страниц и ваш интерес к рекламе и есть ваша плата.
Зашел, слепил два-три или более Lookup-ов вместе и вышел. Потрати трафика ну 20 килобайт. Если учесть, что трафик у многих безлимитный, а то и вообще на работе в сети сидят безвылазно, то это же халява!

Надо программу - подрабатывайте масовкой, раз уж совсем ничего не можете. Кричите "шайбу" - шайбу" может при большом количестве обращений администрация или гуру сдадутся.
Supermax вне форума  
 
Непрочитано 28.09.2008, 11:12
#78
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,970
Отправить сообщение для Red Nova с помощью Skype™


Мне ничего не остается как кричать
"шайбу - шайбу"
Цитата:
одно дело функция, а другое - программа. Там уже ошибок и не корректной работы быть не должно.
Тут в топике много функций на разных постах. Не подскажешь которой можно корректно создать блок с разными visibility set и проделать фокус с лукапом в лукапе (если они тут вообще выложены)? А-то чайнику как я легко запутаться.
Цитата:
Берут сотни, а спасибо скажет пара человек, да и то я заметил, все время одни и те же
Я пока признаюсь не брал ничего, но поблагодарить могу. Доработка динамических блоков очень важна для рядовых пользователей. Спасибо за старания
__________________
Блог
Red Nova вне форума  
 
Автор темы   Непрочитано 28.09.2008, 12:09
#79
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


1. Нужна программа по перемещению свойств местами. Пролистай эту тему, она тут выложена.
2. Функцию по добавлению дополнительного Visibility Set-a я пока не выкладывал, вместо этого выложил блок с 10-тью Visibility Set-ами, в которм ты можешь создавать свои блоки. Там в посте написано как это делать. Все в этой же теме. Читай. Надо будет больше - стучись, выложу аж 100 штук. Мало - еще добавлю, но функцию дам только тем, кто:
Код:
[Выделить все]
(and (= (Действие) "Шарит в программировании") (= (Действие) "Готов со мною сотрудничать"))
3. Функцию по связыванию Lookup-ов я написал только вчера и аналогично пока не выкладывал. Но ничто тебе не мешает, взять мой блок и заменить там любые колонки в Lookup-e на свои. И графику свою тоже можешь сделать. Только нельзя трогать столбцы, где Lookup-ы связаны. Менять в них значения можно, но столбцы удалять нельзя. Связь потеряется.
Открою один секрет. Я Action привязал пустым. Там вообще не было таблицы. А таблицу я уже создавал обычным способом.
Так что ничто вам не мешает делать из моего блока свои.
4. В данлоадсе лежат мои макросы по заполнению Lookup-a из таблицы Excel. Пригодятся для больших таблиц.

А "шайбу-шайбу" надо кричать на ухо конкретным адресатам, а то они глуховатыми прикидываться любят.

Последний раз редактировалось Supermax, 28.09.2008 в 12:24.
Supermax вне форума  
 
Непрочитано 28.09.2008, 14:05
#80
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Так, ладно, я под код не подхожу, дайте мне баннер!
А "шайбу" кричать бесполезно. Дело в том что несколько параметров видимости нужно "простым" людям, т.е. проектировщикам, которые большую часть времени занимаются проектированием по основной специальности и немного времени уделяют познанию автокада. А "гуру" по-моему до фени эти параметры видимости, разве что для спортивного интереса. Т.к. "гуру"-то занимаются не проектированием, а программированием.
Хотя, конечно, это мое мнение и я могу ошибаться.
В общем, дайте мне удобную программу и баннер!
Volodich вне форума  
 
Непрочитано 28.09.2008, 18:52
#81
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


Сам себе не поможешь, никто не поможет.

Мне тоже эти visibility по барабану, хоть и простой инженер.

Я бы вот лучше попробывал сделать параметрическую зависимость одного блока от другого, или это уже давно придумано и скрывается? Есть ли у тов. Supermax мысли по этому поводу?

p.s VBA only

Примерно так:

-создается двумерный массив, в котором i-это ID основного блока, j- ID зависимого.
- слушаем акад
- реагируем на событие object_modify(проверяем вхождение ID изменяемого объекта, если ОНО, то смотрим какие свойства были change, и соответствующему ID делаем change. Или по хэндлам.

Последний раз редактировалось Кулик Алексей aka kpblc, 28.09.2008 в 21:40.
stas_org вне форума  
 
Непрочитано 28.09.2008, 21:54
#82
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Цитата:
Сообщение от Volodich Посмотреть сообщение
Так, ладно, я под код не подхожу, дайте мне баннер!
А "шайбу" кричать бесполезно. Дело в том что несколько параметров видимости нужно "простым" людям, т.е. проектировщикам, которые большую часть времени занимаются проектированием по основной специальности и немного времени уделяют познанию автокада. А "гуру" по-моему до фени эти параметры видимости, разве что для спортивного интереса. Т.к. "гуру"-то занимаются не проектированием, а программированием.
Хотя, конечно, это мое мнение и я могу ошибаться.
В общем, дайте мне удобную программу и баннер!
Отчасти (по крайней мере в отношении меня) - это правда. Динамические блоки нужны в чистом AutoCAD. Поскольку у меня основная работа (пока) в ADT, то предоставляемых штатных возможностей дин.блоков лично мне - за глаза. Остальное решается средствами ADT.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.09.2008, 17:18
#83
SLADE

проектировщик-новобранец
 
Регистрация: 14.09.2005
Minsk
Сообщений: 309


Supermax спасибо за предоставленную возможность дополнительных параметров Visibility Set.
Используя ваш блок 3.dwg - создал свой блок Секторные площадки.
Споткнулся в нескольких местах:
1) - Не могу отключить в редакторе видимость тех эл. которые принадлежат другим параметрам видимости.
2) - при удалении ваших примитивов, все видимости обнуляются и становятся в неизм. положение.

Потонциал для работы огромный, есть еще пару идей внедрения.
Вложения
Тип файла: dwg
DWG 2004
Секторные площадки.dwg (489.7 Кб, 3178 просмотров)
SLADE вне форума  
 
Автор темы   Непрочитано 29.09.2008, 19:59
#84
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Посмотрел я твой блок. Что это такое так и не понял, но то, что ты хотел сделать примерно догнал.
Видимостей было 10 и две из них ты удалил. На каком этапе догодаться не трудно, поскольку часть примитивов попала в группу "свободные". Надеюсь, что функции Kpblc-a или мой вебмакрос тебе известны, по управлению видимостью элементов? Так вот, рассказываю как примитивно перекидывать элементы из люого Visibility Set или из группы свободных элементов в текущий Visibility Set:
- устанавливаешь нужный Visibility в первую строку списка свойств.
- открываешь редактором блок
- включаешь видимость всем элементам блока
- выбираешь нужные элементы и копируешь в буфер С УКАЗАНИЕМ ТОЧКи ВСТАВКИ
- тут же, пока они выделены жмешь DEL
- вставляешь из буфера указываяту точку, которую ты выбрал при копировании в буфер.
- раскидываешь по представлениям.

Вот обственно и все.

Твоя проблема была в том, что у тебя не было возможности включить видимость всем элементам и наоборот.
Supermax вне форума  
 
Автор темы   Непрочитано 29.09.2008, 20:14
#85
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


stas_org, конечно есть у меня мысли по связыванию динамических блоков друг с другом.
Если говорить про способ связки лиспом, то тут все элементарно. Я с Shoorup-om это уже обсасал, да он никак время не выкроит сделать пару блоков для такого связывания. Я ему поставил условие, что блоки должны быть библиотечные, то есть качественные. Жду-с.
А ты в VBA можешь что-то делать? А то у меня как раз есть потребность в этом.
Supermax вне форума  
 
Непрочитано 29.09.2008, 23:02
#86
SLADE

проектировщик-новобранец
 
Регистрация: 14.09.2005
Minsk
Сообщений: 309


Я пока их не объединил в одну точку, пока неразберусь как убрать их из видимости других Visibility Set.
Это секторные площадки вокруг аппаратов, идея в том что каждый сегмент был не зависим друг от друга , что бы можно было играть дальше с вылетом, кол-вом пролетов, и многим другим с помощью вашей программы "Программа заполнения Lookup-a динамических свойств блока из данных таблицы Excel" (раньше мы с товарищем, пользовались одним блоком , копируя его 8 раз по окружности). В Excelе сейчас пытаемся описать расчет !

то что было до прошлой недели!
Миниатюры
Нажмите на изображение для увеличения
Название: Sektornie_ploshadki_(SLADE)-Model.jpg
Просмотров: 199
Размер:	44.5 Кб
ID:	10489  
Вложения
Тип файла: dwg
DWG 2004
Sektornie_ploshadki(NEW29.02.2008).dwg (42.0 Кб, 3193 просмотров)
SLADE вне форума  
 
Автор темы   Непрочитано 30.09.2008, 18:17
#87
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


SLADE, тебе наверное мешает вот эта точечная пара:
Код:
[Выделить все]
(4 . "© SLADE хххххххххххххххххххххх ОГРОМНОЕ 
СПАСИБО и не менее ОГРОМНОЕ УВАЖЕНИЕ Supermaxу, за предоставленую возможность 
\"Создания дополнительных параметров Visibility Set в динамических блоках\". "))
Весьма забавно получилось.
Мы с дочкой долго смеялись.
Supermax вне форума  
 
Непрочитано 30.09.2008, 19:15
#88
SLADE

проектировщик-новобранец
 
Регистрация: 14.09.2005
Minsk
Сообщений: 309


Моя дочка пока не понимает юмора про автокад, пока.
Но поддержать смех - пожалуйста (ей 2 года).
SLADE вне форума  
 
Автор темы   Непрочитано 30.09.2008, 20:44
#89
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Внесены изменения в пост пост №13. Кому не лень - ознакомьтесь.

Последний раз редактировалось Supermax, 30.09.2008 в 21:33.
Supermax вне форума  
 
Непрочитано 01.10.2008, 09:24
#90
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


> Supermax
Какая потребность?
stas_org вне форума  
 
Автор темы   Непрочитано 01.10.2008, 12:13
#91
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Для того, чтобы собрать все функции по созданию и управлению элементами динамического блока нужна интерактивная панель органов управления. Короче, чтобы она висела, а редактор блоков при этом продолжал работать. В VBA это элементарно. Все функции на лиспе, а макрос на VBA запускает через ком. строку эти функции. Ну не может DCL работать интерактивно.
Вот такая вот потребность. Как связать VBA с автолиспом я знаю.
Supermax вне форума  
 
Непрочитано 01.10.2008, 13:11
#92
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


Что значит "интерактивно"? Имеется ввиду не модальное окно?
stas_org вне форума  
 
Автор темы   Непрочитано 01.10.2008, 13:52
#93
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Термин "Интерактивно" в буквальном переводе - активное из вне. Например, интерактивные конференции это когда люди совещаются, но рядом их нет. Панели инструментов, которые не являются частью программы и работающие по своим собственным законам, лишь обмениваясь с программой данными - тоже можно считать интерактивными. Немодальные окна тоже самое, но не совсем. Когда говорят "немодальный", подразумевают, что не прерывющий действие, но это чуть-чуть меньше, чем интерактивный.
Применимо к нашему случаю "немодальный" это именно то, что нужно.
Мой вебмакрос, к примеру, интерактивный, поскольку хоть и запускается Автокадом, все равно является независимой программой, написанной на VBScript, обрабатываемой непосредственно операционной системой. На VBA я не знаю как устроен интерфейс. Может есть жесткая зависимость от текущей работы Автокада (не путать с загрузкой), а может нет. Так что "немодальный" так "немодальный".

А что, есть желание помочь?
Supermax вне форума  
 
Непрочитано 01.10.2008, 14:31
#94
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


С чего начнем?
stas_org вне форума  
 
Автор темы   Непрочитано 01.10.2008, 15:15
#95
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


С решения вопроса, в каком виде и для кого будет делаться эта программа.
Как я уже говорил, можно открытый проект сделать. Все коды вывалить в тему и пр. безрассудства. Я к этому готов.
Можно все скомпилировать и выложить только результат, но для свободного скачивания и пользования. Если скомпилированный вариант, то туда можно рекламу сомаго себя любимого вставить.
Можно поднапрячься и сделать еще один вебмакрос ведь VBScript это слегка кастрированный VBA. Только можно не для сайта, а для стационарного HTML файла, или для хелп-файла (что гораздо предпочтительнее).

Мне все равно, так что ты сам выбирай.
Supermax вне форума  
 
Непрочитано 01.10.2008, 15:21
#96
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


А просто для Акада приложение, тупо форма запускается в редакторе блоков, на ней весь твой интерактив?
stas_org вне форума  
 
Автор темы   Непрочитано 01.10.2008, 15:32
#97
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Так ведь любые макросы, это приложения. Хоть макрос, хоть вебмакрос, суть одна и та же - приложение. И совершенно ясно, что для Автокада.
Ясен пень, что в пространсве редактора блоков надо запускать. В модели и DCL покатит. На VBA делаем панель с кнопками, по нажатию которых в ком. сторку посылается "(тра-ля-ля)", которое загружается из лиспа.

Так как, компилируем или так шлепаем?
Supermax вне форума  
 
Непрочитано 01.10.2008, 15:46
#98
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


А DCL в редакторе разьве не покатит?
stas_org вне форума  
 
Непрочитано 01.10.2008, 15:50
#99
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


Ну тогда вообще проблем не вижу, команды LISP можно из ком.строки через VBA форму запускать, тогда даже связывать их не надо.
stas_org вне форума  
 
Непрочитано 01.10.2008, 15:55
#100
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Цитата:
Сообщение от stas_org Посмотреть сообщение
Ну тогда вообще проблем не вижу, команды LISP можно из ком.строки через VBA форму запускать, тогда даже связывать их не надо.
А результаты выполнения lisp-функций тебе в VBA не понадобятся? И потом, есть очень небольшое количество действий, нереализуемых в VBA - все остальное там есть.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.10.2008, 15:56
#101
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


Два файла vlx и dvb, одна кнопка, и все.
stas_org вне форума  
 
Непрочитано 01.10.2008, 15:57
#102
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


Ну это только одному Supermax"су" известно.
stas_org вне форума  
 
Автор темы   Непрочитано 01.10.2008, 16:11
#103
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Я уже охрип, крича, что DCL работает в пространстве редактора, но не дает обновляться графике самого редактора. К примеру: Устанавливаешь текущий Visibility Set, а в окошке не появляется наименование представления из этого Visibility Set-а и графика от других элементов осталась. Ее надо регенерировать, чтобы выделить нужные элементы из вновь становленной видимости, а ничего не получается. И т. д.
Когда запускаешь отдельными функциями, то по окончании их работы управление возвращается редактору и тот тут же обновляется.

Про использование чисто VBA для обработки словарей, ничего не могу сказать, поскольку даже не знаю, можно ли с его помощью их прочесть?
Также не знаю, можно ли с помощью VBA модифицировать словарь, создать новый объект (словарь в частности) и как обрабатывать списки точечных пар в словарях.

Все функции это сплошная работа со словарями, но иногда и Актив-Х нужен. Свойства смотреть.

Если очень хочется сделать прогу чисто на VBA (ну или почти чисто) согласен раскрыть алгоритм по которому я делал свои функции.

Так я так и не понял, мы компилируем или народу на обозрение выставляем?
Supermax вне форума  
 
Автор темы   Непрочитано 01.10.2008, 16:16
#104
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Про компиляцию понял.
Второй вопрос. На VBA будем стараться все сделать, или ну его?
Supermax вне форума  
 
Автор темы   Непрочитано 01.10.2008, 17:20
#105
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Пока ты думаешь, спрошу у 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.
Supermax вне форума  
 
Непрочитано 01.10.2008, 23:48
#106
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Да бога ради.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 02.10.2008, 07:52
#107
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


Для работы с ДБ в VBA имеется всего семь свойств, програграмно вставить visibiliti и заполнить его наверное не выдет.
stas_org вне форума  
 
Автор темы   Непрочитано 02.10.2008, 09:20
#108
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Скажу по секрету, Visibility всавляет сам Автокад банальным запуском комманды
Код:
[Выделить все]
(command "_BParameter" "V" "L" name_visibility (getpoint "Укажите место расположения Visibility Set") "")
Так что отправив это выражение в ком. строку и все ок. НО! Если уже есть Visibility Set - ничего не получится. А чтобы получилось, надо блок для начала поломать, вставив в словарь "ACAD_EVALUATION_GRAPH" "кривой" Visibility Set.
"Кривой" получается элементарно! Если уже есть один 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.
Supermax вне форума  
 
Непрочитано 02.10.2008, 11:02
#109
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


врятли
stas_org вне форума  
 
Автор темы   Непрочитано 02.10.2008, 11:41
#110
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


A прочесть "ACAD_EVALUATION_GRAPH" могешь?
Supermax вне форума  
 
Автор темы   Непрочитано 02.10.2008, 11:57
#111
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Наверное не судьба на VBA такое делать. Скорее всего надо просто отдельную панель сделать и кнопок туда напихать.

Объявляется конкурс на BMP картинки для кнопок вышеперечисленных функций. Как только картинка понравится мне, Kpblc-у, SLADE и stas_org, так я функцию к ней даю.

Последний раз редактировалось Supermax, 02.10.2008 в 13:04.
Supermax вне форума  
 
Непрочитано 02.10.2008, 12:12
#112
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


Цитата:
Сообщение от Supermax Посмотреть сообщение
Наверное не судьба на VBA такое делать. Скорее всего надо просто отдельную панель сделать и кнопок туда напихать.
Или палитру
stas_org вне форума  
 
Автор темы   Непрочитано 02.10.2008, 12:41
#113
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Так и я ж об этом.
Supermax вне форума  
 
Автор темы   Непрочитано 02.10.2008, 13:01
#114
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Гость, а гость, что с утра в теме висишь? Хоть бы картинку для кнопочки нарисовал. Жаба давит? Халяву ждемс?
Supermax вне форума  
 
Непрочитано 02.10.2008, 13:07
#115
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Цитата:
Сообщение от Supermax Посмотреть сообщение
Гость, а гость, что с утра в теме висишь? Хоть бы картинку для кнопочки нарисовал. Жаба давит? Халяву ждемс?
Это кому обращение?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 02.10.2008, 13:15
#116
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Да тут наблюдаю за одним. С утра висит и висит. Сейчас смылся. А это не ты часом?
Что-то совсем народ обленился. Сложные задачи ставлю - не могут. Простые (ну куда проще, картинку придумать?), так вообще думают, что сейчас набежит несколько остро нуждающихся и сделают. И по скольку так думают все, то простые задачи тоже никто не решает.

Обидно Kpblc, до слез.
Supermax вне форума  
 
Непрочитано 02.10.2008, 13:40
#117
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Supermax, тебе расписать над чем я сейчас сижу?
Я ж тебе говорил - дин.блоки (тем более такие навороченные, как ты делаешь) лично мне пока не требуются. Мне вообще сейчас дин.блоки не нужны. Поэтому я и не принимаю практически никакого участия в разработке. Что понимаю "влет" - то делаю, если успеваю.
Кстати, "кнопки рисовать" лично у меня никогда не получалось...
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 02.10.2008, 13:51
#118
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


Ну сделай хоть для себя, картинки из акада возьми, неиспользуемые.
stas_org вне форума  
 
Автор темы   Непрочитано 02.10.2008, 14:42
#119
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Так я уже себе понавтыкал всякого мусора. Может у кого есть для этого специальная программа. Берешь нормальный рисунок и пропускаешь через такую прогу. Она тебе его сжимает до кучки пикселей, но с тенями и пр. Рисовать Автокадовским редактором иконок ничего у меня не получается.
И вообще, скачивают сотни, а беседуют с автором 2-3 человека.
Я Kpblc, не тебя имею в виду. Ты на себя навалил весьма много и тебя я понимаю. Без притензий. Я имею в виду ситуацию. Плохая получается ситуация. Чтобы что-то получить, надо это заработать. Так должно быть во всем. А мы тут халявщиков выращиваем. Все всегда начинается с малого. Когда где-то в чем-то что-то обломилось, то ждут, что и в большем обломится.
Халяву и я люблю, поэтому очень хорошо чувствую этот вкус дармовщинки. Наркотик это. Ох какой крутой наркотик!

Когда хотят подарить кому-нибудь щенка, то обязательно его типа продают, за рубль. Чисто символически. Дурная примета такая есть, что за даром пришло, за даром и уйдет.
Я хочу чтобы очень многие делали крутые динамические блоки легко и быстро. Готов даром дать все, что для этого нужно, но не гоже быть такими КЮ, что даже картинку предложить влом.
Supermax вне форума  
 
Непрочитано 02.10.2008, 15:01
#120
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


В качестве полного идиотизма (картинка здоровая, сами ужимайте :P)
Миниатюры
Нажмите на изображение для увеличения
Название: pict001.jpg
Просмотров: 204
Размер:	25.1 Кб
ID:	10611  
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 02.10.2008, 15:18
#121
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,050
<phrase 1=


Могу скинуть крякнутую прогу по созданию иконок, если kpblc даст добро, а вот с фантазией не очень, если архитектора какого-нить.
stas_org вне форума  
 
Непрочитано 02.10.2008, 15:27
#122
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


stas_org, а правила одинаковы для всех. Так что "одобрямс" не будет.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 02.10.2008, 15:42
#123
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Ну, сжимется все прекрасно Paint-ом. Только вот остается совсем немного. Узнать то, что Kpblc дал, невозможно.
Изображения
 
Supermax вне форума  
 
Непрочитано 02.10.2008, 15:44
#124
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Это точно )
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 02.10.2008, 19:50
#125
SLADE

проектировщик-новобранец
 
Регистрация: 14.09.2005
Minsk
Сообщений: 309


11. Переписать данные из указанного Lookup-a в EXCEL.
12. Переписать из файла EXCEL в указанный Lookup данные.
13. Скопировать данные из одного Lookup-a в другой Lookup.

Использую их, как только выложили эти лиспы
Изображения
   
SLADE вне форума  
 
Автор темы   Непрочитано 02.10.2008, 20:32
#126
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот сам наваял Excel->Lookup.
К сожалению файл BMP и такой маленький, что при переводе в jpg, J.P.G и получается.
Миниатюры
Нажмите на изображение для увеличения
Название: Excel-Lookup.TIF
Просмотров: 178
Размер:	618 байт
ID:	10633  
Вложения
Тип файла: rar Excel-Lookup.rar (440 байт, 187 просмотров)

Последний раз редактировалось Supermax, 02.10.2008 в 20:57.
Supermax вне форума  
 
Автор темы   Непрочитано 02.10.2008, 20:39
#127
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Макрос Exel->Lookup для пространства редактора блоков.
Никаких папок не требуется.
Код открытый.
Вложения
Тип файла: rar Excel-Lookup Block.rar (3.7 Кб, 224 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 02.10.2008, 20:53
#128
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Аналогичная картинка на Lookup->Excel
Тоже BMP.
Миниатюры
Нажмите на изображение для увеличения
Название: Lookup-Excel.TIF
Просмотров: 172
Размер:	632 байт
ID:	10634  
Вложения
Тип файла: rar Lookup-Excel.rar (444 байт, 214 просмотров)

Последний раз редактировалось Supermax, 02.10.2008 в 21:02.
Supermax вне форума  
 
Автор темы   Непрочитано 02.10.2008, 21:06
#129
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Ну и Lookup->Lookup.
Миниатюры
Нажмите на изображение для увеличения
Название: Lookup-Lookup.TIF
Просмотров: 175
Размер:	616 байт
ID:	10636  
Вложения
Тип файла: rar Lookup-Lookup.rar (410 байт, 185 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 02.10.2008, 21:19
#130
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Макрос Lookup->Excel для пространства редактора блоков.
Папки не требуются.
Вложения
Тип файла: rar Lookup-Excel Block.rar (3.5 Кб, 181 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 02.10.2008, 21:30
#131
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Макрос Lookup->Lookup для пространства редактора блоков.
Вложения
Тип файла: rar Lookup-Lookup Block.rar (1.9 Кб, 200 просмотров)
Supermax вне форума  
 
Непрочитано 02.10.2008, 21:50
#132
Ddjo

архитектор
 
Регистрация: 01.04.2008
СПб
Сообщений: 295


Supermax,
Ты упрекаешь всех, что никто тебе не хочет помочь, думаю, все дело в том, что мало кто (как, к примеру, я) обладает достаточным кол-вом знаний и умений, для того чтобы тебе помочь, а не потому что все такие любители халявы. Не расстраивайся
Спасибо тебе большое, ты затеял огромное и полезное дело!!!
Со своей стороны, могу нарисовать несколько вариантов иконок на выходных и выложить в понедельник.


Единственное, я не очень понимаю, что означает:
Цитата:
15. Скопировать указанные элементы текущего Visibility Set в выбранные представления текущего Visibility Set.
что есть "элементы" и что есть "представления"?
Динамические блоки - весьма слабо изученая мною область, к сожалению

Последний раз редактировалось Ddjo, 02.10.2008 в 22:16.
Ddjo вне форума  
 
Автор темы   Непрочитано 02.10.2008, 23:19
#133
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Спасибо за сочувствие.

Элементы, это имеется в виду графические, текстовые элементы и атрибуты. То, что объеденено в блок.
Visibility Set - это такой динамический объект (параметр + активатор), который позволяет управлять видимостью элементов блока. В блоке создается что-то типа слоев (Visibility State или по русски - представлений) и все элементы раскидываются по этим слоям. В редакторе блоков в правом верхнем углу выпадающий список этих представлений и кнопки для управления ими и видимостью элементов.
Переключая одно представление на другое мы одни объекты выключаем, другие включаем.

Установив в редакторе какое-нибудь представление мы можем в него добавить элементы, но чтобы их было видно в других представлениях надо по очереди открывать эти представления и включив "серую" видимость (когда видны все элементы блока), указав на нужные элементы включить им видимость в текущем представлении.
Если элементов много, и представлений много, то эта работа не для слабонервных. А с помощью макроса выделяем группу элементов, вызываем список (в макросе) представлений, выделяем через Ctrl или шифт нужные представления и машина сама эти элементы делает в них видимыми.

Вся эта возня с включением видимости одним элементам и выключением видимости другим элементам очень сильно взаимозависима. Нельзя (было) управлять видимостью одного элемента не трогая видимость других. Теперь можно. Теперь все элементы могут быть либо свободными, то есть не участвующие в процессе управления видимостью, либо входить в группы, каждаяиз которых управляется своим параметром Visibility Set. В каждом Visibility set свои слои - представления.

Вообще-то в Автокаде нет ни одной кнопки для управления видимостью. только несколько человек удосужилось написать макрос для этих целей.
Я даже вебмакрос для этого сделал. Очень мало народу знает, что выключить видимость элементу можно не перенося его в какой-то слой для этого, а просто так, взять и выключить.
Вот геоподосновы видали? там ничего нельзя из слоя в слой переносить, а работать порою просто невозможно, столько всего друг на друге лежит. Выключишь весь слой, то и в нужном месте все исчезнет. А так можно только часть элементов погасить. Нажатием кнопки "включить все" все и включится.

Если элементу выключить видимость, то видеокарте и процессору легче обрабатывать такой чертеж. Чем мньше элементов видны, тем быстрее обрабатывается изображение.

В динамическом блоке управляя видимостью можно менять одну графику на другую (образно). На самом деле там обе графики одна на другой лежит, просто переключая представление мы видим то одно, то другое.
Supermax вне форума  
 
Непрочитано 02.10.2008, 23:54
#134
Ddjo

архитектор
 
Регистрация: 01.04.2008
СПб
Сообщений: 295


Я правильно понимаю:

Цитата:
15. Скопировать указанные элементы текущего Visibility Set в выбранные представления текущего Visibility Set.
К примеру:
к одному Visibility Set относятся круг, квадрат и треугольник
в этом Visibility Set есть ряд "представлений", скажем :
все видны - при этом видны все фигуры
треугольник - при этом виден тольк отреугольник
квадрат -виден только квадрат
итд

Элементы из одного Visibility Set копируются в другой Visibility Set при этом с возможностью их отнести их к определенному "представлению"?
Ddjo вне форума  
 
Автор темы   Непрочитано 03.10.2008, 00:31
#135
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Нет не правильно. Разве я писал другим 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 вне форума  
 
Непрочитано 03.10.2008, 03:29
#136
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,553
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Supermax, устрой голосование в шапке темы типа:
"Вам нужны динамические блоки, с множеством параметров видимости?"
Сразу будет видно, нужно это или нет. А то может ты зря на людей ругаешься?
Я напримет только изредка заглядываю в твою тему, т.к. пока особых перспектив не вижу. То что можно было сделать дин. блоком - сделано с базовыми возможностями. Дальнейшее усложнение создания д.блоков отметет львиную долю любителей этих самых д. блоков. ЯТД.
Посмотри какие вопросы задаются на форуме по дин блокам? Элементарные.
Несмотря на их(блоков) относительную простоту - вникнуть сразу, с 0 довольно трудно. Мне кажется Autodesk не зря оставил 1 параметр видимости.
Но это так мысли вслух. Возможно я и неправ. Время покажет
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 03.10.2008, 06:17
#137
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Supermax, ты конкурс объявил вчера в обед и хочешь чтобы картинки сразу пачками полетели! Подожди немного, дай народу время.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 03.10.2008, 06:49
#138
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


wetr, может быть ты в чем-то прав. По крайней мере в том что мало кто пользуется динамическими блоками, причем действительно сложными блоками. Эти люди в эту тему и заглядывают Я не так давно стал с дблоками разбираться, но мне уже не хватает одного параметра видимости. Да ладно, тут об этом (и не только тут) много писали. Из-за этого приходится "делать операцию на глаза через задницу", так я могу назвать блоки которые делаю я и которые делают другие. Иногда решения удивляют своей красотой, но все равно это все через одно место, т.к. нет прямых путей...
Это тоже мысли вслух
Кстати, Supermax, я чуть чуть подумал над твоими картинками. Это будет довольно сложно... Даже названия-то у кнопок сложные (не все сразу понимают смысл ), а как их в карнитку превратить, надо думать.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 03.10.2008, 09:03
#139
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Художник из меня никакой, но попытка не пытка.

Вот, пожалуйста, в качестве идеи для начала:
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)

Всякие тени и т.п. по-моему делать бесполезно из-за малости картинки. Хотя может у кого-нибудь получится.

Если хоть что-то понравится, попробую нарисовать картинки и на остальные функции.
Вложения
Тип файла: rar visibility.rar (1.2 Кб, 191 просмотров)
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 03.10.2008, 09:27
#140
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Посмотрел. Ты прав. Художник ты не ахти. Как в прочем и я.
Буквы тулить не фонтан. Ручку активированного параметра ты изобразил правильно, но она ведь для любых параметров такая. Совсем не ассоциируется с Visibility.
А мои иконки хоть кому-то понравились?
Про тени ты тоже не прав. Именно из-за теней иконка смотрится издалека понятно. Как только начинаешь ее рассматривать увеличено, так ничего не понимаешь. Как уменьшишь, так сразу все становится понятным. Законы оптики
Supermax вне форума  
 
Непрочитано 03.10.2008, 09:37
#141
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


ТВои иконки понравились Намного лучше моего ужаса
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 03.10.2008, 10:28
#142
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Ну ладно, сколько людей столько и мнений.
Значит правильно я не стал дальше делать.
Я сделал идейно. Усложнять можно дальше, но это уже будет непринципиально. Главное чтобы была отражена суть команды.
Ручка такая только у параметра видимости и у lookup. Но насколько я понимаю программа только для параметра видимости. А лукап ты сам изобразил по-другому, в виде таблицы. Поэтому я и не побоялся треугольник рисовать.
Насчет теней... Не согласен я с тобой. В твоих картинках тоть есть у буквы Х тень хоть нету по-моему без разницы. Ладно, пока не буду спорить, сначала попробую тень удалить, поставить рядом две кнопки и посмотреть разницу.

Посмотрим другие варианты картинок.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 03.10.2008, 10:34
#143
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот попробовал переделать иконку копирования объектов в другой слой на вставку Visibility Set. Я думаю этими иконками вообще никто не пользуется.
Миниатюры
Нажмите на изображение для увеличения
Название: insert_visibility2.TIF
Просмотров: 198
Размер:	606 байт
ID:	10661  
Вложения
Тип файла: rar insert_visibility2.rar (443 байт, 214 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 03.10.2008, 11:03
2 | #144
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Файл 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 кад, да и вообще быстрее стала работать.
Вложения
Тип файла: rar visibility-ADD2.rar (12.5 Кб, 1943 просмотров)

Последний раз редактировалось Supermax, 02.02.2010 в 14:23.
Supermax вне форума  
 
Автор темы   Непрочитано 03.10.2008, 11:09
#145
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Макрос на кнопку:
Код:
[Выделить все]
^C^C(load "Visibility-ADD2.fas") (Visibility_add)
Это если кнопка "Вставить Visibility Set".

Последний раз редактировалось Supermax, 21.11.2008 в 22:31.
Supermax вне форума  
 
Автор темы   Непрочитано 03.10.2008, 11:13
#146
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Опять забыл (vl-load-com) вставить в начало текста.
Друзья, да забейте вы эту .... в автозагрузку.
Supermax вне форума  
 
Автор темы   Непрочитано 03.10.2008, 11:41
#147
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Функции Kpblc-a по управлению видимостью элементов. Работают везде.
Все написано у них в самом файле. Файл *.lsp
Вложения
Тип файла: lsp kpblc-objects-hide.lsp (6.7 Кб, 1139 просмотров)
Supermax вне форума  
 
Непрочитано 03.10.2008, 12:22
#148
Ddjo

архитектор
 
Регистрация: 01.04.2008
СПб
Сообщений: 295


Supermax,
Насчет пункта 15, все разъяснилось
Мне кнопки Volodich, понравились, у меня похожие идеи, насчет лукапа, на мой взгляд, однозначно надо изображать треугольник,(Action - молния, ехсель -таблица с буквой "х" или вообще -значек екселя, видимость/невидемость выделять тоном и тд), короче, использовать интуитивно понятные пиктограммы, которые узнаются с первого взгляда и не путаются между собой ( т.к. когда по кнопкам пыкаешь, их особо не разглядываешь), к тому же, из-за малой величины, должны содержать минимум информации.
Supermax, Ваши кнопки мне понравились меньше, лукап->эксель и эксель->лукап, сначала не заметила разницы
Ddjo вне форума  
 
Непрочитано 03.10.2008, 13:00
#149
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Ddjo, благодарю! Приятно, что хоть кто-то оценил!
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 03.10.2008, 13:11
#150
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот блин внимательные! Я уже красным выделил. Шрифт самый большой установил, а скачек - 0. Вы что, тему читаете только последние сообщения?
Supermax вне форума  
 
Непрочитано 03.10.2008, 13:14
#151
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Supermax, прими в качестве совета: первый пост темы виден (благо шапку Админ сделал). Ну так и редактируй первый пост Там будет все, что посчитаешь нужным - и закачиваемые элементы, и внутренние ссылки на посты... И сразу будет все видно, и пользователям по теме ползать не надо будет
Я бы, наверное, так и делал.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 03.10.2008, 13:34
#152
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


> Supermax #147, Кулик Алексей aka kpblc
Вот за эту программу огромное спасибо!!! Очень нужная вещь...
CB вне форума  
 
Непрочитано 03.10.2008, 13:48
#153
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,794
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от stas_org Посмотреть сообщение
Могу скинуть крякнутую прогу по созданию иконок, если kpblc даст добро, а вот с фантазией не очень, если архитектора какого-нить.
Я периодически пользуюсь AWicons Standart 9.4
Lite версия бесплатна, стандарт бесплатна (была по крайней мере раньше) для xUSSR, только в конце банеры показывает.
Есть online уроки
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 03.10.2008, 13:50
#154
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Supermax, файл *.fas надо просто поместить в папку к вспомогательным файлам?

Команда: (LOAD "C:/Рабочие документы/LISP/Visibility-ADD2.fas") VISIBILITY_CLEAR
Команда: Visibility_add
Неизвестная команда "VISIBILITY_ADD". Для вызова справки нажмите F1.

Я что-то не так делаю?

Цитата:
Supermax #147, Кулик Алексей aka kpblc
Вот за эту программу огромное спасибо!!! Очень нужная вещь...
Я как всегда со своим вопросом... Расскажите, пожалуйста, в каких случаях данная программа используется?
Я скрываю объекты, отключая слои.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 03.10.2008, 13:55
#155
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


СВ, а почему остальные не качаешь?
Kpblc, я так уже делал, только в данном случае очень много всего. К каждому файлу хелп нужен не слабый. Боюсь первый пост станет на всю страницу и тогда будет ОПА! Если каждая страница будет содержать одно сообщение размером с целую страницу, то ... Вам еще так сервер не обрушивали?
Supermax вне форума  
 
Автор темы   Непрочитано 03.10.2008, 14:02
#156
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


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.
Supermax вне форума  
 
Непрочитано 03.10.2008, 14:04
#157
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


dwg.ru/art/8
Подпись VVA
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 03.10.2008, 14:45
#158
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Ну ссылка у него ведь стоит. Я вообще даже не смотрел куда это меня занесло. Да и короче так писать, чем все эти пути прописывать.
Supermax вне форума  
 
Непрочитано 03.10.2008, 14:50
#159
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


В продолжение #151:
Я бы написал, наверное, следующее (ну или что-то типа такого):
В этой теме рассматривается вопрос программного "наращивания" возможностей динамических блоков.
Разбор словарей дин.блока
Получение параметра видимости и его разбор
Примеры блоков с несколькими параметами видимости (Visibility Set): "неправильные" и "правильные". В постах #70 и #71 - дополнительные примеры.
Программа по перемещению параметров видимости "по порядку"
Готовые макросы:
Excel->Lookup
Excel->Lookup для пространства редактора блоков
Lookup->Excel
Lookup->Lookup
Lookup->Excel для пространства редактора блоков
Lookup->Lookup для пространства редактора блоков
Все, объединенное
Функция скрытия объектов
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 03.10.2008, 15:44
#160
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Kpblc, я перенес из первого поста текст в начало второго, а теперь ты перенеси свой текст в первый пост, и чтобы я мог его редактировать. Я буду добавляя проги, туда ссылки добавлять. Очень хорошо у тебя получилось. Спасибо.
Supermax вне форума  
 
Непрочитано 03.10.2008, 15:50
#161
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Цитата:
Сообщение от Supermax Посмотреть сообщение
Kpblc, я перенес из первого поста текст в начало второго, а теперь ты перенеси свой текст в первый пост, и чтобы я мог его редактировать. Я буду добавляя проги, туда ссылки добавлять. Очень хорошо у тебя получилось. Спасибо.
Так первый-то пост ты можешь в любой момент сам отредактировать
Жмешь цитату на моем варианте, копируешь текст цитаты, входишь в редактирование первого поста; там вставить и удалить тэги QUOTE. Вот и все Попробуй. Если не получится - свистни, сделаю.
P.S. Исправил заголовочный пост
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 03.10.2008 в 16:09.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 03.10.2008, 18:13
#162
SLADE

проектировщик-новобранец
 
Регистрация: 14.09.2005
Minsk
Сообщений: 309


Идея по Excel->Lookup

Если замысел нравится сделаю остальные Lookup->Lookup ;Lookup->Excel
Изображения
 
SLADE вне форума  
 
Автор темы   Непрочитано 03.10.2008, 18:24
#163
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Это для палитры? Весьма красиво. Давай, давай.
Я вообще-то с палитрой давно не бадался, даже не знаю где ее включать. А там еще можно и полупрозрачный фон делать. Вот бы кто просвятил. А то я с этими DXF кодами совсем отупел.
Supermax вне форума  
 
Непрочитано 03.10.2008, 21:22
#164
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Цитата:
Volodich, Visibility-ADD2.fas это макрос. Прочти пожалуйста повнимательнее тему и на сообщениях VVA есть ссылка на то, как макросами пользоваться. Чес. слово, облом столько по новой писать.
Ну что уж я совсем чайником кажусь?
Я только одно не учел, что название функции должно быть в скобочках.
Сделал. Запустил.
При первой попытке добавить дополнительный параметр видимости, автокад вылетел с какой-то ошибкой на пол экрана. (что-то типа обращение к памяти и т.п.)
Ну я думаю, щас запущу второй раз запущу и все перепишу. Но не тут-то было. Вот что он мне говорит.
Цитата:
Команда: (vl-load-com)
Команда:
Команда: (LOAD "C:/Работа/LISP/Visibility-ADD2.fas") VISIBILITY_CLEAR
Команда: (visibility_add)
_BSAVE
Команда: _BParameter
Введите тип параметра
[Выравнивание/База/Точка/Линейный/Полярный/Xy/повоРот/Отразить/виДимость/поиСк]:
V
Неправильное ключевое слово.
; ошибка: Функция отменена
Введите тип параметра
[Выравнивание/База/Точка/Линейный/Полярный/Xy/повоРот/Отразить/виДимость/поиСк]:
*Прервано*
AutoCAD 2006 rus нелицензионный.
Причем остальные функции вроде работают, по крайней мере что-то делают, не выдавая ошибки (попробовал eddedd, выделились ручки, но почему-то не выделился лукап. Но это я еще буду разбираться)
Я что, самый невезучий? Или все-таки чайник
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 03.10.2008, 21:26
#165
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Цитата:
Опять забыл (vl-load-com) вставить в начало текста.
Друзья, да забейте вы эту .... в автозагрузку.
Объясни, пожалуйста, как.
И мне никто так и не объяснил:
Цитата:
Расскажите, пожалуйста, в каких случаях данная программа используется?
Я скрываю объекты, отключая слои.
Это я про kpblc-objects-hide.lsp
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 03.10.2008, 22:44
#166
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


От е-мае!
Код:
[Выделить все]
Команда: _BParameter
Введите тип параметра 
[Выравнивание/База/Точка/Линейный/Полярный/Xy/повоРот/Отразить/виДимость/поиСк]:
После этого надо было ткнуть курсором в ту точку, в которую надо Visibility Set вставлять! А ты небось по клаве стучал. Что не видишь, что курсор стал крестом без квадратика по центу? Что это значит понимаешь? Все работает. Давай еще раз делай, да повнимательнее.


kpblc-objects-hide.lsp - текстовый файл. Там в начале все написано.

Там всего одна функция с аргументом.
Цитата:
* Скрытие выбранных объектов / невыбранных объектов / показ всех объектов.
* Сделано в качестве попытки создания аналога ADT-шной команды Isolate objects.
* Работает только в активном пространстве.
* Параметры вызова:
* 0 — показать все; 1 — скрыть выделенные; 2 — скрыть
* все, кроме выделенных
* Примеры вызова:
(kpblc-objects-hide 0); Показать все объекты
(kpblc-objects-hide 1); Скрыть выделенные объекты
(kpblc-objects-hide 2); Скрыть все, кроме выделенных
После загрузки этого файла запуск любого из этих трех выражений будет делать то, что написано.

Обычно во всех лиспах в начале идут комментарии. Тут не исключение.

Дерзай.
Supermax вне форума  
 
Непрочитано 04.10.2008, 00:37
#167
BetoN

Инженер-проектировщик
 
Регистрация: 01.10.2008
Минск
Сообщений: 12


Вот такой вариант
Изображения
   

Последний раз редактировалось BetoN, 04.10.2008 в 00:53.
BetoN вне форума  
 
Непрочитано 04.10.2008, 00:59
#168
SLADE

проектировщик-новобранец
 
Регистрация: 14.09.2005
Minsk
Сообщений: 309


Коллеги , а макросы Lookup->Excel и Lookup->Excel для пространства редактора блоков нельзя соединить в один из 2-х (ведь программка которая говорит "что вы не зашли в редактор блоков " у Supermaxа уже применяется, помоему, в "Программа по перемещению параметров видимости "по порядку"

Сделал 3 иконки для программ
Excel->Lookup
Lookup->Excel
Lookup->Lookup
Изображения
   
Вложения
Тип файла: rar 3 иконки.rar (3.0 Кб, 185 просмотров)
SLADE вне форума  
 
Автор темы   Непрочитано 04.10.2008, 11:01
#169
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Во, только хотел сказать, что значек Excel-я хорошо смотрится только на Lookup->Excel, а ты уже переделал.
Я уже их пытался в палитру впихнуть. И есть одно но.
На панели используются картинки с прозрачным дном. Тебе следует раскопать все по прозрачности и установить галочку в свойствах файла на прозрачность. То есть белый будет прозрачным. Все вокруг значка Excel и таблицы Lookup должно быть прозрачным. Значек активатора излишне нагружает рисунок и стрелка очень жирная. Ты ей постепенно уменьши яркость, чтобы к хвосту она стала бледнорозовой. Расширение на хвосте стрелки лучше переделать на сужение. Если уж тебе так хочется значек активатора оставить, то сделай его пожиже, или поменьше, чтобы не он бросался в глаза, а таблица.

И вообще,народ, подскажите где лежат картинки от палитры. Никак не могу найти их месторасположение.
Supermax вне форума  
 
Автор темы   Непрочитано 04.10.2008, 11:05
#170
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Объединить пары этих программ можно и не сложно, но для пространства модели (мне так кажется) эта программа не подходит. Она скорее всего просто станет не востребованной, так зачем мучиться?
Supermax вне форума  
 
Автор темы   Непрочитано 04.10.2008, 11:58
#171
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Я уже сделал твою иконку прозрачной. В Paint-e убери галку с "непрозрачный фон" в закладке "рисунок" и весь фон сделай стиральной резинкой и пипеткой - белый. :good: От родного, Автокадовского не оличить.

BetoN, твои иконки пока самые лучшие для кнопок. Но в палитре не смотрятся. Мелковаты и расплывчаты (про свои вообще молчу).
Вложения
Тип файла: rar new3.rar (354 байт, 223 просмотров)

Последний раз редактировалось Supermax, 04.10.2008 в 12:05.
Supermax вне форума  
 
Непрочитано 04.10.2008, 13:03
#172
BetoN

Инженер-проектировщик
 
Регистрация: 01.10.2008
Минск
Сообщений: 12


Цитата:
Сообщение от Supermax Посмотреть сообщение
BetoN, твои иконки пока самые лучшие для кнопок. Но в палитре не смотрятся. Мелковаты и расплывчаты (про свои вообще молчу).
Так они и делались для кнопок 16х16, для палитры нужно 32х32. Работаю над этим.
BetoN вне форума  
 
Непрочитано 04.10.2008, 13:45
#173
SLADE

проектировщик-новобранец
 
Регистрация: 14.09.2005
Minsk
Сообщений: 309


Цитата:
Сообщение от Supermax Посмотреть сообщение
Объединить пары этих программ можно и не сложно, но для пространства модели (мне так кажется) эта программа не подходит. Она скорее всего просто станет не востребованной, так зачем мучиться?
Не совсем согласен, я в редакторе блоков (забиваю в самом начале), т.е. когда только создал таблица с параметрами , и то только для только чтобы была ключина кнопка Allow reverse lookup, и больше в редактор блоков не захожу, потому как все жутко виснет и потом лагает, а иногда lookup и вовсе не хочет открыватся!
Поэтому и возникло предложение их объединить в одну прогу, да и кнопок меньше
SLADE вне форума  
 
Автор темы   Непрочитано 04.10.2008, 14:36
#174
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Хорошо, объединю.
Supermax вне форума  
 
Непрочитано 04.10.2008, 18:08
#175
SLADE

проектировщик-новобранец
 
Регистрация: 14.09.2005
Minsk
Сообщений: 309


Supermax, может я упустил, но помоему мы пропусти обязательную функцию - взрыв дин. блока с дополнительными параметрами Visibility Set
SLADE вне форума  
 
Автор темы   Непрочитано 04.10.2008, 21:23
1 | #176
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


А это и не надо.
Выделяешь блок, жмешь правую кнопку и выбираешь Edit Block In-place. Давишь ОК. Далее тебя воспрошают в своем ли ты уме, ты ответишь да и войдя в редактор выходишь с сохранением. Все. был блок динамический, а стал простой - взрывай. К его родному имени циферку прибавил Автокад. А в базе блоков чертежа появился новый блок с циферкой в конце.

Вот новые файлы совмещенной работы и в модели и в пространстве редактора блоков.
Вложения
Тип файла: rar Excel-Lookup.rar (3.8 Кб, 966 просмотров)
Тип файла: rar Lookup-Excel.rar (3.6 Кб, 780 просмотров)
Тип файла: rar Lookup-Lookup.rar (2.1 Кб, 734 просмотров)

Последний раз редактировалось Supermax, 04.10.2008 в 21:34.
Supermax вне форума  
 
Непрочитано 04.10.2008, 22:22
#177
SLADE

проектировщик-новобранец
 
Регистрация: 14.09.2005
Minsk
Сообщений: 309


процедура не сложная, если не считать , что ряд пользователей ставит на правую кнопку - потверждение (в том числе и я). Проще для обычного юзера - нажал=получил.

Мне иконки для кнопак BetoNа тоже нравятся.
Какие размеры делаем 16х16 и 32х32?
SLADE вне форума  
 
Непрочитано 04.10.2008, 22:51
#178
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Цитата:
Сообщение от SLADE Посмотреть сообщение
процедура не сложная, если не считать , что ряд пользователей ставит на правую кнопку - потверждение (в том числе и я).
И тем самым лишает себя контекстного меню?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.10.2008, 23:44
#179
SLADE

проектировщик-новобранец
 
Регистрация: 14.09.2005
Minsk
Сообщений: 309


это дело привычки и скорости работы, мне намного быстрее нажать прав.кнопку, чем нажать ввод.
Да и с Punto Switcher при этом приходится воевать, и при потверждении команды правой кнопкой-он не срабатывает
SLADE вне форума  
 
Непрочитано 04.10.2008, 23:46
#180
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Пробел выполняет те же действия, что и Enter. Хотя это оффтоп чистой воды.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 05.10.2008, 00:24
#181
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


SLADE, все твое горе заключается в том, что у тебя нет вот такой штуки:
http://dwg.ru/f/showpost.php?p=292682&postcount=14
Supermax вне форума  
 
Непрочитано 05.10.2008, 19:44
#182
SLADE

проектировщик-новобранец
 
Регистрация: 14.09.2005
Minsk
Сообщений: 309


Сглатнул слюну, но с моим кол-вом мест работы за компом (3-4 в день) это не реально, пока, для меня. Только дома я работаю за
Миниатюры
Нажмите на изображение для увеличения
Название: Точечный рисунок.jpg
Просмотров: 228
Размер:	42.3 Кб
ID:	10730  
SLADE вне форума  
 
Автор темы   Непрочитано 05.10.2008, 20:04
#183
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Когда у меня появилась первая такая мышка МХ-500, то я с ней ходил из дома на работу и обратно. Дома комп, на работе комп, а мышка одна на оба компа. Хотя и стоила она всего 800р. 1500 сейчас MX-518 не такие уж и большие деньги. Но после того, как я привык Esc и Del и все остальное жать на ней, а не на клаве, то когда я захожу к кому-нибудь в гости и мне приходится садиться за комп с 3-х кнопочной мышью - такое впечатление создается, что я не то что автокадом научился пользоваться совсем недавно, с клавиатурой еще не освоился.
И вот два монитора у меня теперь везде, и новый комп себе присмотрел, и 6 мониторов у меня будет очень скоро. И не дорого это. 2 штуки евро стоит потратить на такое.
Supermax вне форума  
 
Автор темы   Непрочитано 05.10.2008, 20:16
#184
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Закину еще сюда прожку по установке и деустановке видимости элементам в представлениях текущего Visibility Set-a.
Это когда вы наваяли очень много представлений и у вас появилась необходимость вставить новый элемент и прописать ему видимость во многих представлениях, а также, если вы наваяли много представлений, но галочка была установлена на включение видимости всем элементам (наследование видимости) и теперь надо выключить видимость нескольким, но везде, или сразу во многих местах, то эта программка вам в этом поможет.

Файл обновлен 8.10.2008г.
Вложения
Тип файла: rar Move-to-visibilityset.rar (4.4 Кб, 740 просмотров)

Последний раз редактировалось Supermax, 08.10.2008 в 16:10.
Supermax вне форума  
 
Непрочитано 05.10.2008, 20:33
#185
SLADE

проектировщик-новобранец
 
Регистрация: 14.09.2005
Minsk
Сообщений: 309


Цитата:
Сообщение от Supermax Посмотреть сообщение
И вот два монитора у меня теперь везде, и новый комп себе присмотрел, и 6 мониторов у меня будет очень скоро. И не дорого это. 2 штуки евро стоит потратить на такое.
Немного не понял про 6 мониторов, что это за зверь такой?
SLADE вне форума  
 
Непрочитано 06.10.2008, 06:19
#186
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


К оффтопу чистой воды: а я в теме "тюнинг кад систем" (по-моему) вычитал настройку: учитывать время нажатия (правой клавиши мыши). В итоге и меню доступно и команда по быстрому нажатию повторяется. Первое время путаешься, но через пару дней привыкаешь и без этого уже как-то и неудобно.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 06.10.2008, 07:25
#187
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


А ведь работает!!! По крайней мере добавление нового параметра видимости.
Supermax, Теперь тебе надо справку писать по своим функциям В смысле "пошаговые действия создания и редактирования блоков с несколькими параметрами видимости".
У меня, например, параметр видимости добавился, я даже сделал там 2 представления видимости, в один из которых "запихал" элемент. Сохранил блок, блок заработал как надо.
НО: При повторном открытии блока редактором, новый параметр видимости вообще исчезает, а старый параметр автокадом уже не понимается как параметр видимости.
При попытке сделать старый параметр видимости текущим, выдается ошибка, что "Кривой блок не должен содержать технически одинаковых имен свойств! Добавьте пробел в конце имени свойства!"
На всякий случай приложу блок.
Даже уже на этом этапе Supermax - молодец! Не бросай это дело!!!
Вложения
Тип файла: dwg
DWG 2004
яя_тренировка2видимости2.dwg (39.0 Кб, 3439 просмотров)
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 06.10.2008, 07:54
#188
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Volodich, прочитай эту тему с самого начала - подобное поведение, насколько мне помнится, описывалось. И также рассказывалось, как с ним бороться
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 06.10.2008, 09:35
#189
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Volodich , делать все надо аккуратно! Ты первый параметр видимости должен вставить руками из палитры инструментов. И какого ты его снес? Второй параметр видимости ставится тогда, когда их надо два. А у тебя я вижу только один. И не стоит хаотично вставлять, сносить, опять вставлять. Пожара тут нет и нечего так суетиться. От этой суеты только одни глюки и получаются.

Блок переделай и видимость вставляй тогда, когда она нужна.
Supermax вне форума  
 
Автор темы   Непрочитано 06.10.2008, 09:56
#190
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот посмотри как ты его несчастного загадил этими параметрами:
Код:
[Выделить все]
((-1 . <Entity name: 7efb2c10>) 
(0 . "ACAD_EVALUATION_GRAPH") 
(5 . "1E01A") 
(102 . "{ACAD_REACTORS") (330 . <Entity name: 7efb2c08>) (102 . "}") 
(330 . Entity name: 7efb2c08>) 
(100 . "AcDbEvalGraph") 
(96 . 58) 
(97 . 58) 
(91 . 0) (93 . 32) (95 . 10) (360 . <Entity name: 7efb2c18>) (92 . 2) (92 . 2) (92 . 0) (92 . 3) 		(0 . "BLOCKROTATIONPARAMETER")
(91 . 1) (93 . 32) (95 . 11) (360 . <Entity name: 7efb2c20>) (92 . -1) (92 . -1) (92 . 2) (92 . 2) 		(0 . "BLOCKROTATIONGRIP")
(91 . 2) (93 . 32) (95 . 12) (360 . <Entity name: 7efb2c28>) (92 . 0) (92 . 0) (92 . -1) (92 . -1) 		(0 . "BLOCKGRIPLOCATIONCOMPONENT")
(91 . 3) (93 . 32) (95 . 13) (360 . <Entity name: 7efb2c30>) (92 . 1) (92 . 1) (92 . -1) (92 . -1) 		(0 . "BLOCKGRIPLOCATIONCOMPONENT")
(91 . 4) (93 . 32) (95 . 15) (360 . <Entity name: 7efb2c38>) (92 . 3) (92 . 3) (92 . 5) (92 . 5) 		(0 . "BLOCKROTATEACTION")
(91 . 5) (93 . 32) (95 . 16) (360 . <Entity name: 7efb2c40>) (92 . 5) (92 . 5) (92 . 4) (92 . 4) 		(0 . "BLOCKPOINTPARAMETER")
(91 . 6) (93 . 32) (95 . 20) (360 . <Entity name: 7efb2c48>) (92 . 4) (92 . 4) (92 . -1) (92 . -1) 		(0 . "BLOCKMOVEACTION")
(91 . 7) (93 . 32) (95 . 43) (360 . <Entity name: 7efb2c50>) (92 . -1) (92 . -1) (92 . -1) (92 . -1) 	(0 . "BLOCKVISIBILITYPARAMETER")
(91 . 8) (93 . 32) (95 . 44) (360 . <Entity name: 7efb2c58>) (92 . -1) (92 . -1) (92 . -1) (92 . -1) 	(0 . "BLOCKVISIBILITYPARAMETER")
(91 . 9) (93 . 32) (95 . 45) (360 . <Entity name: 7efb2c60>) (92 . 6) (92 . 6) (92 . 7) (92 . 8) 		(0 . "BLOCKVISIBILITYPARAMETER")
(91 . 10) (93 . 32) (95 . 46) (360 . <Entity name: 7efb2c68>) (92 . -1) (92 . -1) (92 . 6) (92 . 6) 		(0 . "BLOCKVISIBILITYGRIP")
(91 . 11) (93 . 32) (95 . 47) (360 . <Entity name: 7efb2c70>) (92 . 7) (92 . 7) (92 . -1) (92 . -1) 		(0 . "BLOCKGRIPLOCATIONCOMPONENT")
(91 . 12) (93 . 32) (95 . 48) (360 . <Entity name: 7efb2c78>) (92 . 8) (92 . 8) (92 . -1) (92 . -1) 		(0 . "BLOCKGRIPLOCATIONCOMPONENT")
(91 . 13) (93 . 32) (95 . 49) (360 . <Entity name: 7efb2c80>) (92 . -1) (92 . -1) (92 . -1) (92 . -1) 	(0 . "BLOCKVISIBILITYPARAMETER")
(91 . 14) (93 . 32) (95 . 50) (360 . <Entity name: 7efb2c88>) (92 . 9) (92 . 9) (92 . 10) (92 . 11) 		(0 . "BLOCKVISIBILITYPARAMETER")
(91 . 15) (93 . 32) (95 . 51) (360 . <Entity name: 7efb2c90>) (92 . -1) (92 . -1) (92 . 9) (92 . 9) 		(0 . "BLOCKVISIBILITYGRIP")
(91 . 16) (93 . 32) (95 . 52) (360 . <Entity name: 7efb2c98>) (92 . 10) (92 . 10) (92 . -1) (92 . -1) 	(0 . "BLOCKGRIPLOCATIONCOMPONENT")
(91 . 17) (93 . 32) (95 . 53) (360 . <Entity name: 7efb2ca0>) (92 . 11) (92 . 11) (92 . -1) (92 . -1) 	(0 . "BLOCKGRIPLOCATIONCOMPONENT")
(91 . 18) (93 . 32) (95 . 55) (360 . <Entity name: 7efb2cb0>) (92 . 12) (92 . 12) (92 . 13) (92 . 14) 	(0 . "BLOCKVISIBILITYPARAMETER")
(91 . 19) (93 . 32) (95 . 56) (360 . <Entity name: 7efb2cb8>) (92 . -1) (92 . -1) (92 . 12) (92 . 12) 	(0 . "BLOCKVISIBILITYGRIP")
(91 . 20) (93 . 32) (95 . 57) (360 . <Entity name: 7efb2cc0>) (92 . 13) (92 . 13) (92 . -1) (92 . -1) 	(0 . "BLOCKGRIPLOCATIONCOMPONENT")
(91 . 21) (93 . 32) (95 . 58) (360 . <Entity name: 7efb2cc8>) (92 . 14) (92 . 14) (92 . -1) (92 . -1) 	(0 . "BLOCKGRIPLOCATIONCOMPONENT")

(92 . 0) (93 . 0) (94 . 1) (91 . 0) (91 . 2) (92 . -1) (92 . -1) (92 . -1) (92 . 1) (92 . -1) 
(92 . 1) (93 . 0) (94 . 1) (91 . 0) (91 . 3) (92 . -1) (92 . -1) (92 . 0) (92 . 3) (92 . -1) 
(92 . 2) (93 . 0) (94 . 2) (91 . 1) (91 . 0) (92 . -1) (92 . -1) (92 . -1) (92 . -1) (92 . -1) 
(92 . 3) (93 . 0) (94 . 3) (91 . 0) (91 . 4) (92 . -1) (92 . -1) (92 . 1) (92 . -1) (92 . -1) 
(92 . 4) (93 . 0) (94 . 2) (91 . 5) (91 . 6) (92 . -1) (92 . -1) (92 . -1) (92 . -1) (92 . -1) 
(92 . 5) (93 . 0) (94 . 1) (91 . 4) (91 . 5) (92 . -1) (92 . -1) (92 . -1) (92 . -1) (92 . -1) 
(92 . 6) (93 . 0) (94 . 1) (91 . 10) (91 . 9) (92 . -1) (92 . -1) (92 . -1) (92 . -1) (92 . -1) 
(92 . 7) (93 . 0) (94 . 1) (91 . 9) (91 . 11) (92 . -1) (92 . -1) (92 . -1) (92 . 8) (92 . -1) 
(92 . 8) (93 . 0) (94 . 1) (91 . 9) (91 . 12) (92 . -1) (92 . -1) (92 . 7) (92 . -1) (92 . -1) 
(92 . 9) (93 . 0) (94 . 1) (91 . 15) (91 . 14) (92 . -1) (92 . -1) (92 . -1) (92 . -1) (92 . -1) 
(92 . 10) (93 . 0) (94 . 1) (91 . 14) (91 . 16) (92 . -1) (92 . -1) (92 . -1) (92 . 11) (92 . -1) 
(92 . 11) (93 . 0) (94 . 1) (91 . 14) (91 . 17) (92 . -1) (92 . -1) (92 . 10) (92 . -1) (92 . -1) 
(92 . 12) (93 . 0) (94 . 1) (91 . 19) (91 . 18) (92 . -1) (92 . -1) (92 . -1) (92 . -1) (92 . -1) 
(92 . 13) (93 . 0) (94 . 1) (91 . 18) (91 . 20) (92 . -1) (92 . -1) (92 . -1) (92 . 14) (92 . -1) 
(92 . 14) (93 . 0) (94 . 1) (91 . 18) (91 . 21) (92 . -1) (92 . -1) (92 . 13) (92 . -1) (92 . -1))

Последний раз редактировалось Supermax, 06.10.2008 в 10:01.
Supermax вне форума  
 
Автор темы   Непрочитано 06.10.2008, 10:11
#191
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Я нашел почему ты так сделал. Когда тебе нужно было указать точку вставки нового Visibility Set ты вдруг нажал Esc. И программа вывалилась, так и не закончив своей работы. В частности, в блоке остался кривой Visibility.
Ща, это дело можно обойти. Я в самом начале буду спрашивать указания точки вставки, и только если ее указали, то вся остальная программа выполнится автоматически. В таком виде таких накладок уже не будет.
Supermax вне форума  
 
Непрочитано 06.10.2008, 10:19
#192
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Я кажется тоже понял. Только Esc я не нажимал, вот, смотри сам:

Цитата:
Команда: (load "Visibility-ADD2.fas") VISIBILITY_CLEAR
Команда: (visibility_add)
_BSAVE
Команда: _BParameter
Введите тип параметра
[Выравнивание/База/Точка/Линейный/Полярный/Xy/повоРот/Отразить/виДимость/поиСк]:
V
Неправильное ключевое слово.
; ошибка: Функция отменена
Введите тип параметра
[Выравнивание/База/Точка/Линейный/Полярный/Xy/повоРот/Отразить/виДимость/поиСк]:
д ---------> букву "д" ввел я сам
Укажите местоположение параметра или [Имя/Метка/Описание/Палитра]:
Введите число ручек [0/1] <1>:
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 06.10.2008, 10:21
#193
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


То-то я удивлялся, когда запускаю программку по перемещению свойств, там какие-то странные названия параметров "Кривой", "Кривой" ...
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 06.10.2008, 10:28
#194
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Я обновил Visibility_ADD2. Качай, заменяй и радуйся.
Supermax вне форума  
 
Автор темы   Непрочитано 06.10.2008, 10:48
#195
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Так, а теперь займемся моим делом.
Kpblc, дело на миллион. Ну если кто поможет - войдет в историю.
Я почти доделал прогу по связыванию Lookup-ов, точнее по установке активатора Lookup-a на параметр, который уже занят другим активатором. Тот пример, из поста 71, я делал, как ты выражаешся "на коленке". И вот решил сделать полноценную прогу для этого.
Сделал все, но споткнулся на элементарном.
Логика программы такая:
Я прошу указать параметр, к которому надо привязать активатор.
Затем, прошу указать точку, в которую надо этот активатор поставить.
Код:
[Выделить все]
(setq point_action (getpoint "Укажите точку вставки активатора"))
Затем, я устанавливаю в эту точку параметр Lookup-a без ручки
Код:
[Выделить все]
(command "_BParameter" "Lookup" point_action 0)
Сохраняю его в памяти.
Код:
[Выделить все]
(setq param_lev (entlast))
В ту же точку устанавливаю активатор с привязкой к установленному параметру
Код:
[Выделить все]
(command "_BActionTool" "Lookup" point_action point_action)
И вот тут у меня затык. Дело в том, если устанавливать активатор на параметр, то автоматически открывается окно редактора Lookup-a. Хоть программно его открывай, хоть вручную.
А мне этого не надь. Ни за деньги не надь, ни даром не надь.
Мне надо отключить у этой команды работу с панелью, только вот какая системная переменная за это отвечает - не помню.
Мне после установки активатора его надо отредактировать, а потом убить тот параметр Lookup-a, который вставляли ранее. Без него активатор вставляться не хочет.
Вот как с панели вставляется параметр с активатором в купе и при этом никаких панелей по его заполнению не вылазит?
Supermax вне форума  
 
Непрочитано 06.10.2008, 10:57
#196
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Скажу честно - сейчас возможности по-нормальному разобраться нет. Но вопрос: ты же со словарями уже работал? Так почему б не создавать их полностью программно, не прибегая к командным методам?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 06.10.2008, 11:20
#197
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


А-а-а! Давно я ждал этого вопроса. Да потому, что создать то могу, но он создается в базе файла, но не вставлен туда, куда надо. Можно создать и вставить в словарь ACAD_EVALUATION_GRAPH, но от этого легче не станет. Работать не будет как и в случае с Visibility Set-ом. Там я тоже создаю, и ничего особенного не делаю, но он не появляется в пространстве редактора блоков и сбивает его работу. Чем собственно мы и воспользовались. И только сам редактор все корректно создает и прописывает в блок как надо. Ни одно динамическое свойство, мы не можем установить на сегодняшний день, полностью самостоятельно и абсолютно корректно. Толлько модификация пока дает пользу, но вставка - только редактором. Увы.
Supermax вне форума  
 
Непрочитано 06.10.2008, 12:08
#198
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Supermax, скачал, но не порадовался...

Цитата:
Команда: (load "Visibility-ADD2.fas") VISIBILITY_CLEAR
Команда: (visibility_add)
Укажите место расположения Visibility Setд
Неверная точка.
Укажите место расположения Visibility Set_BSAVE
Команда: _BParameter
Введите тип параметра
[Выравнивание/База/Точка/Линейный/Полярный/Xy/повоРот/Отразить/виДимость/поиСк]:
V
Неправильное ключевое слово.
; ошибка: Функция отменена
Введите тип параметра
[Выравнивание/База/Точка/Линейный/Полярный/Xy/повоРот/Отразить/виДимость/поиСк]:
д
Укажите местоположение параметра или [Имя/Метка/Описание/Палитра]:
Введите число ручек [0/1] <1>:
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 06.10.2008, 13:04
#199
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


А-а-а! Вот тут ты батенька попал со своим руссифицированным Автокадом в лужу. Дело в том, что у меня английский вариант, и там надо отвечать на вопросы по анлийски, а у тебя Русский - и там как я вижу надо русские заглавные буквы ставить, чтобы правильно ответить на вопрос выбора режима.
Надо делать аналогичную программу для русских автокадов. Но у меня нет такового и поэтому сорри, за нестыковку.

вот это надо перевести на русский язык.
Код:
[Выделить все]
(command "_BParameter" "V" "L" name_visibility point_insert "")
Supermax вне форума  
 
Непрочитано 06.10.2008, 13:10
#200
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,682


Код:
[Выделить все]
(command "_BParameter" "_V" "_L" name_visibility point_insert "")
Не прокатит?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 06.10.2008, 13:10
#201
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Убей все Visibility Set.
Набери в ком. строке (command "_BParameter" "Д")

вывалится типа вот этого, но по русски.
Код:
[Выделить все]
Specify parameter location or [Name/Label/Description/Palette]
Скопируй и мне сюда в тему выложи.
Supermax вне форума  
 
Непрочитано 06.10.2008, 13:11
#202
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


вместо буквы "V" надо поставить букву "д", причем насколько я знаю неважно заглавную или нет.
вместо буквы "L" - букву "м".
вроде все.
Насколько я понял, name_visibility - ты специально генерируешь заранее (видимо чтоб не совпадало с "Видимость" - стандартное)
point_insert - это тоже точка взятая заранее?
Тогда точно все.

Кстати, а почему ты не делаешь файл типа "*.lsp" ?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 06.10.2008, 13:12
#203
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


ОО, когда написал увидел что Кулик Алексей aka kpblc, написал. Он сделал правильнее! Делай как у него! Я проверил, работает!
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 06.10.2008, 13:43
#204
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Ну ка попробуй вот это:

А по поводу *.lsp, так тут нет тех, кто в этом разбирается (Kpblc не считается) посему и коды не даю. Помогать мне никто не захотел, все дружно заявили, что они дескать чайники и им только результат важен а не процесс.

Последний раз редактировалось Supermax, 08.10.2008 в 10:44.
Supermax вне форума  
 
Автор темы   Непрочитано 06.10.2008, 14:31
#205
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Ну и, работает теперь, или не работает?
Supermax вне форума  
 
Непрочитано 06.10.2008, 14:31
#206
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Уже гораздо лучше! Корявые параметры видимости не создаются! Блок работает!
Все равно есть какой-то маленький косячок.
Про lsp я спросил к тому что пусть чайники, но такие мелочи можно было бы на месте смотреть. Ладно, буду сюда ошибки вываливать

Цитата:
Команда: (visibility_add)
Укажите место расположения Visibility Setд
Неверная точка.
Укажите место расположения Visibility Set_BSAVE
Команда: _BParameter
И еще. Наверное я опять что-то не понимаю. У меня почему-то видимости зависят друг от друга.
Прикладываю файл для наглядности.
Цифры 1-2-3 и 4-5-6 должны переключаться независимо друг от друга. Но когда я переключаю 1-2-3, почему-то появляются все 4-5-6 сразу. И наоборот.
Вложения
Тип файла: dwg
DWG 2004
Копия яя_тренировка2видимости3-3.dwg (34.8 Кб, 2914 просмотров)
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 06.10.2008, 15:01
#207
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Offtop: Все, пора домой... Продолжим завтра. Я уже вторую неделю вместо работы на форуме сижу, аж стыдно!
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 06.10.2008, 15:41
#208
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Volodich, Если вставляешь новый Visibility Set, то в него автоматом попадают все элементы блока. Для этого и сделана функция очистки Visibility Set-a. Я не заню, от куда у тебя лезет эта буква Д.
Ставь нормальный английский автокад.
Supermax вне форума  
 
Автор темы   Непрочитано 06.10.2008, 18:15
#209
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Программа Lookup-дубль-активатор не нужна.

Оказалось, что установка нескольких активаторов на один параметр Lookup-a не совсем обрезана в Автокаде.

Установка дополнительных активаторов дает примерно такие блоки см. пост #212.

И так:
Наведите курсор на значек установки параметра Lookup с активатором в закладке панели динамических свойств, в которой все параметры сразу с активаторами устанавливаются. Нажмите правую кнопку мыши и выберите строку "свойства". Раскроется окно свойств данного элемента.
Наведите курсор на нижнюю строку, в которой указан активатор и нажмите левую кнопку мыши. На строке справа появится значек кнопки выбора. Нажмите на него.
Откроется новая панель со списком активаторов, привязанных к параметру Lookup. Но в списке будет только один активатор.
Нажмите справа кнопку "добавить" и появится в списке еще один активатор. Нажмите "добавить" столько раз, сколько активаторов вам надо.

После этой нехитрой процедуры, при нажатии на элемент Lookup+активатор Автокад будет устанавливать вам параметр Lookup с целой кучей активаторов.

К сожалению, в 2010 каде, а может и в 2011 (не проверял) активаторы, в которых не заполнены таблицы, в редакторе блока не видны (хотя они есть на самом деле) их заполнение пока можно делать в кадах предидущих годов выпуска или попробовать эксель-лукуп.


Последний раз редактировалось Supermax, 14.12.2010 в 22:49.
Supermax вне форума  
 
Непрочитано 06.10.2008, 18:30
#210
Ddjo

архитектор
 
Регистрация: 01.04.2008
СПб
Сообщений: 295


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.

Вот, что получилось, пока не все
Изображения
Тип файла: jpg палитра.jpg (7.8 Кб, 738 просмотров)
Ddjo вне форума  
 
Автор темы   Непрочитано 06.10.2008, 20:48
#211
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


По моемому 7 и 8 надо поменять местами.
Но в целом, лично мне:
Обозначение Lookup-a как ручка - не нравится.
Глаз понравился, как идея, но исполнение - нет.
Стырь где-нибудь красивый глаз.
Включение и выключение видимости надо отображать как заход и восход солнца. Со стрелочкой, поясняющей куда это солнце движется.
Очистка Visibility Set-a от всего и удаление выбранных элементов в целом хорошо, если не считать глаза.
Supermax вне форума  
 
Автор темы   Непрочитано 06.10.2008, 23:28 Пример связывания параметров через Lookup
#212
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот наваял примерчик использования связанных Lookup-ов. На большее у меня фантазии не хватило.

Данный пример показывает, как изменяя один параметр блока можно автоматически менять другие его параметры.

Файл обновлен 8.10.2008г.
Миниатюры
Нажмите на изображение для увеличения
Название: Картинка для DWG.RU.jpg
Просмотров: 754
Размер:	15.8 Кб
ID:	10881  
Вложения
Тип файла: rar Drawing2.rar (73.7 Кб, 992 просмотров)

Последний раз редактировалось Supermax, 08.10.2008 в 16:25. Причина: Змена файла более новым.
Supermax вне форума  
 
Непрочитано 07.10.2008, 06:27
#213
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Цитата:
Я не заню, от куда у тебя лезет эта буква Д.
Ставь нормальный английский автокад.
Причем здесь английский автокад? Что, никто больше эту программу не запускал? Или у всех нормально работает? Я ведь не сам эту букву ввожу, откуда-то она появляется...

Ddjo, красотища!
Согласен с Supermax, что 7 и 8 надо поменять местами
Lookup мы же по-моему решили показывать все-таки таблицей. Тем более что рисуночки для кнопок у Supermax'а с таблицей, причем неплохие. Я думаю, что надо что-то такое повторить, желательно даже оставить расположение элементов чтоб не путаться.
Цитата:
Включение и выключение видимости надо отображать как заход и восход солнца. Со стрелочкой, поясняющей куда это солнце движется.
Ага, включение ручек обозначим как синее небо, удаление всех элементов как армагеддон, а удалить выбранные как расстрел!
Глаз действительно оригинальная идея. Только может чтоб понятнее было сделать где-нибудь рядом (или вообще вместо зрачка) синий треугольничек?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 07.10.2008, 06:56
#214
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Цитата:
Вот наваял примерчик использования связанных Lookup-ов. На большее у меня фантазии не хватило.
Изменяя Distance у тебя автоматически меняется значение Lookup? Это в автокаде так сразу сделано или это тоже ты придумал? Я как-то всегда делал наоборот, выбирая значение lookup меняется distance.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 07.10.2008, 07:49
#215
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Из поста 67:
Цитата:
Только вот публика, по моему, до понимания ее, пока не доросла.
Чтоб понимать, надо что-то делать. Я только сейчас начинаю чуть чуть разбираться что такое свободные элементы, что такое несвободные...
Supermax, ты сделал функцию, которая очищает текущий параметр видимости от всех элементов и делает их свободными. А есть ли у тебя функция, которая делает наоборот, включает выбранные элементы в текущий параметр видимости?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 07.10.2008, 08:17
#216
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 446


Попытался сделать иконку для move_properties.
Может у кого-то есть лучше?
Вложения
Тип файла: rar move_properties.rar (227 байт, 159 просмотров)
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 07.10.2008, 09:32
#217
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Цитата:
Supermax, ты сделал функцию, которая очищает текущий параметр видимости от всех элементов и делает их свободными. А есть ли у тебя функция, которая делает наоборот, включает выбранные элементы в текущий параметр видимости?
Я уже где-то тут писал, да вот и сам найти не могу. Проще по новой написать.
Пока такой функции нет. Функций надо еще ого-го сколько!
Но тут есть простое решение. Макросом Kpblc-a или моим вебмакросом (в первом посте я дал на него ссылку). Включаешь видимость всем элементам блока. Выделяешь нужные тебе желементы и копируешь в буфер с указанием точки вставки. Точку вставки выбираешь такую, чтобы она не принадлежала выделенным элементам, поскольку как только ты их в буфер запишешь, тебе надо их, пока они еще выделены - удалить. Все, в блоке уже нет этих элементов, но они остались в буфере. Нажимаешь правую кнопку мыши и давишь Paste курсором тыкаешь в ту точку вставки, в которую ты тыкал, когда заносил элементы в буфер. Все, элементы установлены на то же место, только теперь это текущий Visibility Set и его текущее представление.

Последний раз редактировалось Supermax, 07.10.2008 в 10:27.
Supermax вне форума