Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2Vtzqx6kV7S
IPB IPB
Проектирование, монтаж, наладка, сервис


Здравствуйте, гость ( Вход | Регистрация )

- Стандарт НП «АВОК» 7.11-2024
«Рекомендации по проектированию инженерных систем
дошкольных образовательных организаций»

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
20 страниц V  « < 10 11 12 13 14 > »   
Добавить ответ в эту темуОткрыть тему
> Создание спецификации автоматически (Дубль2), Рассматриваются технология и ее реализация по автоматическому создани
Гость_Supermax_*
сообщение 24.9.2007, 16:50
Сообщение #304





Guest Forum






О-О-О! Ну наконец-то!
Kpblc, я думаю, что тот чел, который озаботится чего-то включить, не должен за один заход включать все, что ему в голову взбредет. Или набор имен блоков, но один только слой, или одно имя, но несколько слоев. Так проще фильтровать, а то прийдется к каждому имени блока, или типу примитива присваивать список слоев. Кучеряво однако.

VVA, я тут уже высказался по поводу дублирования свойства "Длинна" атрибутом "Длинна" ты выскажись на эту тему пожалуйста. Вот и по позиционированию и нумерации тоже свое мнение озвуч. Мое мнение - надо иметь оба атрибута.
Как у тебя со свойствами дин. блоков - любов, или не?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Azarko aka VVA_*
сообщение 24.9.2007, 16:53
Сообщение #305





Guest Forum






Для блока из той темы, откуда ушел supermax
Цитата
_$ (acad_strlsort(tablelist "BLOCK"))
("*U2" "*U3" "*U4" "*U5" "*U6" "*U7" "Stoyka")
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 24.9.2007, 16:56
Сообщение #306





Guest Forum






VVA, а вот с типом примитивов что-то не ку. А так вообще да, попроще кодец-та, попроще.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Azarko aka VVA_*
сообщение 24.9.2007, 17:00
Сообщение #307





Guest Forum






>supermax
Цитата
VVA, я тут уже высказался по поводу дублирования свойства "Длинна" атрибутом "Длинна" ты выскажись на эту тему пожалуйста

Мой пост из темы на dwg.ru
Цитата
Кстати, я согласен с Supermax в том, что для считывания длины незачем свойство Distanse переносить в атрибут Dlina. Из лиспа оно отлично читается и заносится (можно и "подравнять" блоки)

Но уточню: если это (свойства "Длинна" атрибутом "Длинна") не продиктовано иными соображениями.

Цитата
Вот и по позиционированию и нумерации тоже свое мнение озвуч.

Ну так это, напо позиционировать и нумеровать. (читать тему сначала времени нет)

Цитата
Как у тебя со свойствами дин. блоков

Могем причесывать (равнять), могем не равнять. Пока ждал регистрации я тебе письмо черканул. Посмотри
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 24.9.2007, 17:03
Сообщение #308


CAD Developer


Группа: Участники форума
Сообщений: 409
Регистрация: 6.2.2006
Из: C.-Петербург, Россия
Пользователь №: 2062



Во, а c точки зрения пользователя - там один динамический блок. Соответственно имя должно быть одно. Или нет?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Azarko aka VVA_*
сообщение 24.9.2007, 17:07
Сообщение #309





Guest Forum






Цитата(Supermax @ 24.9.2007, 13:56) [snapback]169072[/snapback]
VVA, а вот с типом примитивов что-то не ку. А так вообще да, попроще кодец-та, попроще.

Этот код возвращает список символьных таблиц Автокада (см. help по tblnext)
По типам примитива - это надо лезть в описание блока (тут надо как у Алексея)

Цитата
Во, а c точки зрения пользователя - там один динамический блок. Соответственно имя должно быть одно. Или нет?

Я исходил из поста supermax № 298
Цитата
*Unnn - оставь
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 24.9.2007, 17:59
Сообщение #310


CAD Developer


Группа: Участники форума
Сообщений: 409
Регистрация: 6.2.2006
Из: C.-Петербург, Россия
Пользователь №: 2062



Вот интересно, кто-нибудь сможет определить "навскидку", что вот этот дин.блок - *U123, а воон тот - *U62145 :?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 24.9.2007, 18:40
Сообщение #311





Guest Forum






Я могу, у меня спец. кнопень есть. Давишь и видишь имя (и не только). А так можно сделать кнопень "Все *Unnn". Ну как дин. блоки включать, однако? Выключать могем, а включать только через "Включить все"? Не крутовато однако?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Azarko aka VVA_*
сообщение 24.9.2007, 18:41
Сообщение #312





Guest Forum






Цитата(kpblc @ 24.9.2007, 14:59) [snapback]169095[/snapback]
Вот интересно, кто-нибудь сможет определить "навскидку", что вот этот дин.блок - *U123, а воон тот - *U62145 :?

Только создатель (в смысле всего, а не чертежа или блока)
Список блоков
Код
(acad_strlsort(vl-remove-if '(lambda(x)(=(substr x 1 2)"*U"))(tablelist "BLOCK")))
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 24.9.2007, 19:14
Сообщение #313





Guest Forum






Ой всего навалилось! Даже вечерами колготят!
Так, если имя блока *Unn, то надо считывать его оригинальное имя и склеивать с *Unnn. Типа "*U123 - Кирпич кандовый, безразмерный" и в таком виде считывая до первого пробела учитывать.
Так как на счет выбора группы имен и одного для них имени слоя, или группы слоев и одного имени блока или типа примитива? Есть тут логика или нет?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 24.9.2007, 19:28
Сообщение #314


CAD Developer


Группа: Участники форума
Сообщений: 409
Регистрация: 6.2.2006
Из: C.-Петербург, Россия
Пользователь №: 2062



>#312:
Код
(defun dynblockon (name on / adoc)
                 ;|
*     Включает или выключает видимость дин.блоков.
*    Параметры вызова:
    name    эффективное имя блока. nil -> обрабатывать все
    on    включать (t) или выключать (nil) видимость
|;
  (vl-load-com)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
    );_ end of vla-startundomark
  (if (not name)
    (setq name "*")
    );_ end of if
  (vlax-for blk_def (vla-get-blocks adoc)
    (vlax-for ent blk_def
      (if (and (vlax-property-available-p ent 'isdynamicblock)
               (vlax-property-available-p ent 'effectivename)
               (equal (vla-get-isdynamicblock ent) :vlax-true)
               (wcmatch (strcase (vla-get-effectivename ent)) (strcase name))
               );_ end of and
        (vla-put-visible
          ent
          (if on
            :vlax-true
            :vlax-false
            );_ end of if
          );_ end of vla-put-visible
        );_ end of if
      );_ end of vlax-for
    );_ end of vlax-for
  (vla-regen adoc acallviewports)
  (vla-endundomark adoc)
  (princ)
  );_ end of defun
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 24.9.2007, 20:04
Сообщение #315





Guest Forum






A-a-a! Cлюшай, дарагой, Твой макрос (1-й) все чудесно выключает, а все дин блоки включать совсем не надо. Вот простой пример: (можно сказать свежий, пресвежий) сделал я теплотрассу, а мне захотелось посмотреть где лежат трубы такой-то длинны, или где стоят краны со штоком такой-то длинны. Я ткнул в ближайший такой кран и увидел его *Unnn, выключил все, а затем включил только с эти именем. Бац, и я вижу только эти краны или трубы. Конечно тут я лукавлю немного. Я с начала очень долго буду ползать по модели искать хоть одну трубу с интересующей меня длинной, но если я включу трубы по оригинальному имени, то включаться все трубы всех длин, а это мне как-то никчему.
Особо отмечу то, что дин. блоки будут даже такие, в которых ничего не меняется, просто свойствами прописаны часть параметров изделия, например наименование, марка бетона и сайт производителя. Атрибуты естественно есть, но вот марку поменял и бац - *Unnn уже другой.
Я тут между делом блок ФБС делаю 3D динамический со всей номенклатурой по ГОСТу. Вот наставил я этих блоков, а заказчик у меня спрашивает, а где ты вот такие-то применил? А я ему - тык и все видно. Блок-то имеет одно оригинальное имя и отличаются ФБС-ки 12-е от 9-ых или 24-ых только *Unnn.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 24.9.2007, 20:16
Сообщение #316


CAD Developer


Группа: Участники форума
Сообщений: 409
Регистрация: 6.2.2006
Из: C.-Петербург, Россия
Пользователь №: 2062



Ну блин. Я пока код писал ты успел пост вбить. Вот второй вариант:
Код
(defun dynblockon2 (name on / adoc)
                  ;|
*     Включает или выключает видимость дин.блоков.
*    Параметры вызова:
    name    указатель на вхождение блока. nil -> обрабатывать все
    on    включать (t) или выключать (nil) видимость
*    Примеры вызова:
(dynblockon2 nil t)    ; показать все дин.блоки
(dynblockon2 (car(entsel)) nil); скрыть блоки, аналогичные указанному
(dynblockon2 (car(entsel)) t); показать блоки, аналогичные указанному
|;
  (vl-load-com)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
    );_ end of vla-startundomark
  (setq name
         (cond
           ((= (type name) 'ename) (cdr (assoc 2 (entget name))))
           ((= (type name) 'str) name)
           ((= (type name) 'vla-object) (vla-get-name name))
           (t nil)
           );_ end of cond
        );_ end of setq
  (vlax-for blk_def (vla-get-blocks adoc)
    (vlax-for ent blk_def
      (if (and (vlax-property-available-p ent 'isdynamicblock)
               (vlax-property-available-p ent 'effectivename)
               (equal (vla-get-isdynamicblock ent) :vlax-true)
               (if name
                 (equal (vla-get-name ent) name)
                 t
                 );_ end of if
               );_ end of and
        (vla-put-visible
          ent
          (if on
            :vlax-true
            :vlax-false
            );_ end of if
          );_ end of vla-put-visible
        );_ end of if
      );_ end of vlax-for
    );_ end of vlax-for
  (vla-regen adoc acallviewports)
  (vla-endundomark adoc)
  (princ)
  );_ end of defun
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 24.9.2007, 20:25
Сообщение #317





Guest Forum






Добавлю, самое лучшее, это соединять оригинальное имя с техническим. Тут и понятно все, и легко отделить.
Боюсь я господа, что это уже будет не макрос по включению\выключению деталей, а система анализа и управления свойствами видимости.
Да, надо делать на имена блоков два окна.
Первое - выбор блока (с участием Ctrl и Shift)
Второе - вспомогательное окно возможно появляющееся по нажатию доп. кнопки в котором в одной половине список блоков, но без возможности множественного выбора, а во второй половине - перечень свойсв указанного блока. Атрибуты в каждом блоке разные (номера, позиции) поэтому их не показываем, хотя и можно с указанием типа *VARIES*.

Особенно я заценил твой юмор в плане

Цитата
(dynblockon2 (car(entsel)) t); показать блоки, аналогичные указанному


Это как же мне его указать, если они все выключены?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 24.9.2007, 20:28
Сообщение #318


CAD Developer


Группа: Участники форума
Сообщений: 409
Регистрация: 6.2.2006
Из: C.-Петербург, Россия
Пользователь №: 2062



А кто сказал, что "все"? Ты мог сначала отключить видимость какой-то области (например, "выключить невыделенное"), а потом понадобилось показать все вхождения блоков, аналогичные тыркнутому в невыключенной области. Так что тут не юмор, а жестокая правда жизни wink.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 24.9.2007, 20:37
Сообщение #319





Guest Forum






Так, "Выключить избранное" это уже пятая кнопка. Ее мы еще не обсуждали. Хотя если написать окна, то они и для "выключить избранное" сгодятся. Убиваем, так сказать, двух зайцев.
Окно с демонстрацией свойсв и атрибутов блока делаем? И атрибуты точно надо, или ну их?

А по поводу "правды жизни" скажу: Я скопировал трубу, второй вариант вытянул и размножил. Получилось два типа блоков. запустил "(dynblockon2 (car(entsel)) nil); скрыть блоки, аналогичные указанному", ткнул в размноженную и у меня осталась на экране одна труба. Я сказал "ГУД" в сысле хорошо, работает и перешел к тестированию третьей команды. Посмотрел на нее, потом на экран, потом опять на нее, потом опять на экран и стал ржать.

Сообщение отредактировал Supermax - 24.9.2007, 20:44
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 24.9.2007, 20:40
Сообщение #320


CAD Developer


Группа: Участники форума
Сообщений: 409
Регистрация: 6.2.2006
Из: C.-Петербург, Россия
Пользователь №: 2062



Не очень понял вопрос. Имеется в виду для аналога быстрого выбора для выключения? Да бог его знает. Если это делать, окно разрастись может до невероятных размеров и работать с ним будет достаточно трудно. Я не прав?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 24.9.2007, 20:52
Сообщение #321





Guest Forum






Kpblc, я гений! Не надо делать окно со свойствами! Надо просто продублировать окно с именами блоков, и тыкая в него выбирать объект в модели (включать select). При открытом окне Properties в нем будут видны свойства указанного блока. Читай хоть до рези в глазах. Дешево и сердито.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 24.9.2007, 21:02
Сообщение #322


CAD Developer


Группа: Участники форума
Сообщений: 409
Регистрация: 6.2.2006
Из: C.-Петербург, Россия
Пользователь №: 2062



Ага, то есть:
а) открыть окно свойств, если оно закрыто (какая системная переменная за это отвечает - навскидку не помню). Дополнительный минус: окно свойств может быть Docked, что может вызывать дополнительные трудности. Чтобы его положение или состояние поменять, надо использовать немодальные диалоги, что сделать на dcl невозможно в принципе.
б) создать временный набор, и передавать (sssetfirst ss ss) в ком.строку (для варианта .NET или VBA-окна), с предварительным снятием выбора;
в) в случае выхода из функции восстановить пользовательский выбор (правда, вопрос - надо ли);
г) выбранный в окне объект (блок) может лежать не в текущем пространстве, а, например, быть вложенным в другой блок или внешнюю ссылку (кстати, коды последние никак это не отслеживают). Ну или в самом элементарном случае - находиться в другом листе. Следовательно, окно свойств на него распространяться не будет;
Я горю желанием не остудить твой творческий пыл, а просто рассмотреть максимум возможных вариантов. И предупредить их появление.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 24.9.2007, 21:23
Сообщение #323





Guest Forum






а) - Ну с первым это просто Command: _properties и усе, так сказать.
г) - С блоками входящими внутрь других блоков - а не надо лезть в Blocks, надо в ModelSpace. Там только верхушки айзбергов торчат.
а) - Не понимаю, о каком положении и состоянии ты печешся?
в) - ясен пень, не надо!
Какого, что-то включать там, где нас нет? Вот если ты сумеешь выключать элементы в редакторе блоков так, чтобы они при этом обратно не включались, то это будет надо. Но что-то я сильно сомневаюсь в этом, поскольку там в сам редактор забита функция "обнуления" этой фишки.

Все. Я пошел домой. Завтра продолжим.
(а как не охота уходить!)

P.S. Твой макрос выключает даже динамические свойства в редакторе, правда они потом опять включенными оказываются как и элементы.

Сообщение отредактировал Supermax - 24.9.2007, 21:26
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 24.9.2007, 21:28
Сообщение #324


CAD Developer


Группа: Участники форума
Сообщений: 409
Регистрация: 6.2.2006
Из: C.-Петербург, Россия
Пользователь №: 2062



Поскольку я не умею отследить, "внутри блока" или "не внутри блока" выполняется редактирование, могу только посоветовать попробовать выполнить
Код
(vla-update (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) (vla-get-effectivename (car (entsel "\nтолько что редактировавшийся блок : ")))))

На бОльшее у меня фантазии не хватат sad.gif Может, VVA поможет?

Сообщение отредактировал kpblc - 24.9.2007, 21:29
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 25.9.2007, 10:05
Сообщение #325





Guest Forum






Новый день - новые бзики.
Во первых, мы должны работать только с элементами на включенных слоях. Это закон. Если слой выключили, это означает, что там выключать уже ничего не надо и наоборот, то есть включать там ничего не надо. Даже если мы там чего-то включим, мы этого все равно не увидим. От сюда вывод, что выбранные элементы на включенных слоях находящиеся в состоянии "выкл" должны быть включены абсолютно во всех включенных слоях. Если чел. не хочет включать элементы на каком-то слое, он должен этот слой выключить. Таким образом мы используем существующий сервис послойного разбития модели и его инструментарий для локализации наших действий.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 25.9.2007, 10:11
Сообщение #326


CAD Developer


Группа: Участники форума
Сообщений: 409
Регистрация: 6.2.2006
Из: C.-Петербург, Россия
Пользователь №: 2062



Я б оставил... Слои слишком глобальная штука для этой задачи. ИМХО, конечно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 25.9.2007, 10:18
Сообщение #327





Guest Forum






Что оставил?

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

Сообщение отредактировал Supermax - 25.9.2007, 10:20
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 25.9.2007, 10:21
Сообщение #328


CAD Developer


Группа: Участники форума
Сообщений: 409
Регистрация: 6.2.2006
Из: C.-Петербург, Россия
Пользователь №: 2062



Оставил выключение видимости с фильтрацией по слоям. Например, "выключить видимость элементов типа line и lightweightpolyline, лежащих на слоях 0, АР-стены и ОВ-трубы-оси".
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 25.9.2007, 10:25
Сообщение #329





Guest Forum






Представляешь, купил Демиса Русоса лицензионный диск, с книжкой и весь со стороны записи по кругу исписанный его именем, а он зараза, установил мне 2-ой дисковод (хотя в компе только один) и проигрываться при этом не хочет. Как ни пытаюсь, а снести этот мнимый дисковод не получается.

Так эти слои выключены или включены? Если они выключены, то какого там ковыряться?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 25.9.2007, 10:36
Сообщение #330


CAD Developer


Группа: Участники форума
Сообщений: 409
Регистрация: 6.2.2006
Из: C.-Петербург, Россия
Пользователь №: 2062



Ну вот, как всегда. Обрабатывать то, исключать се... Сформировать списки элементов с различными критериями никогда не поздно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 25.9.2007, 17:03
Сообщение #331





Guest Forum






Вот блин! Сказали в 13-00 привезут назад, я как последний поц быстренько все сделал, а они гады меня взяли и там бросили. Пришлось своим ходом обратно на работу переться.
Для того, чтобы я взялся писать окна, мне надо понять что на них ставить. Я до сих пор этого до конца не понимаю. Ну к примеру первое окно это выбор "блоки" или "типы примитивов" или "слои" или "выбрать все". Выбрали. Нажали к примеру блоки - выпало разбитое на две части окно, в левой половине имена блоков, а в правой имена включенных слоев. Под обеими половинками кнопки "выбрать все". Чтобы снимать выбор достаточно клацнйть без контрола или шифта любую позицию. Далее ОК/Cancel. Нажали ОК - в какой форме должны быть предствлены результаты выбора? Несколько слоев и несколько блоков. Я к примеру создаю три переменных, две из которых всегда равны nil. Та, что не nil, содержит в себе список из двух списков, первый - список слоев, второй - список имен блоков. Годится?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 25.9.2007, 21:47
Сообщение #332





Guest Forum






Вот изучайте.
Блок ФБС динамический
Файл изменен.
Опять немного починил (дырку залатал в графике)

Сообщение отредактировал Supermax - 26.9.2007, 10:22
Прикрепленные файлы
Прикрепленный файл  ФБС_динамический.rar ( 88,04 килобайт ) Кол-во скачиваний: 41
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 27.9.2007, 9:03
Сообщение #333





Guest Forum






Всем привет! Панели пока обождут, не до них, хотя запал не потух.
Kpblc, и VVA, а не вкурсе ли вы случайно, как сделать так, чтобы формула определяла длинну линии? Вставить формулу в текст или атрибут могем, а как ее подвязать на динамические свойства не знаем. Мне надо передать результат в Linear Stretch. Обратный процесс ясен вполне.
Мне надо, чтобы геометрические размеры объекта определялись расчетом.

Сообщение отредактировал Supermax - 27.9.2007, 9:14
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

20 страниц V  « < 10 11 12 13 14 > » 
Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама
ООО «Арктика групп» ИНН: 7713634274




Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqvWgxEU

ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvybpdW

Реклама: ООО «СЛ-ЛАЗЕР» ИНН 7727447267 | erid: 2VtzquvhFWx
Последние сообщения Форума






RSS Текстовая версия Сейчас: 5.8.2025, 10:04
Политика ООО ИИП «АВОК-ПРЕСС» в отношении обработки персональных данных