• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

ksCursor, ksPlacement

Автор Альянс, 25.01.13, 22:45:02

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

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

Альянс

Рисую в Компасе используя Automatition на C++ Builder и применяю функции ksCursor, ksPlacement в DLL. Фрагмент кода из примера:
...
  j = doc->ksPlacement( info, &x, &y, &ang, phan );
//  j = doc->ksCursor( info, &x, &y, phan );
  switch ( j ) {
    case 1:
    case 2:  type = j; break;
    case -1:  //поставить в модель
      doc->ksMoveObj( t1->gr, x, y );
      if ( ::fabs(t1->angle) > 0.001 )
        doc->ksRotateObj( t1->gr, x, y, ang /*t1->angle*/ );
      doc->ksStoreTmpGroup( t1->gr );  // поставить временную группу в вид
      doc->ksClearGroup( t1->gr, true );
      break;
  }
...

Я создал не диалоговое окно с кнопками. Можно ли сделать так, чтобы при нажатии на кнопку в этом окне функции ksCursor, ksPlacement выдавали нужное мне выходное значение? Если кто работал в библиотеке ESK (прорисовка электрических схем), там при выборе обозначения и появления фантома появляется окошко "Параметры отрисовки" и через него как-то тоже можно корректировать фантом. Как этого можно достичь?

Используйте функцию обратной связи, в ней получите координаты.
Смотрите пример STEP4_1.

Альянс

А эти координаты, если щелкаю мышкой по кнопке окна относительно чего?

Причём тут кнопка, координаты берутся с окна чертежа или фрагмента.
Вы картинку выложите, чтобы понять, что Вы хотите получить. 

Альянс

Я смотрю в Вашем примере создается пользовательская панель инструментов, попробую через неё решить проблему. У Вас нет исходника какой-нибудь компактной и простой панели инструментов? Посмотреть бы как она делается и как с ней работать?


PS

Библиотека ESK делалась когда еще не было доступа к панели свойств и там реализация давольно сложная.
Сейчас нужно использовать Панель свойств, во всяком случае для управления фантомом.
Sabahs:
ЦитироватьСмотрите пример step12.