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


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

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

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





Guest Forum






Еще один каверзный вопрос. Как Dimension выключить точки. Вот я выключил все линии, а там, где они примыкают к объекту остались точки. Мне надо оставить только текст, а эти точки я не заказывал. Я где-то встречал, но не помню где.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 27.9.2007, 9:35
Сообщение #335


CAD Developer


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



> #334 : Если формула (точнее, длина или любой иной параметр объекта) зависит от другого объекта acad'a, прописывай объектный реактор. Подробнее - в книге Н.Н.Полещука по разработке и адаптации.
> #335 : Отключай слой Defpoints.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 27.9.2007, 10:08
Сообщение #336





Guest Forum






А я уже подумал, что что-то случилось. Вчера целый день меня тишиной пытали.
Да, про AutoLisp базару нет. С ним хоть на Марс, хоть на Луну. А вот без него...
Defpoints не помогает.
Как тогда в объект встроить лисп программу? Чтобы каждый раз, как этот объект обрабатывается она запускалась.
Вот я формулу из текста (в смысле на сером фоне цифирки) через буфер, в значение Linear Stretch вставил, оно там засветилось вполне адекватно, только когда нажимаю Enter - сбрасывает зараза. Может Лиспом ее туда заколотить? Через Лисп и атрибуты с пробелами катят, так может и тут покатит?
Вт бы этот объектный реактор в сам объект встроить...

Сообщение отредактировал Supermax - 27.9.2007, 10:10
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 27.9.2007, 10:25
Сообщение #337





Guest Forum






И вот зараза, точек от размеров почему-то не 4 а 3. Левой со стороны размера всегда нет (или это только у меня?).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 27.9.2007, 10:37
Сообщение #338





Guest Forum






Kpblc, вот в свойствах элемента много значений требуют данные в виде строки, а если я дам вместо строки лисп выражение, результатом обработки которого будет строка? Как думаешь сработает?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Azarko aka VVA_*
сообщение 27.9.2007, 11:05
Сообщение #339





Guest Forum






Цитата
а как ее подвязать на динамические свойства не знаем

С параметрами блока нужно быть поосторожнее.
Прочитай пост №8 http://dwg.ru/forum/viewtopic.php?t=15815
Я думаю, единственный выход - объектный реактор, или команда, которая перебирает блоки и что-то там в зависимости от чего-то меняет.
По поводу объетных реакторов из личного опыта:
Реактор повешен на текст, переведен в постоянный режим. При втавке этого чертежа в другой как блок, независимо от того, подгружен реактор или нет, при закрытии чертежа Автокад вываливается с ошибкой. Избавился так: реактор временный, при каждом открытии чертежа активизируется.
Трабл наблюдался в 2004, 2006 каде. 2007, 2008 не пробывал.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 27.9.2007, 11:15
Сообщение #340


CAD Developer


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



Цитата(Supermax @ 27.9.2007, 11:37) [snapback]170065[/snapback]
Kpblc, вот в свойствах элемента много значений требуют данные в виде строки, а если я дам вместо строки лисп выражение, результатом обработки которого будет строка? Как думаешь сработает?

Теоретически должно (только texteval проверь). Практически - я бы проводил модификацию программно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 27.9.2007, 13:42
Сообщение #341





Guest Forum






А я научился вставлять формулы с сылкой на объекты и прочими данными в Text override Dimensions-ам. Причем ф формулу вставлена ссылка на тот Dimension в котором эта формула стоит в Text override и в этой формуле участвует значение другого Dimension. Если кому интересно, могу поделится.

Если сработает (пока не могу проверить) это будет революция. Например объект, в котором никогда нельзя включить ручки. Лисп с начала делает свое черное дело (гасит ручки) а затем выдает под занавес строку с нужным текстом.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 28.9.2007, 0:14
Сообщение #342


CAD Developer


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



Вообще-то мог бы и сам сделать smile.gif
Код
(defun test (/ adoc attr_number attr_pos _kpblc-conv-vla-to-list)

  (defun _kpblc-conv-vla-to-list (value / res)
                            ;|
*    Преобразовывает vlax-variant или vlax-safearray в список.
|;
    (cond
      ((= (type value) 'variant)
       (_kpblc-conv-vla-to-list (vlax-variant-value value))
       )
      ((= (type value) 'safearray)
       (if (>= (vlax-safearray-get-u-bound value 1) 0)
         (vlax-safearray->list value)
         );_ end of if
       )
      (t value)
      );_ end of cond
    );_ end of defun

  (vl-load-com)
  (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  (if
    (and
      (not
        (vl-catch-all-error-p
          (vl-catch-all-apply
            '(lambda ()
               (setq attr_number (car (nentsel "\nАтрибут номера <Отмена> : ")))
               );_ end of lambda
            );_ end of vl-catch-all-apply
          );_ end of vl-catch-all-error-p
        );_ end of not
      attr_number
      (setq attr_number (vlax-ename->vla-object attr_number))
      (wcmatch (strcase (vla-get-objectname attr_number)) "*ATTR*")
      (not
        (vl-catch-all-error-p
          (vl-catch-all-apply
            '(lambda ()
               (setq attr_pos (car (nentsel "\nАтрибут позиции <Отмена> : ")))
               );_ end of lambda
            );_ end of vl-catch-all-apply
          );_ end of vl-catch-all-error-p
        );_ end of not
      attr_pos
      (setq attr_pos (vlax-ename->vla-object attr_pos))
      (wcmatch (strcase (vla-get-objectname attr_pos)) "*ATTR*")
      (not (equal attr_pos attr_number))
      (/= (strcase (vla-get-tagstring attr_number))
          (strcase (vla-get-tagstring attr_pos))
          );_ end of /=
      (equal (vla-objectidtoobject adoc (vla-get-ownerid attr_pos))
             (vla-objectidtoobject adoc (vla-get-ownerid attr_number))
             );_ end of equal
      );_ end of and
     (progn
       (foreach item
                (vl-remove-if-not
                  '(lambda (x / lst)
                     (setq lst (_kpblc-conv-vla-to-list (vla-getattributes x)))
                     (and (member (strcase (vla-get-tagstring attr_number))
                                  lst
                                  );_ end of member
                          (member (strcase (vla-get-tagstring attr_pos))
                                  lst
                                  );_ end of member
                          );_ end of and
                     );_ end of lambda
                  (mapcar
                    'vlax-ename->vla-object
                    (vl-remove-if
                      'listp
                      (mapcar 'cadr (ssnamex (ssget '((0 . "INSERT") (66 . 1)))))
                      );_ end of vl-remove-if
                    );_ end of mapcar
                  );_ end of vl-remove-if-not
    ;| Ну а здесь уже проставление чего надо и куда надо - сам, батенька, сам :)|;
        );_ end of foreach
       );_ end of progn
     );_ end of if
  );_ end of defun

P.S. Ну вот, пока отвечал, пост уже снесен.. Ну что, код отправлять туда же, куда и #343 ушел?

Сообщение отредактировал kpblc - 28.9.2007, 0:15
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 28.9.2007, 6:54
Сообщение #343





Guest Forum






Е кы лы мы ны! Сейчас поправлю VVA сказал, что ничего не понял, вот я его и снес, а то не удобно как-то.
Работа навалилась. Но я не здаюсь! Я и сегодня немного пошлангую.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 28.9.2007, 7:08
Сообщение #344


CAD Developer


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



Пока ты не начал "шланговать" (подозреваю, что имеется в виду "прикидываться шлангом". Не пытайся - не получится wink.gif). Перед дополнением кода подумай - почему я не стал прописывать заполнение атрибутов? С технической стороны этот вопрос не сложен.
Я знаю, я скотина wink.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 28.9.2007, 7:20
Сообщение #345





Guest Forum






Поправляю ТЗ, и возник спорный вопрос. Вот есть план микрорайона с проложенной теплотрассой. Надо выделить объекты для позиционирования и нумерации. А нужен ли выбор секущей рамкой? Вообще, может ли в принципе быть такая ситуация, когда в модели есть несколько груп элементов (с атрибутами есс-но) где одни надо маркировать и нумеровать, а другие либо не надо, либо они должны быть отмаркированы по новой с нуля? Что-то я никак не могу себе представить такой случай.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 28.9.2007, 7:25
Сообщение #346


CAD Developer


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



Ни фига не понял. "Маркировать" надо для чего? Для составления спецухи, так? Значит эта нумерация должна быть сквозной. Или все не так?
---
Добавлено: во, ща чего нашел:
Цитата
Название программы EasySpec
Версия: 2.0.0.29 04.09.2006
Официальный сайт: http://orbita.perm.ru/?page=spec
Демо: http://orbita.perm.ru/download-main.php?id=13 (2,2 Мб)
Краткое описание: Программа предназначена для создания спецификаций на основе базы данных по оборудованию и материалам. Полностью исключается и сводится к нулю рутинная работа по вводу текста, автоматически формируется титульный лист для любой организации из списка занесенных в программу.

Программа формирует документы в соответствии с ГОСТ, а также позволяет настроить выходные форматы в соответствии с фирменным стилем, личным предпочтением, вкусом и желанием пользователя. Данная программа является самостоятельным законченным блоком, который планируется включить в программу проектирования систем безопасности. Программа позволяет выполнять спецификации для различных видов строительной деятельности.

Программа формирует титульный лист в формате A4, таблицу спецификации - в двух форматах А3 и А4.

Автоматически заполняется штамп и титульный лист в зависимости от выбранного из справочника конкретного Исполнителя работ.
Включает два справочника: по заказчикам и подрядчикам.

Имеется возможность :
глубокого редактирования и форматирования всех исходных шаблонов.
быстрого ввода готового текста в панель управления из списка заранее подготовленных в редакторе списка.
быстрого ввода информации из базы данных нажатием клавиш цифровой клавиатуры.
быстрого поиска по базе данных с сортировкой базы данных по алфавиту и по номеру записи.

База данных имеет функцию автоматического измерения ширины полей в документах и саморасширяющиеся поля, позволяющие заполнять базу данных в точном соответствии с выбранным форматом листа, видом шрифта и шириной полей (граф) в документах.
Не качал и не проверял.

Сообщение отредактировал kpblc - 28.9.2007, 7:28
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 28.9.2007, 7:41
Сообщение #347





Guest Forum






Kpblc, ты вообще сегодня спать ложился? Что-то ты очень рано сегодня.
Нумерация - сквозная, но упорядоченная, то есть с начала нумеруются детали одного типа, затем другого и т.д.
Позиционирование (маркировка) производится тоже упорядоченно. С начала группируются детали по эффектив нейму, потом по *Unnn и маркируются. Грубо говоря с начала в кучу собираются все трубы (атрибут "категория материала"), а потом из этой кучи выбирается первое эффективное имя и все *Unnn ему принадлежащие маркируются и нумеруются. Затем следующее имя и т.д.
Ща ТЗ доделаю и выложу.

Добавлено:
Если учесть тот факт, что атрибут в блоке может быть видимым и заключенныи в кружочек или квадратик, то и на монтажке это дело - самое оно.

Сообщение отредактировал Supermax - 28.9.2007, 7:44
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 28.9.2007, 7:47
Сообщение #348





Guest Forum






А эту прогу я оказывается уже устанавливал. Там ручками надо штампик заполнять. Ничего она не делает акромя выпуску бумажек.

Да, пишу ТЗ и прога получается явно не на 3000р.

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

Сообщение отредактировал Supermax - 28.9.2007, 8:08
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 28.9.2007, 8:13
Сообщение #349





Guest Forum






Вот:
Краткое описание: Программа предназначена для создания спецификаций
Цитата
на основе базы данных по оборудованию и материалам.


А где собственно и чем (это я о ручках) эту базу создавать? И они ЭТО продают за деньги!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 28.9.2007, 8:15
Сообщение #350


CAD Developer


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



Цитата(Supermax @ 28.9.2007, 8:41) [snapback]170434[/snapback]
Kpblc, ты вообще сегодня спать ложился? Что-то ты очень рано сегодня.
Нумерация - сквозная, но упорядоченная, то есть с начала нумеруются детали одного типа, затем другого и т.д.
Позиционирование (маркировка) производится тоже упорядоченно. С начала группируются детали по эффектив нейму, потом по *Unnn и маркируются. Грубо говоря с начала в кучу собираются все трубы (атрибут "категория материала"), а потом из этой кучи выбирается первое эффективное имя и все *Unnn ему принадлежащие маркируются и нумеруются. Затем следующее имя и т.д.
Ща ТЗ доделаю и выложу.

Добавлено:
Если учесть тот факт, что атрибут в блоке может быть видимым и заключенныи в кружочек или квадратик, то и на монтажке это дело - самое оно.

Ложился, спал аж 4 часа. Работы просто много - TDMS никак не сдается smile.gif
Я бы сортировку делал по другому принципу (см.аттач, там dvb-файл, сделан на ACAD2007)
P.S. Жалко, что ToolTip нельзя сделать многострочным, красивше получилось бы...

Сообщение отредактировал kpblc - 28.9.2007, 8:16
Прикрепленные файлы
Прикрепленный файл  Project.rar ( 9,09 килобайт ) Кол-во скачиваний: 74
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 28.9.2007, 10:50
Сообщение #351





Guest Forum






Во-первых, мы должны уяснить себе что такое "позиция". Мое мнение на этот счет следующее:
Цифра в кружочке обозначает позицию в спецификации и в атрибуте написано (см. блок ФБС) "ПОЗИЦИЯ_В_СПЕЦИФИКАЦИИ".
В сецификации конечно можно по разному расставлять объекты по позициям, НО! На плане чертежа, элементы с одной и той же позицией, разбросаны по всему листу и говорить о какой-то ориентации на геометрическое положение, с моей точки зрения - не логично.
Количество вложенных блоков можно рассматривать только как некое свойство конструктивной насыщенности, от которого суть объекта не меняется. Вот к примеру автомобиль - модель создана не из одного блока, а там их целая гора, но тем не менее этот автомобиль имеет название ЗИЛ-130, к примеру. Ему на плане определено место, другому автомобилю - другое, разве кто-нибудь определяет место по насыщенности объекта? Вот если в атрибуте "КАТЕГОРИЯ_МАТЕРИАЛА" указано "Грузовые автомобили", то все "Грузовые автомобили" должны быть сгруппированы, а "Легковые автомобили" в свою кучу сложены. К какой группе ты приписал этот блок, в такой он и окажется не смотря на то, что он просто точка. Да, да - точка. И такие блоки бывают с атрибутами и свойствами. Свойства есть, а грфики - одна только точка.
Имен у блока, как мы уже знаем - 2. Первое является эффективным, второе - подвид этой особи, только с отклонениями в развитии. Я имею в виду *Unnn. Ясен пень, надо с начала выудить основной вид, а затем шерстить его подвиды. Чтобы в спецификации получилось "
поз. 1 эл-ты 1-6 Труба ДУ-150 L=3000 мм. - 6шт.
поз. 2 эл-ты 7-12 Труба ДУ-150 L=2500 мм. - 6шт.
и т.д.

Труба ДУ-150 - это эффективное имя или значение атрибута "НАИМЕНОВАНИЕ_ИЗДЕЛИЯ".
эл-ты 1-6 - это *Unnn с этим эффективным именем, но с одинаковой длинной L=3000 мм.
поз. 1 - это все элементы с одинаковой длинной (в частности с 1-го по 6-ой).

В спецификации нельзя чтобы одни трубы валялись в начале, другие в конце, третьи в середине.
Вот мы потихоньку логически и подбираемся к аргументации состава и назначению атрибутов в блоке предложенного мною.

Сообщение отредактировал Supermax - 28.9.2007, 10:55
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 28.9.2007, 11:07
Сообщение #352





Guest Forum






В общем вся эта нумерация уперается в основную тему и пока мы ее не начнем НОРМАЛЬНО гасить - ничего путного не получится.
Для VVA могу сказать только одно - есть 3000р - могу дать. Надо все как следует еще раз проанализировать и бери себе что нибудь на 3000р. и делай.
Я лично пока застрял на создании набора для обработки.
Все уперается здесь в работу с внешними ссылками. Без них я не могу. Либо надо AutoDesk дожимать, чтобы -refedit починили, либо сбрасывать модель в соседний файл и там превращать в единое целое, либо ПСК пересчитывать - не знаю.
Если подскажете как мне обойти эту проблему, но чтобы потом можно было вернуться и доделать с сылками - буду очень благодарен.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 28.9.2007, 11:13
Сообщение #353


CAD Developer


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



А я еще раз повторяю - что надо фильтровать атрибуты и свойства - что является значимым для спецификации, а что - нет. Позиция, кстати, совершенно необязательно проставляется как "число в кружке". Она может (и зачастую так и делается) проставляться как выноска. Если у тебя есть возможность, скачай или возьми демку того же MechaniCS, весьма расширяет кругозор smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 28.9.2007, 11:59
Сообщение #354





Guest Forum






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

Условия:
Геоподоснова, масштаб отображения 1:1, на которую я кладу динамические блоки труб, вентилей, элементы камер и пр.
Все состоит из линий, полилиний и технологических блоков (выноски, элементы сооружений и т.п.) я добавляю свои виртуальные детали и на основе полученного создаю монтажную схему. Атрибуты в блоках есть не только у меня, но они другие.

Для выравнивания:


1. При запуске макроса следует запрос «укажите блок образец» указав на любой подходящий блок видим список его свойств.
2. На запрос «укажите свойство длинны» - указываем свойство
3. На запрос «укажите размер округления в мм.» - указываем цифрами скажем 50
4. На запрос «укажите критерий округления + или &» Указываем + если хотим только в плюс (даже если будет длинна 10000.01 – округляем до 10060.00) если хотим обычно, то &.
5. На запрос «Все или Указать» - указываем скажем У (выбор секущей рамкой)
6. Создаем набор секущей или не секущей рамкой с возможностью многократности.
7. Нажимаем ОК и макрос выравнивает длины.

Можно зациклить этот процесс и каждый раз будет запрос «Выровнять следующую позицию?» в случае положительного решения повторяется все с пункта №1, а если больше равнять не надо – переходим к позиционированию.

Для маркировки и позиционирования:

1. При запуске макроса следует запрос «укажите блок образец». Пользователь указывает на любой подходящий блок. Макрос должен развернуть панель со списком атрибутов и свойств этого блока.
2. С верху панели над окном или в командной строке должна гореть надпись «укажите заполняемый атрибут номера» - указываем атрибут. Выбора через Ctrl или Shift - нет. Нажимаем ОК.
3. С верху панели над окном или в командной строке должна появится надпись «укажите заполняемый атрибут позиции» - указываем атрибут. Нажимаем ОК.
4. С верху панели над окном или в командной строке должна появится надпись «укажите атрибут категории материала» - указываем атрибут. Нажимаем ОК.
5. С верху панели над окном или в командной строке должна появится надпись «укажите свойство с первым уровнем приоритета в сортировке» - указываем свойство «наименованием изделия или материала». Нажимаем ОК.
6. С верху панели над окном или в командной строке должна появится надпись «укажите свойство со вторым уровнем приоритета в сортировке» - указываем свойство «марка изделия или материала». Нажимаем ОК.
7. С верху панели над окном или в командной строке должна появится надпись «укажите свойство с третьим уровнем приоритета в сортировке» - указываем свойство «… L=». Нажимаем ОК.
8. Наверное, на 5-ти уровнях можно и ограничиться.
9. Если атрибут «категория материала» есть, а в нем нет записи, то при обработке программа останавливается, подсвечивает и зуммирует элемент, выводит его эффективное имя, техническое имя, поле для записи и предлагает заполнить этот атрибут. Если в блоке нет такого атрибута, то все детали маркируются и нумеруются в соответствии с алфавитом. Все что найдено также сортируется по алфавиту, чтобы указав в атрибуте «Категория материала» - значение «Техника\Дорожная\Грузовые автомобили», в других блоках «Техника\Дорожная\Бльдозеры» с начала были собраны все блоки «Техника\Дорожная\Бльдозеры». А затем «Техника\Дорожная\Грузовые автомобили». Это дает возможность разделять категорию на подкатегории не наращивая количество атрибутов. (Разделитель - обсуждается).
10. Создать набор секущей или не секущей рамкой с возможностью многократности.
11. Набор создается с фильтром «только блоки с атрибутами)
12. Выбрасываем из набора все блоки не имеющие указанные атрибуты, причем и те, в которых есть только один из указанных атрибутов. Желательно, чтобы при этом машина выбрасывала сообщение о найденных «бракованных» блоках.
13. Из общего набора создаем наборы, включающие в себя только один вид категории материалов.
14. Берем первое имя – проставляем блокам с этим именем в указанном атрибуте – если Нумерация – номера, а если Позиционирование, то позицию. (при позиционировании заполнение атрибута проводить присоединением значения позиции к существующему тексту в значении атрибута).
15. Сохраняем имя блока, первое и последнее значение номера или номер позиции в переменной blk_num или blk_poz (в зависимости что происходит) и переходим к другому имени блока.

Результатом работы макроса является пронумерованные и позиционированные блоки. В памяти две переменные со списком списков результатов нумерации и позиционирования.

Условия изменены!

Сообщение отредактировал Supermax - 28.9.2007, 19:58
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 28.9.2007, 12:10
Сообщение #355





Guest Forum






Еще наверное, а скорее всего - точно, надо и наименование спрашивать, дескать по эффективному имени или укажите тогда атрибут с наименованием изделия.

Добавлено:
Создание основного набора - отдельной функцией сделать надо, чтобы ее можно было потом подменить на более крутую, работающую с внешними ссылками.

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

Сообщение отредактировал Supermax - 28.9.2007, 12:15
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Azarko aka VVA_*
сообщение 28.9.2007, 12:26
Сообщение #356





Guest Forum






Ну вот, я проснулся. по поводу ТЗ. Соглашения:
1. В динамических блоках разговор о *Unnn не идет
2. Состояние блока определяется его динамическими свойствами или их набором, как-то Visibility, Look up, Distance и т.д.
3. Во избежание накладок, значимые для спецификации свойства должны иметь уникальные имена
например параметр длинны не Distanse, а Seekdistanse (например)
не Visibility, а TipTrub (или что оно там значит)
4. ТЗ должно выглядеть так
4.1 Из выбранных пользователем объектов, отобрать все динамические блоки с атрибутами
"КАТЕГОРИЯ_МАТЕРИАЛА", "НАИМЕНОВАНИЕ_ИЗДЕЛИЯ" и что там еще нужно
4.2 Сгруппировать все по значению атрибута "КАТЕГОРИЯ_МАТЕРИАЛА"
В пределах значения атрибута материала используется сквозная маркировка позиций (для труб с 1 до N, для ковров с 1 до N) с занесением полученной позиции в артибут POS
В пределах значения "КАТЕГОРИЯ_МАТЕРИАЛА" (например для труб)
сгруппировать по "НАИМЕНОВАНИЕ_ИЗДЕЛИЯ" (Труба ДУ-150 , Труба ДУ-159)
в пределах одного "НАИМЕНОВАНИЕ_ИЗДЕЛИЯ" (Труба ДУ-150) сгруппировать по значению динамического свойства "Тип,марка,позиция" (Ст 159х4,5-1-ППУ-ПЭ, Ст 159х5-1-ППУ-ПЭ) с сортировкой по возрастанию
в пределах полученной группы отсортировать по возрастанию значения динамического параметра SeekDistance с округление до 50 в большую сторону (или до ближайшего 50?).
Обновить динамический параметр SeekDistance полученным значением (подравнять блоки) и занести значение в атрибут Dlina
Посчитать количество блоков с одинаковым параметром SeekDistance
Получаем спецификацию:
Трубы
поз.1 Ст 159х4,5-1-ППУ-ПЭ Труба ДУ-150 L=2500 6 шт.
поз.2 Ст 159х4,5-1-ППУ-ПЭ Труба ДУ-150 L=3000 6 шт.
поз.3 Ст 159х5-1-ППУ-ПЭ Труба ДУ-150 L=2500 6 шт.
поз.4 Ст 159х5-1-ППУ-ПЭ Труба ДУ-150 L=3000 6 шт.
поз.5 Ст 159х4,5-1-ППУ-ПЭ Труба ДУ-159 L=3000 6 шт.
Ковры
поз.1 красный Ковер персидский L=2500 6 шт.
поз.2 красный Ковер персидский L=3000 6 шт.
поз.3 синий Ковер бресткий L=2500 6 шт.

Подготовить контрольный пример (файл) с наличием N кол-ва разных блоков и посчитанной спецификацией

Примерно такое ТЗ я жду. Ты этим живешь, поэтому многие вещи, понятные тебе для меня пустой звук (белые буквы на белом фоне).

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 28.9.2007, 12:37
Сообщение #357





Guest Forum






Еще пару моментов.

1. Я уже сделал входную часть проги, которая получает из файла *.xls последовательность сортировки и подсчета элементов. Дело в том, что этот файл (*.xls) является документом сопровождающим проект. Если я сделал спецификацию, используя определенный выбор и порядок, то эта настройка должна быть сохранена, что я и сделал.

Я могу вам прислать эту часть, НО! это уже не разрозненные части лиспа и не функции. Это уже надо беречь, до тех пор пока ЭТО не будет окончательно закончено и оформлено. Если вы хотите миру что-то подарить, то вы должны с начала доказать, что ЭТО ваше, и что оно у вас есть. Я намерен передать продукт в офисы крупных компаний бесплатно, но с оформлением определенных условий (выложить на сайт для бесплатного скачивания, не стирать авторство и т.п.). Поскольку ты Kpblc де-факто соавтор, не плохо было бы сделать это де-юре. И к тебе VVA это тоже относится.

Еще раз предлагаю рассмотреть концепцию. Я выкладываю *.xls и "методы расчета".

Сообщение отредактировал Supermax - 28.9.2007, 16:40
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Azarko aka VVA_*
сообщение 28.9.2007, 13:20
Сообщение #358





Guest Forum






Цитата
Еще раз предлагаю рассмотреть концепцию. Явыкладываю *.xls и "методы расчета".

Давай тогда пока не будет оформлено решение в коде, дальнейшие разговоры вести по email/ICQ.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 28.9.2007, 15:02
Сообщение #359


CAD Developer


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



Открою. Скорее всего, вечером - TDMS, гидрит ее налево, всю малину подпортила. Не вздохнуть. К вечеру, может, подостыну, выскажусь насчет #358.
P.S. Supermax, я в ПМ тебе отписался насчет связи со мной.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 28.9.2007, 16:36
Сообщение #360





Guest Forum






Да я уже сохранил твой манускрипт.
Концепцию можно и открыто делать.
Вышлю тебе свои перлы только после того, как мы договоримся о дальнейших действиях в плане обязательств при совместной деятельности. Надо что-то делать. Я в начале предлагал попробовать сделать у темы нотариальный надзор. как ты к этому относишся? Ты в Питере, я в Москве, а мог бы быть или в Канаде, или Ташкенте. Как сделать, чтобы стороны зря стук колес не слушали и при этом чтобы не безобразничали?
Думай брателло, думай.
А пока про мерзопакостное поговорим. Например про *.xls
Прикрепленные файлы
Прикрепленный файл  Таблица_очередности.xls ( 27,5 килобайт ) Кол-во скачиваний: 69
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

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
Политика ООО ИИП «АВОК-ПРЕСС» в отношении обработки персональных данных