private void GetTesselationData(IComponent2 comp, out float[] tessTriangs, out float[] tessNorms) { IModelDoc2 compModel = comp.IGetModelDoc(); if (compModel == null) { if (Path.GetExtension(comp.GetPathName()).Equals(".sldprt", StringComparison.CurrentCultureIgnoreCase)) { tessTriangs = comp.GetTessTriangles(true) as float[]; tessNorms = comp.GetTessNorms() as float[]; } else { throw new NotSupportedException("Only parts are supported"); } } else { if (compModel is IPartDoc) { GetTesselationDataFromPart(compModel as IPartDoc, out tessTriangs, out tessNorms); } else { throw new NotSupportedException("Only parts are supported"); } } }
public static void Export(this IComponent2 comp, string filePath) { var model = comp.IGetModelDoc(); if (model != null) { int err = -1; int warn = -1; model.Extension.SaveAs(filePath, (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent, null, ref err, ref warn); } else { throw new NullReferenceException("Model"); } }