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

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

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

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

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, Спасибо за помощь, оказалось гораздо проще чем я думал...