Кинематическая операция

Автор Robinnn, 01.06.06, 11:35:02

« предыдущая - следующая »

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

Robinnn

Здравствуйте.
Помогите разобраться.
Хочю сделать выдавливание по спирали (что-то похожее на пружину), но не могу задать пусть - саму спираль (на сколько я понял нужно использовать PathPartArray :~), может кто-то подскажет

Nesh

Желательно привести пример на VisualBasic

IronMaxxx

Под рукой был только пример на Delphi.

var
    Evolution: ksEntity;
    iBossEvolutionDef: ksBossEvolutionDefinition;
    Collect: ksEntityCollection;
                ...
begin
                ...
    // интерфейс кинематической операции выдавливания
    Evolution := ksEntity(iPart.NewEntity( o3d_bossEvolution ));
    if Evolution <> nil then
      begin
        // получаем definition интерфейса
        iBossEvolutionDef := ksBossEvolutionDefinition(Evolution.GetDefinition);
        if iBossEvolutionDef <> nil then
          begin
            // устанавливаем эскиз
            iBossEvolutionDef.SetSketch(iSketchEntity);
            // способ выдавливания
            iBossEvolutionDef.sketchShiftType := 0;
            // указатель на колекцию объектов - кривых
            // для кинематического выдавливания
            Collect := ksEntityCollection(iBossEvolutionDef.PathPartArray);
            // добавляем объекты - трехмерные кривые
            // или эскизы, содержащие кривую
            Collect.Add(iSketch1Entity);
                     ...
            // создаем операцию...
            Evolution.Create;
          end;
      end;
                     ...
end.

Robinnn

Помогите разобраться где ошибка, операция не работает, хотя то что после неё выполняется   


Dim entityEvolution As Object ' ksEntity
          Set entityEvolution = Part.NewEntity(o3d_baseEvolution)
         
        If Not entityEvolution Is Nothing Then
           
            Dim EvolutionDef As Object ' ksbaseEvolutionDefinition
            Set EvolutionDef = entityEvolution.GetDefinition()
   
            If Not EvolutionDef Is Nothing Then

                EvolutionDef.SetSketch EntitySketch1             ' эскиз операции выдавливания
                EvolutionDef.sketchShiftType = 0  ' способ выдавливания
        '  EvolutionDef.SetThinParam False, dtBoth, 10, 10   ' тонкая стенка в два направления
                     ' указатель на  колекцию обьектов - кривых
               'для кинематического выдавливания
           'Dim ksEntityCollection As Object
           'Set ksEntityCollection = Part.EntityCollection(o3d_unknown)
           Dim Collect As Object
           Set Collect = EvolutionDef.PathPartArray
           
            ' добавлянм 3д оъекты или эскизы содержащие кривую
           ' ksEntityCollection.Add entityCylindricSpiral
                   
                        Collect.Add entityCylindricSpiral 'добавляем спираль
                       entityEvolution.Create ' создать операцию
                 
            End If
         End If

Akew

Вместо
ЦитироватьentityEvolution.Create ' создать операцию

попробуйте
entityEvolution.Update ' создать операцию.