示例#1
0
        /// <summary>
        /// IsTeklaActice() - return true if TeklaStructures Process exists in Windows, and model is available 
        /// </summary>
        /// <returns>true if Tekla is up and running</returns>
        public static bool isTeklaActive()
        {
            Log.set("isTeklaActive()");
            bool ok = false;
            const string Tekla = "TeklaStructures";
            foreach (Process clsProcess in Process.GetProcesses())
            {
                if (clsProcess.ProcessName.ToLower().Contains(Tekla.ToLower()))
                {
                    TSM.Model model = new TSM.Model();
                    if (!model.GetConnectionStatus()) goto error;
                    try
                    {
                        ModInfo = model.GetInfo();
                        ok = model.GetConnectionStatus() && ModInfo.ModelName != "";
                    }
                    catch { goto error; }
                    break;
                }
            }
            Log.exit();
            return ok;

            error: throw new Exception("isTeklaActive no model Connection");
        }
 public void FinishWorkWithTekla()
 {
     if (myModel.GetConnectionStatus())
     {
         ModelObjectVisualization.ClearAllTemporaryStates();
     }
 }
示例#3
0
 private bool InitializeConnection()
 {
     TSM.Model _model = new TSM.Model(); //Создаем переменную локальной модели.
     if (_model.GetConnectionStatus())   //Проверка подключения.
     {
         model = _model;                 // Передаем локальную модель, глобальной.
         return(true);
     }
     else
     {
         return(false);
     }
 }
 public MainModel()
 {
     myModel = new Tekla.Structures.Model.Model();
     if (myModel.GetConnectionStatus())
     {
         phaseCollection = myModel.GetPhases();
         PhaseItemsList.CollectionChanged += PhaseItemsList_CollectionChanged;
     }
     else
     {
         MessageBox.Show("Tekla Structures might not be open. Please run Tekla and restart RebarPhaseManager.");
     }
 }
示例#5
0
        private void btn_action_Click(object sender, EventArgs e)
        {
            // kết nối với model đang hiện hành.
            tsm.Model model = new tsm.Model();
            if (!model.GetConnectionStatus())
            {
                MessageBox.Show("Tekla is not connected!! @@");
                return;
            }
            // kiểm tra xem đã kết nối được với model chưa.
            //--------------------------------
            // Nhặt 2 đối tượng Rebar group
            tsm.RebarGroup rebargroup0 = null;
            tsm.RebarGroup rebargroup1 = null;
            // Khởi tạo picker
            mui.Picker picker = new mui.Picker();
            string     mess   = "";

            while (rebargroup0 == null & rebargroup1 == null)
            {
                try
                {
                    tsm.ModelObject obj0 = picker.PickObject(mui.Picker.PickObjectEnum.PICK_ONE_OBJECT, mess + "pick a group Rebar 0");
                    if (obj0 as tsm.RebarGroup != null)
                    {
                        rebargroup0 = obj0 as tsm.RebarGroup;
                        mess        = "";
                    }
                    else
                    {
                        mess = "Object is not a Rebar group. ";
                    }
                    tsm.ModelObject obj1 = picker.PickObject(mui.Picker.PickObjectEnum.PICK_ONE_OBJECT, mess + "pick a group Rebar 1");
                    if (obj1 as tsm.RebarGroup != null)
                    {
                        rebargroup1 = obj1 as tsm.RebarGroup;
                        mess        = "";
                    }
                    else
                    {
                        mess = "Object is not a Rebar group. ";
                    }
                }
                catch
                {
                    Operation.DisplayPrompt("not select");
                    return;
                }
            }
        }
 /// <summary>Checks if tekla strucutres model is opened</summary>
 /// <returns>True if opened</returns>
 public bool IsModelOpened()
 {
     return(model.GetConnectionStatus());
 }
示例#7
0
        public bool IsRunning()
        {
            var model = new TSM.Model();

            return(model.GetConnectionStatus());
        }