Пример #1
0
        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");
                }
            }
        }
Пример #2
0
        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");
            }
        }