Ejemplo n.º 1
0
        public void PublishCmd_Callback()
        {
            try
            {
                string tmp_file_path = Path.Combine(Path.GetTempPath(), Path.GetTempFileName());
                File.Delete(tmp_file_path);
                tmp_file_path = Path.ChangeExtension(tmp_file_path, ".stl");

                int  modelType      = SwApp.IActiveDoc2.GetType();
                bool curOptionValue = false;
                if (modelType == (int)swDocumentTypes_e.swDocASSEMBLY)
                {
                    curOptionValue = SwApp.GetUserPreferenceToggle
                                     (
                        (int)swUserPreferenceToggle_e.swSTLComponentsIntoOneFile
                                     );

                    if (curOptionValue == false)
                    {
                        SwApp.SetUserPreferenceToggle
                        (
                            (int)swUserPreferenceToggle_e.swSTLComponentsIntoOneFile,
                            true
                        );
                    }
                }

                int  errors   = 0;
                int  warnings = 0;
                bool isOK     = SwApp.IActiveDoc2.Extension.SaveAs(
                    tmp_file_path,
                    (int)swSaveAsVersion_e.swSaveAsCurrentVersion,
                    (int)swSaveAsOptions_e.swSaveAsOptions_Silent | (int)swSaveAsOptions_e.swSaveAsOptions_OverrideSaveEmodel,
                    null,
                    ref errors,
                    ref warnings);

                string thumbnail = "";// saveImage();

                //***************************************

                // magic happens here
                SketchfabPublisher.ParametersForm form = new SketchfabPublisher.ParametersForm(
                    modelPath: tmp_file_path,
                    modelName: this.ModelName,
                    description: this.Description,
                    tags: this.Tags,
                    token: null,
                    imagePath: thumbnail,
                    source: "solidworks-" + getSWVersion()
                    );

                if (form.ShowDialog() == DialogResult.OK && form.ToSaveSummaryInfo)
                {
                    this.ModelName   = form.ModelTitle;
                    this.Description = form.ModelDescription;
                    this.Tags        = form.ModelTags;
                }

                //***************************************

                if (modelType == (int)swDocumentTypes_e.swDocASSEMBLY)
                {
                    SwApp.SetUserPreferenceToggle
                    (
                        (int)swUserPreferenceToggle_e.swSTLComponentsIntoOneFile,
                        curOptionValue
                    );
                }

                //File.Delete(thumbnail);
                File.Delete(tmp_file_path);
            }
            catch
            { }
        }