Ребят, помогите создать подсборку в сборке. ( Делфи)

Автор Sheiker, 05.03.09, 23:00:02

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

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

Sheiker

Всем доброго времени суток. С созданием документа-сборки разобрался.... ,с созданием там деталей тож.... вроде)))  а вот с созданием подсборок "пропал".
Буду очень признателен, если подскажите как. С уважением, студен. :)

что бы сюда добавить , чтоб куб рисовался в подсборке??? 
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, ComObj, LDefin2D,ksTLB,LDefin3D;


type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
Kompas :KompasObject;
  Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Kompas :KompasObject;
doc: ksDocument3D;
iAssembly,iPart: ksPart;
iSketchEntity: ksEntity;
iSketchDef: ksSketchDefinition;
iPlaneEntity: ksEntity;
iSketchDoc2D: ksDocument2D;
iBaseExtrEntity : ksEntity;
iPartCollection:ksPartCollection ;
iBaseExtrDef:ksBaseExtrusionDefinition;

begin
if Kompas = nil then
                       begin
    Kompas:= KompasObject( CreateOleObject('Kompas.Application.5') );
    if Kompas <> nil then
      Kompas.Visible := true;
                       end;
   Doc:= ksDocument3D(Kompas.Document3D);
   Doc.Create(false, FALSE);
   doc:= ksDocument3D(Kompas.ActiveDocument3D);

iAssembly:=ksPart(Doc.GetPart(pTop_Part));
iPlaneEntity:=ksEntity(iAssembly.GetDefaultEntity(o3d_planeXOY));
Doc.CreatePartFromFile('Втулка', iAssembly, iPlaneEntity);


// Doc.CreatePartInAssembly('Втулка',  iPlaneEntity); или так
  iPartCollection:=ksPartCollection(Doc.PartCollection(True));
   iPart:=ksPart(iPartCollection.First);

iPart.BeginEdit;

iSketchEntity:=ksEntity(iPart.NewEntity(o3d_sketch));           
iSketchDef:=ksSketchDefinition(iSketchEntity.GetDefinition);   
iPlaneEntity:=ksEntity(iPart.GetDefaultEntity(o3d_planeXOY));
iSketchDef.SetPlane(iPlaneEntity );
iSketchEntity.Create;
iSketchDoc2D:=ksDocument2D(iSketchDef.BeginEdit);
iSketchDoc2D.ksLineSeg(  50,  50, -50,  50, 1 );
iSketchDoc2D.ksLineSeg(  50, -50, -50, -50, 1 );
iSketchDoc2D.ksLineSeg(  50, -50,  50,  50, 1 );
iSketchDoc2D.ksLineSeg( -50, -50, -50,  50, 1 );
iSketchDef.EndEdit;
iBaseExtrEntity:=ksEntity(iPart.NewEntity(o3d_baseExtrusion));
iBaseExtrDef:=ksBaseExtrusionDefinition(iBaseExtrEntity.GetDefinition);
iBaseExtrDef.DirectionType:=dtNormal;
iBaseExtrDef.SetSideParam(true, etBlind, 100, 0, false);
iBaseExtrDef.SetSketch(iSketchEntity);
iBaseExtrEntity.Create;

iPart.EndEdit(True);

   end;
end.

Sheiker

Ответ получил по теме "Исходники, описания, примеры"