Вырезание выдавливанием

Автор Armant, 17.05.15, 15:32:10

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

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

Armant

Здравствуйте! Есть вот такой кусок кода            if operac=BaseExtrusion then
            begin
            Form1.Memo1.Lines.Add('Операция "выдавливание"');
              //Получаем интерфейс объекта "операция выдавливание"
              EntityExtrusion:=ksEntity(Part.NewEntity(o3d_baseExtrusion));
              //Получаем интерфейс параметров операции "выдавливание"
              BaseExtrusionDefinition := ksBaseExtrusionDefinition(EntityExtrusion.GetDefinition());
              //Устанавливаем параметры операции выдавливания
              BaseExtrusionDefinition.SetSideParam(TRUE,etBlind,a,0,TRUE);
              //Устанавливаем эскиз операции выдавливания
              BaseExtrusionDefinition.SetSketch(EntityDraw);
              //Создаем операцию выдавливания
              EntityExtrusion.Create();
            end;

            if operac=cutExtrusion then
            begin
              Form1.Memo1.Lines.Add('Операция "вырезание выдавливанием"');
              //Получаем интерфейс объекта "операция выдавливание"
              EntityExtrusion:=ksEntity(Part.NewEntity(o3d_cutExtrusion));
              //Получаем интерфейс параметров операции "выдавливание"
              CutExtrusionDefinition := ksCutExtrusionDefinition(EntityExtrusion.GetDefinition());
              //Устанавливаем параметры операции выдавливания
              CutExtrusionDefinition.SetSideParam(TRUE,etBlind,a,0,TRUE);
              //Устанавливаем эскиз операции выдавливания
              CutExtrusionDefinition.SetSketch(EntityDraw);
              //Создаем операцию выдавливания
              EntityExtrusion.Create();
            end;
операция "выдавливание" работает как надо, а при операции "вырезание выдавливанием" выдавливает на 10мм(во всех случаях) хотя в переменой "а" другое значение. Почему так происходит? Результат тот же если вместо переменной указываю конкретное число т.е. если указываю 50 выдавливает на 10.

Посмотрите пример c:Program FilesASCONKOMPAS-3D V16SDKPascalDELPHIAUTOstep3d1Step3D11.pas
+ Благодарностей: 1

Armant

Проблема разрешилась, спасибо))) надо было направление выдавливания изменить ;)
CutExtrusionDefinition.SetSideParam(False,etBlind,a,0,TRUE);