Hi,
ich programmiere gerade Makros für SolidEdge, was auch soweit ganz prima klappt. Nur bei einer Funktion kriege ich die Übergabe des Arrays "SeProfile" nicht hin. Vielleicht kann ja jemand helfen?!
Auszug aus dem SolidEdge-SDK:
<PRE>
Dim objModel As SolidEdgepart.Model
Dim objProfile(1 To 2) As SolidEdgepart.Profile
Set objProfile(1) = objDoc.ProfileSets.Add.Profiles.Add(objDoc.RefPlan es(3))
Set objModel = objDoc.Models.AddFiniteExtrudedProtrusion(NumberOf Profiles:=1, _
profileArray:=objProfile, profileplaneSide:= _
igRight, ExtrusionDistance:=0.05)
</PRE>
Meine Umsetzung in Delphi:
<PRE>
var
SeModel: OleModel;
SeProfile: OleVariant;
begin
SeProfile := VarArrayCreate([1,2], varVariant);
SeProfile[1] := SeDoc.ProfileSets.Add.Profiles.Add(SeDoc.RefPlanes .Item(3));
SeModel := SeDoc.Models.AddFiniteExtrudedProtrusion(1, SeProfile, igRight, 0.05, 0, 0, 0, 0);
</PRE>
Definition der Funktion aus der übernommenen TLB:
<PRE>
Models = dispinterface
['{49852F8C-A403-11CE-818E-0800363A1E02}']
function Item(Index: OleVariant): Model; dispid 0;
function AddBodyFeature(const ImportFileName: WideString): Model; dispid 202;
function AddFiniteExtrudedProtrusion(NumberOfProfiles: Integer;
var ProfileArray: {??PSafeArray}OleVariant;
ProfilePlaneSide: FeaturePropertyConstants;
ExtrusionDistance: Double;
KeyPointOrTangentFace: OleVariant;
KeyPointFlags: OleVariant; FromSurfOrRefPlane: OleVariant;
ToSurfOrRefPlane: OleVariant): Model; dispid 233;
</PRE>
Mfg Uwe
ich programmiere gerade Makros für SolidEdge, was auch soweit ganz prima klappt. Nur bei einer Funktion kriege ich die Übergabe des Arrays "SeProfile" nicht hin. Vielleicht kann ja jemand helfen?!
Auszug aus dem SolidEdge-SDK:
<PRE>
Dim objModel As SolidEdgepart.Model
Dim objProfile(1 To 2) As SolidEdgepart.Profile
Set objProfile(1) = objDoc.ProfileSets.Add.Profiles.Add(objDoc.RefPlan es(3))
Set objModel = objDoc.Models.AddFiniteExtrudedProtrusion(NumberOf Profiles:=1, _
profileArray:=objProfile, profileplaneSide:= _
igRight, ExtrusionDistance:=0.05)
</PRE>
Meine Umsetzung in Delphi:
<PRE>
var
SeModel: OleModel;
SeProfile: OleVariant;
begin
SeProfile := VarArrayCreate([1,2], varVariant);
SeProfile[1] := SeDoc.ProfileSets.Add.Profiles.Add(SeDoc.RefPlanes .Item(3));
SeModel := SeDoc.Models.AddFiniteExtrudedProtrusion(1, SeProfile, igRight, 0.05, 0, 0, 0, 0);
</PRE>
Definition der Funktion aus der übernommenen TLB:
<PRE>
Models = dispinterface
['{49852F8C-A403-11CE-818E-0800363A1E02}']
function Item(Index: OleVariant): Model; dispid 0;
function AddBodyFeature(const ImportFileName: WideString): Model; dispid 202;
function AddFiniteExtrudedProtrusion(NumberOfProfiles: Integer;
var ProfileArray: {??PSafeArray}OleVariant;
ProfilePlaneSide: FeaturePropertyConstants;
ExtrusionDistance: Double;
KeyPointOrTangentFace: OleVariant;
KeyPointFlags: OleVariant; FromSurfOrRefPlane: OleVariant;
ToSurfOrRefPlane: OleVariant): Model; dispid 233;
</PRE>
Mfg Uwe
Comment