CSCSTI 67.01

DATA TRANSFER FROM AUTOCAD TO ESTIMATE PROGRAM IN EXCEL Data transfer from AutoCad to estimate program in Excel

Published in Construction and Architecture · Volume 5, Issue 3 · Pages 169–182 · Rubric: INFORMATION TECHNOLOGIES IN CIVIL ENGINEERING
DOI: https://doi.org/10.12737/article_59cd061100eff3.30487853
Received: 31.08.2017 Accepted: 31.08.2017
Authors
V stat'e privedeny primery peredachi dannyh dlya sostavleniya smetnoy dokumentacii. Opisany tipovye bloki i harakternye atributy. Predlozheny puti sovershenstvovaniya sistemy
blok, atribut, gidravlicheskaya shema freonoprovodov, specifikaciya
Text References
Text (PDF)
Read Download
Text (PDF)
Read Download
Text (PDF)
Read Download
Text (PDF)
Read Download

Содержание:

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» на схеме обозначается , в качестве атрибута указывается номер клапана.

Блок «Соленойдный вентиль ERV на схеме обозначается , задается значение диаметра трубы.

Блок «Соленойдный вентиль 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. Murzenko Yu.N., Evtushenko S.I. Eksperimental'nye issledovaniya raboty kraevoy zony sbornyh fundamentov pod otdel'nuyu kolonnu i setku kolonn na peschanom osnovanii : monografiya // Izv. vuzov. Sev.-Kavk. region. - Rostov n/D : Izd-vo zhurn. «Izv. vuzov. Sev.- Kavk. region», 2008. -248 s.

2. Sovremennye metody rascheta fundamentov : monografiya / S.I. Evtushenko, A.N. Bogomolov, A.N. Ushakov, S.I. Shiyan // Yuzh.-Ros.gos. tehn. un-t (NPI); Volgograd. Gos. Arh.-stroit. Un-t. - Novocherkassk: YuRGTU(NPI), 2011. - 238 s.

3. Evtushenko S.I. Podgotovka dannyh inzhenerno-geologicheskih izyskaniy k ispol'zovaniyu v PK APOFEOS // Issledovaniya i razrabotki po komp'yuternomu proektirovaniyu fundamentov i osnovaniy: mezhvuz. sb. / Novocherk. gos. tehn. un-t. - Novocherkassk: NGTU, 1993. - S. 90-93.

4. Evtushenko S.I. Metodika ob'ektno-orientirovannogo proektirovaniya pri podgotovke inzhenerno-geologicheskih dannyh dlya raschetov osnovaniy i fundamentov na EVM // Issledovaniya i komp'yuternoe proektirovanie fundamentov i osnovaniy: sb. nauch. tr. / Novocherk. gos. tehn. un-t. - Novocherkassk: NGTU, 1996. - S. 73-76.

5. Murzenko Yu.N., Morgunov V.N., Evtushenko S.I. Razrabotka interfeysa programmnogo kompleksa APOFEOS dlya semeystva operacionnyh sistem Windows // Komp'yuternye tehnologii v nauke, proizvodstve, social'nyh i ekonomicheskih processah: materialy Mezhdunar. nauch.-prakt. konf., g. Novocherkassk, 25 noyab. 2000 g.: v 8 ch. / Yuzh.-Ros. gos. tehn. un-t (NPI). - Novocherkassk: Nabla, 2000. - Ch. 7. - S. 20-23.

6. Anischenko E.Yu., Skibin G.M., Evtushenko S.I. Programmnyy modul' «Optimum» PK «APOFEOS» po mnogokriterial'noy optimizacii parametrov stolbchatyh fundamentov // Izv. vuzov. Sev.-Kavk. region. Tehn. nauki. -2003. - Specvyp.: Matematicheskoe modelirovanie i komp'yuternye tehnologii. - S. 105-106.

7. Anischenko E.Yu., Skibin G.M., Evtushenko S.I. Programma rascheta parametrov stolbchatogo fundamenta na prodavlivanie i treschinoobrazovanie // Komp'yuternye tehnologii v nauke, proizvodstve, social'nyh i ekonomicheskih processah: materialy III Mezhdunar. nauch.- prakt. konf., g. Novocherkassk, 15 noyab. 2002 g.: v 4 ch. / Yuzh.-Ros. gos. tehn. un-t (NPI). - Novocherkassk: OOO NPO «TEMP», 2002. - Ch. 3. - S. 27-30.

8. Evtushenko S.I. Metodika rascheta sbornoy fundamental'noy plity iz strukturnyh elementov s ispol'zovaniem «SCAD» // Izv. vuzov. Sev.-Kavk. region. Tehn. nauki. - 2006. - Pril. № 11. - S. 79-81.

9. Evtushenko S.I., Masnyuk O.I. Vliyanie kosyh reber na rezul'taty rascheta strukturnogo fundamenta v programmnom komplekse SCAD// Izv. vuzov. Sev.-Kavk. region. Tehn. nauki. - 2008. - Specvypusk: Osnovaniya, fundamenty i stroitel'nye konstrukcii.- S. 8 - 10.

10. Evtushenko S.I., Masnyuk O.I. Sravnenie sploshnoy fundamentnoy plity administrativnogo zdaniya v g. Rostove -na -Donu serebristoy plitoy // Stroitel'stvo - 2008: materialy yubileyn. Mezhdunar. nauch.-prakt. konf., g. Rostov n/D.. - Rostov n/D.: Rostov. gos. stroit. un-t, 2008. - S. 44 - 45.

11. Evtushenko S.I., Babec N.N., Pihur V.N. Ispol'zovanie svyazi mezhdu graficheskimi i raschetnymi programmnymi produktami pri proektirovanii // Informacionnye tehnologii v obsledovanii ekspluatiruemyh zdaniy i sooruzheniy: Materialy IX Mezhdunar. nauch.- prakt. konf.; 11 sent. 2009 g., g. Novocherkassk. - Novocherkassk: YuRGTU (NPI), 2009. - S. 22-24.

12. Sistematizaciya defektov fasadov promyshlennyh zdaniy / S.I. Evtushenko, T.A. Krahmal'nyy, M.P. Krahmal'naya, V.E. Shapka, A.B. Aleksandrov // Informacionnye tehnologii v obsledovanii ekspluatiruemyh zdaniy i sooruzheniy : materialy XVI mezhdunarodnoy nauchno-prakticheskoy konferencii, g. Novocherkassk, 15 noyabrya 2016 g. / Yuzhno-Rossiyskiy gosudarstvennyy tehnicheskiy universitet (NPI) imeni M.I. Platova.- Novocherkassk, YuRGPU (NPI), 2016.- s. 132-136

13. AutoCAD Razrabotka prilozheniy, nastroyka i adaptaciya/ N. Poleschuk/ «BHV- Peterburg», 2006.

14. AutoCAD 2010 i AutoCAD LT 2010. Bibliya pol'zovatelya/ E. Finkel'shteyn. Per. s angl. - M. : OOO «I. D. Vil'yams», 2010. - 1360 s.

15. Proektirovanie holodil'nyh ustanovok. Raschety, parametry, primery / G.-Y Braydert, perevod s nemeckogo L.N. Kazancevoy, TERMOKUL TEHNOSFERA, M.- 2006.

16. MICROSOFT EXCEL 2013. Bibliya pol'zovatelya /Dzh. Uokenbah/