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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > И снова про спецификацию. Как её автоматизировать?

И снова про спецификацию. Как её автоматизировать?

Закрытая тема
Поиск в этой теме
Непрочитано 16.04.2017, 23:24
И снова про спецификацию. Как её автоматизировать?
Tregart
 
Регистрация: 10.04.2011
Сообщений: 250

Приветствую всех!

В очередной раз задаюсь вопросом автоматизирования спецификации в автокаде. Нужно в стандартную спецификацию (Форма 1 по ГОСТ 21.110-2013) автоматически вписывать количество блоков с атрибутами, которые есть на чертеже.
Казалось бы - решение простое. Создаешь атрибуты по количеству колонок, где наименование каждого атрибута соответствует колонке в гостовской таблице и радуешься. Но не тут-то было! В наименовании атрибутов нельзя использовать пробелы, поэтому нельзя создать, например, атрибут "Тип, марка, обозначение документа, опросного листа".

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

Можно ли как-то заставить автокад складывать атрибуты блоков в заранее предопределённые столбцы? Чтобы атрибут "ИМЯ" оказывался в столбце таблицы "Наименование и техническая характеристика оборудования ", а "МАРКА" в "Код оборудования, изделия, материалов"? А то ей-Богу. 21-й век на дворе, а таблицы руками делать приходится.

Спасибо!

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

Вложения
Тип файла: zip Пример спецификации - Standard.zip (63.0 Кб, 163 просмотров)

Просмотров: 23870
 
Непрочитано 17.04.2017, 15:16
#21
baksconstructor


 
Регистрация: 05.11.2014
Сообщений: 978


Tregart вот накидал пример, вам уж самому под себя настройки менять (методом проб и ошибок, я так делал)
https://youtu.be/mOv4W9Gxda4
baksconstructor вне форума  
 
Автор темы   Непрочитано 17.04.2017, 15:29
#22
Tregart


 
Регистрация: 10.04.2011
Сообщений: 250


))) Понятно. Буду разбираться.

----- добавлено через ~2 мин. -----
baksconstructor
Хм. Интересно работает. Надо будет попробовать.
Tregart вне форума  
 
Автор темы   Непрочитано 20.04.2017, 14:20
#23
Tregart


 
Регистрация: 10.04.2011
Сообщений: 250


В-общем вот так у меня получилось автоматизировать мой процесс. В эксель можно выгружать автоматом, поставив соответствующую галку при настройке извлечения данных
Вложения
Тип файла: zip Чертеж1 - Standard.zip (80.8 Кб, 56 просмотров)
Tregart вне форума  
 
Непрочитано 22.04.2017, 15:58
| 1 #24
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,002


Как в 2008 акаде появилось улучшенное извлечение данных - только ленивый не пытался использовать эту функцию для получения спецификаций) Только, во первых - это стандартная возможность акада и к ветке программирования отношения не имеет. Во вторых, сомнительное удовольствие разбиения спецификации по листам и ВЭ на них, внесение в подшивку (без подшивки ориентироваться во всех этих листах еще больше удовольствие. Хотя некоторые даже текстовую часть в акаде делают - дело вкуса и желания использовать инструменты по назначению). В третьих - как учитывать те же изделия и материалы, которые могут и отсутствовать в чертеже (а также как учитывать запасы кабеля того же). В четвертых - на чертеже может быть один УГО, а по факту за ним "прячутся" несколько изделий - например, считыватели и исполнительное устройство системы СКУД (это актуально на больших вытянутых в длину объектах, чтобы потом их можно было распечатать на вменяемые форматы при сохранении читаемости чертежа). И т.д.
Сергей812 вне форума  
 
Автор темы   Непрочитано 23.04.2017, 11:44
#25
Tregart


 
Регистрация: 10.04.2011
Сообщений: 250


Цитата:
только ленивый не пытался использовать эту функцию для получения спецификаций)
Что значит "пытался"? ИМХО, извлечение данных сделано и для этого тоже.

Цитата:
Только, во первых - это стандартная возможность акада и к ветке программирования отношения не имеет.
Я тему в основной ветке создал, не знаю зачем её сюда переместили. ИМХО, не место её тут.

Цитата:
Во вторых, сомнительное удовольствие разбиения спецификации по листам и ВЭ на них, внесение в подшивку
Ну при условии, что у меня спецификация 2-3 листа, еще листов 5-6 графической части, плюс таблица оборудования - не так много листов получается. В среднем не больше 10-15 в одном проекте (не считая ПЗ).

Цитата:
В третьих - как учитывать те же изделия и материалы, которые могут и отсутствовать в чертеже
Ну их можно наносить на чертеж, только на непечатаемый слой. ИМХО, удобно. И в чертеже ориентируешься и на бумаге загромождения нет.

По запасам кабеля - ну конечно хочется, чтобы в автокаде была большая красная кнопка с надписью "сделать проект", но увы. Пока такого функционала нет - приходится руками.
Tregart вне форума  
 
Непрочитано 23.04.2017, 11:55
#26
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,002


Цитата:
Сообщение от Tregart Посмотреть сообщение
По запасам кабеля - ну конечно хочется, чтобы в автокаде была большая красная кнопка с надписью "сделать проект", но увы. Пока такого функционала нет - приходится руками.
Судя по примеру - вы слаботочник) Значительную часть времени разработки спецификации составляет как раз подсчет кабелей, так же много времени занимает кабельный журнал. Но это уже 100% программирование либо переход на вертикалки.
Сергей812 вне форума  
 
Автор темы   Непрочитано 23.04.2017, 12:20
#27
Tregart


 
Регистрация: 10.04.2011
Сообщений: 250


В точку) Слаботочник.

По подсчёту кабелей - решаю с помощью GeomProps.
Выношу однотипные кабеля в свои слои, далее "Выбрать подобные" - получил длину кабеля.

Просьба к модераторам - перекиньте тему в основную ветку, ибо программированием тут и не пахнет.
Tregart вне форума  
 
Непрочитано 23.04.2017, 12:52
#28
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,002


Ну по сути вы изобрели велосипед заново 10 летней давности, надо все таки двигаться дальше в плане удобства пользования) Благо ничего сложного - чтобы подключиться из того же экселя к активному документу акада и сграбить данные:
Код:
[Выделить все]
Public Sub GetDataAcadExample()
  Dim lAcadApp As Object
  Set lAcadApp = GetObject(, "AutoCAD.Application")
  Dim lActiveAcadDoc As Object
  Set lActiveAcadDoc = lAcadApp.ActiveDocument
  Dim lCountItems As Long: lCountItems = lActiveAcadDoc.ModelSpace.Count
  Dim I1 As Long
  For I1 = 0 To lCountItems - 1
    Dim lAcadObj As Object
    Set lAcadObj = lActiveAcadDoc.ModelSpace.Item(I1)
    ' А дальше определяете тип примитива и обрабатываете его
    ' Примеров в инете для акада более чем

  Next I1
  Set lActiveAcadDoc = Nothing
  Set lAcadApp = Nothing
End Sub
естественно, это надо обкрутить обработчиками ошибок (еще десяток строк).
Сергей812 вне форума  
 
Автор темы   Непрочитано 23.04.2017, 13:30
#29
Tregart


 
Регистрация: 10.04.2011
Сообщений: 250


Спасибо, конечно. Но я в программировании ни бум-бум и слабо представляю что у вас написано.
Tregart вне форума  
 
Непрочитано 23.04.2017, 13:43
#30
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,002


это дополнение к посту №16) Ну вы свой вариант когда опробуете на более менее больших проектах - поймете, что это (извлечение данных) лишь вспомогательные костыли от аутодеска для тех - кому совсем лень)
Сергей812 вне форума  
 
Непрочитано 23.04.2017, 14:55
#31
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Как в 2008 акаде появилось улучшенное извлечение данных - только ленивый не пытался использовать эту функцию для получения спецификаций) Только, во первых - это стандартная возможность акада и к ветке программирования отношения не имеет. Во вторых, сомнительное удовольствие разбиения спецификации по листам и ВЭ на них, внесение в подшивку (без подшивки ориентироваться во всех этих листах еще больше удовольствие. Хотя некоторые даже текстовую часть в акаде делают - дело вкуса и желания использовать инструменты по назначению).

В третьих - как учитывать те же изделия и материалы, которые могут и отсутствовать в чертеже (а также как учитывать запасы кабеля того же).

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

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

Чтобы "автоматически" получить "Кол" давно известны все примитивные и изощренные приемы. У всех них одно общее - "позиция" должна быть "нарисована". То ли в виде блока с атрибутами, то ли в виде Custom-объекта с техническими данными, то ли в виде "палочки" с привязанными расширенными данными. При этом очень много времени тратится на само создание объектов - надо ведь не просто поставить значки УГО, но еще с каждым связать его технические данные. Которые на момент "рисования" еще могут быть и неизвестны.

Потом эти данные можно собрать, извлечь используя "400 сравнительно честных способов" и начинать оформлять. Тут уж кто во что горазд, больше на Excel надеются.

А в итоге оказывается, что в СО (денежном документе) очень многое вообще пропущено или "машина насчитала" неверное количество.

Мы много лет используем другой подход.

Вся основная работа со спецификациями ведется в самостоятельной программе, основанной на работе с базами данных. Спецификации могут составляться для любых марок и стадий, выводиться в разных формах. Текст "позиций" формируется с использованием справочников оборудования, заводов, единиц измерения и прочего. В спецификацию могут быть вставлены готовы фрагменты, т.е. типовые наборы всяких позиций. Строки СО могут автоматически нумероваться, сортироваться. База СО объекта может быть выведена в нескольких формах из одних и тех же данных, включая калькуляцию стоимости (это для "менеджеров"), ведомость объемов работ, опросные листы, чертежи НО.

А что касается Количества, то его для 90% оказывается проще заполнить вручную. Но есть и "волшебная" кнопка Взять в AutoCAD. К этой кнопке изощренный любитель "как следует помучиться" может привязать любую собственную программу (функцию). Для этого в программе есть специальный интерфейс - достаточно заполнить 5 переменных в INI-файле и можете "сосчитывать" чего угодно и каким угодно способом.

Опыт показал, что наибольшим успехом пользуются самые простые методы, например Измерить длины или Указать штуки. В этом случае вообще не требуется, чтобы в момент рисования была привязана какая-то информация - все может быть "палочками".

Прилагаю скриншот одного из вариантов программы.
Миниатюры
Нажмите на изображение для увеличения
Название: so_app.jpg
Просмотров: 151
Размер:	211.3 Кб
ID:	187007  
ShaggyDoc вне форума  
 
Непрочитано 23.04.2017, 15:15
#32
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,002


и тут опять возвращаемся к старой холиварной теме - как хранить данные в чертеже: либо каждый пользовательский объект снабжать полным описанием его характеристик (раздувая файл сотнями и тысячами одинаковых данных), либо в объекте хранить лишь идентификатор (ключ) внешней БД. Это уже обсуждалось тут на форуме.
Сергей812 вне форума  
 
Непрочитано 23.04.2017, 19:14
#33
kwamp

проектировщик
 
Регистрация: 13.10.2012
Златоуст
Сообщений: 15


На рабочем месте Есть голый автокад 2012 и опенофис, с которым связь акада не сделать. Беру акад, создаю в нем блок с атрибутами: Описание, Тип, Код, Поставщик, Количество, Примечания, все скрытые. В редакторе блоков для блока добавляю параметр Таблица свойств, в ней добавляю указанные атрибуты. Получается спецификация по ГОСТ. Ее надо заполнить. Беру прайсы производителей, из них дергаю инфу в файл Calc опенофиса с аналогичными стобюцами: Описание, Тип, Код и т.д. Из Калька передергиваю массив данных в таблицу свойств блока. Сохраняю. В блок добавляю параметр видимости. Каждой видимости присваиваю свое УГО, название каждой видимости соответсвует строке из таблицы свойств. Сохраняю, закрываю. Получаю блок с двумя кнопками, одна дает выбор УГО с названием типа, другая кнопка - список типов из таблицы свойств. Выбираем тот, который соответсвует выбранному типу по певой кнопке. Все получили именно тот УГО, у которого название совпадает с данными для спецификации. Копируем блоки, меняем УГО и параметры. Потом делаем извлечение данных, получаем таблицу спецификации, выгружаем ее в автокад и настраиваем оформление. Все спецификация готова. По ГОСТ. При редактировании, изменяя количество и типы блоков, имеем возможность обновления спецификации. Чем не то, что хотели? Один раз помучиться, потом получать удовольствие. Есть еще момент оформления итоговой сводной спецификации. Я ее в отдельной файле сделал, в модели динамический блок разлиновки столбиков и строк спецификации с возможностью добавления строк кратно лиистам. В листах шапка спецификации с привязкой в каждом листе к своему видовому экрану. Можно хоть 60 листов сделать, как заготовку. Потом использовать. Сначала получаем спецификацию на чертеже, плане по разделу. Коприуем ее, разбиваем, разбитую в итоговую спецификацию в отдельном файле вставояем и т.д. Уфф. как-то так
kwamp вне форума  
 
Непрочитано 23.04.2017, 19:24
#34
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,002


Голый акад - это LT? А экономить на минимальном пакете нормального офиса (word + excel), разорившись на акад - чувствуется рука эффективного менеджмента)
Сергей812 вне форума  
 
Непрочитано 24.04.2017, 07:49
#35
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


Цитата:
как хранить данные в чертеже: либо каждый пользовательский объект снабжать полным описанием его характеристик (раздувая файл сотнями и тысячами одинаковых данных), либо в объекте хранить лишь идентификатор (ключ) внешней БД.
AutoDESK давно определился - фитинги для напорных трубопроводов в Civil 3D хранятся в .CONTENT файлах
Цитата:
At this point the command is going to create a .CONTENT file. This file is a zipped up content file that contains three files.
1. A new .DWG that contains the 3D Solid and Line
2. A new .XML file that provides connection point information about the part
3. A new image file (.PNG) that represents the preview image of the model.
А сама БД труб и фитингов в Metric_Ru_Steel_ND_100mm_to_1400mm.sqlite
trir на форуме  
 
Непрочитано 24.04.2017, 09:46
#36
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от trir Посмотреть сообщение
AutoDESK давно определился - фитинги для напорных трубопроводов в Civil 3D хранятся в .CONTENT файлах
Это опять же привязка к собственному, индивидуальному формату. Да у него во всех "вертикальных" решениях нечто подобное. Причем сделанное до предела неудобно на этапе "рисования".

Базы данных (хоть оборудования, хоть самих спецификаций) должны быть универсальными. Желательно в одном из "промышленных" форматов. Чтобы их можно было использовать и в любых CAD-системах, и в других программах - например для формирования заявок, учета).
ShaggyDoc вне форума  
 
Непрочитано 24.04.2017, 09:53
#37
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


Я про то, что дополнительные данные они хранят в xml, а не dwg. А для БД используют sqlite.
trir на форуме  
 
Автор темы   Непрочитано 24.04.2017, 21:04
#38
Tregart


 
Регистрация: 10.04.2011
Сообщений: 250


Цитата:
Добавлю к " и т.д.". Почему-то для не очень опытных проектировщиков самым главным кажется автоматически получить "количество" - чего угодно, кабелей, труб, изделий. Ну, западло вручную считать.
Дело не в западло, а в "не ошибиться". Чтобы потом не получилась ситуация, что проектировщик прошляпил какой-либо блок или их количество.

Цитата:
Вот здесь и надо, чтобы "щелкнул кнопку" - и вывелось сто или больше оформленных страниц СО.
Ну вы опять исключительно со своей колокольни мыслите. У меня спецификации - сорок позиций максимум. Зачем мне пляски с базами данных?

kwamp

Можете пример выложить? Не улавливаю ход вашей мысли.
Tregart вне форума  
 
Непрочитано 24.04.2017, 21:15
#39
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Tregart будет вам счастье... надеюсь через месяц получится.
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Непрочитано 24.04.2017, 21:35
#40
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,002


Цитата:
Сообщение от Tregart Посмотреть сообщение
Дело не в западло, а в "не ошибиться". Чтобы потом не получилась ситуация, что проектировщик прошляпил какой-либо блок или их количество.
для этого в БД описываются логические взаимосвязи оборудования) Т.е., например, заказаны ИБП, а аккумуляторные батареи к ним нет.
Сергей812 вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > И снова про спецификацию. Как её автоматизировать?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему объекты внешней ссылки не попадают в спецификацию ADT?... kurstep Вертикальные решения на базе AutoCAD 14 08.02.2017 10:33
Revit 2016. Как создать спецификацию на разные категории? Modis Revit 8 05.07.2016 23:51
Кто должен выполнять спецификацию кровельных фасонных изделий по маркам PACOMP Профессии и трудовые отношения 7 08.10.2015 06:31
Автоматизация внесения изменений в сквозную спецификацию проекта wol1 AutoCAD 5 24.02.2014 15:39
Как сохранить созданную спецификацию как шаблон? (Autocad Mep 2011) MagaShpaga Вертикальные решения на базе AutoCAD 22 26.05.2011 13:26