Проекционная кривая

Автор oit, 10.05.12, 10:13:45

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

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

oit

В 13 Компасе появилась команда на вкладке Пространственные кривые --> Проекционная кривая. Не могу найти в SDK как её строить. Если кто разобрался скиньте пример на Delphi (или другом языке).

Проекционная кривая o3d_ProjectionCurve описан в типе объектов документа-модели ksObj3dTypeEnum, но сам интерфейс ещё не реализован в API.

oit

Если использовать не ksAPI7 а импортировать библиотеку типов, то через контейнер IAuxiliaryGeomContainer можно получить указатель на ProjectionCurves: IProjectionCurves (проекционные кривые)

Кстати помимо ProjectionCurve в импортированом модуле еще много интересного, чего нет в ksAPI7 !

#3
Это и есть в ksAPI7 только его с генерировать надо для SP1. В справке описания нет по данному интерфейсу, поэтому разбирайтесь по с генерированному коду, хотя часть методов и свойств можно посмотреть в справке, в описании других интерфейсов.
// *********************************************************************//
// Interface: IProjectionCurve
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {535DD795-507F-41C8-AC1E-6EAF243A3792}
// *********************************************************************//
  IProjectionCurve = interface(IModelObject)
    ['{535DD795-507F-41C8-AC1E-6EAF243A3792}']
    procedure Set_Faces(PVal: OleVariant); safecall;
    function Get_Faces: OleVariant; safecall;
    procedure Set_Curves(PVal: OleVariant); safecall;
    function Get_Curves: OleVariant; safecall;
    function Get_ProjectionType: ksCurveProjectionTypeEnum; safecall;
    procedure Set_ProjectionType(PVal: ksCurveProjectionTypeEnum); safecall;
    function Get_Vector3D: IVector3D; safecall;
    function Get_TruncationByBounds: WordBool; safecall;
    procedure Set_TruncationByBounds(PVal: WordBool); safecall;
    function Get_AutoCheck: WordBool; safecall;
    procedure Set_AutoCheck(CheckValue: WordBool); safecall;
    function Get_EdgesChecks: OleVariant; safecall;
    procedure Set_EdgesChecks(Checks: OleVariant); safecall;
    function Get_EdgesArraysCount: Integer; safecall;
    function Get_Edges(Index: Integer): OleVariant; safecall;
    function Get_EdgesCheck(EdgesArrayIndex: Integer): WordBool; safecall;
    procedure Set_EdgesCheck(EdgesArrayIndex: Integer; CheckValue: WordBool); safecall;
    property Faces: OleVariant read Get_Faces write Set_Faces;
    property Curves: OleVariant read Get_Curves write Set_Curves;
    property ProjectionType: ksCurveProjectionTypeEnum read Get_ProjectionType write Set_ProjectionType;
    property Vector3D: IVector3D read Get_Vector3D;
    property TruncationByBounds: WordBool read Get_TruncationByBounds write Set_TruncationByBounds;
    property AutoCheck: WordBool read Get_AutoCheck write Set_AutoCheck;
    property EdgesChecks: OleVariant read Get_EdgesChecks write Set_EdgesChecks;
    property EdgesArraysCount: Integer read Get_EdgesArraysCount;
    property Edges[Index: Integer]: OleVariant read Get_Edges;
    property EdgesCheck[EdgesArrayIndex: Integer]: WordBool read Get_EdgesCheck write Set_EdgesCheck;
  end;

// *********************************************************************//
// DispIntf:  IProjectionCurveDisp
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {535DD795-507F-41C8-AC1E-6EAF243A3792}
// *********************************************************************//
  IProjectionCurveDisp = dispinterface
    ['{535DD795-507F-41C8-AC1E-6EAF243A3792}']
    property Faces: OleVariant dispid 1;
    property Curves: OleVariant dispid 2;
    property ProjectionType: ksCurveProjectionTypeEnum dispid 3;
    property Vector3D: IVector3D readonly dispid 4;
    property TruncationByBounds: WordBool dispid 5;
    property AutoCheck: WordBool dispid 6;
    property EdgesChecks: OleVariant dispid 7;
    property EdgesArraysCount: Integer readonly dispid 8;
    property Edges[Index: Integer]: OleVariant readonly dispid 9;
    property EdgesCheck[EdgesArrayIndex: Integer]: WordBool dispid 10;
    property Name: WideString dispid 501;
    property Hidden: WordBool dispid 502;
    function Update: WordBool; dispid 503;
    property Valid: WordBool readonly dispid 504;
    property Part: IPart7 readonly dispid 505;
    property ModelObjectType: ksObj3dTypeEnum readonly dispid 506;
    property Owner: IFeature7 readonly dispid 507;
    property Parent: IKompasAPIObject readonly dispid 1000;
    property Application: IApplication readonly dispid 1001;
    property type_: KompasAPIObjectTypeEnum readonly dispid 1002;
    property Reference: Integer readonly dispid 1003;
  end;