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

Автор 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.
I don't want to be the product of my environment. I want my environment to be the product of me...
(Franc Costello (Jack Nickolson), "The Departed")

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 ' создать операцию.