Москва, г. Москва и Московская область, Россия
В статье приведены примеры передачи данных для составления сметной документации. Описаны типовые блоки и характерные атрибуты. Предложены пути совершенствования системы
блок, атрибут, гидравлическая схема фреонопроводов, спецификация
Текст произведения (PDF): Читать Скачать
Текст произведения (PDF): Читать Скачать
Текст произведения (PDF): Читать Скачать
Содержание:
1. Введение
2. Блоки с атрибутами как элементы гидравлической схемы
3. Извлечение данных из файла AutoCAD (dwg) в Excel (xls)
4. Обработка данных средствами MS Excel
5. Минимизация возможных ошибок при задании данных
6. Варианты по оптимизации расчетного комплекса программ
7. Литература
8. Приложения
Введение
При работе с проектами сложных объектов большого числа проектировщиков достаточно актуальной становится задача оптимизации внесения данных из гидравлической схемы объекта проектирования, выполненной в программе AutoCAD, в специализированные программы составления сметного расчета данных о расходных материалах. Одним из путей реализации этой задачи и задачи составления спецификации чертежа является извлечение атрибутивных данных специально описанных блоков.
Задача передачи данных из одной программы в другую решалась при разработке большого программного комплекса «АПОФЕОС» [1-6], а также при определении экономической эффективности различных расчетных схем в различных программных комплексах [7 - 11].
Цель работы – оптимизация внесения данных в гидравлическую схему в программе AutoCAD с последующим извлечением данных в смету расходных материалов в формате xls.
Гидравлическая схема фреонопроводов входит в состав исполнительской документации проекта и относится к пятому разделу 5 «Подраздел 5.3.5. Система холодоснабжения». Примеры гидравлических схем приведены на рис. 1.
Рис. 1. Примеры гидравлических схем приведены
Схема вычерчивается в системе AutoCAD с использованием блоков отдельных элементов. После этого необходимо выполнить подсчет расходных материалов (элементов) схемы, их сортировку и помещение в таблицу спецификации. Затем те же данные вбиваются в «Смету расходных материалов» в файл формата Excel и в дальнейшем корректируются при создании коммерческих предложений (документов). Смета не является спецификацией чертежа, но предлагаемый способ извлечения данных позволяет при необходимости внести их значения и в спецификацию чертежа, выполненную по ГОСТ.
Нами предлагается внести в используемые системой AutoCAD блоки специальные поля описания называемые «атрибуты». Это позволяет упростить и систематизировать оформление как самой графической схемы, а также дает возможность в автоматическом режиме получать необходимые данные в табличном виде.
Для извлечения данных из чертежа будем использовать заранее настроенный файл формата “dwg”. В него нужно будет внести расчётную схему путем стандартного копирования данных (нажатие клавиш Ctrl+C или Ctrl+V).
Для запуска процесса используем программу, написанную на внутреннем языке AutoLisp, для удобства интерфейса так же написана программа(dcl) для вывода диалогового окна в AutoCAD.
Блоки с атрибутами как элементы гидравлической схемы.
Элементами схемы в файле формата “dwg” являются динамические блоки с атрибутами. Задание значений атрибутов блока позволяет нам извлекать из чертежа готовую базу данных.
Как правило, на чертеже имеется 6 типов трубопроводов:
- жидкостная труба среднетемпературная. Тэг атрибута - СТ_Ж,
- жидкостная труба низкотемпературная. Тэг атрибута - НТ_Ж,
- труба на всасывание компрессора среднетемпературная. Тэг атрибута - СТ_ВС,
- труба на всасывание компрессора низкотемпературная. Тэг атрибута - НТ_К,
- труба на конденсатор среднетемпературная. Тэг атрибута - СТ_К,
- труба на конденсатор низкотемпературная. Тэг атрибута - НТ_К.
Диаметр трубы может принимать одно из 12 возможных значений диаметра – 10, 12, 15, 18, 22, 28, 35, 42, 54, 67, 80 и 92.
Для внесения данных используется динамический блок с атрибутами:
Рис. 2. Динамический блок
Это позволяет не только считывать данные из блока, но и изменять положение и угол поворота значений атрибутов «по месту» (рис. 3).
Рис. 3. Изображение динамического блока на схеме
Разный цвет отображения атрибута определяет к какому трубопроводу относится значение (жидкость, всасывание, конденсатор).
Таким образом мы получаем возможность извлечь данные в смету расходных материалов с учетом диаметра и функционального использования трубы.
Используемые типовые блоки схемы
Блок «Труба медная» на схеме обозначается .
Заводится значение диаметра и длина участка трубы в Тэг соответствующий типу трубы.
Пример заполнения атрибутов блока в диалоговом окне на чертеже приведен на рис. 4:
Рис. 4. Пример заполнения атрибутов блока «Труба медная»
Блок «Уголок медный 90» на схеме обозначается
Заводится значение диаметра (16) и колличество (2) в Тэг соответствующий типу трубы (рис. 5).
Рис. 5. Пример заполнения атрибутов блока «Уголок медный 90»
Блок «Переходник медный» на схеме обозначается
Блок «Переходник медный» определяется двумя диаметрами и задание их в атрибутов повышает риск ошибки. Для помощи проекктировщикам была выбрана дискретная форма ввода значений из окна выбора (рис. 6):
Рис. 6. Окно выбора диаметров блока «Переходник медный»
Создается блок («Переход медный») не содержащий в себе ничего кроме еще одного блока («Переход медный D-D») содержащего только атрибут. В разных отображениях (видимостях) (visibility) блока «Переход медный» внесен один и тот-же блок - «Переход медный D-D» с атрибутом, но с разными значениями атрибута. Это позволяет сохранить один и тот же тэг Tag(СТ_Ж) по которому будут отсортированы результаты, но при этом каждый раз выбрать необходимое значение предлагаемых переходных диаметров.
Рис. 7. Окно задания атрибутов «Переходник медный»
Блок «Виброгаситель» на схеме обозначается , а в качестве атрибута задается значение диаметра трубы и атрибут соответствующий типу трубы виброгасителя (рис. 8).
В диалоговом окне рис.8 для примера задан диаметр среднетемпературной трубы на всасывание равным 12 мм.
Рис. 8. Окно задания атрибутов «Виброгасителя»
Блок «Тройник медный» на схеме обозначается В качестве атрибута задается диаметр.
Блок «Вентиль шаровой» на схеме обозначается Задается значение диаметра в атрибут соответствующий типу трубы.
Блок «Фильтр жидкостной» на схеме обозначается задается значение диаметра.
Блок «Шумоглушитель» , задается значение диаметра.
Блок «Клапан Шредера» на схеме обозначается подсчитывается общее количество (соответствует числу одноименных блоков)
Блок «Клапанный узел TES-2» на схеме обозначается , в качестве атрибута указывается номер клапана
Блок «Клапанный узел TES-5» на схеме обозначается , в качестве атрибута указывается номер клапана
Блок «Электронный расширительный вентиль AKV10» на схеме обозначается , в качестве атрибута указывается номер клапана
Блок «Электронный расширительный вентиль AKV15» на схеме обозначается , в качестве атрибута указывается номер клапана.
Блок «Соленойдный вентиль ERV3» на схеме обозначается , задается значение диаметра трубы.
Блок «Соленойдный вентиль ERV6» на схеме обозначается , задается значение диаметра трубы.
Блок «Регулятор давления кипения KVP» на схеме обозначается , задается значение диаметра трубы.
Готовая схема собирается их этих 16 типовых блоков и сохраняется в новый файл «Расчетный файл.dwg». В нем будет удобно провести извлечение данных «одним нажатием кнопки» так как он заранее для этого настроен.
Файл для извлечения данных (Расчетный файл.dwg) извлекает :
1. Названия блоков.
2. Тэги атрибутов.
3. Значения атрибутов блоков.
Настройки извлечения данных сохранены в файл в формате “dxe”. При использовании команды «_dataextraction» в программе AutoLisp в качестве настроек будет указан файл “IZVL_HIDRA.dxe”:
(command"-dataextraction")
(command"C:\\АвтоРасчетГидравлика\\IZVL_HIDRA.dxe")
(command"YES")
Для удобства запуска программы AutoLisp создана и настроена на запуск программы новая кнопка в меню программы AutoCAD.
Для выбора вариантов работы программы запрограмировано диалоговое окно приведенное на рис. 9.
Рис. 9. Окно задания вариантов работы
При выборе среднетемпературного контура данные извлекаются в файл «ACAD_EXEL_step1.xls».
При выборе низкотемпературного контура в файл «ACAD_EXEL_step1_NIZ.xls».
Установка галочки «Открыть Смету по расходным материалам» автоматически открывает файлы «ACAD_EXEL_step1.xls», «ACAD_EXEL_step1_NIZ.xls», «Смета_по_расходным_материалам.xls».
Эти файлы находятся по одному постоянному адресу (C:\АвтоРасчетГидравлика) и при каждом новом расчете их содержание обновляется.
Обработка данных средствами MS Excel
Файлы «ACAD_EXEL_step1.xls», «ACAD_EXEL_step1_NIZ.xls» -промежуточные файлы извлеченных данных.
Рис. 10. Содержание файлов Excel
Числовые данные (значения атрибутов) извлекаются автокадом как текст и для дальнейшей обработки их требуется преобразовать в числовой формат. Для преобразования всех значений таблицы в числовой формат можно умножить все значения ячеек на 1 (рис. 11).
Рис. 11. Содержание файлов Excel после их нормализации
Эти преобразования сохраняются во вкладке «Цифра» файла «Смета_по_расходным_материалам.xls» , и происходят автоматически при открытии файла.
В смету расходных материалов данные по длине различных участков трубопровода попадают с использованием функции «СУММЕСЛИМН» условное сумирование с несколькими условиями.
Например ячейка «С8» файла «Смета_по_расходным_материалам.xls» содержит формулу :
=СУММЕСЛИМН(цифра!$E$2:$E$10000;[ACAD_EXEL_step1.xls]Summary!$A$2:$A$10000;"труба медная";цифра!$B$2:$B$10000;"=10")
Эта строка означает, что если в файле «ACAD_EXEL_step1.xls» в столбце «А» встречается текст "Труба медная" (название блока), при этом в ячейке «В» (диаметр жидкостного трубопровода) стоит значение 10, то данные ячейки «B» суммируются в ячейку «С8».
Данные для суммирования берутся из вкладки «Цифра» - …цифра!$B$2:$B$10000… так как арифметические действия можно проводить только с данными переведенными в числовой формат.
Рис. 12. Пояснения к алгоритму реализации расчета
На участке трубопровода также задается мощность характерехующая тепловое напряжение на участке(3500 Вт), но в смете расходных материалов эти значения не используются.
В строках, где необходим подсчет колличества элементов схемы(вентили, клапана, соленойды и.т.д.) используется функция «СЧЁТЕСЛИМН».
На пример:
=СЧЁТЕСЛИМН([ACAD_EXEL_step1_NIZ.xls]Summary!$A$2:$A$10000;"Переход медный D-D";[ACAD_EXEL_step1_NIZ.xls]Summary!$E$2:$E$10000;"=54-42")
Если в файле «ACAD_EXEL_step1.xls» в строке встречается название блока "Переход медный D-D"( столбец «А»), значения диаметров переходника "54-42" (столбец «E»), в ячейку «С84» файла «Смета_по_расходным_материалам.xls» прибавляется единица.
Чтобы исключить из конечной сметы формулы и оставить только окончательные результаты в виде числовых значений используем макрос MS Visual Basic :
Sub схема()
Application.ScreenUpdating = False
ActiveSheet.Copy After:=Sheets(Sheets.Count)
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
ActiveSheet.Move
Application.ScreenUpdating = True
End Sub
Для удобства запуска макроса назначается горячая клавиша.
В результате получаем файл с цифровыми значениями, без формул в ячейках и связей с другими файлами.
Алгоритм действия при расчете готовой схемы следующий:
1. Копирование схемы в расчетный файл./АВТОКАД/
2. Запуск AutoLisp программы( кнопка в автокаде). /АВТОКАД/
3. Выбор типа схемы в диалоговом окне(среднетемпературная или низкотемпературная). /АВТОКАД, при нажатии ОК средствами AutoLisp открываются файлы Excel/
4. Запуск макроса Excel горячей клавишей. /Exel/.
Полученые данные из сметы формата xls импортируются в программу «1С предприятие» и используются для составления коммерческих документов (например выставление счета клиенту).
Минимизация возможных ошибок при задании данных
Важно понимать, что в ручном методе подсчета, возможность ошибки сосредоточена в механическом подсчете и сортировке данных. Вероятность совершить такую ошибку достаточно высока.
В программном способе обработке данных ошибка подсчета исключается, но сохраняется риск совершить ошибку при задании данных в блоки.
Возможные ситуации:
- неточно заведены числовые значения
В данном случае все зависит от аккуратности оператора.
Возможна автоматизированная проверка заведенных значений атрибутов.
- не все значения атрибутов заведены в схему
В файле шаблона в атрибутах установлено значение “#”. Его наличие в извлеченных данных отслеживается и в конечном файле сметы появится соответствующее уведомление (рис. 13).
Рис. 13. Уведомление об ошибке
- в файле присутствуют блоки не входящие в схему.
Внесение схемы в расчетный файл путем копирования выбранной области исключает появление посторонних блоков с атрибутами.
В условных обозначениях используются не блоки с атрибутами, а их изображение в виде WMF файла.
- промежуточный расчетный файл не обновился при извлечении данных в новый расчет попадут устаревшие данные.
Такая ситуация возможна если промежуточный расчетный файл по каким-то причинам открыт и его перезапись невозможна.
Для того чтобы отследить это в файле «Смета_по_расходным_материалам.xls» справа от рабочей таблицы указывается точное время создания промежуточных файлов, оно должно соответствовать текущему времени расчета.
Это делается с помощью макроса Excel:
Рис. 13. Уведомление об ошибке
Можно отследить время и дату извлеченных данных на которых основан расчет.
Направления оптимизации комплекса программ
Нам видятся два направления оптимизации комплекса. Первый написать подпрограмму отслеживающую возможность заведения в атрибуты только фиксированные значения, на пример для диаметров – {10,12,15,18,22,28,35,42,54,67,80,92}.
Создать маркер подсвечивающий не заведенные значения на схеме, это даст возможность быстрее отыскивать их на схеме.
Второй вариант оптимизации состоит в следующем. Техническое задание по данному проекту предусматривало расчет длин трубопроводов по значению атрибута блока - по заданному числовому значению, (это связано с методикой вычерчивания схемы инженером-холодильщиком), но более перспективным видится возможность считывать длину трубопровода непосредственно с длины 3D-полилиний на чертеже, так как это будет иметь более точную привязку к элементам конструкции здания и позволит избежать возможных ошибок при вводе числовых значений.
Приложения
Код программы для диалогового окна на языке DCL.
dia : dialog {
label = " Расчет гидравлической схемы";
fixed_height = true;
: spacer{height=1;}
: image {height = 8;width = 17;color = 0;key = "GID";}
: boxed_column { label = "Выберите расчитываемый контур";
: radio_row {
: radio_button {key = "ST"; label = "среднетемпературный "; }
: radio_button {key = "NT"; label = "низкотемпературный"; }
: spacer{height=5;}
}
}
: radio_row {
: text {label = " "; }
: toggle { label = "открыть Смету по расходным материалам"; key = "XLV"; value = "0"; }
}
: spacer{height=2;}
: row {
ok_button;
cancel_button;
}
}
Код программы на AutoLisp
(defun C:SHS()
;;;--- Load the dcl file
(setq dcl_id (load_dialog "dia.dcl"))
(setq onof 0)
;;;--- Load the dialog definition if it is not already loaded
(if (not (new_dialog "dia" dcl_id))
(progn
(exit)
)
)
;;;--- If an action event occurs, do this function
;(action_tile "ST" "(setq ddiag 2)(saveVars)(done_dialog)")
;(action_tile "ST" "(setq ddiag 1)(done_dialog)")
(setq what_next 8)
(while (< 2 what_next)
(start_image "GID")
(setq rix (dimx_tile "GID"))
(setq riy (dimx_tile "GID"))
(slide_image 0 0 1000 100 "GG" )
(end_image)
(action_tile "ST" "(setq on_rad $key)")
(action_tile "NT" "(setq on_rad $key)")
(action_tile "XLV" "(setq onof $value)")
;(action_tile "accept" "(done_dialog 1) (ok_tab)")
(action_tile "accept" "(done_dialog)")
(action_tile "cancel" "(exit)")
(setq what_next (start_dialog))
)
(unload_dialog dcl_id) ; Unload the DCL file
; (setq relst ret_value1)
(princ onofxl)
(if (= on_rad "ST" )
(progn
(command"-dataextraction")
(command"C:\\АвтоРасчетГидравлика\\IZVL_HIDRA.dxe")
(command"YES")
)
)
(if (= on_rad "NT" )
(progn
(command"-dataextraction")
(command"C:\\АвтоРасчетГидравлика\\IZVL_HIDRA_NIZ.dxe")
(command"YES")
)
)
(if (= onOF "1" )
(progn
(startapp "C:\\Program Files (x86)\\Microsoft Office\\Office14\\excel.exe""C:\\АвтоРасчетГидравлика\\ACAD_EXEL_step1.xls C:\\АвтоРасчетГидравлика\\ACAD_EXEL_step1_NIZ.xls C:\\АвтоРасчетГидравлика\\Смета_по_расходным_материалам.xls")
)
)
)
Пример заполнения данных
1. Мурзенко Ю.Н., Евтушенко С.И. Экспериментальные исследования работы краевой зоны сборных фундаментов под отдельную колонну и сетку колонн на песчаном основании : монография // Изв. вузов. Сев.-Кавк. регион. - Ростов н/Д : Изд-во журн. «Изв. вузов. Сев.- Кавк. регион», 2008. -248 с.
2. Современные методы расчета фундаментов : монография / С.И. Евтушенко, А.Н. Богомолов, А.Н. Ушаков, С.И. Шиян // Юж.-Рос.гос. техн. ун-т (НПИ); Волгоград. Гос. Арх.-строит. Ун-т. - Новочеркасск: ЮРГТУ(НПИ), 2011. - 238 с.
3. Евтушенко С.И. Подготовка данных инженерно-геологических изысканий к использованию в ПК АПОФЕОС // Исследования и разработки по компьютерному проектированию фундаментов и оснований: межвуз. сб. / Новочерк. гос. техн. ун-т. - Новочеркасск: НГТУ, 1993. - С. 90-93.
4. Евтушенко С.И. Методика объектно-ориентированного проектирования при подготовке инженерно-геологических данных для расчетов оснований и фундаментов на ЭВМ // Исследования и компьютерное проектирование фундаментов и оснований: сб. науч. тр. / Новочерк. гос. техн. ун-т. - Новочеркасск: НГТУ, 1996. - С. 73-76.
5. Мурзенко Ю.Н., Моргунов В.Н., Евтушенко С.И. Разработка интерфейса программного комплекса АПОФЕОС для семейства операционных систем Windows // Компьютерные технологии в науке, производстве, социальных и экономических процессах: материалы Междунар. науч.-практ. конф., г. Новочеркасск, 25 нояб. 2000 г.: в 8 ч. / Юж.-Рос. гос. техн. ун-т (НПИ). - Новочеркасск: Набла, 2000. - Ч. 7. - С. 20-23.
6. Анищенко Е.Ю., Скибин Г.М., Евтушенко С.И. Программный модуль «Optimum» ПК «АПОФЕОС» по многокритериальной оптимизации параметров столбчатых фундаментов // Изв. вузов. Сев.-Кавк. регион. Техн. науки. -2003. - Спецвып.: Математическое моделирование и компьютерные технологии. - С. 105-106.
7. Анищенко Е.Ю., Скибин Г.М., Евтушенко С.И. Программа расчета параметров столбчатого фундамента на продавливание и трещинообразование // Компьютерные технологии в науке, производстве, социальных и экономических процессах: материалы III Междунар. науч.- практ. конф., г. Новочеркасск, 15 нояб. 2002 г.: в 4 ч. / Юж.-Рос. гос. техн. ун-т (НПИ). - Новочеркасск: ООО НПО «ТЕМП», 2002. - Ч. 3. - С. 27-30.
8. Евтушенко С.И. Методика расчета сборной фундаментальной плиты из структурных элементов с использованием «SCAD» // Изв. вузов. Сев.-Кавк. регион. Техн. науки. - 2006. - Прил. № 11. - С. 79-81.
9. Евтушенко С.И., Маснюк О.И. Влияние косых ребер на результаты расчета структурного фундамента в программном комплексе SCAD// Изв. вузов. Сев.-Кавк. регион. Техн. науки. - 2008. - Спецвыпуск: Основания, фундаменты и строительные конструкции.- С. 8 - 10.
10. Евтушенко С.И., Маснюк О.И. Сравнение сплошной фундаментной плиты административного здания в г. Ростове -на -Дону серебристой плитой // Строительство - 2008: материалы юбилейн. Междунар. науч.-практ. конф., г. Ростов н/Д.. - Ростов н/Д.: Ростов. гос. строит. ун-т, 2008. - С. 44 - 45.
11. Евтушенко С.И., Бабец Н.Н., Пихур В.Н. Использование связи между графическими и расчётными программными продуктами при проектировании // Информационные технологии в обследовании эксплуатируемых зданий и сооружений: Материалы IX Междунар. науч.- практ. конф.; 11 сент. 2009 г., г. Новочеркасск. - Новочеркасск: ЮРГТУ (НПИ), 2009. - С. 22-24.
12. Систематизация дефектов фасадов промышленных зданий / С.И. Евтушенко, Т.А. Крахмальный, М.П. Крахмальная, В.Е. Шапка, А.Б. Александров // Информационные технологии в обследовании эксплуатируемых зданий и сооружений : материалы XVI международной научно-практической конференции, г. Новочеркасск, 15 ноября 2016 г. / Южно-Российский государственный технический университет (НПИ) имени М.И. Платова.- Новочеркасск, ЮРГПУ (НПИ), 2016.- с. 132-136
13. AutoCAD Разработка приложений, настройка и адаптация/ Н. Полещук/ «БХВ- Петербург», 2006.
14. AutoCAD 2010 и AutoCAD LT 2010. Библия пользователя/ Э. Финкельштейн. Пер. с англ. - М. : ООО «И. Д. Вильямс», 2010. - 1360 с.
15. Проектирование холодильных установок. Расчеты, параметры, примеры / Г.-Й Брайдерт, перевод с немецкого Л.Н. Казанцевой, ТЕРМОКУЛ ТЕХНОСФЕРА, М.- 2006.
16. MICROSOFT EXCEL 2013. Библия пользователя /Дж. Уокенбах/