using System.Runtime.InteropServices;
namespace SolidWorks.Interop.sldworks
{
[Guid(“99F4D4AF-F268-4EE1-8C55-041F7BECF879”)]
[TypeLibType(TypeLibTypeFlags.FHidden | TypeLibTypeFlags.FDual | TypeLibTypeFlags.FDispatchable)]
public interface IModelDocExtension
{
[DispId(2)]
dynamic GetMassProperties(int Accuracy, ref int Status);
[DispId(3)]
double IGetMassProperties(int Accuracy, ref int Status);
[DispId(4)]
bool InsertDwgOrDxfFile(string FileName);
[DispId(5)]
void PrintOut(int FromPage, int ToPage, int Copies, bool Collate, string Printer, string PrintFileName);
[DispId(6)]
bool SelectByID(string Name, string Type, double X, double Y, double Z, bool Append, int Mark, Callout Callout);
[DispId(7)]
dynamic IGet3rdPartyStorageStore(string SubStorageName, bool IsStoring);
[DispId(8)]
bool IRelease3rdPartyStorageStore(string SubStorageName);
[DispId(11)]
dynamic GetSectionProperties(object Sections);
[DispId(12)]
double IGetSectionProperties(int Count, ref object Sections);
[DispId(13)]
MassProperty CreateMassProperty();
[DispId(14)]
MathTransform GetCoordinateSystemTransformByName(string NameIn);
[DispId(15)]
void SetMaterialPropertyValues(object Material_property_values, int Config_opt, object Config_names);
[DispId(16)]
void ISetMaterialPropertyValues(ref double Material_values, int Config_opt, int Config_count, ref string Config_names);
[DispId(17)]
dynamic GetMaterialPropertyValues(int Config_opt, object Config_names);
[DispId(18)]
double IGetMaterialPropertyValues(int Config_opt, int Config_count, ref string Config_names);
[DispId(19)]
void PrintOut2(object PageArray, int Copies, bool Collate, string Printer, string PrintFileName);
[DispId(20)]
void IPrintOut2(int ArraySize, ref int PageArray, int Copies, bool Collate, string Printer, string PrintFileName);
[DispId(21)]
dynamic GetPersistReference(object DispObj);
[DispId(22)]
int GetPersistReferenceCount(object DispObj);
[DispId(23)]
byte IGetPersistReference(object DipsObj, int Count);
[DispId(24)]
dynamic GetObjectByPersistReference(object PersistId);
[DispId(25)]
dynamic IGetObjectByPersistReference(int Count, ref byte PersistId);
[DispId(26)]
dynamic GetStream(int StreamType, out bool ReadOnly);
[DispId(27)]
bool ReleaseStream(int StreamType);
[DispId(28)]
Feature GetLastFeatureAdded();
[DispId(29)]
int IMultiSelect(int Count, ref object Objects, bool AppendFlag, SelectData Data);
[DispId(30)]
int MultiSelect(object Objects, bool AppendFlag, object Data);
[DispId(31)]
double GetParameterValue(string DimName, int Reserved);
[DispId(32)]
int SetParameterValue(string DimName, double Value, int Reserved);
[DispId(33)]
void MoveOrCopy(bool Copy, int NumCopies, bool KeepRelations, double BaseX, double BaseY, double BaseZ, double DestX, double DestY, double DestZ);
[DispId(34)]
void RotateOrCopy(bool Copy, int NumCopies, bool KeepRelations, double BaseX, double BaseY, double BaseZ, double DestX, double DestY, double DestZ, double Angle);
[DispId(35)]
void ScaleOrCopy(bool Copy, int NumCopies, double BaseX, double BaseY, double BaseZ, double Scale);
[DispId(36)]
bool ApplyTexture(int Scale, double Angle, string TextureFilename, bool BlendColor);
[DispId(37)]
bool RemoveTexture();
[DispId(38)]
bool RemoveMaterialProperty(int Config_opt, object Config_names);
[DispId(39)]
bool IRemoveMaterialProperty(int Config_opt, int Config_count, ref string Config_names);
[DispId(40)]
void RemoveModelColorizer(object PInterface);
[DispId(41)]
void InstallModelColorizer(object PInterface);
[DispId(42)]
bool HasDesignTable();
[DispId(43)]
void ListExternalFileReferences(out object ModelPathName, out object ComponentPathName, out object Feature, out object DataType, out object Status, out object RefEntity, out object FeatCom, out int ConfigOption, out string ConfigName);
[DispId(44)]
int ListExternalFileReferencesCount();
[DispId(45)]
void IListExternalFileReferences(int NumRefs, out string ModelPathName, out string CompPathName, out string Feature, out string DataType, out int Status, out string RefEntity, out string FeatComp, out int ConfigOption, out string ConfigName);
[DispId(46)]
void UpdateExternalFileReferences(int ConfigOption, string ConfigName, int UpdateStatus);
[DispId(48)]
SFSymbol InsertSurfaceFinishSymbol3(int SymType, int LeaderType, double LocX, double LocY, double LocZ, int LaySymbol, int ArrowType, string MachAllowance, string OtherVals, string ProdMethod, string SampleLen, string MaxRoughness, string MinRoughness, string RoughnessSpacing);
[DispId(49)]
DatumTargetSym InsertDatumTargetSymbol2(string Datum1, string Datum2, string Datum3, short AreaStyle, bool AreaOutside, double Value1, double Value2, string ValueStr1, string ValueStr2, bool ArrowsSmart, short ArrowStyle, short LeaderLineStyle, bool LeaderBent, bool ShowArea, bool ShowSymbol);
[DispId(50)]
Texture GetTexture(string Config_name);
[DispId(51)]
bool SetTexture(string Config_name, Texture TextureIn);
[DispId(52)]
bool RemoveTexture2(string Config_name);
[DispId(53)]
Texture CreateTexture(string MatName, double Scale, double Angle, bool Blend);
[DispId(54)]
dynamic GetObjectByPers