DATA TRANSFER FROM AUTOCAD TO ESTIMATE PROGRAM IN EXCEL
Abstract and keywords
Abstract (English):
V stat'e privedeny primery peredachi dannyh dlya sostavleniya smetnoy dokumentacii. Opisany tipovye bloki i harakternye atributy. Predlozheny puti sovershenstvovaniya sistemy

Keywords:
blok, atribut, gidravlicheskaya shema freonoprovodov, specifikaciya
Text
Publication text (PDF): Read Download
Publication text (PDF): Read Download
Publication text (PDF): Read Download
Publication 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")

 

    )

  )

)            

 

Пример заполнения данных

 

References

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/


Login or Create
* Forgot password?