Можно ли такое реализовать в AutoCAD 2010?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Можно ли такое реализовать в AutoCAD 2010?

Можно ли такое реализовать в AutoCAD 2010?

Ответ
Поиск в этой теме
Непрочитано 01.05.2009, 18:52 #1
Можно ли такое реализовать в AutoCAD 2010?
Shoorup
 
Минск
Регистрация: 16.09.2006
Сообщений: 1,587

Хочу сделать очередную "навеску-полезность" на AutoCAD. Вот накидал примерно диалоговое окно, то как хотелось бы видеть программулю:

Перед тем как что-то делать грандиозное хотелось бы уточнить несколько деталей.
Вопросы:
1. Можно ли сделать так, чтобы при двойном клике на моих динамических блоках, вместо редактора атрибутов вылазило мое приложение (exe)? Под своими д.блоками я имею ввиду только определенные д.блоки.
2. Можно ли программно из моего приложения заранее изменить блок так как мне требуется, а затем его вставить в чертеж? Причем его работоспособность должна остаться. Т.е. при выделении его (1 клик) я маркерами могу его модифицировать.
3. Можно ли будет отслеживать изменения сделанные средствами AutoCAD в приложении. А именно, например я изменил динамический блок средствами AutoCAD и затем двойным кликом открыл приложение и в нем увидел, то как изменился блок.
4.Можно ли отслеживать приложением (возможно другим постоянно работающем) неправильный ввод атрибута? Например повторяющийся уже на чертеже.

Вопросов еще много, но это основные.

Миниатюры
Нажмите на изображение для увеличения
Название: Диалог.jpg
Просмотров: 1124
Размер:	64.6 Кб
ID:	19716  

__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Shoorup, 01.05.2009 в 22:17.
Просмотров: 7642
 
Непрочитано 02.05.2009, 23:07
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411


1. Теоретически - можно. Написать свой реактор на двойной клик, предварительно выгрузив dblclkedit.arx (вроде так называется). И вдобавок если exe-шник ухитрится блокировать AutoCAD полностью, выводя свое окно поверх него (но не поверх всех приложений). По идее решается разработкой СОМ-сервера и вызова его из собственного приложения, подгруженного в AutoCAD.
2. Что значит "изменить"? Изменить описание блока или его вхождение? Менять количество дин.параметров или значения параметров? Встречных вопросов слишком много: "Выражайтесь яснее" (с) Покровские ворота.
3. Зависит от того кода, который будет написан в ехе или СОМ. И опять - что значит "изменился"? См.п.2
4. Наверное, можно. Например, написав реактор на выполнение команды редактирования атрибута (_.bedit). Но зачем? А если действительно понадобится на одном чертеже использовать несколько одинаковых атрибутов?
---
По ходу дела сразу задумайся о вложенных блоках; об обработке внешних ссылок.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 03.05.2009, 10:37
#3
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
По ходу дела сразу задумайся о вложенных блоках; об обработке внешних ссылок.
Я задумываюсь еще над тем, на чем это стоит писать, как это должно работать, что придется изучать и сколько на это уйдет времени и сил.

Само окно хочется написать на C++Builder - знаком с ним больше всего. Но смогу ли я связать его с AutoCAD так как мне требуется? А именно получать "ответы" от AutoCAD к приложению, и наоборот отдавать команды с приложения к AutoCADу. Приложение полюбому будет связано с БД.
Перед тем как что-то делать хочу просто все камни разобрать и быть готовым ну и выбрать правильное направление куда копать.

Цитата:
Что значит "изменить"? Изменить описание блока или его вхождение? Менять количество дин.параметров или значения параметров?
Конечно только вхождения.


Теперь о том, что хочется написать:
У меня есть мои динамические блоки контактов. В AutoCAD2010, я их доработал с учетом возможностей и они стали такими какими были нужны. Теперь появилось желание автоматизировать, упростить, проверять все эти динамические блоки.
Есть несколько чертежей, (допустим в одной папке) в каждом чертеже вставлены несколько моих блоков. Основная задача отслеживать во всех чертежах блоки с одинаковыми параметрами и ругаться на это. И самая главная полезность это визуально (в окне приложения) показывать какие варианты я могу еще задействовать и какие уже задействованы причем в разных чертежах тоже.

Сначала по работе: На железной дороге в устройствах АТ применяются определенные реле. Их около 200 различных типов. Каждое реле имеет 8 групп контактов. На рисунке в первом посте их можно увидеть в рамке (11,12,13 - первая группа;21,22,23 вторая и т.д.) У разных типов реле могут быть разные группы контактов (но их всегда 8) Например опять же см.рисунок тип реле 1Н-340 в группе 5 и 6 нет 43 и 53 вывода (они соответственно показаны серым цветом. Реле располагаются на стативах (шкафчик с полками) и имеют свое место. На рисунке оно 35. Также реле имеет свое название (на рисунке ПВ1).
Теперь по программе: Суть работы такая, что я в одном чертеже расставляю свои динамические блоки, модифицирую их. Затем открываю другой чертеж и вставляю туда всё также. При вставке я должен видеть что например 5,6,7 группа у меня занята уже в этом чертеже, а остальные свободны и я например вторую группу могу спокойно задействовать.
Также я должен вставлять в чертеж обмотки реле (на рисунке показан в левом нижнем углу в виде круга) Реле имеет те-же атрибуты что и контакт - место,название реле. И это тоже надо отслеживать. Например место совпало а названия не совпадают - выдать сообщение что место уже занято или такое имя уже есть. Также нужно уметь программой находить вхождение блока на чертеже нажатием маленькой кнопки под группой (AutoCAD, должен разместить по центру найденный контакт). При двойном нажатии на контакт или реле должно выскакивать приложение и показывать все изменения сделанные в чертеже. Думаю скорее всего, что понадобится кнопка для проверки изменений на тот случай если чертеж был изменен без участия программы (например на другом компьютере) и для этого необходимо сверить с "базой". По поводу базы, то там должны будут хранится все типы реле и варианты исполнения групп контактов, занятые группы и в каком чертеже они заняты.
__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Shoorup, 03.05.2009 в 10:48.
Shoorup вне форума  
 
Непрочитано 03.05.2009, 10:59
#4
zamtmn

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


А стоит ли всё это делать в голом автокаде? Имхо лучше в Electrical - будет не только контроль вставок блоков но и генерация таблиц соединений
zamtmn вне форума  
 
Автор темы   Непрочитано 03.05.2009, 12:16
#5
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


zamtmn, ха! Легко сказать, а как это сделать? 2010 Electrical я еще не видел, а назад уже не хочется в 2009. Если простой пример из двух блоков покажешь можно будет задуматься.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 03.05.2009, 12:37
#6
zamtmn

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


>>ха! Легко сказать, а как это сделать?
Помоему сликом сложная оболочка для простой операции. контроль непересечения контактов-мест-названий можно сделать и обычными блоками с атрибутами.
Всё это есть в электрикале. не в таком виде конечно как хочется Вам, но есть

>> Если простой пример из двух блоков покажешь можно будет задуматься
нет, в электрикале не работаю))
zamtmn вне форума  
 
Непрочитано 03.05.2009, 16:53
#7
Сергей Богатов


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


Цитата:
Сообщение от Shoorup Посмотреть сообщение
zamtmn, ха! Легко сказать, а как это сделать? 2010 Electrical я еще не видел, а назад уже не хочется в 2009.
зайди на лавтим
__________________
Я-проектировщик бывший проектировщик!
Сергей Богатов вне форума  
 
Непрочитано 03.05.2009, 23:33
#8
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411


На всякий случай напоминаю про правила форума.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Можно ли такое реализовать в AutoCAD 2010?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запуск программы из AutoCADа kminas Программирование 19 15.06.2012 13:42
Мониторы LCD CRT Разное 94 17.06.2008 10:51
AUTOCAD 2006 Aragorn AutoCAD 14 01.04.2005 00:55
Можно ли использование ARX-библиотеку без AutoCad? archimag Программирование 5 26.11.2004 22:25
Autocad+Visual Basic Переменная среда Kokep Программирование 6 08.11.2004 12:29