Тема: Возможности OArx

Может ли кто нибудь поделиться какими либо интересными примерами приложений сделанными с помощью OArx?
Чтобы оценить возможности....

Re: Возможности OArx

AutoCAD :)

Re: Возможности OArx

Понятно. Смешно. Просто.
Ну а что нибудь своими руками сделанное. ?

Re: Возможности OArx

Посмотрите каталог Samples (включен в поставку ARX), почитайте руководство, одним словом посмотрите то, что у Вас уже есть.

Re: Возможности OArx

Спасибо.

Re: Возможности OArx

Возьми посмотри тот же шароварный Mechanics 2.0

Re: Возможности OArx

Задите ко мне на сайт http://www.alx.ncn.ru

Re: Возможности OArx

> Владимир
Была у меня как-то примочка...
Вощем, есть прибор с соединителями (солидный). И нужно иметь возможность просмотреть обозначения его соединителей независимо от того закрывается ли он другими 3Д-солидами  и как далеко он находится от камеры, а также текст обозначения соединителя был всегда перпендикулярен оси взгляда. Самое интересное - это то, что при использовании команды 3DROTATE, текст не поворачивался вместе с пространством, а в рил-тайме изменял своё положение таким образом, что оставался в плоскости экрана.
Вообще, меня радует делать всякие приколы в рил-тайме. Почти анимация ;)

Re: Возможности OArx

на мой взгляд текст лучше в реал тайм (во время действия orbit) не совать т.е. не совать прорисовку текста в
case kAcGiHideOrShadeCommand:
case kAcGiRenderCommand:
процедуры WorldDraw т.к. возможны глюки (правда не фатальные).

Re: Возможности OArx

> Виктор Разуваев
Глюков в этом деле не наблюдал ни разу.
    Да и в ворлдДро эту фичу совать ни к чему, т.к. там нет привязки к вьюпорту. Это во-первых. А во-вторых - имеет смысл поставить в классе объекта какой-нить флажок , чтобы, установив его соответствующей командой, можно было смотреть на текст. А как только текст становится ненужным, другой командой снять его. Можно использовать для одного или нескольких обектов одновременно. Скажем, если из большой кучи приборов необходимо выбрать несколько и протянуть между ними провода.
    И ещё, при нескольких вьюпортах это дело выглядит довольно эффектно - в каждом вьюпорте текст отображается в плоскости экрана.

Re: Возможности OArx

Я вам скажу как устроить глюк.
Берете и засовываете прорисовку AcDbMText в  case kAcGiHideOrShadeCommand:
case kAcGiRenderCommand:
крутите orbit
на этом этапе все хорошо, только при закрытие Акада начнет ругаться, а вот это плохо, но реального вреда от этого не наблюдал, но навсякий случай убрал
AcDbMText
из
kAcGiHideOrShadeCommand:
case kAcGiRenderCommand:
ну кому он там нафиг нужен
ведь после окончания действия команды orbit текст появляется
Сорри за офтопик наверное

Re: Возможности OArx

странно... никогда ещё не получал советов как устроить глюки, всегда искал пути только для их устранения...
Вообще не пойму для чего может оказаться полезным описанный выше приём. Мы, видимо, говорим о разных вещах.
Я делаю так:

void _CS_DBX_Soedinitel::viewportDraw(AcGiViewportDraw* mode)
{
//..
    mode->geometry().text(...);
//..

и текст отображается не зависимо от того какой режим затенения.
Эта вещь может глючить только тогда (причём основательно), когда неправильно расчитаны вектор нормали и направления текста. Главное - правильно рассчитать систему координат, в которой вставляешь. Но это - ноу-хау.
Ну да ладно, отошли от темы...
=========================
Ещё примочка - используя inputPointMonitor, можно изобразить вот какой эффект: имеются какие-то объекты (свои) и нужно, скажем, чтобы при наведении курсора объект менял свои свойства - подсвечивался, становился красным, менял толщину линии и пр., а при отведении возвращался к исходному состоянию. Можно также пойти дальше - используя вышеописанную примочку с текстом, сделать так, чтобы при наведении курсора этот текст появлялся, а при отведении пропадал и никому не мешал. Текст, опять-таки, в плоскости экрана и не зависит от масштаба экрана и от того, перекрывается ли он другими объектами. Т.е. виден всегда и одинаковыми по отношению к размеру экрана символами.