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

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

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

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

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

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

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

Вспомогательная плоскость под углом к другой плоскости

Автор bes, 10.06.07, 20:38:48

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

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

bes

Делаю примерно так:
...
var
...
iPart : ksPart;
iSketchEntity, iPlaneEntity, iPlaneAngleDefEntity : ksEntity;
iSketchDef : ksSketchDefinition;
iPlaneAngleDef : ksPlaneAngleDefinition;
iSketchDocument2D : ksDocument2D;
...

   iPart := ksPart(Doc.GetPart(pNew_Part));
   iSketchEntity := ksEntity( iPart.NewEntity( o3d_sketch ));
   iSketchDef := ksSketchDefinition(iSketchEntity.GetDefinition);
   iPlaneEntity := ksEntity(iPart.GetDefaultEntity( o3d_planeXOY ));
   iSketchDef.SetPlane( iPlaneEntity );
   iSketchEntity.Create;

   iSketchDocument2D := ksDocument2D(iSketchDef.BeginEdit);
   iSketchDocument2D.ksLineSeg(0,0,50,50,1);
   iSketchDef.EndEdit;

   iPlaneAngleDefEntity:=ksEntity( iPart.NewEntity( o3d_planeAngle));
   iPlaneAngleDef:=ksPlaneAngleDefinition(iPlaneAngleDefEntity.GetDefinition);
   iPlaneAngleDef.SetPlane(iPlaneEntity);
   iPlaneAngleDef.SetAxis(iSketchDef);
   iPlaneAngleDef.angle:=30;
   iPlaneAngleDefEntity.Create;

Подскажите, что делаю не так (Delphi, Компас 8 +), желательно с примером, заранее спасибо...

yarikv

для построения плоскости под углом нужно указывать в качестве оси или вспомогательную ось или ребро. эскиз как ось не определяется. можешь просто вручную попробовать указать эскиз в качестве оси и ничего не получится.
для определения оси попробуй указать ребро:

iEntityCollection:=ksEntityCollection(iPart.EntityCollection(o3d_edge));
iEntityCollection.SelectByPoint(50, 50, 0);
iPlaneAngleDef.SetAxis(iEntityCollection.First);

bes

 yarikv+1, Спасибо за помощь, оказалось гораздо проще чем я думал...