예제 #1
0
        private bool SaveSTEPorEDrw(List <string> fl)
        {
            if (fl.Count < 1)
            {
                return(false);
            }

            int  saveVersion = (int)swSaveAsVersion_e.swSaveAsCurrentVersion;
            int  saveOptions = (int)swSaveAsOptions_e.swSaveAsOptions_Silent;
            int  refErrors   = 0;
            int  refWarnings = 0;
            bool success     = true;

            string            tmpPath         = Path.GetTempPath();
            ModelDocExtension swModExt        = default(ModelDocExtension);
            ExportPdfData     swExportPDFData = default(ExportPdfData);

            string   fileName = fl[0];
            FileInfo fi       = new FileInfo(fileName);
            string   tmpFile  = tmpPath + "\\" + fi.Name;

            swModExt = swModel.Extension;

            bool stepconf     = swApp.GetUserPreferenceToggle((int)swUserPreferenceToggle_e.swStepExportConfigurationData);
            bool stepedgeprop = swApp.GetUserPreferenceToggle((int)swUserPreferenceToggle_e.swStepExportFaceEdgeProps);
            bool stepsplit    = swApp.GetUserPreferenceToggle((int)swUserPreferenceToggle_e.swStepExportSplitPeriodic);
            bool stepcurve    = swApp.GetUserPreferenceToggle((int)swUserPreferenceToggle_e.swStepExport3DCurveFeatures);

            int stepAP = swApp.GetUserPreferenceIntegerValue((int)swUserPreferenceIntegerValue_e.swStepAP);

            swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swStepExportConfigurationData, true);
            swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swStepExportFaceEdgeProps, true);
            swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swStepExportSplitPeriodic, true);
            swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swStepExport3DCurveFeatures, false);
            swApp.SetUserPreferenceIntegerValue((int)swUserPreferenceIntegerValue_e.swStepAP, 203);

            swFrame.SetStatusBarText(String.Format("Exporting '{0}'", fileName));
            success = swModExt.SaveAs(tmpFile, saveVersion, saveOptions, swExportPDFData, ref refErrors, ref refWarnings);

            swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swStepExportConfigurationData, stepconf);
            swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swStepExportFaceEdgeProps, stepedgeprop);
            swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swStepExportSplitPeriodic, stepsplit);
            swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swStepExport3DCurveFeatures, stepcurve);
            swApp.SetUserPreferenceIntegerValue((int)swUserPreferenceIntegerValue_e.swStepAP, stepAP);

            foreach (string fn in fl)
            {
                CopyFile(tmpFile, fn);
            }
            if (fl[0].EndsWith(@"EPRT") || fl[0].EndsWith(@"EASM"))
            {
                InsertIntoDb(fl[0], Properties.Settings.Default.eDrawingTable);
            }
            return(success);
        }