public static DataTable PropertiesForEachConf()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("Конфигурация");
            dt.Columns.Add("Обозначение");
            dt.Columns.Add("Наименование");
            dt.Columns.Add("Раздел");
            dt.Columns.Add("Масса");
            dt.Columns.Add("Исполнение");

            for (int i = 0; i < EditProp.configNames?.Length; i++)
            {
                dt.Rows.Add();
                EditProp.GetProperties(EditProp.configNames[i]);
                Debug.Print(EditProp.configNames[i]);
                dt.Rows[i]["Конфигурация"] = EditProp.configNames[i];
                dt.Rows[i]["Обозначение"]  = Propertiy.Designition;
                dt.Rows[i]["Наименование"] = Propertiy.Name;
                dt.Rows[i]["Масса"]        = Propertiy.Weight;
                dt.Rows[i]["Раздел"]       = Propertiy.Division;
                dt.Rows[i]["Исполнение"]   = Propertiy._Version;
            }
            return(dt);
        }
Exemple #2
0
        public static void AddPropertiesFromModel()
        {
            if (Propertiy.Designition == String.Empty)
            {
                GetModelName();
            }

            if (Propertiy.Division == String.Empty)
            {
                if (EditProp.docType == swDocumentTypes_e.swDocASSEMBLY)
                {
                    Propertiy.Division = "Сборочные еденицы";
                }
                else if (EditProp.docType == swDocumentTypes_e.swDocPART)
                {
                    Propertiy.Division = "Детали";
                }
            }

            massaValues = EditProp.GetModelWeight();
            if (massaValues.Length > 1)
            {
                // МАССА
                if (Propertiy.MassaFormat != String.Empty)
                {
                    switch (Propertiy.MassaFormat.Substring(1, 1)) // проверяем последнюю цифру свойства MassaFormat
                    {
                    case "0":
                        Propertiy.Weight = massaValues[1].ToString();
                        break;

                    case "1":
                        Propertiy.Weight = massaValues[2].ToString();
                        break;

                    case "2":
                        Propertiy.Weight = massaValues[3].ToString();
                        break;

                    case "3":
                        Propertiy.Weight = massaValues[4].ToString();
                        break;

                    case "4":
                        Propertiy.Weight = massaValues[5].ToString();
                        break;
                    }
                }
                else
                {
                    Propertiy.Weight = massaValues[1].ToString();
                }
            }
        }
Exemple #3
0
 public static void GetPropsFromModelFromDRW()
 {
     // подтягиваем свойства из модельки в чертеж
     swModel = swView.ReferencedDocument;
     docType = (swDocumentTypes_e)swModel.GetType();
     EditProp.configuracione = swView.ReferencedConfiguration;
     EditProp.FixPropertys();
     EditProp.GetProperties(EditProp.configuracione);
     swModel = swApp.ActiveDoc; // дальше опять работаем с чертежом
     EditProp.configuracione = "";
     docType = (swDocumentTypes_e)swModel.GetType();
 }
        public static void GetValuesFromGrid(DataTable dt)
        {
            string temp;

            foreach (var item in dt.AsEnumerable())
            {
                temp = item["Конфигурация"].ToString();
                Propertiy.Designition = item["Обозначение"].ToString();
                Propertiy.Name        = item["Наименование"].ToString();
                Propertiy.Division    = item["Раздел"].ToString();
                Propertiy.Weight      = item["Масса"].ToString();
                Propertiy._Version    = item["Исполнение"].ToString();
                EditProp.SetProperties(temp);
            }
        }
        private void BtnSave_Click(object sender, RoutedEventArgs e)
        {
            ReadDataForm();
            CheckSwComlepFolder(); //проверять есть ли таккая папка

            if (File.Exists(XmlPathName) == false)
            {
                CreateXml();
            }
            else
            {
                ReadXML();
            }
            EditProp.SetProperties(EditProp.configuracione);
            Close();
        }
Exemple #6
0
        public static void GetSolidObject()
        {
            swApp   = (SldWorks)Marshal.GetActiveObject("SldWorks.Application");
            swModel = swApp.ActiveDoc;

            // Проверка открытого документа
            if (swModel == null)
            {
                swApp.SendMsgToUser2("Откройте модель, сборку или чертеж!", (int)swMessageBoxIcon_e.swMbStop, (int)swMessageBoxBtn_e.swMbOk);

                return;
            }

            if (string.IsNullOrEmpty(swModel.GetPathName()))
            {
                swApp.SendMsgToUser2("Сохраните файл!", (int)swMessageBoxIcon_e.swMbStop, (int)swMessageBoxBtn_e.swMbOk);

                return;
            }

            docType = (swDocumentTypes_e)swModel.GetType();


            if (docType != swDocumentTypes_e.swDocDRAWING)
            {
                configName           = swModel.GetActiveConfiguration().Name;//при первом вызове присваеваеться активная конфигурация
                EditProp.configNames = EditProp.GetAllConfigurations();
            }
            else
            {
                #region Если открыт чертеж

                lockForConf = true;//нельзя изменить конфигурацию на формочке

                drw = (DrawingDoc)swModel;
                // Получение первого листа
                Sheet swSheet = drw.GetCurrentSheet();

                Propertiy.Format = GetFormat(swSheet);
                Propertiy.Sheets = drw.GetSheetCount().ToString();
                Propertiy.Sheet  = swSheet.GetName();
                // Узнаем имя активного листа
                string[] vSheetNames = drw.GetSheetNames();
                drw.ActivateSheet(vSheetNames[0]);
                swSheet         = drw.GetCurrentSheet();
                swView          = drw.GetFirstView();
                Propertiy.Scale = swView.ScaleRatio[0].ToString() + ":" + swView.ScaleRatio[1].ToString();

                m = 0;

                if (swSheet.CustomPropertyView == "По умолчанию" | swSheet.CustomPropertyView == "Default")
                {
                    // Получаем первый вид
                    swView = swView.GetNextView();
                }
                else
                {
                    while (swView != null)
                    {
                        if (swView.GetName2() == swSheet.CustomPropertyView)
                        {
                            m = 1;
                        }
                        swView = swView.GetNextView();
                    }
                    if (m == 0)
                    {
                        swView = drw.GetFirstView();
                        swView = swView.GetNextView();
                        swApp.SendMsgToUser2("Не удалось определить вид из свойств листа. Ипользуется первый вид.", (int)swMessageBoxIcon_e.swMbStop, (int)swMessageBoxBtn_e.swMbOk);
                    }
                }

                if (swView == null)
                {
                    swApp.SendMsgToUser2("Отсутсвует модель!", (int)swMessageBoxIcon_e.swMbStop, (int)swMessageBoxBtn_e.swMbOk);
                    // Возвращение активного листа
                    drw.ActivateSheet(Propertiy.Sheet);
                    return;
                }

                if (swView.ReferencedDocument == null)
                {
                    swApp.SendMsgToUser2("Отсутсвует модель!", (int)swMessageBoxIcon_e.swMbStop, (int)swMessageBoxBtn_e.swMbOk);
                    // Возвращение активного листа
                    drw.ActivateSheet(Propertiy.Sheet);
                    return;
                }
                #endregion
            }
        }