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

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

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

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

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

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

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

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

Автор Robinnn, 01.06.06, 12: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.
+ Благодарностей: 1

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