Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
УДК 004.896:004.4
Особенности использования программных средств
для модификации AutoCAD
, к. т.н., доцент, директор ЧП “ТехноКАД”, Auotodesk Authorized Dealer
На данное времясегодня в мире созданосуществует множество существует много систем автоматизированного проектирования. , Каждая каждая из них имеетсо своими преимуществами и свои недостатками. В зависимости от назначения и областисферы использованияих применения Все все эти САПР системы можно условно разделить на категориигруппы, в зависимости от их назначения и области использования. Так оОдни системы системы более пригодны для машиностроения, использования в кораблестроительныхения, машиностроительных и других технических областяхобластей. , возможности Другие других оптимальнысистемы более пригодны для выполнения работ в таких областях как геодезияи, картографиякартографии, гидрографияи и других…. С учетом всего разнообразия работвозможных применений , которые должны призваны выполнятьк системы автоматизированного проектированСАПРия, к ним выдвигаются предъявляюется определенныецелый ряд требованиятребований.: Это, прежде прежде всего, это удобный графический пользовательский интерфейс пользователя, качественная графика и наличие средств программирования для решения более специфических и специализированных задач.
Особого внимания среди CAD-систем заслуживает программный комплекс система автоматизированного проектирования AutoCAD. Данная Эта система автоматизированного проектирования программа не только предоставляет пользователю удобный графический интерфейс и демонстрирует обеспечивает получение высококачественную высококачественной графикуграфики, но и имеет располагает достаточно широкийм набором как инструментов как для черчения, так и для программирования. С помощью средств программированияП пользователь может модифицировать графический интерфейс AutoCAD системы AutoCAD, расширять функциональные возможности, добавлять в программу новые команды, новые функциональные возможности. Гибкая Гибкую система систему программирования в AutoCAD – мы бы и назвалиесть главным главным преимуществом м AutoCADпрограммы. Все Практическиили почти все, что мы выполняем все операции, выполняемые в среде AutoCAD, собственноручно, можно реализовать программно. – для этого в AutoCADсистеме предусмотрено предусмотрены несколько механизмов и средств. Это, во-первых, средства создания сценариев, а во-вторых, и возможность использование использования языков программирования.
К средствам программирования AutoCAD относятся такие языки программирования как Visual C++, AutoLisp, Visual Basic for Application (VBA), ARX, DCL. Каждый из этих языков имеет свои преимущества и свои недостатки.
Будучи частью AutoCADа, AutoLisp позволяет оперировать с переменными различных типов и передавать их значения командам AutoCADа при вводе данных. При ответах на запросы команд АutоCADAutoCADa можно такжесуществует возможность использовать выражения АutоLіsра, в которых могут выполняться различные арифметические и условные операции над числовыми значениями и значениями определенных переменных.
Кроме Помимо средств выполнения различных перерасчетов, AutoLisp содержит в себе функции и средства, которые предоставляют доступ к графической базе данных текущего чертежа АutоCADAutoCADa. Кроме того, AutoLisp позволяет также управлять графическим редактором АutоCADAutoCADa и обращаться к собственным командам АutоCADсистемыa. Благодаря возможностям Программы программ АutоLіsр позволяют создаватьются функции, настроенные на конкретную предметную область применения функции,. которые Эти функции включают в себя запросы к пользователю (диалоги), возможность выбора по условию из нескольких вариантов или использования нескольких значений по умолчанию. Хотя макроопределения, которые можно создаватьнные при написании меню АutоCADAutoCADa, могут быть довольно сложными и могущественными, без впри отсутствиеи АutоLіsра они представляют собойостаются всего лишь комбинациями стандартных команд АutоCADсистемыa. Включениемив же в меню функций макроопределения АutоLіsр в меню функций, можновы превращаете превратить меню АutоCADAutoCADa в интеллектуальное средство автоматизации проектирования.
Коротко перечислим возможности, которые обеспечивает AutoLisp разрешает:
· использовать использование переменные переменных и выражения выражений при ответах на запросы команд AutoCAD;
· читатьение и писать создание внешниех файлыфайлов, (и таким образом осуществляется обмениваться обмен информацией с внешними программами, которые можно запускать из AutoCAD);
· создавать создание различные различных функции функций и новые новых команды АutоCADaAutoCAD, что обеспечивает настраивая настройку и расширяяение в такой способ графическиех возможностией АutоCADсистемыa;
· осуществлять программный доступ (считывание чтение и изменениередактирование) к данным, которые относятся к объектам черченияпроектирования, а также к таблицам АutоCADAutoCADa, в которых сохраняетсясодержащим информация информацию о блоках, слоях, видах, стилях и типах линий;
· осуществлять программное управление графическим экраном АutоCADAutoCADa и, а также вводом/выводом из различных устройств.
Особенностью Заметим, что AutoLispа есть то, что он может использоваться для автоматизации процесса создания черченияпроектирования почти в любой области народного хозяйства,: начиная от машиностроительной машино- или кораблестростроенияительной области и заканчиваядо проектированием при выполненныеия строительныхства, геодезических геодезии и картографических работ.
Например, нНа AutoLisp очень легконе составляет большого труда написать программу для автоматического черченияотрисовки любой детали любой с высоким уровнем сложности. А Так-какпоскольку AutoLisp есть представляет собой языком создания интеллектуальных систем и имеет располагает широкий широким набором математических функций, то данный язык программированияон подходит для выполнения сложных математических расчетов любой сложности с дальнейшим последующей передачей внесением результатов в графическую среду АutоCADaAutoCAD.
Приведем лишь один из примеров использования возможностей этого языка. В гидрографии для позиционирования судна используется стадиометрическая сетка. Если создавать ее вручную, это потребует нескольких дней. А, а созданная на AutoLisp программа выполняет все построения в течение считанных секунд (рис. 1).
В то же время у AutoLisp есть, одиного из старейших языков АutоCADaAutoCAD, но он имеетесть и серьезный недостаток – он является языком создания скриптов и языком создания, командных и пакетных файлов, который не дает нам возможностипозволяющим создавать программы с графическим интерфейсом, программы для обмена данными с внешними устройствами, и прочие,другие более сложные программырешения, предназначенные для для взаимодействия с системными функциями операционной системы.
![]() |
К примеру в гидрографии для позиционирования судна используется стадиометрическая сетка. Если создавать ее вручную, то на это может уйти несколько дней. На AutoLispe была написана программа, которая все построения выполняла в течении нескольких секунд (Рис 1).
Рис. 1. Пример расчете расчета стадиометрической сетки для позиционирования судна
При создании на АutоLіsре довольно сложных программ, введение входной информации через командную строку не всегда удается сделать их наглядными и удобным ввод информации через командную строкуи. Ведение дДиалога с программой можно усовершенствовать, используя язык программирования DCL (Dialog Control Language), который предоставляет в распоряжение графические меню, средства редактирования атрибутов и диалоговых окон. При совместном использовании с комплексом команд АutоLіsр этот Язык язык управления диалогов – DCL вместе с комплексом команд АutоLіsр дает обеспечивает возможности возможность вызова и управления диалогом из Lisp-программы. Все это значительно расширяет возможности адаптации АutоCADaAutoCAD под конкретные прикладные задачи. Язык программирования DCL разрешает позволяет влиять на способ вывода окна, а также на его состав: кнопки, списки, шкалы, кнопки выбора и т.др. Ограничения на размер и местоположение окна заданы Правила правилами конструирования диалоговых окон задают ограничения на размер и местоположение окна. Расположение элементов окна очень похоже нанапоминает расположение абзацев в форматированомформатированном тексте, поэтому нет необходимости задавать точные координаты фрагментов окон. Диалоговое окно с из меню АutоCADaAutoCAD вызовется вызывается через функцию АutоLіsр, которая руководит диалогом.
Таким образомобразом, общее использование этих двух языков программирования (AutoLisp и DCL) позволяет создавать довольно сложные системы автоматизированного проектирования на базе программного комплекса САПР AutoCAD.
Одним из наиболее современных языков программирования под AutoCAD есть является язык VBA (Visual Basic for Application). Данный, который язык взаимодействует с AutoCAD через интерфейс ActiveХ Automation. и В плане расширения возможностей AutoCAD этот язык значительно расширяет возможности AutoCAD по сравнении с языкомсущественно превосходит возможности AutoLisp. Через интерфейс ActiveХ Automation VBAон имеет получает доступ ко всем элементам среды AutoCAD, ко всем переменным, ко всем и командам. Это, благодаря чему можно без больших усилий разрешает легко модифицировать пользовательский графический интерфейс пользователя (изменять меню, линейки инструментов, изменять графическое окружение, добавлять новые команды, легко получать доступ кработать с графической базе базой данных AutoCAD (: к слоями, к блоками, к вьюпортами, к стилями отображения текста, линий, заливок и к многому другому).
Язык VBA имеет также собственный набор переменных и широкий наборразвитую систему инструментов для выполнения математических, логических и системных операций. Это позволяет не только создавать программы для выполнения осуществления сложных математических расчетов, модификации баз данных AutoCAD, автоматизации процессов черчения, но и для использовать VBA при написания написании более сложных программ, связанных с системными событиями. Например, с помощью VBA очень легконесложно создать программы для взаимодействия с системными командами Windows, а также с другими программами (Word, Excel, Access и многими другими.). К Особенностью достоинствам данного этого языка есть такжеследует отнести и наличие широкого набораразнообразных инструментов для взаимодействия с различными базами данных (Access, dBase, Paradox, Oracle, FoxPro).
За счет выше перечисленных средствУпомянутые возможности программирования на языке VBA разрешает позволяют создавать сложные системы автоматизации проектирования и подготовки конструкторской документации в режиме реального времени. В подтверждение Например, в данное время достаточно упомянуть существующие разработанные системы для создания разработки электрических схем с автоматической вставкой электронных компонентов с и дальнейшим последующим внесением информации о компонентах и всей электронной схеме в базы данных. Это разрешает при По завершении черчения разработки электронной схемы пользователь может получить в Excel или Access электронной схемы иметь полную спецификацию об использованных компонентах в таких программах каков Excel, Access.
Таким образом язык VBA объединяет в себе функциональные возможности языков программирования AutoLisp и DCL, а также добавляет , дополнительно предлагая ряд инструментов дляы взаимодействия с программной средой Windows и с прикладными программами различных фирм -производителейразработчиков, которые поддерживают технологию ActiveХ Automation..
Продолжим наш обзор рассмотрением ObjectARX является – объектно-ориентированнымого расширением расширения программной среды AutoCAD которое,. используя Используя язык программирования Visual C++ и библиотеки языка C++, ObjectARX позволяет разрешает создаватьразрабатывать программы, расширять классы AutoCAD, и протоколы и, а также создавать новые команды, которые работают аналогично командам, встроенным в AutoCAD командам.
Программы ObjectARX являются динамическими библиотеками (DLL), которые разделяют адресное пространство AutoCAD и выполняют прямые обращения к ядру AutoCAD. Это дает обеспечивает возможность создавать нам создания новые новых примитивыпримитивов, которые будут представлятьют собойведут себя как обычные примитивы AutoCAD (точки, линии, круги, и т. д....).
ObjectARX позволяет получитьоткрывает нам прямой доступ ко всем базам данных AutoCAD, к графической системе и ко всей системе команд. Это позволяетСледовательно, появляется возможность создавать разрабатывать программы для взаимодействия со средой черченияпроектирования, создавать любые графические интерфейсы пользователя, используя обращаясь к библиотеку библиотеке MFC, создавать программы с многооконными интерфейсами, создавать формировать собственные классы и протоколы взаимодействия и, взаимодействовать с другими программными средами и внешними устройствами.
То естьТаким образом, ObjectARX позволяет создавать программы любой сложности. По своим функциональным возможностям он в несколько раз превышаетпревосходит возможности языков программирования AutoLisp, DCL, и VBAVisual Basic for Application. На данном Этот языке программирования можно написать абсолютно все, начинапозволяет написатья от и простых простой скрипт,ов и заканчиваяи программамиинструменты перепрограммирования ядра AutoCAD и, а также программами взаимодействия с внешними устройствами. На ObjectARX и Visual C++ написаны Autodesk Mechanical Desktop, Autodesk Land Desktop, Autodesk MapAP, Autodesk Civil Design и многие другие приложения к AutoCAD.
Например такие расширения AutoCAD как AutoCAD Mechanical Desktop, Land Desktop, AutoCAD Map, AutoCAD Civil Design и другие – все они написаны на языке программирования ObjectARX и Visual C++.
Нами было разработаноВ качестве примера рассмотрим новое расширение AutoCAD - нашу разработку система DeltaProject, которая является надстройкой над Autodesk AutoCAD Mechanical Desktop (Version 6.0) и предназначена для выполнения полного цикла работ по обработке гидрографических данных. Система DeltaProject состоит из трех основных частей:
· DeltaPoints – модуль, предназначенный для обработки сырых промерных данных (рис. 2).
· DeltaViewer – модуль для формирования и просмотра эхограмм (Ррис. 3).
· DeltaSurface – модуль для представления промерных данных в виде поверхности (Рис рис. 4).

Рис. 2. Рабочее окно модуля обработки сырых промерных данных.

Рис. 3. Модуль для формирования и просмотра эхограмм.

Рис. 4. Модуль для представления промерных данных в виде поверхности
.
Так как даннаяПоскольку эта программа является представляет собой надстройкой надстройку над Autodesk AutoCAD Mechanical Desktop, то она обладает располагает всеми средствами редактирования и представления данных AutoCAD. Это дает нам возможность использовать применять распределение данных по слоям, использовать вьюпорты и виды для коррекции обзора. Используя Применяя встроенные в DeltaProject команды экспорта, в DeltaProject можнопользователь может представлять данные не только в текстовом или векторном варианте виде, но и в векторном виде и, а также передавать их в другие программы.
Данная программа прошла успешное испытание на предприятии Дельта-Лоцман и разрешает выполнятьПрограмма обеспечивает не только начальную обработку промерных данных, но и получать получение конечный конечного результата – трехмерную 3D-поверхностьповерхности, которая может быть использована для получения трехмерной цифровой карты. Разработка с успехом прошла испытания на предприятии «Дельта-Лоцман».
Исходя из изложенного высшее Всё сказанное позволяетможно сделать следующие выводывыводы:
1. используя Используя указанные современные языки языки программирования, можно можно существенно дополнить возможности базовое базового программное программного обеспечениея;.
2. знание Четкое представление о возможностей возможностях любого каждого из языков перечисленных языков позволит позволяет оптимизировать процесс создания прикладных программ;.
3. Можно выделить основные направленияКаждый из языков наилучшим образом соответствует вполне определенным программированиязадачам:
· в AutoLisp – автоматизация процесса подготовки черченияпроектирования, создание новых команд, изъятие получение и сохранение информации по текущему чертежу с дальнейшей записью в файлы, создание скриптов и изменение информации в текущему черченниичерчении (в текущем представлении чертежа?)файле;
· в Visual Basic for Application – изменение и дополнение графического интерфейса пользователя, создание новых команд, связь сообъединение Windows-программ с и AutoCADом в единый комплекс;
· ObjectARX – дополнение АutоCADaAutoCAD новыми объектами, классами, протоколами, методами и механизмами обработки информации; установление связи АutоCADaAutoCAD с различными системными событиями и с различными внешними устройствами.
При написанные разработке программы необходимоследует принимать к вниманиюучитывать два важных фактора. Первый – необходимость быстрого написания программного кода программы, второй – быстродействие создаваемой программы. Если имеет перевесболее существенным представляется первый фактор, то можно и необходимо нужно использовать совместный подход к написанию программы. –: То есть, есть возможность параллельно использования задействовать всех языки, упомянутые выше,языков одновременно и получить комплексный код программы. При этом используется определенный язык программирования, который наиболее удобно и быстро позволяет выполнить поставленную задачу наиболее удобно и быстро. Если же преобладает преобладают второй факторсоображения быстродействия, следует отдать безусловное предпочтение то единственными языками программирования являются языки языкам C++, ARX, и Assembler.
Таким образом AutoCAD с его широким набором инструментов для программирования является очень интересной системой автоматизации проектированияисключительно перспективен с точки зренияв плане расширения его функциональных возможностей. Вышеуказанные Рассмотренные языки программирования разрешают позволяют модифицировать AutoCADэтот программный комплекс и, приспособить приспособив его возможности к для решенияю специфических задач в любой области.
Михаил Донченко
к. т.н., доцент,
директор ЧП «ТехноКАД» (г. Николаев)
Олег Рябенький
программист, аспирант
Литература.
1)1. . “AutoCAD: программирование и адаптация”, , “. – М., Диалог – -МИФИ”, Москва, 1995г.
2)2. М. И. Кнеллер. “AutoCAD. Полезные рецепты”, , “. – М., Радио и Связьсвязь”, Москва, 1994г.
3)3. Д. Джамп. “AutoCAD. Программирование. – М., Радио и связь, ”, Д. Джамп, “Радио и Связь”, Москва, 1992г.
4)4. «ObjectarxObjectARX Developer’s Guide», . – Autodesk, 1999.
5)5. «Mechanical Application Programming Interface (API) Developer’s Guide»,. – AutoDeskAutodesk, 2001.
6)6. Материалы сайта www. .



