Несколько вопросов о возможностях API

Автор IzumeRoot, 14.05.06, 20:27:53

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

IzumeRoot

14.05.06, 20:27:53 Последнее редактирование: 15.05.06, 09:48:24 от IzumeRoot
Я хочу написать маленькое дополнение к КОМПАСу. Для того чтобы начать копать документацию хотелось бы знать наверняка, что то что я задумал реально и, что есть инструменты для этого всего.
1. Есть ли у API версий КОМПАСА LT какие либо ограничения по сравнению с АПИ полных версий? Какие?
2. Можно ли встраивать свои пункты в контекстные меню примитивов и чертежного листа. Можно ли средствами АПИ задать горячие клавиши для свои и уже существующих пунктов ?
3. Сложно ли и возможно ли сохранить в оперативную память или в файл на жестком диске ряд выделенных (например мышей) объектов из листа?

IzumeRoot

Люди, неужели у меня такие сложные вопросы ?

IzumeRoot

1/
Цитировать-   В состав КОМПАС-3D LT включен модуль КОМПАС-МАСТЕР LT - комплекс средств разработки приложений для системы КОМПАС-3D LT. Файлы КОМПАС-МАСТЕР LT размещаются в подпапке \SDK главной папки системы.

Замечание. Использование приложений, разработанных для КОМПАС-3D LT, в профессиональной версии системы КОМПАС-3D невозможно. И наоборот: использование приложений, разработанных для профессиональной версии, невозможно в КОМПАС-3D LT.

-   В комплект поставки КОМПАС-3D LT включена Конструкторская библиотека (constr.rtw). Файлы библиотеки размещаются в подпапке \LIBS главной папки системы.

2/ Так и не нашел пока информации.
3/ Вообще можно ли каки-то операции с, выделеными пользователем, объектами делать? Или этот КОМПАС-МАСТЕР только позволяет библиотеки шаблонов делать, но не как не свои инструменты для работы с примитивами и группами?
KsViewGetObjectArea - Не предназначена ли для формирования временной группы из объектов, которые выделены пользователем ? Или единствееный путь получить эти элементы это поместить их в буффер и затем достать от туда с помощью ksReadGroupFromClip ?

IronMaxxx

По второму вопросу: вряд ли. Можно, конечно, поизвращаться и впихнуть свои контекстные меню, но, думаю, оно того не стоит.
По третьему: вообще-то с выделенными объектами можно много чего делать... Только уточните, какой файл, как сохранять, сохранять ли относительное размещение, координаты или что-то еще? Тогда можно будет чего-то подробнее писать... Хотя наверняка в этом слусае придется больше головой работать, чем КОМПАС-Мастером. :)

IzumeRoot

Цитата: IronMaxxx от 16.05.06, 12:31:13
По второму вопросу: вряд ли. Можно, конечно, поизвращаться и впихнуть свои контекстные меню, но, думаю, оно того не стоит.
По третьему: вообще-то с выделенными объектами можно много чего делать... Только уточните, какой файл, как сохранять, сохранять ли относительное размещение, координаты или что-то еще? Тогда можно будет чего-то подробнее писать... Хотя наверняка в этом слусае придется больше головой работать, чем КОМПАС-Мастером. :)
Спасибо, наконец-то ты ответил. Я, кстати, так и подумал, что если кто ответит, то это будешь ты.
Черт с ним с файлом. Мне интересен сам принцып. Значит я могу реализовать свой инструмент. Например, пользователь выделяет мышей группу объектов на листе, которые он создавал стандартными средствами, а затем жмакает кнопки в моем инструменте и мой инструмент получает доступ к этим выделенным инструментам. Значит такое можно. Хорошо. Для этого мне надо использовать KsViewGetObjectArea или что другое ?
А что там за извращения с контестными меню? Неужели все выходы перекрыли асконовцы? Теперь я понимаю почему больше пишут под автокад а не под КОМПАС.

IronMaxxx

Цитата: IzumeRoot от 16.05.06, 14:45:31
Спасибо, наконец-то ты ответил. Я, кстати, так и подумал, что если кто ответит, то это будешь ты.
Черт с ним с файлом. Мне интересен сам принцып. Значит я могу реализовать свой инструмент. Например, пользователь выделяет мышей группу объектов на листе, которые он создавал стандартными средствами, а затем жмакает кнопки в моем инструменте и мой инструмент получает доступ к этим выделенным инструментам. Значит такое можно. Хорошо. Для этого мне надо использовать KsViewGetObjectArea или что другое ?

Да такое можно. Это точно. Что лучше использовать - это уже смотри по обстоятельствам. Для 3D - это ksSelectionMng, для 2D сейчас не помню - нужно в документации порыться...

Цитата: IzumeRoot от 16.05.06, 14:45:31
А что там за извращения с контестными меню? Неужели все выходы перекрыли асконовцы? Теперь я понимаю почему больше пишут под автокад а не под КОМПАС.

Почему перекрыли выходы? Нет, просто зачем кому-то впихивать свои пункты в стандартное меню программы? И разве в AutoCAD такое можно? В смысле на свое усмотрение редактировать содержание меню. А извращения я имел в виду, что можно было бы попробовать свои отдельные менюшки впихнуть, но, опять же, для чего? В КОМПАСе по-моему даже проще - можно ведь создавать и использовать собственные панели в инструментов в библиотеках (примеры есть в SDK). Т.е. можно свободно работать с чертежом или моделью и иметь свою собственную панельку с кнопками (при запущенной библиотеке), можно ее менять в зависимости от выбранных объектов и пр. Оно и для пользователя удобнее - не нужно тыкать правой кнопкой мыши куда попало.

IzumeRoot

Цитата: IronMaxxx от 16.05.06, 17:55:01Почему перекрыли выходы? Нет, просто зачем кому-то впихивать свои пункты в стандартное меню программы? И разве в AutoCAD такое можно?
Да в автокаде такое можно средствами АПИ. Это очень пригождается, когда создаешь свой САПР. Не просто чертилку, а САПР, в котором производятся расчеты. Раскидываешь по цеху оборудование, настраиваешь через контестное меню параметры каждого (а ведь у каждого типа оборудования будет свой набор параметров) и прикладная библиотека по этим данным считает и выдает результаты в виде таблиц и схем. Ты говоришь, что можно свои подменю впихать. Так, я не понял, есть такая возможность или нет. Или ты как впихать имел в виду. средствами голого WinAPI?

IronMaxxx

Да, средствами голого WinAPI. Но повторюсь, с той же целью и с не меньшим удобством можно использовать панели инструментов.

IzumeRoot

Цитата: IronMaxxx от 16.05.06, 23:27:31
Да, средствами голого WinAPI. Но повторюсь, с той же целью и с не меньшим удобством можно использовать панели инструментов.
Хорошо, я прислушаюсь к товему совету. А с горячими клавишами ничего нельзя сделать там ?

IronMaxxx

Цитата: IzumeRoot от 17.05.06, 10:40:23
Хорошо, я прислушаюсь к товему совету. А с горячими клавишами ничего нельзя сделать там ?

Можно... Все можно... Если копнуть поглубже в MFC. ;)