Создание мини-САПРа - Страница 3
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание мини-САПРа

Создание мини-САПРа

Ответ
Поиск в этой теме
Непрочитано 05.12.2010, 20:13
Создание мини-САПРа
Shraybicus
 
Регистрация: 05.12.2010
Сообщений: 104

Здравствуйте!

Я занимаюсь созданием проектной документации. Все проекты выполняю в AutoCAD. Сейчас задумался о том, чтобы облегчить себе работу - создать мини-САПР так сказать.

Я знаю, что сейчас много существует разновидностей САПРа, но все они или не подходят, или надо еще их адаптироват к тому чем занимаюсь.

В общем, хочу выполнить следующее.

Создать меню, из которого можно было бы выбрать какой-то элемент электрической схемы, например, реле промежуточное (РП), у которого имеется 4 контакта. Далее это РП вставляем в чертеж. Каждое вновь вставленное промежуточное реле имеет свое отдельное обозначение, например, KL1, KL2 и т.д.
Одновременно, когда вставляется новый элемент, заполняется автоматически перечень аппаратуры.

В общем, в кратце где-то так.

Подскажите пожалуйста, как это можно сделать и с помощью чего?

Если есть примеры где это подробно разбирается, посоветуйте пожалуйста. Буду очень признателен.

Спасибо!
Просмотров: 21199
 
Непрочитано 06.12.2010, 15:55
#41
SEA80


 
Регистрация: 08.06.2009
Сообщений: 9


Цитата:
Сообщение от Shraybicus Посмотреть сообщение
Зачастую весь проект в одном файле, начиная от ведомости чертежей и заканчивая переченью аппаратуры.
тогда присмотритесь к E3.series
SEA80 вне форума  
 
Непрочитано 06.12.2010, 16:00
#42
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Shraybicus Посмотреть сообщение
Я вот как-то начинал писать сайты, и использовал такие книжки,типа "Java Sacript для чайников" и подобные.
По синтаксису из языков программирования, на которых можно писать под AutoCAD, Java ближе всего к C#
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 06.12.2010, 16:00
#43
Shraybicus


 
Регистрация: 05.12.2010
Сообщений: 104


Цитата:
Сообщение от SEA80 Посмотреть сообщение
тогда присмотритесь к E3.series
Что тут не понятного? Я хочу сам это сделать. Не хочу чертить в E3.

Цитата:
По синтаксису из языков программирования, на которых можно писать под AutoCAD, Java ближе всего к C#
А как вживляется C#?

Еще вроде Delphi можно использовать. Только опять вопрос как связать, встроить в AutoCAD?
Shraybicus вне форума  
 
Непрочитано 06.12.2010, 16:08
#44
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,706


Цитата:
Сообщение от Shraybicus Посмотреть сообщение
Что тут не понятного? Я хочу сам это сделать. Не хочу чертить в E3
Вобщем, знакомая ситуация.. "Программировать САПР интереснее, чем выпускать всякую там рабочку".. Да, пожалуй, когда получается сделать какую-либо примочку для работы, пусть корявую по-началу, но свою, это приятно..

А в состав VS от MS какие среды входят, окромя VB и C++? насколько она многоязычная?
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 06.12.2010, 16:08
#45
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 979


Вариант 1. Сделать собственный СОМ-сервер, который вызывать из Lisp
Вариант 2. Нарисовать внешнее exe-приложение, обращающееся через ActiveX-модель к AutoCAD
Вариант 3. Написать собственную .NET-сборку, загружаемую в AutoCAD через команду _.netload.
> AlexV: Смотря какую версию MS VS использовать... В Standard Edition, насколько я помню, входят Visual Basic .NET, Visual C#, Visual C++, Visual Web Develop.
__________________
(/= RegDate StartReadDate)

Последний раз редактировалось Лиспер, 06.12.2010 в 16:20.
Лиспер вне форума  
 
Непрочитано 06.12.2010, 16:13
#46
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Shraybicus Посмотреть сообщение
А как вживляется C#?
С английским дружишь? Тогда: http://docs.autodesk.com/ACD/2010/EN...ide/index.html
Если нет, то тогда к Андрею Бушману на сайт: https://sites.google.com/site/bushma...anslate-manual Переведено далеко не всё. Но есть с чего начать.
Александр Ривилис вне форума  
 
Непрочитано 06.12.2010, 16:47
#47
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


Цитата:
Сообщение от AlexV Посмотреть сообщение
А в состав VS от MS какие среды входят, окромя VB и C++? насколько она многоязычная?
Мне достаточно C# советую
Правда сам я сейчас углубился в конструкторскую работу, э... по строительной специальности (ну кирпич, железобетон, дерево и др. виды конструкций). Очень скучаю по программерству...
Vildar вне форума  
 
Непрочитано 06.12.2010, 17:07
#48
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,706


Цитата:
Сообщение от Vildar Посмотреть сообщение
Мне достаточно C# советую
Правда сам я сейчас углубился в конструкторскую работу, э... по строительной специальности (ну кирпич, железобетон, дерево и др. виды конструкций). Очень скучаю по программерству...
Vildar, а глубоко продвинулся в программерстве? Выложишь, может, какие проги "в исходных кодах" для образца, с чего начинать? Кстати, VS 2008 достаточно для программирования под автокад? Точней сказать, "Microsoft Visual Basic 2008 Express Edition"? И если этот VB у меня "x86", - можно ли писать на нем под "x64"? Надо ли устанавливать ObjectArx?
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 06.12.2010, 17:31
#49
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


AlexV, ну ты меня врасплох застал )
http://dwg.ru/dnl/6929 первый блин ) могу кинуть на мыло (а то засмеют), (чесонок, это я же, был одно время )
Большего пока не написал, одни планы да проекты (переписать вбашные макросы, улучшить, соединить в единое приложение и т.п. и т.д., и тут бац работа конструкторская нахлынула).

Мне нравиться как hwd пишет код, - все по Макконелу (Совершенный код) и Фаулеру (рефакторинг)
Это первые книги которые советую прочитать, ну после разумеется изучения синтаксиса - типа С# 4.0,
А еще почитай про TDD, тестовое программирование, т.е. сначала пишешь тест, а потом сам код для классов программы. Мне понравилось.
Хвать пока.
Андрей или Александр лучше подскажут.

Цитата:
Кстати, VS 2008 достаточно для программирования под автокад? Точней сказать, "Microsoft Visual Basic 2008 Express Edition"? И если этот VB у меня "x86", - можно ли писать на нем под "x64"? Надо ли устанавливать ObjectArx?
Для начала достаточно. Под какой гад писать будеш?
VS 2008 не поддерживает NET 4
Експресс не поддерживает екстеншены, типа resharper, nunit. ReSharper советую.
В експресс нет некоторых инструментов, типа визуального редактора класов (в вики немного написано, ссылка ниже)
Так же, в експресс, нужно пошаманить чтобы отладку из внешнего приложения запускать, потом покажу )
Про х64 - не пробовал, не знаю, не интересовался, не нужно пока.
Возможно все это не так, или можно постараться прикрутить.
Компиляторы в 64-битный код также недоступны в Express редакциях.(http://ru.wikipedia.org/wiki/Microsoft_Visual_Studio)
ObjectARX устанавливать не обязательно. Но советую установить. Во-первых справка по ARX и NET, пущай и на аглицком. Во-вторых шаблон приложения на NET для акада, но я им не пользуюсь. Вставляю ссылки на сборки акада, прям из папки с установленным кадом. Ну и возможность попробовать покуситься на С++ и сам objectARX, что мне не удалось, пару раз пытался покорить.

По исходникам, скачай Reflector (http://www.red-gate.com/products/reflector/), и смотри NET сборки, например СПДС модуль от Siberia.

Ну а ощущения от NET, после VBA, грандиозные... советую

Последний раз редактировалось Vildar, 06.12.2010 в 22:56.
Vildar вне форума  
 
Непрочитано 06.12.2010, 19:14
#50
Nikolay 2


 
Регистрация: 27.02.2008
Сообщений: 140


Цитата:
Сообщение от Sleekka Посмотреть сообщение
Сколько стоит этот ОмегаКАД? нагуглить не удалось
может быть здесь скажут http://www.omegasoft.hu/
Nikolay 2 вне форума  
 
Непрочитано 06.12.2010, 20:43
#51
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Цитата:
Сообщение от Shraybicus Посмотреть сообщение
Зачастую весь проект в одном файле, начиная от ведомости чертежей и заканчивая переченью аппаратуры.
Грамотные автокадчики так стараются не делать. Это опасно. Весь проект должен быть в одной папке, но лучше во многих файлах
Vova вне форума  
 
Непрочитано 06.12.2010, 21:53
#52
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Vova Посмотреть сообщение
Весь проект должен быть в одной папке, но лучше во многих файлах
И всё это организовано через подшивку
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 06.12.2010, 23:02
#53
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Обсуждение создания сапра сваливается в обсуждение приемов работы?
ИМХО: автокад для электросхемных решений самый неудачный выбор. Получится удобная вставлялка красивых блоков с красивых панелек. Возможно получится удобная считалка спецификаций. Как только дело дойдет до предназначения электрической схемы - получения информации что с чем и как соединено - красиво и удобно уже не получится.
zamtmn вне форума  
 
Непрочитано 06.12.2010, 23:27
#54
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Обсуждение создания сапра сваливается в обсуждение приемов работы?
Если приемы работы на высоте, желание заиметь "большой сапр" в виде известных красных кнопок несколько пригашивается. Приходит понимание что возможности автокада довольно обширные, и чтобы сделать" такую кнопку" нужна высокая квалификация в программировании, которой еще не достиг.... Короче, мечты откладываются на будущее
Vova вне форума  
 
Непрочитано 06.12.2010, 23:39
#55
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,706


Цитата:
Сообщение от Vova Посмотреть сообщение
Если приемы работы на высоте, желание заиметь "большой сапр" в виде известных красных кнопок несколько пригашивается. Приходит понимание что возможности автокада довольно обширные, и чтобы сделать" такую кнопку" нужна высокая квалификация в программировании, которой еще не достиг.... Короче, мечты откладываются на будущее
Vova, зачастую первые шаги в этом направлении делаются не из насущной необходимости в процессе работы, а просто из любопытства и интереса запрограммировать что-нибудь этакое самому..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 06.12.2010, 23:51
#56
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Всему есть предел, и приемам работы тоже. подшивки, извлечение данных и т.п. при всей своей мощности в стандартном виде никак не помогут проконтролировать наличие в схеме ошибок или создать спецификацию. Но мысли о "большом сапре" должны приходить после опробования всех стандартных вариантов, согласен на все 100.

Offtop: Кстати, большая красная кнопка всетаки написана, только она почемуто не красная - http://qt-apps.org/content/show.php?content=102362
zamtmn вне форума  
 
Непрочитано 12.12.2010, 01:11
#57
rassom

Оросительные системы
 
Регистрация: 02.07.2010
Сообщений: 166


Shraybicus, твоя ситуация похожа на мою, я тоже в своей сфере хотел немного автоматизировать процесс, а именно, хотел иметь программку, которая чертить автоматически трассы линейных объектов с использованием файла координат. Даже открыл в этом форуме ветку, где так же как и ты, просил советы по тому как это делается. Там тоже было сказано, что нужно много читать и трудится. Все это правильно, но как говорили некоторые друзья здесь, иногда полезно будет поискать из числа существующих программ или поглубже изучать то, что есть. В моем случае например, оказалось, что AutoCAD Civil 3D 2011 может выполнить очень легко мою задачу и еще много других задач (В той теме, кстати никто даже не упомянул об этой программе). Может тоже пойдеш по этому пути? Я почти уверен, что найдеш, то что искал.
rassom вне форума  
 
Автор темы   Непрочитано 12.12.2010, 13:33
#58
Shraybicus


 
Регистрация: 05.12.2010
Сообщений: 104


Цитата:
Сообщение от rassom Посмотреть сообщение
Может тоже пойдеш по этому пути? Я почти уверен, что найдеш, то что искал.
Возможно. Но пака мне интересно что то сделать самому.

Вот сейчас изучаю AutoLISP, пытаюсь программировать немного.
Shraybicus вне форума  
 
Непрочитано 16.12.2010, 13:05
#59
Main Urod


 
Регистрация: 20.01.2009
Сообщений: 1,170


Давненько я не забредал в этот раздел форума...


Значится так:
1.
Цитата:
Сообщение от Profan
1. САПР на базе AutoCAD создать невозможно.
Очень бы хотелось порекомендовать не позориться. Если вы этого не можете, то не значит что это не могут другие.

2. Сейчас явно посыпятся сообщения типа "зачем это делать, когда есть Еплан, Екуб и т.д.". Поэтому отвечаю сразу: Да, эти программы есть, но:
- они очень мало распространены. В результате чего при работе со смежными организациями все равно приходится иметь Акад, который дефакто является стандартом. А иметь 2 эти программ очень накладно
- очень мало кто пользуется лицензиями, => большинство контор чертят в акаде. Из личного опыта, из нескольких десятков контор в которых я был, только одна работала в еплане и одна в екубе.
- Бюджет компании назначает не проектировщик. Директор приказал "чертить в нелецензионном акаде" чертишь в нелецензионном акаде. Будешь выпендриваться, получешь пинок под зад.
- Не знаю как екуб, но еплан _ОЧЕНЬ_ сложная программа. И несмотря на то, что лицензия лежит у меня на столе и я прошел недельные курсы в еплане, чертить я в нем не могу. Мне нужно 2-3 месяца на то, чтобы с ним освоиться и набить шаблоны. Но эти месяцы мне на работе никто не даст, ибо "работать негры!".
- Еплан без оплачиваемой техподдержки нафиг не нужен. А это вечная сосалка денег, на которую мало какая компания пойдет.

А посему:

Цитата:
Сообщение от Shraybicus Посмотреть сообщение
В общем, хочу выполнить следующее.

Создать меню, из которого можно было бы выбрать какой-то элемент электрической схемы, например, реле промежуточное (РП), у которого имеется 4 контакта. Далее это РП вставляем в чертеж. Каждое вновь вставленное промежуточное реле имеет свое отдельное обозначение, например, KL1, KL2 и т.д.
Одновременно, когда вставляется новый элемент, заполняется автоматически перечень аппаратуры.

В общем, в кратце где-то так.

Подскажите пожалуйста, как это можно сделать и с помощью чего?

Если есть примеры где это подробно разбирается, посоветуйте пожалуйста. Буду очень признателен.

Сделать все это можно. При наличии желания и времени.
Пишется все на любом языке поддерживаемом акадом. Например на лиспе.
Для создания своих наработок использовал книгу: "Visual LISP и секреты адаптации AutoCAD" Н.Полещук.

Как пример, могу привести свои наработки.
Система создана в виде отдельного меню с кнопочками (выделена красным):


Цвета на чертеже несколько тусклые, но это за счет сжания изображения.

Теперь пример нескольких функций и методов реализации:
1. функция отрисовки проводников.

При нажатии кнопки открывается диалог вида:



В нем выбираешь напряжение и род тока для которого создается проводник.
Далее функция начинает запрашивать точки через которые проходит проводник. При вводе очередной точки на рисунке добавляется очередной сегмент проводника. Сегменты рисуются только горизонтальными или вертикальными линиями. При вводе точки по диагонали от предыдущей, на рисунке делается два сегмента: вертикальный и горизонтальный, таких длин, чтобы начало вертикального было в предыдущей точке, а конец горизонтального в введенной. Проводник рисуется полилинией в специальном слое предназначенном для проводников (независимо от того в каком слое ты сейчас находишься) цветом зависящим от его типа (коричневый для L, голубой для N, красный для +DC, ну и так далее) что позволяет визуально проконтролировать КЗ. После окончания ввода (щелчок правой кнопкой мыши) введенная линия анализируется и в точках пересечения ставятся точки соединений. Точки встраиваются в полилинию в виде дуг полилинии, таким образом их нельзя удалить или перенести отдельно от проводника. Кроме этого к полилинии добавляются расширенные данные в которых фиксируется принадлежность к моей системе и параметры провода (марка провода, толщина, позиционное обозначение, цвет изоляции, сечение и т.д.)

2. Функция изменения свойств проводника:

открывается диалоговое окно вида:



В нем ты изменяешь параметры проводника: обозначение, марка, сечение, цвет изоляции. По завершению функции она сама проставляет позиционные обозначения у концов проводника. Данные сохраняются в расширенных данных проводника.

Кроме того есть добавочные функции для поиска коллизий (2 проводника с одним обозначением, и проводника без обозначений)

3. Функция вставки элементов (реле)

вызывается окно вида


В нем выбираешь тип реле с разными навесками (отображаются пиктограмками, выбранная подсвечивается) расположение (горизонтально/вертикально) напряжение (24DC/220С). В зависимости от выбора пиктограмки меняются, показывая что будет на чертеже и исключаются несуществующие. Например верхнее дано для 24DC и вертикальном расположении, а в нижнем 220 АС и расположении горизонтальное.



Помимо этого вводишь позиционное обозначения. После нажатия ОК программа проверяет чтобы реле с таким позиционным обозначением не было и запрашивает куда ставить реле. При вставке ему прописывается введенное позиционное обозначение (сделано через атрибуты)

4. Функция вставки элементов (контакт реле)



Открывается окно где можно выбрать тип контакта (пиктограмкой), расположение(пиктограмки меняются в соответствии с выбором), к какому реле относится контакт (вводом с клавиатуры или выбором реле из списка) и пары контактов. При выборе реле, функция сама определяет уже используемые контакты реле и блокирует соответствующую радиокнопку. Таким образом сразу видно насколько используется реле. И нельзя поставить новый контакт на занятое место. При нажатии ОК запрашивается точка вставки реле. Реле вставляется и прописывается его позиционное обозначение.

5. Функция вставки элементов (клеммник)



Выбираешь вид клеммника (только клеммник или клеммник с комментариями), тип клемника (винтовой или тип разъема), позиционное обозначение, количество клемм, номер первой клеммы, и точку вставки. При нажатии ОК вставляется клеммник с выбранным типом, позиционным обозначением из нужного количества клемм и с последовательной маркировкой ( стартовый номер, затем стартовый номер +1 и т.д.)

ввод других элементов схемы показывать не буду, они аналогичны клеммникам и реле.
Реализация вставки функций через блоки с атрибутами. На диске есть папка в которой лежат соотрветствующие блоки и пиктограмки. Связь через текстовый файл настройки.

Например есть папка Контакты реле. В ней лежат 8 блоков реле, 8 пиктограмок и текстовый файл. При вызове функции она открывает диалог и текстовый файл. После начинает заполнять окошки. Например читает в текстовом файле: верхний ряд правое окошко – пиктограмка «12.sld» – блок «Реле 09.dwg». Рисует в окошко слайд из этого файла и при выборе этого окошка вставляет реле из указанного файла. Что позволяет легко менять иконки и блоки не корежа программу.


6. Составление перечня элементов.

После последнего листа схемы рисуется форматка перечня элемента и заполняется. Для этого сканируется весь чертеж, выбираются блоки относящиеся к моей программе, вытаскиваются их позиционные обозначения, элементы сортируются по позиционному обозначению и заносятся в форматку по графам. Вносимая текстовая строка берется из расширенных данных (таким образом, хоть сейчас вставляется только "реле 4пары контактов 24В", на будущее планирую сделать ввод элементов с каталожной записью). Если форматка заканчивается, рядом рисуется новая и заполняется уже она. Ну и для контроля в специальном слое чертежа все занесенные в перечень элементы зачеркиваются на чертеже. Поэтому можно просмотреть что программа распознала, а что нет, чтобы внести нераспознаные элементы вручную.

8. Ну и отдельная функция, считающая для проводников количество наконечников и маркировки проводов.
Main Urod вне форума  
 
Непрочитано 16.12.2010, 16:00
#60
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Main Urod
Если не секрет, диалоги - это DCL со слайдами?
Do$ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание мини-САПРа

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание диалоговых окон в AutoCAD TwoZero Программирование 145 11.03.2015 18:15
Создание единого принципа работы в AutoCAD 2009, в отдельно взятой проектной фирме. milamu AutoCAD 175 27.11.2009 15:38
создание набора с помощью activeX Composter Программирование 3 15.05.2009 00:11
Владимир Свет "AutoCAD: язык макрокоманд и создание кно niki AutoCAD 4 04.02.2005 14:51
Одна из целей: Создание экспертных систем на базе AutoCAD. Сергей Юрьевич Программирование 9 01.01.2005 15:17