using System.Runtime.InteropServices;
namespace SolidWorks.Interop.sldworks
{
[Guid(“6B39655E-381B-4BD0-89F5-640D48593F15”)]
[TypeLibType(TypeLibTypeFlags.FHidden | TypeLibTypeFlags.FDual | TypeLibTypeFlags.FDispatchable)]
public interface IFeatureManager
{
[DispId(1)]
CustomBendAllowance CreateCustomBendAllowance();
[DispId(2)]
Feature InsertSheetMetalBaseFlange(double Thickness, bool ThickenDir, double Radius, double ExtrudeDist1, double ExtrudeDist2, bool FlipExtruDir, int EndCondition1, int EndCondition2, int DirToUse, CustomBendAllowance PCBA, bool UseDefaultRelief, int ReliefType, double ReliefWidth, double ReliefDepth, double ReliefRatio, bool UseReliefRatio);
[DispId(3)]
Feature InsertDeleteBody();
[DispId(4)]
Feature FeatureExtrusion(bool Sd, bool Flip, bool Dir, int T1, int T2, double D1, double D2, bool Dchk1, bool Dchk2, bool Ddir1, bool Ddir2, double Dang1, double Dang2, bool OffsetReverse1, bool OffsetReverse2, bool TranslateSurface1, bool TranslateSurface2, bool Merge, bool UseFeatScope, bool UseAutoSelect);
[DispId(5)]
Feature FeatureExtrusionThin(bool Sd, bool Flip, bool Dir, int T1, int T2, double D1, double D2, bool Dchk1, bool Dchk2, bool Ddir1, bool Ddir2, double Dang1, double Dang2, bool OffsetReverse1, bool OffsetReverse2, bool TranslateSurface1, bool TranslateSurface2, bool Merge, double Thk1, double Thk2, double EndThk, int RevThinDir, int CapEnds, bool AddBends, double BendRad, bool UseFeatScope, bool UseAutoSelect);
[DispId(6)]
Feature FeatureCut(bool Sd, bool Flip, bool Dir, int T1, int T2, double D1, double D2, bool Dchk1, bool Dchk2, bool Ddir1, bool Ddir2, double Dang1, double Dang2, bool OffsetReverse1, bool OffsetReverse2, bool TranslateSurface1, bool TranslateSurface2, bool NormalCut, bool UseFeatScope, bool UseAutoSelect);
[DispId(7)]
Feature FeatureCutThin(bool Sd, bool Flip, bool Dir, int T1, int T2, double D1, double D2, bool Dchk1, bool Dchk2, bool Ddir1, bool Ddir2, double Dang1, double Dang2, bool OffsetReverse1, bool OffsetReverse2, bool TranslateSurface1, bool TranslateSurface2, double Thk1, double Thk2, double EndThk, int RevThinDir, int CapEnds, bool AddBends, double BendRad, bool UseFeatScope, bool UseAutoSelect);
[DispId(8)]
Feature FeatureRevolve(double Angle, bool ReverseDir, double Angle2, int RevType, int Options, bool Merge, bool UseFeatScope, bool UseAutoSel);
[DispId(9)]
Feature FeatureRevolveCut(double Angle, bool ReverseDir, double Angle2, int RevType, int Options, bool UseFeatScope, bool UseAutoSelect);
[DispId(10)]
Feature FeatureRevolveThin(double Angle, bool ReverseDir, double Angle2, int RevType, double Thickness1, double Thickness2, int ReverseThinDir, bool Merge, bool UseFeatScope, bool UseAutoSelect);
[DispId(11)]
Feature FeatureRevolveThinCut(double Angle, bool ReverseDir, double Angle2, int RevType, double Thickness1, double Thickness2, int ReverseThinDir, bool UseFeatScope, bool UseAutoSelect);
[DispId(12)]
Feature FeatureBossThicken(double Thickness, int Direction, int FaceIndex, bool FillVolume, bool Merge, bool UseFeatScope, bool UseAutoSelect);
[DispId(13)]
Feature FeatureCutThicken(double Thickness, int Direction, int FaceIndex, bool FillVolume, bool UseFeatScope, bool UseAutoSelect);
[DispId(14)]
Feature InsertProtrusionSwept(bool Propagate, bool Alignment, short TwistCtrlOption, bool KeepTangency, bool ForceNonRational, short StartMatchingType, short EndMatchingType, bool IsThinBody, double Thickness1, double Thickness2, short ThinType, bool Merge, bool UseFeatScope, bool UseAutoSelect);
[DispId(15)]
Feature InsertCutSwept(bool Propagate, bool Alignment, short TwistCtrlOption, bool KeepTangency, bool ForceNonRational, short StartMatchingType, short EndMatchingType, bool IsThinBody, double Thickness1, double Thickness2, short ThinType, bool UseFeatScope, bool UseAutoSelect);
[DispId(16)]
Feature InsertProtrusionBlend(bool Closed, bool KeepTangency, bool ForceNonRational, double TessToleranceFactor, short StartMatchingType, short EndMatchingType, double StartTangentLength, double EndTangentLength, bool StartTangentDir, bool EndTangentDir, bool IsThinBody, double Thickness1, double Thickness2, short ThinType, bool Merge, bool UseFeatScope, bool UseAutoSelect);
[DispId(17)]
Feature InsertCutBlend(bool Closed, bool KeepTangency, bool ForceNonRational, double TessToleranceFactor, short StartMatchingType, short EndMatchingType, bool IsThinBody, double Thickness1, double Thickness2, short ThinType, bool UseFeatScope, bool UseAutoSelect);
[DispId(18)]
Feature HoleWizard(int GenericHoleType, int StandardIndex, int FastenerTypeIndex, string SSize, short EndType, double Diameter, double Depth, double Value1, double Value2, double Value3, double Value4, double Value5, double Value6, double Value7, double Value8, double Value9, double Value10, double Value11, double Value12);
[DispId(19)]
Feature InsertMacroFeature(string BaseName, string ProgId, object MacroMethods, object ParamNames, object ParamTypes, object ParamValues, Body2 EditBody, int Options);
[DispId(20)]
Feature IInsertMacroFeature(string BaseName, string ProgId, ref string MacroMethods, int ParamCount, ref string ParamNames, ref int ParamTypes, ref string ParamValues, Body2 EditBody, int Options);
[DispId(22)]
void UpdateFeatureTree();
[DispId(23)]
bool InsertFeatureTreeFolder();
[DispId(24)]
Feature InsertSheetMetalCornerTrim(int InternalCornerFlag, int BreakType, double BreakDist, int ReliefType, double Param);
[DispId(27)]
Feature InsertFillSurface(int Resolution);
[DispId(28)]
bool EditRollback(int Location, string Feature);
[DispId(29)]
Feature InsertSheetMetalLoftedBend(int ThickDirType, double Thickness);
[DispId(30)]
void MakeStyledCurves(double Tol, int Mode);
[DispId(31)]
void HideBodies();
[DispId(32)]
void ShowBodies();
[DispId(33)]
Feature InsertMirrorFeature(bool BMirrorBody, bool BGeometryPattern, bool BMerge, bool BKnit);
[DispId(34)]
Feature InsertMoveCopyBody(double TransX, double TransY, double TransZ, double TransDist, double RotPointX, double RotPointY, double RotPointZ, double RotAngleX, double RotAngleY, double RotAngleZ, bool BCopy, int NumCopies);
[DispId(36)]
Feature InsertCombineFeature(int OperationType, Body2 MainBody, object ToolVar);
[DispId(37)]
Feature IInsertCombineFeature(int OperationType, Body2 MainBody, int ToolsCount, ref Body2 ToolsArr);
[DispId(38)]
Feature InsertDwgOrDxfFile(string FileName);
[DispId(39)]
Feature FeatureLinearPattern(int Num1, double Spacing1, int Num2, double Spacing2, bool FlipDir1, bool FlipDir2, string DName1, string DName2);
[DispId(40)]
Feature FeatureCircularPattern(int Num, double Spacing, bool FlipDir, string DName);
[DispId(41)]
Feature InsertTableDrivenPattern(string FileName, object PointVar, bool UseCentrod, bool GeomPatt);
[DispId(42)]
Feature IInsertTableDrivenPattern(string FileName, int Count, ref double PointArr, bool UseCentrod, bool GeomPatt);
[DispId(43)]
string InsertCosmeticThread(short Type, double Depth, double Length, string Note);
[DispId(44)]
Feature InsertScale(short Type, bool Uniform, double Xscale, double YScale, double ZScale);
[DispId(45)]
Feature InsertFeatureTreeFolder2(int Type);
[DispId(46)]
Feature InsertMoveCopyBody2(double TransX, double TransY, double TransZ, double TransDist, double RotPointX, double RotPointY, double RotPointZ, double RotAngleX, double RotAngleY, double RotAngleZ, bool BCopy, int NumCopies);
[DispId(47)]
Feature FeatureSketchDrivenPattern(bool UseCentroid, bool BGeomPatt);
[DispId(48)]
Feature InsertDerivedPattern();
[DispId(49)]
Feature InsertGussetFeature(double Depth, short DirType, short LocType, bool BIsProfile, double ProfileD1, double ProfileD2, double ProfileD3, double ProfileAngle, double ProfileD4, bool BOffset, double DProfileOffset, int CrvIndex, bool BReverseDir, bool BReverseFace, bool BUseLenDim);
[DispId(50)]
Feature InsertSubWeldFolder();
[DispId(51)]
Feature InsertMoldPartingLine(bool BFlipDir);
[DispId(52)]
Feature InsertMoldShutOffSurface();
[DispId(53)]
Feature InsertWeldmentFeature();
[DispId(54)]
Feature InsertMultiFaceDraft(double Angle, bool FlipDir, bool EdgeDraft, int PropType, bool IsStepDraft, bool IsBodyDraft);
[DispId(55)]
Feature InsertRuledSurfaceFromEdge(int Type, double Length, bool FlipPullDir, bool FlipDir, bool TrimAndSew, double Angle, bool CoordInput, double X, double Y, double Z);
[DispId(56)]
bool MakeStyledCurves2(double Tolerance, int Mode);
[DispId(57)]
bool InsertSaveOutBodies();
[DispId(58)]
Feature InsertMoldCoreCavitySolids(double Dist1, double Dist2, bool Setback, double Angle);
[DispId(59)]
Feature InsertMacroFeature2(string BaseName, string ProgId, object MacroMethods, object ParamNames, object ParamTypes, object ParamValues, object DimTypes, object DimValues, Body2 EditBody, object IconFiles, int Options);
[DispId(60)]
Feature IInsertMacroFeature2(string BaseName, string ProgId, ref string MacroMethods, int ParamCount, ref string ParamNames, ref int ParamTypes, ref string ParamValues, int DimCount, ref int DimTypes, ref double DimCountValues, Body2 EditBody, int IconCount, ref string IconFiles, int Options);
[DispId(61)]
void MoldUndercutDetect(int ColUndercut, int ColBase, bool BCoordInput, double Dx, double Dy, double Dz);
[DispId(62)]
bool PreTrimSurface(bool BMutualTrimIn, bool BSplitSystemI