Программирование в сапр что это
Обзор популярных систем автоматизированного проектирования (CAD)
Система автоматизированного проектирования (САПР) – сложный комплекс средств, предназначенный для автоматизации проектирования.
Согласно принятым в 1980-х годах стандартам, САПР – это не просто некая программа, установленная на компьютере, это информационный комплекс, состоящий из аппаратного обеспечения (компьютера), программного обеспечения, описания способов и методов работы с системой, правил хранения данных и многого другого.
Однако, с приходом на отечественный рынок иностранных систем, широкое распространение получили аббревиатуры CAD (Computer Aided Design), которую можно перевести, как проектирование с применением компьютера, и CAD-system, которую можно перевести, как система для проектирования с помощью компьютера.
В настоящее время в среде специалистов по САПР многие термины утратили свой первоначальный смысл, а термин САПР теперь обозначает программу для автоматизированного проектирования. Другими словами, то, что раньше называлось ПО САПР или CAD-системой, теперь принято называть системой автоматизированного проектирования (САПР). Также можно встретить названия CAD-система, КАД-система, система САПР и многие другие, но все они обозначают одно – некую программу для автоматизированного проектирования.
На современном рынке существует большое количество САПР, которые решают разные задачи. В данном обзоре мы рассмотрим основные системы автоматизированного проектирования в области машиностроения.
Базовые и легкие САПР
Легкие системы САПР предназначены для 2D-проектирования и черчения, а также для создания отдельных трехмерных моделей без возможности работы со сборочными единицами.
Безусловный лидер среди базовых САПР – AutoCAD.
AutoCAD
AutoCAD — это базовая САПР, разрабатываемая и поставляемая компанией Autodesk. AutoCAD – самая распространенная CAD-система в мире, позволяющая проектировать как в двумерной, так и трехмерной среде. С помощью AutoCAD можно строить 3D-модели, создавать и оформлять чертежи и многое другое. AutoCAD является платформенной САПР, т.е. эта система не имеет четкой ориентации на определенную проектную область, в ней можно выполнять хоть строительные, хоть машиностроительные проекты, работать с изысканиями, электрикой и многим другим.
Система автоматизированного проектирования AutoCAD обладает следующими отличительными особенностями:
Bricscad
В настоящее время на рынке появился целый ряд систем, которые позиционируются, как альтернатива AutoCAD. Среди них можно отдельно отметить Bricscad от компании Bricsys, которая очень активно развивается, поддерживает напрямую формат DWG и имеет целый ряд отличий, включая инструменты прямого вариационного моделирования, поддержку BIM-технологий.
САПР среднего уровня
Средние системы САПР — это программы для 3D-моделирования изделий, проведения расчетов, автоматизации проектирования электрических, гидравлических и прочих вспомогательных систем. Данные в таких системах могут храниться как в обычной файловой системе, так и в единой среде электронного документооборота и управления данными (PDM- и PLM-системах). Часто в системах среднего класса присутствуют программы для подготовки управляющих программ для станков с ЧПУ (CAM-системы) и другие программы для технологического проектирования.
САПР среднего уровня – самые популярные системы на рынке. Они удачно сочетают в себе соотношение “цена/функциональность”, способны решить подавляющее число проектных задач и удовлетворить потребности большей части клиентов.
Autodesk Inventor
Профессиональный комплекс для трехмерного проектирования промышленных изделий и выпуска документации. Разработчик – компания Autodesk.
Среди особенностей Inventor стоит отметить:
Для эффективного управления процессом разработки изделий, управления инженерными данными и организации коллективной работы над проектами, Autodesk Inventor может быть интегрирован с PLM-системой Autodesk Vault и схожими системами других разработчиков.
SolidWorks
Трехмерный программный комплекс для автоматизации конструкторских работ промышленного предприятия. Разработчик – компания Dassault Systemes.
Черты системы, выгодно отличающие ее от других CAD-систем:
SolidEdge
Система трехмерного моделирования машиностроительных изделий, которую разрабатывает Siemens PLM Software.
Среди преимуществ системы можно выделить:
Компас-3D
Компас-3D – это система параметрического моделирования деталей и сборок, используемая в областях машиностроения, приборостроения и строительства. Разработчик – компания Аскон (Россия).
Преимущества системы Компас-3D:
T-FLEX
Отечественная САПР среднего уровня, построенная на основе лицензионного трехмерного ядра Parasolid. Разработчик системы – компания ТопСистемы (Россия).
Отличительные черты системы:
“Тяжелые” САПР
Тяжелые САПР предназначены для работы со сложными изделиями (большие сборки в авиастроении, кораблестроении и пр.) Функционально они делают все тоже самое, что и средние системы, но в них заложена совершенно другая архитектура и алгоритмы работы.
PTC Creo
Система 2D и 3D параметрического проектирования сложных изделий от компании PTC. САПР PTC Creo широко используется в самых разных областях проектирования.
Выгодные отличия системы от конкурирующих решений:
NX – флагманская система САПР производства компании Siemens PLM Software, которая используется для разработки сложных изделий, включающих элементы со сложной формой и плотной компоновкой большого количества составных частей.
Ключевые особенности NX:
CATIA
Система автоматизированного проектирования от компании Dassault Systemes, ориентированная на проектирование сложных комплексных изделий, в первую очередь, в области авиастроения и кораблестроения.
Облачные САПР
В последнее время активно начали развиваться “облачные“ САПР, которые работают в виртуальной вычислительной среде, а не на локальном компьютере. Доступ к этим САПР осуществляется либо через специальное приложение, либо через обычный браузер. Неоспоримое преимущество таких систем – возможность их использования на слабых компьютерах, так как вся работа происходит в “облаке”.
Облачные САПР активно развиваются, и если несколько лет назад их можно было отнести к легким САПР, то теперь они прочно обосновались в категории средних САПР.
Fusion 360
САПР Fusion 360 ориентирована на решение широкого круга задач, начиная от простого моделирования и заканчивая проведением сложных расчетов. Разработчик системы – компания Autodesk.
Особенности Fusion 360:
Onshape
Полностью “облачная” САПР Onshape разрабатывается компанией Onshape.
На что стоит обратить внимание при выборе Onshape:
Заключение
В настоящее время на рынке присутствуют самые разные современные CAD системы, которые отличаются между собой как по функциональности, так и по стоимости. Выбрать подходящую систему автоматизированного проектирования среди многих CAD – непростая задача. При принятии решения необходимо ориентироваться на потребности предприятия, задачи, которые стоят перед пользователями, стоимость приобретения и содержания системы и многие другие факторы.
«САПР для всех, даром, и пусть никто не уйдет…» или первые шаги в программировании FreeCAD на Python
Возможно, вам уже ранее попадались мои заметки по первым шагам в программировании САПР на примере NanoCAD.
Надо отметить, что для человека не умеющего программировать и знающего САПР на уровне «электронного кульмана» это было удивительное приключение. Однако, NanoCAD это все же в первую очередь коммерческий продукт. Его бесплатная версия не обновлялась, уже около шести лет и порядком устарела в плане возможностей для разработки.
Итак, по горячим следам пишу для вас материал, всего за один день я узнал, как подружить эту САПР с Anaconda, написал на Python простенький скрипт, который рисует квадратик с текстом и протестировал его на работоспособность в Windows и Linux. О чем я собственно готов вам по шагам рассказать и показать, чтобы вы тоже могли это сделать.
Хотите поближе познакомиться с очаровательной парочкой Python и FreeCAD? Тогда милости прошу под кат.
Содержание:
Часть I: Введение
Как ни странно на «Хабре» совсем немного публикаций посвященных FreeCAD, хорошая статья вышла у Eddy_Em «Знакомьтесь: FreeCAD», и еще несколько работ, в которых герой нашей статьи упоминается вскользь.
Для начала буквально два слова о программе. Я не буду дублировать информацию с официального сайта, а просто широкими мазками опишу почему остановил свое внимание на этой САПР.
Итак, FreeCAD это система автоматизированного проектирования с открытым исходным кодом, заточенная в первую очередь на трехмерное параметрическое моделирование. На момент написания статьи последняя версия программы 0.18.3. Пусть вас не смущает, что значение номера релиза далеко от единицы. FreeCAD долго и активно разрабатывается и на текущий момент вполне функционален. Более того как я понимаю он уже давно, имеет определенную популярность у людей занимающихся 3D моделированием и печатью, особенно у идейных самоделкиных, интересующихся open source / open hardware и всяческим DIY.
Но если вдруг вы совсем не разбираетесь в трехмерном моделировании, то это не повод обойти FreeCAD стороной. Функционал САПР разбит по своеобразным модулям — верстакам (Workbench) среди которых есть и привычное 2D черчение, в том числе верстак для оформления рамок листов и даже верстак для реализация концепции BIM.
На самом деле, возможностей у программы «вагон и маленькая тележка», но сегодня мы попробуем сделать, что-нибудь совсем примитивное, только чтобы «разжечь аппетит».
Часть II: Стандартная установка и первая проба
FreeCAD доступен для всех трех распространенных операционных систем, но поскольку «Яблочной» техникой я обделен, то мы рассмотрим только варианты для Windows 10 и Linux Mint.
Самый простой способ начать программировать для FreeCAD это скачать дистрибутив и установить его стандартным для операционной системы путем. В таком случае мы получим в свое распоряжение предустановленный с программой интерпретатор Python (на момент написания статьи Python версии 3.6.6).
Но давайте сначала попробуем начертить, что-нибудь штатными средствами. Например, круг.
Обратите внимание на вывод консоли
FreeCAD ничего не прячет под капотом, все ключевые операции по отрисовке круга выведены в консоль. Можно хоть сейчас просто скопировать код и начертить второй круг, чуть правее.
Давайте попробуем ввести переменную и начертить еще круг, для чего скопируем вывод консоли и вставим его построчно внеся небольшую модификацию.
Как видите теперь круга стало два, причем, как и планировалось один правее на координату «х» базовой точки первого круга умноженную на 5.
Часть III: А теперь подружим FreeCad с «Анакондой»
Но возможности САПР не ограничиваются стандартным использование в качестве «кульмана». С помощью API, FreeCAD можно встроить в вашу собственную программу и использовать, как с графическим интерфейсом так и без, но этот вопрос мы рассмотрим как-нибудь в другой раз.
А пока, представим себе такую ситуацию, допустим вы увлекаетесь машинным обучением и анализом данных на Python и уже поставили себе дистрибутив Anaconda, тогда вы, наверное, сильно обрадуетесь узнав, что благодаря ребятам из conda-forge можно скомпоновать все возможности этого дистрибутива и FreeCAD.
По ссылке представлено руководство, как установить его в случае если вы используете mini-conda, а мы с вами установим его в полноценную «Анаконду» через её навигатор.
Итак, откроем Anaconda-Navigator, перейдём на вкладку Environments и создадим новое окружение, нажав на кнопку Create. Название окружению, можно дать любое, я назвал – «freecad». Выбираем нужную версию Python и создаём новое окружение.
Но этого еще недостаточно, необходимо добавить канал conda-forge, просто впечатайте в поле, которое появится после нажатия кнопки Add «conda-forge» и дайте системе обновить списки пакетов.
Почти готово теперь осталось установить сам FreeCAD
Нажимаем ЛКМ на названии пакета и выбираем какую версию хотим установить, как на картинке ниже (у меня правда уже установлен)
После томительного ожидания у вас будет полностью установлен дистрибутив FreeCad нужной версии останется его только запустить.
В самом простом случае без параметров запуска необходимо запустить консоль conda с нашим окружением, и запустить САПР одноимённой командой FreeCAD.
Откроется пустое окно FreeCAD в котором мы выберем верстак для двухмерного черчения.
Как видим, теперь версия Python совсем не та, что была при стандартной установке.
Создадим новый документ (Control+N) он нам пригодится для тестирования нашей мини библиотеки.
Часть IV: Пишем простенькую библиотеку
Библиотека наша будет примитивной. По сути, мы создадим команду, которая будет чертить прямоугольник, в который будет вписан произвольный текст, заданный пользователем.
Создаем файл (я свой назвал — «drawhabr.py») и пишем в него следующий код:
Или просто можете скопировать файл с GitHub
Код очень простой, но некоторые моменты думаю стоит пояснить.
Импортируем необходимые библиотеки, после чего создаем класс.
Поскольку я еще не научился обрабатывать ввод мышкой, координаты для объекта и текст мы будем вводить напрямую в консоль с клавиатуры. Это реализуется стандартными методами Python. Потом в конструкторе класса вызываем нашу функцию (метод), которая будет это все чертить.
Из особенностей FreeCAD в конструкторе класса можно выделить две команды:
Первая выбирает нам пространство активной рабочей области, а вторая, после установки объекта напишет нам сообщение в самом низу окна программы (на серой полоске, не путать с консолью Python)
Код метода тоже интуитивно понятен.Но все же поясню для надежности.
Необходимо на тот случай, если пользователь введет пустую строку. Без этого в текст будет вписано слово Label а прямоугольник будет иметь некорректную длину.
Определим координаты базовой точки дня нашей рамки, обрамляющей текст.
Напомню, что данные берутся из ввода в консоль.
Обратите внимание, что мы работаем с трехмерной координатой вида FreeCAD.Vector(x,y,z), но в данном примере координатой Z можем пренебречь. Другие параметры связанные с вращением рамки пока не трогаем.
создадим текст, командой Draft.makeText, передав ей текст, который ввели в консоль.
Координаты возьмем с небольшим смещением от базовой точки рамки.
По-хорошему надо было научиться обрабатывать рамку (границу) текста используя параметры API, после чего на основании нее рассчитывать ширину и высоту нашей обрамляющей рамки. Но поскольку я сам только-только познакомился с программой, то задачу решил рабоче-крестьянским методом. Мы зафиксируем высоту шрифта, назначим ему стиль моноширинного шрифта (Courier) и в зависимости от этого определим длину и ширину рамки которую будем чертит вокруг текста.
Осталось только подставить наши параметры в функции черчения прямоугольника
вот, собственно, и все.
Осталось только подключить нашу библиотеку. Для этого её можно просто скопировать в папку, в которой лежат остальные библиотеки Python для выбранного окружения.
Например, для Windows 10 путь может быть следующим (в значимости от места установки Anaconda):
Для Linux путь будет примерно таким:
Все осталось загрузить нашу библиотеку.
Для этого вначале введем в консоли название нашего модуля (без расширения файла)
А затем вызовем конструктор класса
Вот и все осталось вести, параметры функции и наслаждаться результатом.
На всякий случай вот скриншот подтверждающий, что в Linux тоже все работает.
Часть V: Заключение
Сегодня мы вместе сделали только маленький шаг на пути познания API FreeCAD.
Несмотря на то, что на мой взгляд, для двухмерного черчения и разработки проектов, FreeCAD не так привычен как AutoCAD (NanoCAD) или другие распространенные САПР, но зато программировать его намного проще.
Даже несмотря на некоторый недостаток документации и необходимость обновления некоторых статей с примерами в Wiki FreeCAD, все равно разобраться с его API и запустить первую программу оказалось вполне по силу неподготовленному человеку с минимальными знаниями в области написания кода на Python.
А учитывая, тот факт, что разработчики люди не жадные и при необходимости позволяют даже коммерческую разработку с помощью FreeCAD по лицензии LGPL да в сочетании со всей мощностью подключаемых библиотек Python (например, из того же дистрибутива Anaconda), разработка программ с использованием FreeCAD выглядит интересной задачей.
Если я пойму, что и вам эта тема интересна, то постараюсь сделать мини-цикл заметок по аналогии с Nanocad
Программирование в сапр что это
CAD-системами (Computer-aided design) называется программное обеспечение, предназначенное для автоматизированного проектирования. Программный пакет, который призван создавать конструкторскую и технологическую документацию,3D модели и чертежи. Представляет собой организационно-техническую систему, состоящую из персонала и комплекса технических, программных и других средств автоматизации его деятельности. Также для обозначения подобных систем широко используется аббревиатура САПР.
Содержание
Производители проектных систем
Представленная в данном материале таблица представляет собой упорядоченный список производителей готовых программных решений в области систем проектирования, разработки и промышленного дизайна.
Особенности
Наряду с использованием систем автоматизации инженерных расчетов и анализа CAE в данное время, как правило, используются системы автоматизированного проектирования CAD (Computer-Aided Design). Сведения из CAD-систем поступают в CAM (Computer-aided manufacturing). Следует заметить, что английский термин «CAD» по отношению к промышленным системам имеет более узкое толкование, чем русский термин «САПР», поскольку в понятие «САПР», входит и CAD, и CAM, и CAE. Среди всех информационных технологий автоматизация проектирования занимает особое место. Прежде всего, автоматизация проектирования — это дисциплина синтетическая, так как в ее состав входят различные современные информационные технологии. Так, например, техническое обеспечение САПР базируется на эксплуатации вычислительных сетей и телекоммуникационных технологий, также САПР практикует использование персональных компьютеров и рабочих станций. Говоря о математическом обеспечении САПР, следует отметить разнообразие используемых методов: вычислительной математики, математического программирования, статистики, дискретной математики, искусственного интеллекта. Программные комплексы САПР можно сравнить с одними из самых сложных современных программных систем, в основе которых лежат такие операционные системы как Windows, Unix, и такие языки программирования как С, С++ и Java, а также современные CASE-технологии. Практически каждый инженер-разработчик должен обладать знаниями основ автоматизации проектирования и уметь работать со средствами САПР. Поскольку все проектные подразделения, офисы и конструкторские бюро оснащены компьютерами, работа конструктора таким инструментом как обычный кульман или расчеты с помощью логарифмической линейки стали неактуальны. Следовательно, предприятия, работающие без САПР или использующие ее в малой степени, становятся неконкурентоспособными, поскольку тратят на проектирование значительно больше времени и финансовых средств.
Типы САПР
Структура САПР
Структура ПО САПР определяется следующими факторами:
Классификация САПР
САПР классифицируют по следующим принципам: целевому назначению, по приложению, масштабам и характеру базовой подсистемы. По целевому назначению выделяют САПР или подсистемы САПР, которые предоставляют различные аспекты проектирования. Таким образом, CAE/CAD/CAM системы появляются в составе MCAD:
По приложениям самыми важными и широко используемыми считаются такие группы САПР как:
Помимо этого, существует большое количество более специализированных САПР, или выделяемых в определенных группах, или являющихся самостоятельной ветвью в классификации. Это такие системы как: БИС-САПР (больших интегральных схем); САПР летательных аппаратов и САПР электрических машин. По масштабу определяют самостоятельные программно-методические комплексы (ПМК) САПР:
Классификация по характеру базовой подсистемы
Развитие САПР
Следующая важная тенденция — альтернативные ОС. Еще лет пять назад, когда заводились разговоры об альтернативе Microsoft Windows, речь, как правило, шла о Linux. Данная тема актуальна и сегодня: отечественная национальная программная платформа, по всей видимости, будет сделана на базе ядра Linux; к этой ОС растет интерес в области образования и в госструктурах (есть примеры успешного перехода). Однако теперь уже можно говорить о существенном потенциале операционной системы Google Chrome OS. И здесь упомянутый тренд смыкается с облачным трендом — ОС Google, как известно, не подразумевает установку приложений на локальном компьютере.
Немаловажную роль в продвижении этой ОС играет тенденция к уменьшению рыночной доли ПК. Очевидно, что если в облака перенести большинство громоздких и сложных вычислений, снижаются требования к аппаратному обеспечению и появляется возможность работать на любых устройствах. Например, на планшетах. В итоге разработчикам САПР-решений придется либо разрабатывать платформонезависимые решения (облачный вариант), либо делать их мультиплатформенными.
Следующая тема — `железо`. Здесь все опять же определяется неудовлетворенностью рынка решением монополиста — классической архитектурой Intel (темпами ее развития). В этой связи явно отмечается тренд на развитие архитектуры ARM. Ее сейчас поддерживает несколько производителей, среди которых одним из самых активных является компания Nvidia (Нвидиа). Пока данная архитектура активно применяется только в мобильных устройствах, но в ближайшее время, судя по всему, она перейдет и на стационарные ПК. Косвенно об этом свидетельствует тот факт, что будущая ОС Microsoft Windows 8 сможет работать и на ARM-архитектуре тоже (впервые не только на Intel).
Вторая тенденция — перенос существенной части вычислений с центрального процессора на графическое ядро. Данная тема относится скорее к области параллельных вычислений.
В секторе САПР сегодня многие сотрудники являются мобильными — работают на выезде, на удаленных строительных объектах, перемещаются по стране, трудятся дома. (Все это требует удобного мобильного устройства.)
Так или иначе за рубежом о том, что планшет скоро будет у каждого сотрудника инженерной службы, сегодня говорят как о свершившемся факте. Уже появились привлекательные для разработчиков мобильные платформы IOS Apple и Android Google, а также существенное количество САПР-приложений под них.
Сейчас весьма сложно сказать, уйдут ли через десять лет из нашего арсенала клавиатура и мышь. Но факт в том, что интерфейсы, ориентированные на работу с мультитач-экранами (пальцеориентированные), явно набирают популярность. В мобильных устройствах они уже практически стали стандартом. На сегодняшний день вполне понятно, что этот интерфейс более чем подходит для потребления информации. Так же ли он хорош для ее создания, для работы с САПР, сказать пока сложно. Для массового перехода к подобным интерфейсам до сих пор не хватает технологической базы. Сейчас на рынке просто не существует достаточно больших мультитач-панелей с необходимым для САПР разрешением.
Рынок САПР весьма консервативен. Даже замена одной такой системы на другую в рамках работы над одним проектом — задача довольно сложная. Что уж говорить о серьезной смене парадигмы, интерфейсов, поколений САПР. Поэтому данный рынок явно не входит в число лидеров технологической гонки — развитие есть, но очевидно не такое быстрое, как хотелось бы. Впрочем, в ближайшее десятилетие на предприятия придут инженеры, выросшие уже в эпоху интернета, новых технологий и мобильных устройств, и так или иначе они станут активно привносить на рынок элементы своей культуры.
САПР в строительстве
Цифровизация бизнеса затронула все его отрасли. В последнее десятилетие бум переживают решения для проектирования, инжиниринга и конструирования промышленных объектов. От советских кульманов проектировщики пришли к 3D-моделированию. Что цифровизация означает для этого сегмента, как помочь команде работать в едином пространстве и почему пока не удается окончательно избавиться от бумажных носителей, помогал разбираться генеральный директор компании AVEVA Алексей Лебедев.