IPBIPB
Проектирование, монтаж, наладка, сервис

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

- Проектирование котельных
АВОК в соц. сетях
20 страниц V   1 2 3 > »   
Добавить ответ в эту темуОткрыть тему
> Создание спецификации автоматически (Дубль2), Рассматриваются технология и ее реализация по автоматическому создани
Гость_Supermax_*
сообщение 14.3.2007, 12:19
Сообщение #1





Guest Forum






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



Очень прошу отозваться того модератора, который готов взять шефство над данной темой.
Чтобы не обременять модератора частыми профилактическими мероприятиями по зачистке темы, готов взять на себя обязанность по сообщению ему через функцию "Доложить" о сообщениях, не представляющих по моему мнению никакого интереса. НО! не настаиваю на выполнении действия по их удалению.
В случае появления существенных разногласий между мною (инициатором темы) и модераторм, оставляю за собой право прекратить участие в обсуждении и если мне на этот момент будет доступна функция удаления своих сообщений, предварительно уведомив модератора - удалять их.
Мои сообщения, что бы они не содержали, разрешаю удалять по любому поводу.


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

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

Предшествующая версия макроса, позволяющая производить подсчет блоков по их имени, а также подсчет общего колличества длин, площадей и объемов с переводом в метры, метры2 и метры3 представлена ниже. Результаты данного подсчета транслируются автоматически в Word или Excel.

Размер файла 151 КБ

Сообщение отредактировал Supermax - 2.7.2007, 11:07
Прикрепленные файлы
Прикрепленный файл  Prop.rar ( 38,86 килобайт ) Кол-во скачиваний: 1118
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
e.o.l.
сообщение 14.3.2007, 13:22
Сообщение #2


ИнженерищЕ


Группа: Участники форума
Сообщений: 1074
Регистрация: 20.5.2005
Из: Астрахань
Пользователь №: 795



с учётом персонального интереса к данной теме, готов помогать по мере возможностей и в соответствии с правилами данного форума
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 14.3.2007, 18:27
Сообщение #3





Guest Forum






Общая концепция:

Модель содержит:
– слои, простые примитивы (линии, плоскости, солиды), отдельные
атрибуты, сложные примитивы (блоки, группы атрибутов).

Требования к модели:
- наименование слоев не имеет значения,
- наименование блоков тоже не имеет значения (хотя лучше, чтобы совпадало с наименованием изделия).

Назначение слоев:
- содержать примитивы, по которым считаются длины, площади и объемы

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

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

Например: В слое, в котором трасса трубопровода представлена линиями (полилиниями, 3Dполилиниями, сплайнами, дугами) лежит динамический блок, где из графики есть только условное обозначения трубопровода. В свойствах этого блока (назовем его "виртуальный материал") указаны все свойства материала, в том числе и единица измерения. В атрибутах этого блока атрибут с именем (строка "Tag") "метод_расчета" и значением (строка "Value") содержит запись, выраженную в условных величинах (см. ниже) – (сумма всех длин 3Dполилиний деленная на 1000), в другом динамическом блоке – ( сумма объемов всех солидов данного слоя деленная на 9156,24 (сечение 108 трубы в мм2) деленная на 1000 и все это умноженное на удельный вес 1-го погонного метра утеплителя.), в третьей – (вычисленная длинна в метрах деленная на 2, и результат штуки).

Таким образом, опираясь на данные свойств и атрибутов динамического блока отвечающего за материал по данным элементов принадлежащего этим атрибутам слоя вычисляем параметры «виртуальных изделий и материалов»

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

Назначение блоков:
- Штучные, видимые на чертеже и мониторе объекты, являющиеся изделиями или материалами. Изделия - могут лежать где угодно. Материалы в тех слоях, в которых лежат примитивы по которым считается расход данного материала.

Назначение отдельных атрибутов:
Отдельно стоящие атрибуты системой не обрабатываются.

Значение символов ".txt" в атрибуте "МЕТОД_РАСЧЕТА":

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

Например - кирпичная кладка.

В атрибуте "МЕТОД_РАСЧЕТА", может содержать только расчет объема кирпичной кладки из такого-то кирпича, таким-то раствором, с такой-то степенью армирования. Если атрибут связан ссылкой на текстовый файл, то в файле, на который есть ссылка в атрибуте указаны все составляющие данный материал суббматериалы. Арматура сечением таким-то (расход на данный вид кладки), Арматура других сечений, Проволка вязальная, раствор марки такой-то (расход на такой тип кладки - зависит от выбранного типа кирпича), Кирпич тако-то (расход на данный вид кладки) и т.п. При составлении спецификации субматериалы прописываются сразу за позицией генерального материала.

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


Набор требуемых файлов:

Файлы сложных атрибутов *.txt - Содержат сведения о составе и методе расчета материалов из которых состоит генеральный материал. Например: "Кирпичная кладка"

gostb_pg.shx – Шрифт, используемый при черчении таблицы и штампов.

Макрос3.lsp - Блок макроса прочерчивающий требуемый бланк. Может быть заменен другим файлом, чертящим другого типа бланк. (может работать самостоятельно).

Макрос2.lsp – Блок конвертации результатов расчета для передачи данных в другую программу (в частности Project). Также может быть заменен на что-нибудь другое.

Макрос1.lsp – Основное рабочее тело программы.

Таблица очередности.xls – Файл Excel в которм определены все параметры, как сортировки, так и вывода данных. Редактируется пользователем по своему усмотрению.

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

Отредактировано полностью 11 октября 2007 года.
Размер файла 17,5 КБ.

Сообщение отредактировал Supermax - 11.10.2007, 17:17
Прикрепленные файлы
Прикрепленный файл  ___________________.xls ( 17,5 килобайт ) Кол-во скачиваний: 799
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_OVKT_*
сообщение 15.3.2007, 7:18
Сообщение #4





Guest Forum






Весьма советую перенести сюда ФАЙЛЫ с бывшей ветки.

Моё мнение (которое можно удалить, что сейчас модно, особенно в этой теме), состоит в том, что мы ломимся в открытую дверь.
Как посчитать количество кранов, фитингов или данфоссов? Надо сделать такие блоки с правильными ИМЕНАМИ, на каждый диаметр свой. Составить чертёж строго из правильно наименованных блоков.
Далее волшебная команда BCOUNT. Там предложат обвести окно или посчитать на всём чертеже. Результат: список блоков, тождественный списку применённых элементов.
И всё. Далее заполняем вручную Word'овский шаблон. См. мой сайт.
Зачем мне (лже) автоматизация? Чужой почерк неприемлем для другого кадра. Всё равно что взять у коллеги чужую спецификацию, вырезать без проверки и вставить себе.
Тем более: как же Ваша спецификация будет работать у "всех производителей", если у меня не заработало ничего правильно?
Предлагаю сделать так: если к июлю-2007 ничего не получится, работу по глобальной автоматизации спецификации свернуть.
Примечание: ранее была свёрнута разработка "стандарта запретов" на черчение в Автокаде, с 2005 года работа на возобновлена.
Эту тему ждёт та же участь. То, что интересно активистам, окажется совершенно неинтересно инженерам на местах.
Я же советовал: сделать макросы для Excel, которыми набираются строки 1-м щелчком на отдельном листе. Вот это инженеры оценят, а всеобщую спецификацию по шаблону "свыше" - НИКОГДА!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 15.3.2007, 10:35
Сообщение #5





Guest Forum






Про файлы:
Если кому-то нужны файлы или сообщения из старой темы
Говорите какие и алле – они тут.

Только одного имени уже, к сожалению, не хватает. Началось все с того, что сметный отдел потребовал вес изделий. Второй раз я этот кошмар не переживу! Потом начался второй кошмар – поиски в смете-ру эквивалентных позиций оборудования. Оказалось, что 70% просто не с чем сравнивать. Применили опцию «По счету». Ко мне заявились и стали требовать эти самые счета на, аж 150 позиций. Я раскидал спецификацию по 5 крупным фирмам комплектующим строительство (Сантехкомплект в частности и несколько специфичных). Там оказалось есть далеко не все, а на многие позиции только заказ, да и цен пока не знают. Всю инфу отдал начальству и в сметный отдел, там она благополучно скончалась, а через месяц вдруг срочно опять понадобилась! Хорошо, что я в проджекте все набил и ссылки оставил. А сколько мне понадобилось времени, чтобы все это найти и набить? – НЕДЕЛЯ!
Пошли согласовывать ИТП, а мне дают замечание – заменить спаренные насосы на два отдельных! Добавить и там и сям краников, манометров. А один, очень продвинутый представитель эксплуатирующей организации даже захотел поставить параллельно основному теплообменнику отопления, второй, запасной! (еле отбились!). Монтажка слава богу в 3D. Вставил, добавил маркировки и опять распечатал. Листов спецификаций – 4. Все позиции сдвинулись.
Кроме того, что в штуках, очень много того, что в метрах и кубометрах. Когда делаешь трассировку трубопровода по зданию, и утеплитель, и крепления, и краска (если трубы красить надо), и строительный раствор (штроба замазывать) и строительный мусор (от штробления стен). Все это никто не рисует и в 3D не ваяет! Провел линии, или 3Dполилинии и умножил на рассчитанный коэффициент. А сколько таких коэффициентов ты знаешь? Их что, каждый раз сидеть и вычислять? А трубы между сантехнической арматурой, что тоже блоками оформлять? Их все время, то удлинять, то укорачивать приходиться, и сколько у тебя труб заданного диаметра только по их объему и можно определить! (Правда в 2007 каде у солида, вытянутого по пути появилась длинна!).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 15.3.2007, 11:12
Сообщение #6





Guest Forum






В Excel-евском файле умерли позиции ограничения по X и Y
Добавлены позиции Х заголовков разделов
Переведены названия имен атрибутов в верхний регистр
Отредактированы значения центровки по Х текста столбцов
Отредактированы 16.03.2007 положения стратегии по сложным атрибутам

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

Отредоктирована концепция построения чертежа. В ней появились "Сложные атрибуты"

Изменено 16.03.2007
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 15.3.2007, 20:00
Сообщение #7





Guest Forum






Сюда (вот на это самое место, постоянно его редактируя) я буду вставлять тело программы.
Я пишу на AutoLISP-е. Если среди аудитории есть те, кто тоже на лиспе работает - отзовитесь. Очень нужны, как критики, так и помощники. Сейчас бьюсь над сортировкой атрибутов.

Дополнение:
Пока я не выясню, юридическую сторону вопроса (см. ниже), я повременю сюда что либо выкладывать. НО! тем, кто мне помогает, буду отсылать по почте.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 16.3.2007, 10:03
Сообщение #8





Guest Forum






Даю на обсуждение правила заполнения атрибута "МЕТОД_РАСЧЕТА"

Файл отреставрирован в соответствии с изменившейся концепцией. 30.5 КБ
Прикрепленные файлы
Прикрепленный файл  ____________________________________.doc ( 30,5 килобайт ) Кол-во скачиваний: 695
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 16.3.2007, 10:05
Сообщение #9





Guest Forum






Даю на обсуждение пример атрибутов виртуальных материалов и изделий

Файл 43 КБ
Прикрепленные файлы
Прикрепленный файл  _______________________________________.dwg ( 43,1 килобайт ) Кол-во скачиваний: 614
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 16.3.2007, 11:10
Сообщение #10


CAD Developer


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



Позвольте и мне уж высказаться (Bers указал на тему).
Несколько сначала замечаний (предложения будут позже wink.gif)
0. Макросом тут не обойдешься.
1. Подсчет блоков по имени сам по себе малодостаточен. Кроме того (сейчас не имею возможности проверить dvb-файл, но не думаю, чтобы там была эта проверка введена), штатные средства (тип bcount) не позволяют считать количество динамических блоков (не ведется обработка свойства EffectiveName, а дин.блоки выглядят для стандартного лиспа как анонимные и исключаются из обработки).
2. Не рекомендовал бы завязываться на MS Office - он может быть попросту не установлен на клиентской машине. Вместо него может быть поставлен OpenOffice. Я б рекомендовал брать за основу xml либо txt формат. Учитывая, что xml допускает самое различное написание, можно сделать xml, который распознается и Excel'ем, и OO Calc'ом вполне адекватно.
3. Рисование может выполняться в неметрической системе единиц; либо в метрах. Поэтому вариант деления полученной длины на 1000 может выдать некорректный результат. Рекомендовал бы использовать БД (оформленную как угодно - как xml, как mdb, как sql - все едино, небольшая разница будет только при разработке механизма запросов).
4. "Кошмар" был предсказуем теоретически. ИМХО: не надо за сметчиков - планировщиков - экономистов выполнять их работу. Та же цена может меняться по сотне раз за месяц. И что, каждый раз переделывать? В спецификации должно быть только количество, имя, может быть, уникальный ID, и все - минимум информации. Результат выводить в тот же txt определенного формата, который и импортировать уже Сметой.ru или каким-либо иным софтом. Это вопрос десятый.
5. И, наконец, последнее. Если автору интересно, через неделю - две я по новой открою тему у себя на блоге с софтом CADWare (он посвящен аналогичным вопросам, там проблем сейчас очень много, в процессе решения они).

Теперь предложения.
Вся проблема на самом деле не в том, чтобы посчитать или прочитать данные, а в том, чтобы их записать в примитивы либо файл. При этом добиться безупречной работы. Одно дело оформить прямоугольник и на выноске написать что это вент.отверстие, другое - сделать его блоком и положить на определенный слой, и третье - это засунуть "внутрь" этого блока дополнительные данные (я не спец, поэтому пример может быть не очень ярким). Обработать "неоткрытые" файлы из какого-то каталога, добившись "неслетения" ни AutoCAD'a, ни лиспа (а то можно получить странные глюки). Поддерживать все версии своего ПО, добиваясь полной совместимости. Оформить результаты выполнения таблицей прописанного формата (который, кстати, может быть и изменен) с фиксацией высоты строк и таблицы. Вставлять таблицу в форматку. Автоматически разбивать таблицу на куски с максимальной высотой, например, в 20 строк (кстати, atable вроде как собирается автор добивать на эту тему).

Автору также порекомендовал бы прочитать "САПР на базе AutoCAD - как это делается" за авторством Зуева С.А., Полещука Н.Н. при участии Лоскутова П.В. Вроде бы на ozon.ru еще была. Система ruCAD ориентирована, насколько я понял, именно для подобных задач. Так что и ее поглядеть не помешает. Даже в "книжной" версии очень многое сделано. То, что там были найдены баги и глюки самими разработчиками, нисколько не умаляет ее ценности. То, что ShaggyDoc более здесь не появляется, конечно, огромный минус sad.gif Я не он, но чем смогу - тем помогу smile.gif Работаю на vlisp, VB.

Цитата
А трубы между сантехнической арматурой, что тоже блоками оформлять?

Можно и блоками. А можно и отрезками / полилиниями, засунув внутрь этих примитивов специальным образом сформированные данные. Которые тот же лисп прочитает на ура.

P.S. В течение ближайшей недели меня не будет, так что пишите в e-mail либо ПМ, когда вернусь обратно - постараюсь ответить всем.
P.P.S. Я бы рекомендовал по максимуму не завязываться на какую-то конкретную версию AutoCAD'a. Начать, например, с 2002 и просто отключать работу в более ранних версиях (выполняется элементарной проверкой (atof (getvar "acadver"))).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 16.3.2007, 12:38
Сообщение #11





Guest Forum






Отвечаю по пунктам:
1. Не понял, о какой проверке идет речь. В выложенной старой версии макроса считаются любые блоки. Подсчитывается количество блоков с одинаковым именем и это имя и его количество прописываются в таблицу. Да, если у вас в поле выборки попали динамические блоки, которые вы «пошевелили», то появляется вместо имени *U1….N Но не надо забывать, что динамический блок типа «окно». Которое можно шевелить, после шевеления уже перестает быть тем начальным окном, имя которого несло все, что об этом окне можно было сказать. Поэтому такие блоки надо после «шевеления» заключать в простой блок с новым именем «окна»! При обработке новой версией написанной на Лиспе, имя блока вообще не имеет значения, только для идентификации совпадений и подсчета количества. Поскольку параметры атрибутов на каждый блок можно менять, то и имя там тоже будет как параметр.
2. MS Office в старой версии макроса – постольку, поскольку. В новой версии результат будет выводится только в Layout в том виде, в котором будет запрограммирован в дополнительной подпрограмме Лиспа, в нашем конкретном случае - ПО ГОСТУ. Файл с ориентировками последовательности и компоновки расчета, скорее всего будет не *.xls, а два или три *.csv их легче обрабатывать, хотя я до конца еще не решил.
3. Методу расчета наплевать на единицы измерения. Если вы чертите в дюймах, то будьте добры и метод расчета корректировать. А если вам надо начерченное в мм перевести в футы, то и в методе расчета ставьте соответствующе число. Деление на 1000 всего лишь перевод миллиметров, в которых нарисован чертеж в метры. Нужны сантиметры? – делите на 100. И база данных чего?
4. При разработке проекта (я имею в виду не бумагу), все, кто в нем участвуют являются лишь исполнителями предписанных им функций. Все должны стремится к одной цели и писать программу только для облегчения работы, например расчетчика, поплевывая на все, что после меня, не дальновидно и не красиво. Цена на материал в программу и не входит, но ссылка на позицию в каталоге (если таковой имеется) – обязательна. После чего и до прайса добраться будет не трудно. Экспорт данных – отдельная лиспина Макрос2 именуемая. Их разновидностей могет быть (а скорее всего и будет) много.
5. И ниже по тексту. С таблицами CAD-а при заполнении бланка пока не связываюсь.
Все книжки у меня есть, и их наработки я видел (краем глаза). Принцип построения чертежа завязан на СУБД программы. Вляпались, одним словом.

Файл отчерчивания таблицы спецификации со всеми штампами 5,63 КБ
(если кому надо могу сказать как сделать кнопкой с автоматическим созданием Layout-а)
Прикрепленные файлы
Прикрепленный файл  ______3.lsp ( 5,63 килобайт ) Кол-во скачиваний: 65
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 16.3.2007, 19:13
Сообщение #12





Guest Forum






Обращаюсь к организаторам форума.
Вот здесь в этот самый момент (если все пойдет удачно) рождается некий программный продукт, который затем должен приобрести статус «Free Download Software». Чтобы подарить кому-нибудь, что-нибудь, надо этим обладать. Хорошо, если я сам сижу, пишу, и никому ничего не показываю. Написал, пошел, оформил авторство и потом иди и дари права, поскольку ты ими обладаешь. Но если ты еще ничего не написал, а только пишешь, то никаких прав ты пока и не оформишь. А тот, кто стоит у тебя за спиной, которого ты не видишь, ждет, пока ты все это напишешь. Как только тебе остается пару очевидных пассов руками, он, быстренько хватает текст проги и бежит регистрировать. После этого все, что тут написано, юридически будет считаться нарушением авторских прав.
Я в состоянии все сделать втихаря, но результат будет кривой и одноглазый. А делать открыто, как я и вознамерился, используя интеллектуальный потенциал «окружающей среды», чревато тем, что мы с вами окажемся в дураках. Как решить эту проблему? Очень нужна консультация юриста. У вас есть форум, содержание которого, юридически, есть база данных. Базы данных охраняются законом. У вас открытая база данных, которую читают все. Как сделать так, чтобы никто не мог оформить авторские права на то, что опубликовано здесь ДО ТОГО! Даты создания файлов не рассматриваются, поскольку легко меняются. Если бы это была публикация – все просто. Нотариально заверяется дата ее выпуска. Но поскольку текст в теме все время девиирует, нотариально заверить можно только дату создания темы. Если прийти в нотариальную контору с таким делом, там все сойдут с ума. Необходим нотариальный надзор. Когда речь идет о процессе создания чего либо и есть опасение, что во время этого процесса кто либо может воспользоваться элементами этого процесса не законно, нотариус, как представитель государства, может удостоверить по окончании процесса или при возникновении инцидента, что материал находящийся в данной теме, на данном сайте является первоисточником.

В соответствии со ст. 35 Основ законодательства Российской Федерации о нотариате нотариусы совершают следующие нотариальные действия:

1. Удостоверяют сделки, в том числе с недвижимостью;
2. Выдают свидетельства о праве на наследство и праве собственности на долю в общем имуществе супругов.
3. Налагают и снимают запрещения отчуждения имущества.
4. Свидетельствуют верность копий документов и выписок из них.
5. Свидетельствуют подлинность подписи на документах.
6. Свидетельствуют верность перевода документов с одного языка на другой.
7. Удостоверяют факт нахождения гражданина в живых.
8. Удостоверяют факт нахождения гражданина в определенном месте.
9. Удостоверяют тождественность гражданина с лицом, изображенным на фотографии.
10. Удостоверяют время предъявления документов.
11. Передают заявления физических и юридических лиц другим физическим и юридическим лицам.
12. Принимают в депозит денежные суммы и ценные бумаги.
13. Совершают исполнительные надписи.
14. Совершают протесты векселей.
15. Предъявляют чеки к платежу и удостоверяют неоплату чеков.
16. Принимают на хранение документы.
17. Совершают морские протесты.
18. Обеспечивают доказательства.

Обращаю внимание на пункты 10 и 18.

После реакции, данное сообщение будет удалено.

Интересно, среди читателей данного форума случайно нотариусов нет?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 19.3.2007, 9:56
Сообщение #13





Guest Forum






Произошли изменения в правилах заполнения атрибута «МЕТОД_РАСЧЕТА»
Я отказался от обычного представления математических выражений и разрешил вписывать в строку выражения AutoLISP-а. например сложение (+ А1 3.5 17 21) означает сумма значений переменной А1 и чисел 3.5, 17, 21.
Макрос не будет проверять на корректность то, что написано в этой строке и будет пытаться ее выполнить, даже если вы ею запускаете внешнюю программу.
НО! Прежде, чем совершить попытку выполнить данное выражение, будет проверено наличие таких атрибутов как «НАИМЕНОВАНИЕ» и «ЕДИНИЦА_ИЗМ». Далее на экран будет выводится менюшка, в которой будет записано, какая группа, в каком слое и полное содержание строки значения атрибута «МЕТОД_РАСЧЕТА». Если программа при выполнении этой задачи зависнит, или выдаст ошибку и прекратит функционирование, на экране останется «след» по которому можно легко найти виновника этой трагедии.

Решен вопрос с определением "основного" набора атрибутов. В листе Excel-я, те наименования атрибутов, что требуют обязательного присутствия в группе должны выделяться цветом шрифта (любым, кроме черного). Три позиции - Наименование, Единица измерения и Метод рачета, являются обязательными всегда.

По просьбе общественности шрифт 4,7 КБ
Прикрепленные файлы
Прикрепленный файл  gostb_pg.shx ( 4,71 килобайт ) Кол-во скачиваний: 31
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 20.3.2007, 11:50
Сообщение #14


CAD Developer


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



Сразу по лиспу несколько замечаний.
1. Что делать тем несчастным, у которых не AutoCAD 2006, либо установлен он по другому пути?
2. Что делать пользователям русских версий (это к вопросу о подчеркивании)
3. Что делать, если пользователь нажал Esc? (Это к вопросу об обработчике ошибок)?
4. Что делать, если фонт установлен не по указанному пути либо его нет?
В общем и целом я бы лисп полностью переписал. На несколько функций его разбить - отдельно создание текстового стиля, отдельно - таблицу. Оформить все в отдельную команду со своим обработчиком ошибок.
<Код снесен за ненадобностью. kpblc>
---
Удалось немного посмотреть dvb файл, но что-то я его логику не очень понял. В качестве совета - менять имена контролов по умолчанию на что-то более информативное. Например, CommanButton26 - на btnExportToWord.
Кроме того, там не проверяется - может быть, Excel / Word уже запущены. Какой смысл тогда создавать еще один экземпляр приложения? Не отслеживается ошибка создания объекта Word'a (он может быть не создан; версия может быть "не та" ну и так далее). DVB сам по себе интересен, но я бы на него не завязывался (вроде бы уже говорил почему).
---
Насчет последнего поста. Если завязываться на БД (а она сюда так и просится), то весь вопрос фактически сводится к тому, чтобы сформировать нормальный запрос. Если БД нет, то мне остается только посочувствовать...

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





Guest Forum






Е-кылы-мыны! Нельзя-ж так людей пугать! Я чуть со стула не упал.
Критика справедливая. НО! фонтик идет в комплекте со всеми файлами, вот проверку его наличия организовать не мешает. Отрисовку таблицы можно заменить DWT файлом, но только таким,, имя которого намертво забито в макрос. И проверочку на его наличие.
ОПЯТЬ БАЗА!!! Что за база??? Сколько можно меня этими базами мучать??? База чего??? Текстовых стилей, или вы хотите собрать коллекцию бирочек от всяких разных изделий? Некоторые вот фантики коллекционируют, да все жалуются, что такие конфеты перестали выпускать, а новые уже даже видеть не могут.
Короче. Если и нужна база, то только не изделий и тем более не их параметров. Я это как тот, кто ЕЛ! эти самые устрицы, говорю. Я создал такую базу. Очень много деталей по отдельности храню НО! - увы не пользуюсь. И не потому, что туда влом лезть, просто я беру уже ранее созданный проект и копирую от туда не только какой-то вшивый теплообменник, а всю его обвязку, с кранами, болтами, фланцами, рамами (руки жалко дальше перечислять). ПОНЯЛ? Для одного дома, я даже умудрился целую стену с узлом учета скопировать. А мне упорно предлагают по одной детальке, по тихоньку, не спеша, каждый раз, а... У мня этих проектов скопилось - уйма. Мне даже не жалко их в Интернет выставлять, что я и делаю на DWG.RU, Чертежи-ру, и здесь.
Набирать атрибуты нужного тебе элемента - пока реальность. Но в будущем, я намерен (а предварительное согласие уже есть) возложить на самих производителей этих изделий. Солиды они уже выложили. Могу ссылку дать, и винчестер у тебя лопнет от их количества. Ты себе не представляешь ощущения радиолюбителя, попавшего на склад радиодеталей, где он может взять, что угодно. Или сладкоежки, устроившегося на шеколадную фабрику. Вот сделать макрос, или прогу, которая позволит быстро и легко. какой ни будь девушке сидеть и набивать данные каталога в атрибуты - дело стоящее.

Если речь идет про подчеркивание в названии атрибутов, то это для того, чтобы было только одно слово. Не я это придумал, Автокад так устроен. Не хочет в названии атрибута видеть пробелы. А вот в строке привязки, я с этими пробелами уже намучался. Не видны они нихрена. Особенно в конце. А из за этого, макрос расценивает эти надписи, как принадлежащие к разным группам. Вот я и рекомендую их не допускать. Точки ставьте, крючечки, ТОЛЬКО НЕ ПРОБЕЛЫ.
В строке с данными атрибута тоже желательно не своевольничать. Например атрибут "НАИМЕНОВАНИЕ", что лежит в блоке "U1" в данных содержит название изделия "Болт М-8 L=80" таких болтов на плане не счесть. У этого блока своя точка вставки и все остальное, что в нутри. НО! Вот приходит момент и надо в чертеж вставить целый массив блоков из другого чертежа, а там тоже есть блок "U1" только его кто-то подредактировал (точку вставки например заменил). Вставляем и БАЦ! все болты старые заменились на новые и убёгли в даль не виданную.
Чтобы таких эксцессов не происходило, имена блоков надо при копировании проверять на схожесть и если чё переименовывать. А вот атрибут "НАИМЕНОВАНИЕ" - чтобы наоборот совпадал у всех.

Устал я однако. попозже еще пословоблудю.
Отдохнул.

Отвечаю по пунктам:
1. Установить AutoCAD-2008 (шутю). Вообще-то я пишу макрос к AutoCAD-у на AutoLISP-е может быть в процессе понадобится запускать еще и VBA, пока не уверен. Но, что делать тем, у кого вообще и компьютера нет? Даже не знаю что сморозить. а про путь, так надо как в п.4 я написал сделать.
2. Учть Английский (шутю). Ну с подчеркиванием мы вроде разобрались?
3. Ну почему Esc? Люди обычно на клаву кофе проливают, или особенно часто у нас в офисе, где системники на полу стоят, любят ножкой в кнопку ресет попадать. Я вот попытался проанализировать, во что может вытечь обработка строки формул атрибута "МЕТОД_РАСЧЕТА" и даже немного начал писать и newconfus.gif В общем, где-то, что-то и не помешает, а в целом можно ограничится всплывающей панелью с надписью огромными буквами "НЕ ДЫШИ!"
4. Фонт гостовский, но не это главное, главное, что под него размеры шрифта установлены. В разных клеточках они разные. Особенно ширина. Взять и сделать для всех надписей один стиль - труба получится. А делать несколько, так не проще просто указать на параметр. Адрес я забил не подумавши, торопился. Надо было с начала вызвать командой этот адрес. Есть такая. Сама говорит где лежит указанный файл.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 20.3.2007, 14:41
Сообщение #16





Guest Forum






Не могу не пожаловаться. Потом сотру. Язык программирования - вещь не такая уж и универсальная, не сравнить с обычным, человеческим языком. Создание функций, одно из основных возможностей языка и к сожалению в некоторых случаях единственная возможность реализовать поставленную задачу. Я понимаю работу, где целая страница текста программы, но когда три слова и будь добр к тексту свой программы добавляй шапочку с каким-то гадом - зла не хватает. Такую функцию по другому может и не создать. Нам что надо всех разработчиков AutoLISP-а поименно с должностями перечислять? Программа болше на хелп смахивает чем на программу. иной раз на одну единственную строку проги приходится 15 строк хелпа.
А эти гады. Книжку написали, в ней и на диске к ней лиспы развернули, у нотариуса зарегистрировали, и теперь что ни напиши - под суд. За нарушение авторских прав.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 20.3.2007, 17:18
Сообщение #17





Guest Forum






О необходимости запуска Excel повторно. Как показала практика, когда имеешь дело с запуском "со стороны" приложения, то бывает всякое. Даже кад слетает. Если уже открыто приложение, то в нем может быть открыт файл, который пока не сохранен и игры с этим приложением чреваты летальным исходом этому файлу. Потом, у меня два монитора и работа с двумя приложениями очень удобна. К сожалению ни эксель, ни автокад не позволяют выносить на второй монитор свои окна. Но слава богу, эксель можно открывать дважды. а вот с кадом сложнее. приходится устанавливать на машине два разных када, чтобы работать с двумя чертежами на двух мониторах. Из практики скажу сразу. Посчитал я один файл и вывел все в эксель, потом посчитал второй файл и вывел все на другой эксель и сравнил два результата только не на одном мониторе, а на двух - удобно до жути. Я теперь без второго монитора работать просто не могу. А также не могу работать на трехкнопочной мышке. У меня логитех 510 с 8 кнопками.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 20.3.2007, 17:59
Сообщение #18





Guest Forum






Уважаемый kpblc полазил я по вашему сайту - красиво. Не скажете ли мне, имеется ли у вас опыт извлечения из таблицы Excel не только содержимого текста ячеек (это я и сам могу), а еще и стиль шрифта, цвет заливки, и пр? Очень надо. Я хотел бы как нибудь выделить ячейку, в которой стоит обязательный параметр для проверки наличия данного атрибута в группе. Нельзя же допускать, чтобы в группе атрибутов не было например атрибутов "НАИМЕНОВАНИЕ" или "ЕДИНИЦА_ИЗМ".

Если я не преодолею этот Рубикон, придется либо в текст вставлять знак и его потом искать, либо отказываться от Excel и делать специальную программу для составления этих двух (а то и трех) листов настроек.
Правда есть еще предложение проверять наличие всего комплекта, но что-то это мне не нравится. В принципе, при простых работах, имени, единицы измерения и метода расчета (который создает данные в колонку количества) вполне достаточно. Кому и сколько достаточно, можно спорить до хрипоты. Проще сделать такую возможность. Там где много атрибутов, то есть есть такие атрибуты, которые участвуют в МС-Проджект-е и которые в спецификацию не входят, но нужны обязательно, надо же их где-то отмечать?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 21.3.2007, 17:23
Сообщение #19





Guest Forum






Все! С цветом, стилем шрифта разобрался.
Если шрифт в таблице будет не черный тобишь 0.0 то этот атрибут будет искаться в наборе, а если черный (что по умолчанию всегда, то только те атрибуты, что выделены в таблице жирной рамкой.
Ну у вас еще не выделены разумеется. Атрибуты в ячейках D10, H10, I10 ищутся обязательно, а все остальные только если буквы в них "покрасили".

Только быстро не читайте, а то ничего не поймете!

А также я могу тип шрифта ставить такой, какой установлен в экселе в данную конкретную ячейку. Но думаю, что гостовский лучше. Хотя для других иностранных нужностей, может так и надо. Каким шрифтом заполнил ячейки в таблице определения очередности, таким шрифтом эти позиции и будут заполнены в спецификации.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 23.3.2007, 13:31
Сообщение #20





Guest Forum






В нашем полку прибыло.

Макрос, который делает сразу группу атрибутов по трем вариантам ГОСТов

Перед загрузкой, переписать библиотечный файл AcFocusCtrl16.dll в корень AutoCAD-a
Старый с начала сохранить под другим именем, а потом, когда все заработает - убить.


www.dll-files.ru/dll/a_7.html

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

Если вы вставляете атрибуты в уже созданный блок, после вставки наберите комманду ATTSYNC (по умолчанию Select), нажмите Enter и укажите на блок, или блоки. Опять нажмите Ener.
Атрибуты будут видны в Properties.
Прикрепленные файлы
Прикрепленный файл  InsAtt.dvb ( 176 килобайт ) Кол-во скачиваний: 31
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 23.3.2007, 13:35
Сообщение #21





Guest Forum






Ну, чтобы вы не искали.
Прикрепленные файлы
Прикрепленный файл  AcFocusCtrl16.dll ( 78,1 килобайт ) Кол-во скачиваний: 27
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 26.3.2007, 9:55
Сообщение #22


CAD Developer


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



> Supermax : К сожалению, я не имею качественного опыта работы с Excel'ем через lsp. На dwg.ru Евгений Елпанов показывал код, которым мои пользователи иногда работают, но объяснить логику кода я не могу. Если хотите - могу поискать тему.
Я б не связывался с Excel'eм по причинам, которые я уже озвучил. Тут же есть еще несколько проблем - в частности, запрашиваемые (и, соответственно, сводимые в таблицу) данные могут быть самыми разными; их состав может меняться. В БД подобные дела решаются вводом дополнительных полей в таблицу и организацией запросов. А эта тема уж столько раз решалась теми же Флемингами, что там остается только пользоваться отлаженным кодом и не мучаться smile.gif
И вот еще, хотелось бы высказаться по поводу цветов, шрифтов и проч. Не думаю, что ограничивать эту свободу правильно. Рано или поздно найдется любитель, который такую систему порушит не задумываясь. Если использовать vlax-ldata-* функции, в любой примитив можно засунуть свои данные. Которые потом и прочитать и обработать. У меня так много решено - и пользователю не видно, и от дурных действий предохраняет. Разбил блок? Сам виноват. Поменял цвет / тип / вес линии / слой - ну и ладно, программные данные подобным образом пользователь не затронет. Следовательно, читаться будет как и раньше. И запросы составляться тоже wink.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 26.3.2007, 14:41
Сообщение #23





Guest Forum






Да я уже разобрался с Excel-ем. Намертво! Есть такая замечательная команда как vlax-dump-object позволяющая получить полную распечатку свойств и по запросу, перечня применяемых к объекту методов. Файл Excel - это как матрешка, где в одной вложена другая, а то и несколько. Так же устроены и остальные файлы Оффиса. Все очень легко вскрывается и читается.
А что касается отрицания применения, то сэр, не выскажете ли вы свои предложения, как альтернативу. Только поточнее. Меня интерисует как пользователя, как я смогу менять по своему усмотрению последовательность компановки листа спецификации? А точнее, что и зачем должно следовать и состав, того, что должно быть в спецификации указано.
А как разработчик, я...
тут меня прервали. Так о чем это я. А, ну да, так вот, как разработчик, я очень не хочу заморачиваться решением таких задач, как определение названия шрифта, состав обязательных атрибутов, расположение результатов расчета на листе. Даже отрисовку рамки в составе основного тела проги, упаси бог меня, вставить. Я понимаю, что легче стать в позу и сказать всем:
1. Пограмма только для Русских!
2. Только для инженеров - проектировщиков!
3. Только для инженеров проектировщиков ОВ и ВК!
4. Только для спецификаций по ГОСТ 21.110!
5. Считает программа только те детали, которые вы внесли в базу!
6. Распечатывает только в составе таком-то и порядке таком-то!
N. И еще пару десятков ограничений и циркулярных предписаний.

На сколько все стало бы проще! Но я такую бы прогу не купил и даже даром не взял.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 26.3.2007, 15:22
Сообщение #24





Guest Forum






Что касается расширенных данных:

Да можно. У атрибутов уже есть строка привязки. Которая доступна прямо в автокаде.
Привязать данные к примитиву (выражаясь научно), можно только написав маленький макрос для этих целей. НО! Кроме проблемы группирования атрибутов в "свободном плавании" я никаких не вижу задач, которые нужно решать с помощью привязки. Может вы поделитесь своими мыслями?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 27.3.2007, 9:01
Сообщение #25


CAD Developer


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



Честно говоря, я хотел бы попробовать посмотреть на готовое и собранное решение. Чтобы по нему уже высказываться. Поскольку сейчас понять общую логику приложения я не в силах.
Заодно предложение определиться с терминологией:
"Группирование" для меня это объединение нескольких примитивов (возможно, сложных) в объект "GROUP" (фактически команда _group).
Атрибуты - это примитивы типа ATTDEF (если они лежат не внутри блока) либо ATTRIB (для варианта доступа к ним изнутри блока).
"Привязка" - это режим объектной привязки (системная переменная osmode).
"Строка привязки" - :?:
---
Добавлю. dll-ки менять не могу в силу разных причин. Использую ADT 3.3, ADT 2005 Eng, ADT 2006 Rus, ACAD 2007 Eng, ADT 2007 Rus, сейчас подумывю об установке ACAD2008 (а частично мои пользователи вообще сидят на ACAD 2005 LT). И что мене прикажете делать? Я не знаю что и как там было поменяно в этой dll-ке, что, как мне кажется, вызывает достаточно опасений - достаточно вспомнить русификаторы, менявшие штатные кадовские dll. Задача о показе собственных свойств примитива не так проста, насколько мне известно, и требует достаточно качественного arx.
---
про (vlax-dump-object) я в курсе. Вопрос: а насколько информативным будет сообщение типа:
Код
(vlax-dump-Object svr t)
; _cIni: nil
; Property values:
; Methods supported:
;   GetIniString (2)
;   WriteIniString (3)
При условии, что документации нет? Логически можно попытаться догадаться о последовательности аргументов, но кто гарантирует правильность (за исключением разработчика)? Тут-то еще достаточно просто, всего 2-3 аргумента, достаточно очевидных. Но это разовая ситуация...
---
Теперь насчет "отрицания применения" smile.gif
Мои предложения сводятся фактически к некоторым постулатам, которые я для себя вывел (бОльшая часть подчерпнута из "САПР на базе") и по которым пишу свои приложения:
1. Приложение должно работать всегда и везде. Не выбивая систему в непонятное состояние.
2. По максимуму учитывать варианты нескольких версий.
3. Данные, используемые программно, должны быть скрыты от пользователя по максимуму. Любая привязка к "человеческому фактору" чревата.
Остальные не настолько важны для данной задачи.
Цитата
как разработчик, я очень не хочу заморачиваться решением таких задач, как определение названия шрифта, состав обязательных атрибутов, расположение результатов расчета на листе. Даже отрисовку рамки в составе основного тела проги, упаси бог меня, вставить.

А придется. Особенно учитывая вариант падения веса файла раз этак в 10 после снесения десятка-другого текстовых и размерных стилей. Учитывая вариант задачи типа "в фоновом режиме открыть все файлы из указанного каталога, относящиеся к данному проекту; посчитать общее количество труб, тройников, переходов и болтов для крепежа арматуры; вывести результат в таблицу или многострочный текст" почти всеми этими задачами заниматься все равно придется.
Наверное, я "встал в позу", не буду спорить, но моим клиентам пока хватает того, что они получают.
Цитата
1. Пограмма только для Русских!
Ага, поскольку остальным она ехало-болело.
Цитата
2. Только для инженеров - проектировщиков!
Не-а, не только. Также для СДО, ПТО, фин.отдела...
Цитата
3. Только для инженеров проектировщиков ОВ и ВК!
Опять-таки мимо - АР, АС, ОВ, ВК, ЭО, ТП...
Цитата
4. Только для спецификаций по ГОСТ 21.110!
Понадобится - сделаю все что хотите, только расскажите чего надобно smile.gif
Цитата
5. Считает программа только те детали, которые вы внесли в базу!
Не внесли в базу, а вставили используя написанный софт. Все же разница есть.
Цитата
6. Распечатывает только в составе таком-то и порядке таком-то!
И не подумаю регламентировать. Клиенту надо - значит надо. Делается, тестируется и отдается на откуп.
Цитата
N. И еще пару десятков ограничений и циркулярных предписаний.
Нафиг предписания! Программно соблюдаются настройки, программно же засовываются (невидимо для пользователя) все необходимые данные и т.п. Проще использовать написанный софт, чем работать руками.
Цитата
Привязать данные к примитиву (выражаясь научно), можно только написав маленький макрос для этих целей.

Я б не стал так категорично утверждать. Ниже - 2 функции по записи ldata в примитив и чтению этих данных. Они настолько просты? Не сказал бы. Используются глобальные переменные, несколько библиотечных функций ну и так далее. Зато в любой момент я с любого примитива могу получить программно забитые в него данные. И работа с другими файлами в этом смысле меня не пугает совершенно smile.gif
Код
(defun _kpblc-ent-ldata-add (ent data-list append-data / exist_data res)
     ;|
*    Функция внесения дополнительных данных в примитив либо словарь.
*    Параметры вызова:
*    ent  примитив, в который вносятся данные. Если примитив -
*      пространство модели, то создается глобальный словарь
*      с именем *kpblc-regname* и данные вносятся в него
*    data-list    вносимые данные
*    append-data    t - заменять полностью
*      nil -> только указанные пары (заменить либо добавить)
*    Возвращаемое значение:
*    полный список доп.данных или nil, если невозможно записать.
*    Примеры вызова:
(_kpblc-ent-ldata-add (vlax-ename->vla-object (car (entsel))) '(("block" . "data1")) t)
=============================================================================|;
 (if (or (eq ent *kpblc-model*)
  (and (= (type ent) 'str)
       (= (strcase ent) (strcase *kpblc-regname*))
       );_ end of and
  );_ end of or
   (setq ent *kpblc-regname*)
   (setq ent (_kpblc-conv-ent-to-vla ent))
   );_ end of if

 (if (and (not append-data)
   (setq exist_data (_kpblc-ent-ldata-get ent))
   );_ end of and
   (setq data-list (append data-list exist_data))
   );_ end of if
 (vl-catch-all-apply '(lambda () (vlax-ldata-delete ent *kpblc-appname*)))
 (foreach item    (_kpblc-list-dublicates-remove data-list)
   (if    (not (member (car item) (mapcar 'car res)))
     (setq res (append res (list item)))
     );_ end of if
   );_ end of foreach
 (vlax-ldata-put ent *kpblc-appname* res)
 );_ end of defun

(defun _kpblc-ent-ldata-get (ent)
     ;|
*    Функция возвращает дополнительные данные, записанные в примитив (либо nil,
* если их нет)
*    Параметры вызова:
*    ent    указатель на примитив
*    Примеры вызова:
(_kpblc-ent-ldata-get (vlax-ename->vla-object (car (entsel))))
=============================================================================|;
 (if (or (eq ent *kpblc-model*)
  (and (= (type ent) 'str)
       (= (strcase ent) (strcase *kpblc-regname*))
       );_ end of and
  );_ end of or
   (setq ent *kpblc-regname*)
   (setq ent (_kpblc-conv-ent-to-vla ent))
   );_ end of if
 (if (vlax-ldata-get ent *kpblc-appname*)
   (_kpblc-conv-list-to-lowcase
     (_kpblc-conv-list-to-pointlist
    (vlax-ldata-get ent *kpblc-appname*)
    );_ end of _kpblc-conv-list-to-pointlist
     );_ end of _kpblc-conv-list-to-lowcase
   );_ end of if
 );_ end of defun

P.S. Пробовал приаттачить rar или zip, чего-то не срослось. Разбираться сейчас некогда sad.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 27.3.2007, 11:17
Сообщение #26


CAD Developer


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



Да, вот еще. Процитирую кусочек темы http://www.autocad.ru/cgi-bin/f1/board.cgi?t=17698zE :
Цитата
[Re:] Alan (2005-07-06 17:43:35)
>potapovich (2005-07-06 15:50:40)
В двух словах.
1.Используем для чертежей Акад 200х. Блоки оборудования имеют код марки, остальная информация в базе.
2.База проектов и оборудования реализована на MS Acces.
3.Позволяется прогой считать с указанного чертежа (через СОМ-сервер) количество и марки блоков или дополнить в итерактивном режиме при работе программы с базой оборудования.
4.Генератор отчета формирует по объекту и заголовкам спецификацию. Можно на принтер или в pdf.
5.Инструкция 16 стр., считая вместе с титулом. Так что можно прочесть.
Если что-то не понятно пишите.
Выслал Вам скриншоты и образец выходного документа.

Добавлено: в качестве камешка в огород баз данных и общей методики их применения: http://cadmaster.ru/articles/35_sogl_rabota.cfm Хотя там и упоминаются решения CS, да и не со всеми высказываниями лично я согласен, но почитать рекомендую. Особенно предпоследнюю часть.

Сообщение отредактировал kpblc - 27.3.2007, 11:25
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 27.3.2007, 17:34
Сообщение #27





Guest Forum






Да, согласен, надо с начала о формулировках договорится.

«Группирование» - объединение несколько скажем не примитивов, а объектов в группу по какому-то признаку.
Объединять можно путем сборки объектов в один сложный (команда _group)
Объединять можно путем привязки к каждому составляющему группу объекту расширенных данных в виде строки букв или цифр.
Объединять атрибуты, можно установив общее значение для всех входящих в группу атрибутов в строке Prompt.
Можно группировать путем размещения в отдельном слое
Можно группировать путем объединения в блок
Можно группировать выделением цветом
Можно группировать расположением по оси Z (что к стати я и делаю, строя модель здания).

«Привязка» - сцепление одних данных с другими. Режим объектной привязки имеет отношение к общей терминологии только в плане установки связи данных о координатах расположения с остальными данными объекта.

У царя, например атрибутом его царской власти, является скипетр и держава, а также плащ с горностаем.
В модели Автокада атрибутом может быть что угодно, чего угодно. Можно назначить атрибутом блока текст в котором в начале указано имя и расположение блока.
И т.д.

С показом свойств примитива следующее:
Примитив должен иметься в наличии либо в самом файле AutoCAD-а, либо в зоне досягаемости (должен быть активирован доступ к файлу, где расположен объект).
Если это кадовский примитив, то его надо с начала превратить во vla-объект, чтобы возвращаемое значение было #<VLA-OBJECT ТУТ_КАКАЯ_ТО_ХРЕНЬ И_ТУТ_ТОЖЕ>

(vlax-dump-object (vlax-ename->vla-object (car (entsel "выберите объект"))) T)

Потом углубляемся

(vlax-dump-object (vlax-get-property (vlax-ename->vla-object (car (entsel "выберите объект"))) 'Application) T)

Потом еще глубже

(vlax-dump-object (vlax-get-property (vlax-get-property (vlax-ename->vla-object (car (entsel "выберите объект"))) 'Application) 'ActiveDocument) T)

И т.д.

А это (vlax-dump-Object svr t) ??? наверное переменная?
Ну по поводу Лиспа, погуторим как-нибудь в другой теме. Только свисни в какой.

На счет отрицания применения.
1. Приложение должно работать всегда и везде. Не выбивая систему в непонятное состояние. – За, двумя руками.
2. По максимуму учитывать варианты нескольких версий. – Смутно понимаю о чем речь, но я ведь SUPERMAX , значит за все, что MAX.
3. Данные, используемые программно, должны быть скрыты от пользователя по максимуму. Любая привязка к "человеческому фактору" чревата.
Начну с заду. «Человеческий фактор» чреват там, где есть опасение, что не корректное поведение может серьезно навредить делу. Вот в AutoCad-е данные, которые используются программно, такие как настройки стилей, форматов, сценариев открыты пользователю, как в специальных окнах редактирования, так и в текстовой форме, а именно в файлах, которые можно редактировать с помощью блокнота.
Мало того, вы имеете право общаться с программой программно. А что можно написать в командах? Да такое, что сотрет к черту весь винчестер.

Я лишь использую Excel как такое окно, которое лучше СУБД-ешного файла в плане умственной доступности основной массы проектировщиков, а также лучше простого текстового файла тем, что есть ячейки, разделяющие информацию. Можно конечно сделать свой «маршрутизатор», но тут есть одно маленькое обстоятельство. Я контачу с иностранными фирмами, которые производят некоторое, очень популярное у нас в стране оборудование и прога ДОЛЖНА работать по DIN, а это значит, что текст как всплывающих окон, так и маршрутизация данных при распечатке должен быть легко переводим. Особенно маршрутизатор, поскольку содержимое во многих ячейках 1:1 переписывается в лист спецификации. Для всплывающих окон я сделаю англоязычный вариант (хотя простым блокнотом легко можно все изменить хоть на китайский).

Я очень рад, что мои ироничные ограничения вас все-таки чем-то не устраивают.
Ну ехало-болело допустим многим, шахтерам например, сталеварам, покорителям горных вершин и т.п. а вот для СДО, ПТО, фин.отдела... АР, АС, ОВ, ВК, ЭО, ТП... и.т.п. очень даже болело-ехало. И не только в России, а еще Украине, Белоруссии, США, Израиле, Канаде и странах ЕЭС. Смешно? - Это пока вам от них заказ за очень большие деньги не упал. Строят тут, а отчитываются там. Штампы вот изучать приходится. А заполнять их как приятно, без знания языка, обалдеть! А так, Атрибуты их, бланк их, файл с маршрутизацией «по их усмотрению» - тоже их. Все это делаю не я, а ИХ девушки. А я только ваяю и с нашими проектировщиками воюю.
Все НАШИ проблемы после разрешения ИХ проблем автоматически умирают.
И какие угодно бланки, в каком угодно порядке, каким угодно шрифтом (ну нет у меня в программе установленного шрифта, только импортируемое значение из маршрутизатора).
Не разбирался с вашей функцией, но даже невооруженным взглядом видно, что макрос не большой.
Да, привязать можно, но зачем? И что?
По следующему сообщению:
Ну вляпались ребята в СУБД, очевидно. Их судьба теперь все элементы, всех производителей вносить в эту базу и таскать ее за собой.
Код марки вставить – вставили, а остальные параметры (которых к стати раз, два и обчелся) в БАЗУ поместили. Обалдеть! А формат этой базы их собственный, хоть и на MC Acces выполнен. И теперь их формат надо как ГОСТ или DIN утвердить (всего лишь).
Ну про стандарт оформления документации, особенно про толщину линий и выбор шрифта – сколько проектировщиков, столько и мнений. А предпоследний опус очень особенно вот это:
- Но откуда возьмется и как должна быть размещена информация для работы смежников? Конечно, всю информацию по использованному оборудованию можно хранить прямо в модели в качестве атрибутов. Но тогда при регенерации очередного вида (а ведь нередко модель содержит сотни и даже тысячи различных компонентов) будет работать не человек, а кофейный автомат.
Как красиво описано! Какие сравнения! Какой слог! Особенно про «кофейный автомат» мне понравилось. К стати ты не знаешь о чем это они?
Я расставил оборудование и отдал электрикам. Они клацнули по насосу и увидели его мощность, прицепили к нему провода и потянули, куда им надо. Я чего-то не догоняю наверное? О какой информации идет речь? Сделали отдел САПР и пытаются натянуть штаны через голову, вот что это.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 28.3.2007, 8:38
Сообщение #28


CAD Developer


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



Оставлю, наверное, пока за бортом расширенные данные, словарные данные и прочую лабуду - это тема немного отдельного разговора.
А чем отличается в предлагаемой терминологии привязка и объединение? Если и то, и другое выглядит (да, наверное, и реализовывается) одинаково практически?
Цитата
У царя, например атрибутом его царской власти, является скипетр и держава, а также плащ с горностаем.
Означает ли это, что каждый, схвативший скипетр, державу и плащ с горностаем, становится царем? Если да, то я пошел копить деньги на плащ wink.gif
Имя и расположение блока определяется его конкретной вставкой и делать для этого лишние телодвижения, думаю, ни к чему (через entget -> группы 2, 10, 51 и 210; для vla-представления - name, insertionpoint, rotation, normal). Не всегда надо преобразовывать примитив в vla-представление. Если честно, иногда это даже лишнее. DXF Reference пока никто не отменил, насколько мне известно wink.gif
Цитата
А это (vlax-dump-Object svr t) ??? наверное переменная?

svr - Это указатель на СОМ-сервер, созданный из-под акада и с которым я работаю на данный момент. Свое творение, принципиально было важно показать, что методы могут иметь несколько параметров, типы данных которых сразу не скажешь, покумекать надо.
Цитата
«Человеческий фактор» чреват там, где есть опасение, что не корректное поведение может серьезно навредить делу. Вот в AutoCad-е данные, которые используются программно, такие как настройки стилей, форматов, сценариев открыты пользователю, как в специальных окнах редактирования, так и в текстовой форме, а именно в файлах, которые можно редактировать с помощью блокнота.
Мало того, вы имеете право общаться с программой программно. А что можно написать в командах? Да такое, что сотрет к черту весь винчестер.

Я говорю про следующее: например, есть вставка блока (неважно какого). Мне (точнее, лиспу) по барабану, на каком слое, каким цветом и каким типом (или весом) линии он нарисован. Через (_kpblc-ent-ldata-get) я получу, что этот блок содержит в себе, к примеру, следующие данные:
'(("id" . 65) ("tablename" . "usertbl_EO_EquipLightIntRoof") ("spec_name" . "Светильник потолочный") ("conn_ent" . "16F4"))
Что бы пользователь с блоком ни делал (кроме удаления и разбития, конечно), эти данные он не сможет ни удалить, ни поменять. Зато я в любой момент буду знать, что мне для составления спецификации достаточно будет сформировать запрос к БД к таблице usertbl_EO_EquipLightIntRoof примерно такого типа:
Код
select * from usertbl_EO_EquipLightIntRoof where ((([id]=65)));

И получить полные данные об этой единице оборудования. Удалив из них ненужное, можно и таблицу любого состава делать.
Цитата
Я лишь использую Excel как такое окно, которое лучше СУБД-ешного файла в плане умственной доступности основной массы проектировщиков, а также лучше простого текстового файла тем, что есть ячейки, разделяющие информацию

Я в свое время пробовал несложную БДшку нарисовать в Excel'e. Да, все очевидно. Но количество ограничений меня выбило из колеи. А также скорость работы. То, что оно удобно, не всегда означает, что оно правильно. Работа с БД (даже в табличной форме) дает как правило более быстрый и простой в масштабировании решения результат. А написать междумордие (интерфейс) - это задача программиста.
Таскать БД за собой совершенно не обязательно (мало того, вредно). Достаточно положить ее на сервер, прописать права доступа и пользователей. Все, дальнейшая работа выполняется уже по мере надобности. И ничего лишнего.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Supermax_*
сообщение 28.3.2007, 10:05
Сообщение #29





Guest Forum






Ни Grundfos, ни DRV, ни Caprari, ни Varimex, ни Ballomax, ни Ballorex, ни Giacomini, ни еще столько же раз по столько, не будут заполнять твою базу!!!! А только у Grundfos-а более 9000 наименований продукции! Да не отсохнет твоя рука, да не вытекут твои глаза!
В чертеже только ОДИН насос, а чтобы вставить в спецификацию его данные надо иметь а) – сервер, б) – базу на нем, в) - наличие в этой базе данного насоса. Grundfos (а я в этом уверен) оформит свои изделия в виде блоков с атрибутами, а все СУБД-шники будут игнорировать эти атрибуты, вставлять еще один свой с номером элемента в базе и записывать в эту базу то, что уже и так есть в блоке! А чтобы чертеж без их базы посчитать было нельзя – сотрут все атрибуты производителя. 9000 раз будут переписывать в базу и 9000 раз чистить каждый блок. Зато вокруг этой базы, сервера и правил пользования этим хозяйством разведут целый штат «специалистов» и будут, как первый отдел оформлять допуск и проверять на проф. пригодность!

Уважаемый kpblc, Excel я как базу не использую. В Excel-е я разместил перечень разделов и последовательность их вывода при подсчете элементов спецификации. Я это называю «маршрутизатором». Данная фигня показывает данным по какому маршруту им двигаться при складывании в спецификацию. Также в Excel-е я разместил в некоторых ячейках цифры, которые регламентируют расположение и форму выводимых данных в данном столбце, чтобы пользователь мог сам регулировать местоположение и ширину данных в столбце.

Атрибут детали, не есть сама деталь! Атрибут власти, не есть сама власть!

Могу дать совет всем сотрудникам и начальникам отделов САПР (систем автоматизированного проектирования). Есть такое понятие как информационная технология. Есть такое понятие как сопровождение информационной технологии. Самое главное занятие сотрудников отдела САПР – это не сидение на базе, а совершенствование информационных технологий и внедрение их в практику работы института. Люди AutoCAD-ом пользоваться не умеют, рамки и штампы в модели строят. В некоторых подразделениях с кульманом никак не расстанутся, а сапровцы выбивают себе сервер с рейдмассивом, штатные должности, оклады и премии. Все это прикрывают аргументом о необходимости имения единой базы данных элементов и поскольку она ОГОГО требуют прав администратора по доступу к ней.

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

Флаг вам в руки господа! Но нам не по пути.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kpblc
сообщение 28.3.2007, 13:24
Сообщение #30


CAD Developer


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



Раз не по пути, то тогда всего хорошего.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

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

 

Реклама










Последние сообщения Форума





Rambler's Top100 Rambler's Top100

RSS Текстовая версия Сейчас: 7.7.2022, 7:55