Exemple #1
0
        public ISheetFormat GetSheetFormatDrawing(IKompasDocument2D doc2d) // получить интерфейс формат чертежа
        {
            ILayoutSheets LayoutSheets = doc2d.LayoutSheets;               // коллекция листов

            if (LayoutSheets == null)
            {
                // MessageBox.Show("Не удалось подключить интерфейс ILayoutSheets.");
                return(null);
            }
            ILayoutSheet LayoutSheet = (ILayoutSheet)LayoutSheets[0]; // лист оформления

            if (LayoutSheet == null)
            {
                //MessageBox.Show("Не удалось подключить интерфейс ILayoutSheet.");
                return(null);
            }
            ISheetFormat SheetFormat = LayoutSheet.Format; // интерфейс формата листа

            if (SheetFormat == null)
            {
                // MessageBox.Show("Не удалось подключить интерфейс ISheetFormat.");
                return(null);
            }

            /*ksDocumentFormatEnum formatLayout = SheetFormat.Format; // формат листа (значение)
             * format = (int)formatLayout;
             * long H = (long)SheetFormat.FormatHeight;
             * long W = (long)SheetFormat.FormatWidth;
             * MessageBox.Show("Высота формата: " + H.ToString() + "; Ширина формата: "+W.ToString());*/
            return(SheetFormat);
        }
        private void bConvertAllDrawing_Click(object sender, EventArgs e)
        {
            TestConnectKompas();
            if (!flag_Kompas)
            {
                return;
            }
            Documents docs = kompas7.Documents;
            int       k    = docs.Count;

            if (k == 0)
            {
                kompas.ksMessage("Нет открытых документов");
                return;
            }
            for (int i = 0; i < k; i++)
            {
                KompasDocument kdoc = (KompasDocument)docs[i];
                if (kdoc.DocumentType == DocumentTypeEnum.ksDocumentDrawing)
                {
                    kolLists = 1;
                    ILayoutSheets lists = kdoc.LayoutSheets;
                    kolLists = lists.Count;
                    //if (kolLists > 1)
                    //{
                    //    kompas.ksMessage("Количество листов в документе: " + kolLists.ToString());
                    //}
                    Document2D doc2 = kompas.Document2D();
                    doc2 = kompas.TransferInterface(kdoc, (int)ksAPITypeEnum.ksAPI5Auto, 0);
                    if (doc2 == null)
                    {
                        kompas.ksMessage("Не удалось преобразовать объект");
                        return;
                    }
                    if (!SaveCDW_in_Rastr(doc2))
                    {
                        kompas.ksMessage("Ошибка! Чертеж не переведен");
                        return;
                    }
                }
            }
            kompas.ksMessage("Чертежи успешно переведены");
            kolLists = 1;
        }
        private void bConvertActiveDrawing_Click(object sender, EventArgs e)
        {
            TestConnectKompas();
            if (!flag_Kompas)
            {
                return;
            }

            Document2D doc = kompas.ActiveDocument2D();

            if (doc == null)
            {
                kompas.ksMessage("Активный документ не является чертежом.");
                return;
            }
            long typedoc = kompas.ksGetDocumentType(doc.reference);

            if ((typedoc < 1) || (typedoc > 2))
            {
                kompas.ksMessage("Активный документ не является чертежом.");
                return;
            }
            KompasDocument kdoc = kompas.TransferInterface(doc, (int)ksAPITypeEnum.ksAPI7Dual, 0);

            if (kdoc == null)
            {
                kompas.ksMessage("Не удалось преобразовать объект");
                return;
            }
            ILayoutSheets lists = kdoc.LayoutSheets;

            kolLists = lists.Count;
            //if (kolLists > 1)
            //{
            //    kompas.ksMessage("Количество листов в документе: " + kolLists.ToString());
            //}
            if (!SaveCDW_in_Rastr(doc))
            {
                kompas.ksMessage("Ошибка! Чертеж не переведен");
                return;
            }
            kompas.ksMessage("Чертеж успешно переведен");
            kolLists = 1;
        }