Форум пользователей ПО АСКОН

Профессиональные вопросы => Программирование приложений => Тема начата: SТil от 04.03.04, 22:16:25

Название: Метод по работе параметрами формы редактирования отрезка
Отправлено: SТil от 04.03.04, 22:16:25
Как получить доступ к параметрам формы редактирования отрезка, а именно  "Длина", т.е. нужно чтобы при создании отрезка его длинна уже была зафиксирована, если для этого в sdk стандартный метод?  
Название: Re:Метод по работе параметрами формы редактирования отрезка
Отправлено: Alik от 05.03.04, 07:40:30
Не уверен, что можно. Попробуй так сделать.

//------------------------------------------------------------------
procedure LineSeg_Dlina_Const;
var
  j    : integer;
  rub  : Phantom;
  info : RequestInfo;
  x, y : double ;

begin
  j := 1;
  FillChar( rub, sizeof(rub), 0 );
  rub.type1.scale := 1;
  rub.phType      := 1;

  FillChar( info, sizeof(info), 0 );
  info.commands := ’Укажите точку привязки’;

  while ( j  0 ) do
  begin
    if ( rub.type1.gr > 0 ) then
      DeleteObj( rub.type1.gr  );
    rub.type1.gr  := NewGroup( 1 );
      LineSeg( 0, 0, 50, 0, 1 );       // 50 - длина отрезка. Можешь вызывать свое окно и указывать необходимую длину.
    EndGroup();
    j := Placement(Addr(info), x, y,
                             rub.type1.ang,
                             Addr(rub) );

    case  j of
   -1:begin//поставить в модель
      MoveObj( rub.type1.gr, x, y );
      if( Abs(rub.type1.ang) > 0.001 ) then
        RotateObj( rub.type1.gr, x, y, rub.type1.ang );

        StoreTmpGroup( rub.type1.gr ); //поставить временную группу в вид
        ClearGroup( rub.type1.gr );
      end;
    end;
  end;
end;

//--------------------------------------------------------------------------------------
Название: Re:Метод по работе параметрами формы редактирования отрезка
Отправлено: SТil от 05.03.04, 18:58:24
Спасибо за ответ. Я примерно также думал. Продолжу возится.