コード例 #1
1
        /// <summary>
        /// Get already active Kompas application
        /// </summary>
        /// <returns>true if operation successful, false in case of error</returns>
        private bool GetActiveApp()
        {
            // Try to get an active app
            if (KompasObject == null)
            {
                try
                {
                    KompasObject = (KompasObject)Marshal.GetActiveObject("KOMPAS.Application.5");
                }
                catch
                {
                    return(false);
                }
            }

            // Else application not loaded -- return
            if (KompasObject == null)
            {
                return(false);
            }

            KompasObject.Visible = true;
            KompasObject.ActivateControllerAPI();

            return(true);
        }
コード例 #2
0
        /// <summary>
        /// Create 3D document
        /// </summary>
        /// <returns>true if operation successful; false in case of error</returns>
        public bool CreateDocument3D()
        {
            Document3D = (ksDocument3D)KompasObject.Document3D();

            // Create build
            if (!Document3D.Create(false /*visible*/, false /*build*/))
            {
                LastErrorCode = ErrorCodes.Document3DCreateError;
                return(false);
            }

            // Create screw detail on 3D document
            ScrewPart = (ksPart)Document3D.GetPart((short)Part_Type.pTop_Part);

            // Create nut detail on 3D document
            NutPart = (ksPart)Document3D.GetPart((short)Part_Type.pTop_Part);

            if (ScrewPart == null ||
                NutPart == null
                )
            {
                LastErrorCode = ErrorCodes.Document3DGetPartError;
                return(false);
            }

            return(true);
        }
コード例 #3
0
        /// <summary>
        /// Метод подключения к компасу
        /// </summary>
        public void Connector()
        {
            var type = Type.GetTypeFromProgID("KOMPAS.Application.5");

            KompasObject         = (KompasObject)Activator.CreateInstance(type);
            KompasObject.Visible = true;
        }
コード例 #4
0
ファイル: Builder.cs プロジェクト: EugeneSub/KompasPlugin
 public void Build(ksPart iPart, KompasObject _kompas, TeaPotParams teaPotParams)
 {
     this.iPart = iPart;
     CreateBody(iPart, _kompas, teaPotParams);
     CreateSpout(iPart, _kompas, teaPotParams);
     CreateHandle(iPart, _kompas, teaPotParams);
 }
コード例 #5
0
ファイル: Builder.cs プロジェクト: EugeneSub/KompasPlugin
        public void CreateSpout(ksPart iPart, KompasObject _kompas, TeaPotParams teaPotParams)
        {
            double spout  = (teaPotParams.TeaPotDiameter / 5);
            double offset = teaPotParams.TeaPotHeight - spout * 1.5;
            double width  = spout; // spoutWidth
            double height = spout; // spoutHeigth

            ksEntity           iSketch;
            ksSketchDefinition iDefinitionSketch;

            CreateSketch(out iSketch, out iDefinitionSketch, offset);
            // Интерфейс для рисования = на скетче;
            ksDocument2D iDocument2D = (ksDocument2D)iDefinitionSketch.BeginEdit();

            // Построить прямоугольник (x1,y1, x2,y2, style)
            ksRectangleParam par1 = (ksRectangleParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_RectangleParam);

            par1.x      = (teaPotParams.TeaPotDiameter / 2) - 5;
            par1.height = width;                          // spoutWidth.
            par1.y      = -(par1.height / 2);
            par1.width  = teaPotParams.TeaPotSpoutLength; //spoutLength

            par1.style = 1;                               // При нуле не видно деталь.
            iDocument2D.ksRectangle(par1);

            // Закончить редактировать эскиз
            iDefinitionSketch.EndEdit();
            int X = Convert.ToInt32(teaPotParams.TeaPotHandleColor);

            ExctrusionSketch(iPart, iSketch, height, true, X);
            Fillet(iPart, 7, width / 2, teaPotParams);
        }
コード例 #6
0
        /// <summary>
        /// Подключение к экземпляру компас 3Д
        /// Если экземпляр есть создан,
        /// то подключиться к существующему
        /// Если экземпляр не создан,
        /// то создать и подключиться к новому
        /// </summary>
        /// <returns>Экземпляр KompasObject</returns>
        private KompasObject OpenKompas3D()
        {
            //Начальное присвоение
            KompasObject kompas = null;

            //Экзмпляр уже существует
            //Отображение необходимо в каждом случае
            //так как возможна ошибка при подключении
            //к уже закрытому экземпляру
            try
            {
                kompas         = (KompasObject)Marshal.GetActiveObject("KOMPAS.Application.5");
                kompas.Visible = true;
            }
            //Создание нового экзмепляра
            catch
            {
                Type t = Type.GetTypeFromProgID("KOMPAS.Application.5");
                kompas         = (KompasObject)Activator.CreateInstance(t);
                kompas.Visible = true;
            }
            finally
            {
                //Активация API созданного экземпляра КОМПАС 3Д
                kompas.ActivateControllerAPI();
            }
            return(kompas);
        }
コード例 #7
0
        /// <summary>
        /// Конструктор с параметром.
        /// </summary>
        /// <param name="kompas">Интерфейс объекта КОМПАС.</param>
        public MainWindow(KompasObject kompas)
        {
            InitializeComponent();
            InitializeVariables();

            _manager = new Manager(kompas);
        }
コード例 #8
0
        /*[TestCase(2, TestName = "Тестирование при построении 2 документа-модели")]
         * [TestCase(3, TestName = "Тестирование при построении 3 документа-модели")]
         * [TestCase(4, TestName = "Тестирование при построении 4 документа-модели")]
         * [TestCase(5, TestName = "Тестирование при построении 5 документа-модели")]
         * [TestCase(6, TestName = "Тестирование при построении 6 документа-модели")]
         * [TestCase(7, TestName = "Тестирование при построении 7 документа-модели")]
         * [TestCase(8, TestName = "Тестирование при построении 8 документа-модели")]
         * [TestCase(9, TestName = "Тестирование при построении 9 документа-модели")]
         * [TestCase(10, TestName = "Тестирование при построении 10 документа-модели")]
         * [TestCase(11, TestName = "Тестирование при построении 5 документа-модели")]
         * [TestCase(12, TestName = "Тестирование при построении 6 документа-модели")]
         * [TestCase(13, TestName = "Тестирование при построении 7 документа-модели")]
         * [TestCase(14, TestName = "Тестирование при построении 8 документа-модели")]
         * [TestCase(15, TestName = "Тестирование при построении 9 документа-модели")]
         * [TestCase(16, TestName = "Тестирование при построении 10 документа-модели")]*/
        public void CreateTestLoad(int count)
        {
            var param = new Parameters();

            param.Radios1 = 20;
            param.Radios2 = 15;
            param.Lenght1 = 70;
            param.Lenght2 = 100;
            param.Angle1  = 6;
            param.Angle2  = 45;

            if (kompas == null)
            {
                Type t = Type.GetTypeFromProgID("KOMPAS.Application.5");
                kompas = (KompasObject)Activator.CreateInstance(t);
            }
            if (kompas != null)
            {
                kompas.Visible = true;
                kompas.ActivateControllerAPI();
            }

            for (int i = 1; i <= count; i++)
            {
                var product = new CreatorDetail(kompas);
                product.DownCircle(param);
                product.MiddleCircle(param);
                product.UpCircle(param);
                product.CreateChamfer(param);
                product.FlatPart(param);
            }
        }
コード例 #9
0
ファイル: Body.cs プロジェクト: FedorLytkin/BOM-Report-2
        public static void Init()
        {
            string progID = "KOMPAS.Application.5";

            try
            {
                object COMObject = Marshal.GetActiveObject(progID);
                if (COMObject != null)
                {
                    _kompasObject = (KompasObject)COMObject;
                }
            }
            catch (COMException e)
            {
            }
            if (_kompasObject == null)
            {
                Type t = Type.GetTypeFromProgID(progID);
                _kompasObject         = (KompasObject)Activator.CreateInstance(t);
                _kompasObject.Visible = true;
            }
            if (_kompasObject != null)
            {
                _IApplication = _kompasObject.ksGetApplication7();
            }
            KompasVersion         = _IApplication.ApplicationName[true];
            AppVersNOTValid       = Convert.ToBoolean(string.Compare(KompasVersion, KompasVersionFlag));
            AppVersNOTValidStrong = System.Text.RegularExpressions.Regex.IsMatch(KompasVersion, KompasVersionFlag);
        }
コード例 #10
0
 /// <summary>
 /// Кнопка построения
 /// </summary>
 private void BuildButton_Click(object sender, EventArgs e)
 {
     try
     {
         Parameters parameters = new Parameters(Convert.ToDouble(diamBracingTextBox.Text),
                                                Convert.ToDouble(diamHeadTextBox.Text),
                                                Convert.ToDouble(diamLegTextBox.Text),
                                                Convert.ToDouble(lengthBracingTextBox.Text),
                                                Convert.ToDouble(lengthHeadTextBox.Text),
                                                Convert.ToDouble(lengthLegTextBox.Text),
                                                Convert.ToString(threadComboBox.Text));
         if (_kompas != null)
         {
             DetailBuilder detailBuilder = new DetailBuilder(_kompas);
             detailBuilder.BuildDetail(parameters);
         }
         if (_kompas == null)
         {
             _kompasConnector.Connector();
             _kompas             = _kompasConnector.KompasObject;
             BuildButton.Enabled = true;
             DetailBuilder detailBuilder = new DetailBuilder(_kompas);
             detailBuilder.BuildDetail(parameters);
         }
     }
     catch (ArgumentException exeption)
     {
         MessageBox.Show(exeption.Message);
     }
 }
コード例 #11
0
        /// <summary>
        /// Запуск Компас-3D
        /// </summary>
        public void StartKompas()
        {
            try
            {
                if (_kompas != null)
                {
                    _kompas.Visible = true;
                    _kompas.ActivateControllerAPI();
                }

                if (_kompas == null)
                {
                    Type kompasType = Type.GetTypeFromProgID
                                          ("KOMPAS.Application.5");
                    _kompas = (KompasObject)Activator.CreateInstance
                                  (kompasType);

                    StartKompas();

                    if (_kompas == null)
                    {
                        throw new Exception("Не удается открыть Koмпас-3D");
                    }
                }
            }
            catch (COMException)
            {
                _kompas = null;
                StartKompas();
            }
        }
コード例 #12
0
 /// <summary>
 /// Конструктор
 /// </summary>
 /// <param name="document3D"></param>
 /// <param name="kompas"></param>
 /// <param name="infAir"></param>
 public CreatingModel(ksDocument3D document3D, KompasObject kompas, InfAirliner infAir)
 {
     _doc3D       = document3D;
     _kompasObj   = kompas;
     _infAirliner = infAir;
     _part        = (ksPart)_doc3D.GetPart((short)Part_Type.pTop_Part);
 }
コード例 #13
0
ファイル: GearPlugin.cs プロジェクト: 5832pta/OrSapr
        /// <summary>
        /// Головная функция библиотеки
        /// </summary>
        /// <param name="command">Номер команды в меню</param>
        /// <param name="mode">Режим работы</param>
        /// <param name="kompas">интерфейс KompasObject</param>
        public void ExternalRunCommand([In] short command, [In] short mode,
                                       [In, MarshalAs(UnmanagedType.IDispatch)] object kompas)
        {
            _kompas = (KompasObject)kompas;
            if (_kompas != null)
            {
                _doc3 = (ksDocument3D)_kompas.ActiveDocument3D();
                if (_doc3 == null || _doc3.reference == 0)
                {
                    _doc3 = (ksDocument3D)_kompas.Document3D();
                    _doc3.Create(true, true);

                    _doc3.comment     = "Зубчатое колесо";
                    _doc3.drawMode    = 3;
                    _doc3.perspective = true;
                    _doc3.UpdateDocumentParam();
                }
                switch (command)
                {
                case 1:
                    PluginFrm.Instanse.Plugin = this;
                    PluginFrm.Instanse.ShowDialog();
                    break;
                }
            }
        }
コード例 #14
0
        /// <summary>
        /// Метод для запуска КОМПАС-3D
        /// </summary>
        private void StartKompas()
        {
            try
            {
                if (_kompas != null)
                {
                    _kompas.Visible = true;
                    _kompas.ActivateControllerAPI();
                }

                if (_kompas == null)
                {
                    //Возвращает тип, связанный с указанным идентификатором ProgID
                    var t = Type.GetTypeFromProgID("KOMPAS.Application.5");
                    _kompas = (KompasObject)Activator.CreateInstance(t);

                    StartKompas();

                    if (_kompas == null)
                    {
                        throw new Exception("Нет связи с Kompas3D.");
                    }
                }
            }
            catch (COMException)
            {
                _kompas = null;
                StartKompas();
            }
        }
コード例 #15
0
 public void initialize()
 {
     toolStripLabel = new ToolStripLabel();
     errorMessage   = new StatusMessage(toolStripLabel);
     _kompasObject  = (KompasObject)null;
     calcAndBuild   = new CalcAndBuild();
 }
コード例 #16
0
        internal KompasModel()
        {
            Type t = Type.GetTypeFromProgID("KOMPAS.Application.5");

            kompas = (KompasObject)Activator.CreateInstance(t);
            kompas.ActivateControllerAPI();
        }
コード例 #17
0
ファイル: Program.cs プロジェクト: SalavatSH-Witzenmann/exp_
        public void act()
        {
            Type c = Type.GetTypeFromProgID("KOMPAS.Application.5");

            kompas        = (KompasObject)Activator.CreateInstance(c);
            documentParam = (ksDocumentParam)kompas.GetParamStruct((short)StructType2DEnum.ko_DocumentParam);
            //для активации нового листа и добавление рамки к чертежу
            documentParam.type   = (int)DocType.lt_DocSheetStandart;
            documentParam.regime = 0;
            sheetPar             = (ksSheetPar)documentParam.GetLayoutParam();
            str = kompas.ksSystemPath(0) + @"\graphic.lyt";
            sheetPar.layoutName    = str;
            sheetPar.shtType       = 1;
            standartSheet          = (ksStandartSheet)sheetPar.GetSheetParam();
            standartSheet.direct   = true;
            standartSheet.format   = 3;
            standartSheet.multiply = 1;
            dock = (ksDocument2D)kompas.Document2D();
            dock.ksCreateDocument(documentParam);

            //dock = (ksDocument2D)kompas.Document2D();                                                             // ДЛЯ СТАРОГО КОМПАСА
            //dock.ksCreateDocument(documentParam);                                                                 // ДЛЯ СТАРОГО КОМПАСА
            //sheetOptions = (ksSheetOptions)kompas.GetParamStruct((short)StructType2DEnum.ko_SheetOptions);        // ДЛЯ СТАРОГО КОМПАСА
            //dock.ksGetDocOptions(SHEET_OPTIONS_EX, sheetOptions);                                                 // ДЛЯ СТАРОГО КОМПАСА
            //sheetOptions.sheetType = false;                                                                       // ДЛЯ СТАРОГО КОМПАСА
            //standartSheet = (ksStandartSheet)sheetOptions.GetSheetParam(false);                                   // ДЛЯ СТАРОГО КОМПАСА
            //standartSheet.format = 3;                                                                             // ДЛЯ СТАРОГО КОМПАСА
            //standartSheet.direct = true;                                                                          // ДЛЯ СТАРОГО КОМПАСА
            //sheetOptions.sheetType = true;                                                                        // ДЛЯ СТАРОГО КОМПАСА
            //dock.ksSetDocOptions(SHEET_OPTIONS_EX, sheetOptions);                                                 // ДЛЯ СТАРОГО КОМПАСА
            kompas.Visible = true;
        }
コード例 #18
0
        /// <summary>
        /// Параметризированный конструктор
        /// </summary>
        /// <param name="kompas">Объект Компас API</param>
        public CreateBushing(KompasObject kompas)
        {
            _kompas = kompas;
            var document = (ksDocument3D)kompas.Document3D();

            document.Create();
        }
コード例 #19
0
ファイル: Kompas.cs プロジェクト: OlegLyamin/Window
        /// <summary>
        ///     метод для запуска и открытия компаса в одном окне
        /// </summary>
        private void StartAndConnectToKompas()
        {
            try
            {
                if (_kompas != null)
                {
                    _kompas.Visible = true;
                    _kompas.ActivateControllerAPI();
                }

                if (_kompas == null)
                {
                    var t = Type.GetTypeFromProgID("KOMPAS.Application.5");
                    _kompas = (KompasObject)Activator.CreateInstance(t);

                    StartAndConnectToKompas();

                    if (_kompas == null)
                    {
                        throw new Exception("Нет связи с Kompas3D.");
                    }
                }
            }
            catch (COMException)
            {
                _kompas = null;
                StartAndConnectToKompas();
            }
        }
コード例 #20
0
ファイル: Manager.cs プロジェクト: iskhodnik/Kompas3DAirliner
        /// <summary>
        /// Обнуление компаса
        /// </summary>
        public void KompasReset()
        {
            var test = "";

            test    = "test";
            _kompas = null;
        }
コード例 #21
0
        /// <summary>
        /// Метод запуска Компас в режиме детали, инициализации свойств Document3D, KompasPart и KompasObject
        /// </summary>
        public void InitializationKompas()
        {
            try
            {
                if (KompasObject != null)
                {
                    Document3D.close();
                }
                if (KompasObject == null)
                {
#if __LIGHT_VERSION__
                    Type t = Type.GetTypeFromProgID("KOMPASLT.Application.5");
#else
                    Type t = Type.GetTypeFromProgID("KOMPAS.Application.5");
#endif
                    KompasObject = (KompasObject)Activator.CreateInstance(t);
                }
                Document3D = (Document3D)KompasObject.Document3D();
                Document3D.Create(false, true);
                KompasPart           = (ksPart)Document3D.GetPart((short)Part_Type.pTop_Part);
                KompasObject.Visible = true;
                KompasObject.ActivateControllerAPI();
            }
            catch (Exception e)
            {
                KompasObject = null;
                InitializationKompas();
            }
        }
コード例 #22
0
        public void LoadKompas()
        {
            const string programmId = "KOMPAS.Application.5";
            var          t          = Type.GetTypeFromProgID(programmId);

            try
            {
                updateStatus("Ищу запущеный КОМПАС-3D");
                _kompas         = (KompasObject)Marshal.GetActiveObject(programmId);
                _kompas.Visible = true;
                _kompas.ActivateControllerAPI();
                _hWnd = _kompas.ksGetHWindow();
                updateStatus("КОМПАС-3D запущен!");
                SetForegroundWindow((IntPtr)_hWnd);
            }
            catch
            {
                try
                {
                    updateStatus("Запускаю КОМПАС-3D");
                    _kompas         = (KompasObject)Activator.CreateInstance(t);
                    _kompas.Visible = true;
                    _kompas.ActivateControllerAPI();
                    _hWnd = _kompas.ksGetHWindow();
                    updateStatus("КОМПАС-3D запущен!");
                    SetForegroundWindow((IntPtr)_hWnd);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Не удалось запустить приложение: \n" + ex.Message);
                }
            }
        }
コード例 #23
0
        /// <summary>
        /// Запуск KOMPAS если он не запущен.
        /// </summary>
        public void StartKompas()
        {
            if (_kompas == null)
            {
                Type kompasType =
                    Type.GetTypeFromProgID("KOMPAS.Application.5");
                _kompas =
                    (KompasObject)Activator.CreateInstance(kompasType);
            }

            if (_kompas != null)
            {
                try
                {
                    _kompas.Visible = true;
                }
                catch (System.Runtime.InteropServices.COMException)
                {
                    Type kompasType =
                        Type.GetTypeFromProgID("KOMPAS.Application.5");
                    _kompas =
                        (KompasObject)Activator.CreateInstance(kompasType);
                    _kompas.Visible = true;
                }
                _kompas.ActivateControllerAPI();
            }
        }
コード例 #24
0
 /// <summary>
 /// Метод для выгрузки и выхода из компаса
 /// </summary>
 public void UnloadKompas()
 {
     if (KompasObject != null)
     {
         KompasObject.Quit();
         Marshal.ReleaseComObject(KompasObject);
     }
 }
コード例 #25
0
        /// <summary>
        /// Метод построения детали
        /// </summary>
        public void BuildDrum(DrumDescription objDescription)
        {
            // Экземпляру присваиваем значение объекта класса
            _description = objDescription;

            // Присваивание параметров
            var kadloHeight             = _description.KadloHeight;
            var kadloRadius             = _description.KadloDiameter / 2;
            var kadloThickness          = _description.KadloThickness;
            var thicknessTopDrumhead    = _description.ThicknessTopDrumhead;
            var thicknessBottomDrumhead = _description.ThicknessBottomDrumhead;
            var rimWidth         = _description.RimWidth;
            var rimRadius        = rimWidth + kadloRadius;
            var rimHalfWidth     = rimWidth / 2;
            var rimHeight        = _description.RimHeight;
            var rimCenter        = rimRadius - rimHalfWidth;
            var numberMounting   = _description.NumberMounting;
            var radiusHole       = _description.DiametrHole / 2;
            var squareSide       = _description.SquareSide;
            var triangleSide     = _description.triangleSide;
            var ExistHoleInKadlo = _description.ExistHoleInKadlo;
            var circle           = _description.Circle;
            var square           = _description.Square;
            var triangle         = _description.Triangle;
            var ExistSnare       = _description.ExistSnare;
            var stringSnare      = _description.StringSnare;

            //Методы класса DrumBuilder

            if (_kompas == null)
            {
                Type t = Type.GetTypeFromProgID("KOMPAS.Application.5");
                _kompas = (KompasObject)Activator.CreateInstance(t);
            }

            if (_kompas != null)
            {
                _kompas.Visible = true;
                _kompas.ActivateControllerAPI();
            }
            CreateKadlo(kadloRadius, kadloHeight, kadloThickness);
            CreateDrumhead(kadloHeight, kadloRadius, thicknessTopDrumhead, thicknessBottomDrumhead);
            CreateRim(kadloHeight, thicknessTopDrumhead, thicknessBottomDrumhead, rimRadius, rimWidth, rimHeight);
            CreateHolesInRim(kadloHeight, rimCenter, numberMounting);
            CreateHolesInRim2(kadloHeight, thicknessTopDrumhead, rimCenter, numberMounting);
            CreateMountong(kadloHeight, thicknessTopDrumhead, thicknessBottomDrumhead, rimCenter, numberMounting);

            // Если выбран параметр "Наличие отверстия в кадле", вызывается метод его посторения
            if (ExistHoleInKadlo == true)
            {
                CreateHoleInKadlo(kadloHeight, circle, square, triangle, radiusHole, squareSide, triangleSide);
            }
            // Если выбран параметр "Наличие подструнника", вызывается метод его посторения
            if (ExistSnare == true)
            {
                CreateSnare(ExistSnare, stringSnare, kadloRadius, thicknessBottomDrumhead);
            }
        }
コード例 #26
0
ファイル: FormPathKMD.cs プロジェクト: xeruvim-xxi/KompasKMD
        //private int PosPart = 1;

        public FormPathKMD(int pos, KompasObject kompas) //конструктор формы создания детали
        {
            InitializeComponent();
            kompas5            = kompas;
            flag               = true;
            this.Text          = "Редактор данных деталей ОЭ - Новая деталь";
            numPosPart.Value   = pos;
            chMassPart.Checked = false;
        }
コード例 #27
0
ファイル: BuilderModel.cs プロジェクト: Maksim98/ORSAPR
 /// <summary>
 /// Конструктор класса BuilderModel
 /// </summary>
 /// <param name="parameters">Параметры модели грифа</param>
 /// <param name="kompas">Экзепляр Компас 3Д</param>
 public BuilderModel(ModelParameters parameters, KompasObject kompas)
 {
     //Получение параметров модели грифа
     _modelelParameters = parameters;
     //Получение объекта KOMPAS 3D
     _kompasObject = kompas;
     //Создание модели грифа
     CreateModel();
 }
コード例 #28
0
 public void StartKompas()
 {
     if (_kompas == null)
     {
         var type = Type.GetTypeFromProgID("KOMPAS.Application.5");
         _kompas         = (KompasObject)Activator.CreateInstance(type);
         _kompas.Visible = true;
         _kompas.ActivateControllerAPI();
     }
 }
コード例 #29
0
        /// <summary>
        ///     Включает и подключает Компас 3D.
        /// </summary>
        private void ConnectToKompas()
        {
            var t = Type.GetTypeFromProgID("KOMPAS.Application.5");

            _kompas = (KompasObject)Activator.CreateInstance(t);

            _kompas.Visible = true;

            _kompas.ActivateControllerAPI();
        }
コード例 #30
0
        /// <summary>
        /// Unset object of program
        /// </summary>
        public void DestructApp()
        {
            KompasObject.Quit();
            KompasObject = null;

            Document3D = null;
            ScrewPart  = null;

            LastErrorCode = ErrorCodes.OK;
        }
コード例 #31
0
 public bool InitKompas(out string result)
 {
     result = string.Empty;
     try
     {    	
         var t = Type.GetTypeFromProgID("KOMPAS.Application.5");
         _kompasObj = (KompasObject)Activator.CreateInstance(t);               
         _kompasApp = (_Application)_kompasObj.ksGetApplication7();                
         if (_kompasApp == null)
             return false;
     }
     catch
     {
         result = "Error: Компас не установлен";
         AddLog(result);
         return false;
     }
     result = string.Empty;
     return true;
 }
コード例 #32
0
 public MainForm(KompasObject kompas)
 {
     this.InitializeComponent();
     this.interpretator = new Interpretator(kompas);
 }
コード例 #33
0
 public void Dispose()
 {
     if (_kompasObj == null) return;
     Marshal.ReleaseComObject(_kompasObj);
     _kompasObj = null;
 }
コード例 #34
0
 /// <summary>
 /// Конструктор класса <see cref="KompasWrapper"/>
 /// </summary>
 /// <param name="kompas">экземпляр компаса</param>
 public KompasWrapper(KompasObject kompas)
 {
     this.kompas = kompas;
 }
コード例 #35
0
 /// <summary>
 /// Инициализация интерпретатора
 /// <param name="kompas">экземпляр Компас 3D</param>
 /// </summary>
 private void initLua(KompasObject kompas)
 {
     this.lua["kompas"] = new KompasWrapper(kompas);
     // this.lua.DoString(ResourceManager.GetScript("Common", "CLRPackage.lua"));
 }
コード例 #36
0
 /// <summary>
 /// Конструктор класса <see cref="Interpretator"/>
 /// <param name="kompas">экземпляр Компас 3D</param>
 /// </summary>
 public Interpretator(KompasObject kompas)
 {
     lua = new Lua();
     initLua(kompas);
 }