public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            try
            {
                Model model = new Model();
                ModelObjectEnumerator        modelObjectEnum = model.GetModelObjectSelector().GetSelectedObjects();
                System.Collections.ArrayList array           = new System.Collections.ArrayList();
                if (modelObjectEnum.GetSize() == 0)
                {
                    Picker picker = new Picker();
                    Part   part   = (Part)picker.PickObject(Tekla.Structures.Model.UI.Picker.PickObjectEnum.PICK_ONE_PART);
                    part.Insert();
                    array.Add(part);
                }

                else
                {
                    while (modelObjectEnum.MoveNext())
                    {
                        if (modelObjectEnum.Current is Part)
                        {
                            Part part = (Part)modelObjectEnum.Current;
                            part.Insert();
                            array.Add(part);
                        }
                    }
                }
                model.CommitChanges();
                Tekla.Structures.Model.UI.ModelObjectSelector modelobjsel = new Tekla.Structures.Model.UI.ModelObjectSelector();
                modelobjsel.Select(array);
            }
            catch { }
        }
示例#2
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            Model myModel = new Model();

            PositionNumberToName.main();
            myModel.CommitChanges();
        }
示例#3
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            Model     model     = new Model();
            ModelInfo modelinfo = model.GetInfo();

            FileInfo fileInfo = new FileInfo(modelinfo.ModelPath + @"\attributes\CurrentContracts");

            if (fileInfo.Exists)
            {
                using (StreamReader sr = new StreamReader(fileInfo.FullName))
                {
                    string        line             = sr.ReadLine();
                    DirectoryInfo CurrentContracts = new DirectoryInfo(line);
                    if (CurrentContracts.Exists)
                    {
                        akit.Callback("acmd_shellexecute_open", CurrentContracts.FullName, "main_frame");
                    }
                }
            }
            else
            {
                FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog();
                DialogResult        result = folderBrowserDialog1.ShowDialog();
                if (result == DialogResult.OK)
                {
                    string folderName = folderBrowserDialog1.SelectedPath;
                    using (StreamWriter sw = new StreamWriter(fileInfo.FullName))
                    {
                        sw.WriteLine(folderName);
                    }
                    akit.Callback("acmd_shellexecute_open", folderName, "main_frame");
                }
            }
        }
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            Model model = new Model();
            //Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector();
            DrawingHandler          dh  = new DrawingHandler();
            DrawingObjectEnumerator doe = dh.GetDrawingObjectSelector().GetSelected();

            while (doe.MoveNext())
            {
                string CONN_CODE_END1 = "", CONN_CODE_END2 = "";
                if (doe.Current is Tekla.Structures.Drawing.Part)
                {
                    Tekla.Structures.Drawing.Part dPart = (Tekla.Structures.Drawing.Part)doe.Current;
                    Tekla.Structures.Model.Part   mPart = (Tekla.Structures.Model.Part)model.SelectModelObject((Identifier)dPart.ModelIdentifier);
                    if (mPart is Beam)
                    {
                        Beam     beam = (Beam)mPart;
                        ViewBase view = dPart.GetView();
                        mPart.GetUserProperty("CONN_CODE_END1", ref CONN_CODE_END1);
                        mPart.GetUserProperty("CONN_CODE_END2", ref CONN_CODE_END2);

                        if (CONN_CODE_END1 != "")
                        {
                            Tekla.Structures.Drawing.Text text = new Tekla.Structures.Drawing.Text(view, beam.StartPoint + new Point(200, 200), CONN_CODE_END1, new LeaderLinePlacing(beam.StartPoint));
                            text.Insert();
                        }
                        if (CONN_CODE_END2 != "")
                        {
                            Tekla.Structures.Drawing.Text text = new Tekla.Structures.Drawing.Text(view, beam.EndPoint + new Point(200, 200), CONN_CODE_END2, new LeaderLinePlacing(beam.EndPoint));
                            text.Insert();
                        }
                    }
                }
            }
        }
示例#5
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            var handler   = new DrawingHandler();
            var selection = handler.GetDrawingObjectSelector().GetSelected();

            DrawingHandler.SetMessageExecutionStatus(DrawingHandler.MessageExecutionModeEnum.BY_COMMIT);

            double rotang = 0;

            while (selection.MoveNext())
            {
                if (selection.Current is MarkBase)
                {
                    MarkBase mark = selection.Current as MarkBase;
                    mark.Attributes.RotationAngle             = rotang;
                    mark.Attributes.PlacingAttributes.IsFixed = true;
                    mark.Modify();
                }
                else
                {
                    Text text = selection.Current as Text;
                    text.Attributes.Angle = rotang;
                    text.Attributes.PlacingAttributes.IsFixed = true;
                    text.Modify();
                }
            }
            DrawingHandler.SetMessageExecutionStatus(DrawingHandler.MessageExecutionModeEnum.INSTANT);
            handler.GetActiveDrawing().CommitChanges();
        }
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            try
            {
                Model model = new Model();
                TSMUI.ModelObjectSelector modelObjectSelector = new TSMUI.ModelObjectSelector();
                ModelObjectEnumerator     objectsToCopyEnum   = modelObjectSelector.GetSelectedObjects();

                ArrayList objectsToCopyArray = new ArrayList();

                while (objectsToCopyEnum.MoveNext())
                {
                    objectsToCopyArray.Add(objectsToCopyEnum.Current);
                }

                Beam sourceBeam = PickBeam();

                ArrayList modelObjectSelectorArray = new ArrayList();
                modelObjectSelectorArray.Add(sourceBeam);
                modelObjectSelector.Select(modelObjectSelectorArray);
                modelObjectSelectorArray.Clear();

                CopyToAnotherBeamByEndPoint(objectsToCopyArray, sourceBeam);
            }
            catch { }
        }
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            akit.Callback("diaDisplaySnapshotDialog", "", "main_frame");
            akit.PushButton("options", "snapshot_dialog");
            akit.ValueChange("snapshot_option_dialog", "width", "387.000000000000");
            akit.ValueChange("snapshot_option_dialog", "white_bg_enabled", "1");
            akit.PushButton("option_apply", "snapshot_option_dialog");
            akit.PushButton("option_ok", "snapshot_option_dialog");

            Model     model                 = new Model();
            ModelInfo modelinfo             = model.GetInfo();
            string    ScreenshotsFolderPath = modelinfo.ModelPath + @"\screenshots\";
            string    now = DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString("0#") + "-" + DateTime.Now.Day.ToString("0#") + "-" +
                            DateTime.Now.Hour.ToString("0#") + DateTime.Now.Minute.ToString("0#") + DateTime.Now.Second.ToString("0#");
            string ScreenshotFilePath = ScreenshotsFolderPath + Environment.UserName + "_" + now + ".png";

            akit.ValueChange("snapshot_dialog", "filename", ScreenshotFilePath);

            akit.ValueChange("snapshot_dialog", "target_selection", "1");
            akit.ValueChange("snapshot_dialog", "show_with_viewer_enabled", "1");
            akit.PushButton("take_snapshot", "snapshot_dialog");
            akit.PushButton("cancel", "snapshot_dialog");


            if (!File.Exists(ScreenshotFilePath))
            {
                return;
            }
            else
            {
                string argument = @"/select, " + ScreenshotFilePath;
                System.Diagnostics.Process.Start("explorer.exe", argument);
            }
        }
示例#8
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            try
            {
                Model model = new Model();
                ModelObjectEnumerator modelObjectEnum = model.GetModelObjectSelector().GetSelectedObjects();
                if (modelObjectEnum.GetSize() > 0)
                {
                    while (modelObjectEnum.MoveNext())
                    {
                        if (modelObjectEnum.Current is Tekla.Structures.Model.Part)
                        {
                            Tekla.Structures.Model.Part part = (Tekla.Structures.Model.Part)modelObjectEnum.Current;
                            string    mark                = "";
                            Hashtable strProps            = new Hashtable();
                            ArrayList PartStrRepPropNames = new ArrayList();
                            PartStrRepPropNames.Add("ASSEMBLY_POS");
                            part.GetStringReportProperties(PartStrRepPropNames, ref strProps);
                            if ((mark = (string)strProps["ASSEMBLY_POS"]) == null)
                            {
                                mark = "";
                            }

                            mark = mark.Replace("(?)", "");

                            part.SetUserProperty("USER_FIELD_4", mark);
                            part.Modify();
                        }
                    }
                    model.CommitChanges();
                    MessageBox.Show("Process Complete");
                }
            }
            catch { }
        }
示例#9
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            Model myModel = new Model();

            ScaleToDrawingTitle3.main();
            myModel.CommitChanges();
        }
示例#10
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            ModelViewEnumerator ViewEnum = ViewHandler.GetVisibleViews();

            while (ViewEnum.MoveNext())
            {
                ;
            }
            {
                View ActiveView = ViewEnum.Current;
                ClipPlaneCollection ClipPlanes = ActiveView.GetClipPlanes();
                if (ClipPlanes.Count > 0)
                {
                    IEnumerator PlaneEnum = ClipPlanes.GetEnumerator();
                    while (PlaneEnum.MoveNext())
                    {
                        ClipPlane CPlane = PlaneEnum.Current as ClipPlane;
                        if (CPlane != null)
                        {
                            CPlane.Delete();
                        }
                    }
                }
            }
        }
示例#11
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            //Idea is to get only objects in selected view
            ViewBase      view;
            DrawingObject dob;

            var    handler = new DrawingHandler();
            Picker picker  = handler.GetPicker();

            picker.PickObject("Select any object in intended view", out dob, out view);

            var reinforcement = view.GetAllObjects(typeof(ReinforcementBase));

            DrawingHandler.SetMessageExecutionStatus(DrawingHandler.MessageExecutionModeEnum.BY_COMMIT);

            foreach (ReinforcementBase reinf in reinforcement)
            {
                if (reinf.Hideable.IsHidden)
                {
                    reinf.Hideable.ShowInDrawingView();
                    reinf.Modify();
                }
            }
            DrawingHandler.SetMessageExecutionStatus(DrawingHandler.MessageExecutionModeEnum.INSTANT);
            handler.GetActiveDrawing().CommitChanges();
            Tekla.Structures.Model.Operations.Operation.DisplayPrompt("Operation finished");
        }
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            try
            {
                Model model = new Model();
                TransformationPlane transformationplane = model.GetWorkPlaneHandler().GetCurrentTransformationPlane();
                model.GetWorkPlaneHandler().SetCurrentTransformationPlane(new TransformationPlane());
                ModelObjectEnumerator modelObjectEnum = model.GetModelObjectSelector().GetSelectedObjects();

                if (modelObjectEnum.GetSize() == 1)
                {
                    while (modelObjectEnum.MoveNext())
                    {
                        if (modelObjectEnum.Current is Tekla.Structures.Model.Part)
                        {
                            Tekla.Structures.Model.Part part = modelObjectEnum.Current as Tekla.Structures.Model.Part;
                            double level = 0; part.GetReportProperty("TOP_LEVEL_UNFORMATTED", ref level);
                            akit.CommandStart("ail_create_basic_view", "", "main_frame");
                            akit.ValueChange("Modelling create view", "v1_coordinate", level.ToString("F02"));
                            akit.PushButton("v1_create", "Modelling create view");
                        }
                    }
                }

                model.GetWorkPlaneHandler().SetCurrentTransformationPlane(transformationplane);
            }
            catch { }
        }
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            Model             model              = new Model();
            ModelInfo         modelInfo          = model.GetInfo();
            string            drawingsFolderPath = modelInfo.ModelPath + @"\drawings\";
            DrawingHandler    drawingHandler     = new DrawingHandler();
            DrawingEnumerator drawingEnum        = drawingHandler.GetDrawingSelector().GetSelected();

            if (drawingEnum.GetSize() == 1)
            {
                while (drawingEnum.MoveNext())
                {
                    System.Reflection.PropertyInfo propertyInfo = drawingEnum.Current.GetType().GetProperty("Identifier", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
                    object value = propertyInfo.GetValue(drawingEnum.Current, null);

                    Identifier Identifier = (Identifier)value;
                    Beam       tempBeam   = new Beam();
                    tempBeam.Identifier = Identifier;

                    string             drawingFile = "";
                    bool               result      = tempBeam.GetReportProperty("DRAWING_PLOT_FILE", ref drawingFile);
                    System.IO.FileInfo file        = new System.IO.FileInfo(drawingsFolderPath + drawingFile);
                    if (file.Exists)
                    {
                        System.Diagnostics.Process.Start("Explorer.exe", @"/select, " + file.FullName);
                    }
                }
            }
        }
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            TSM.UI.ModelViewEnumerator views = TSM.UI.ViewHandler.GetSelectedViews();

            if (views.Count > 0)
            {
                while (views.MoveNext())
                {
                    TSM.UI.View activeView = views.Current;
                    TSM.UI.ModelObjectSelector selector = new Tekla.Structures.Model.UI.ModelObjectSelector();

                    ArrayList visibleParts = ItemSelector.getParts(activeView);
                    selector.Select(visibleParts);

                    akit.Callback("acmdViewTopInFormFace", "", "View_01 window_1");

                    ArrayList empty = new ArrayList();
                    selector.Select(empty);
                }
            }
            else
            {
                MessageBox.Show("Vaate aken peab olema aktiivne");
            }
        }
示例#15
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            MyModel.GetWorkPlaneHandler().SetCurrentTransformationPlane(new TransformationPlane());
            Tekla.Structures.Model.UI.ModelObjectSelector MS = new Tekla.Structures.Model.UI.ModelObjectSelector();
            ModelObjectEnumerator Menum          = MS.GetSelectedObjects();
            List <Beam>           AllPartList    = EnumtoArray(Menum).OfType <Beam>().ToList();
            List <int>            AllPartListIds = AllPartList.Select(x => x.Identifier.ID).ToList();
            List <Beam>           BeamList       = AllPartList.Where(x => x.Name == "BEAM").ToList();

            int ConCount = 0;

            foreach (Beam bem in BeamList)
            {
                bem.Select();
                // Start Side
                Beam StartBeam = GetPrimary(bem, AllPartListIds, "Start");
                if (StartBeam != null && !IsConnectionApplied(bem, StartBeam))
                {
                    //MessageBox.Show(StartBeam.Identifier.ID.ToString());
                    ApplyConn(StartBeam, bem, "Start");
                    ConCount++;
                }

                Beam EndBeam = GetPrimary(bem, AllPartListIds, "End");
                if (EndBeam != null && !IsConnectionApplied(bem, EndBeam))
                {
                    ApplyConn(EndBeam, bem, "End");
                    ConCount++;
                }
            }

            MessageBox.Show("Total Connection Applied : " + ConCount.ToString());
        }
示例#16
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            try
            {
                if (Process.GetProcessesByName("SZMK.TeklaInteraction").Length == 0)
                {
                    ProcessStartInfo procInfo = new ProcessStartInfo();
                    string           system   = Environment.GetFolderPath(Environment.SpecialFolder.System);
                    string           path     = Path.GetPathRoot(system);
                    procInfo.FileName         = path + @"SZMK\SZMK.TeklaInteraction\SZMK.Launcher.exe";
                    procInfo.WorkingDirectory = path + @"SZMK\SZMK.TeklaInteraction";
                    Process.Start(procInfo);
                }

                var client = new NamedPipeClientStream("Tekla21.1");

                client.Connect(30000);
            }
            catch (Win32Exception)
            {
                MessageBox.Show("Не удается найти программу", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (TimeoutException)
            {
                MessageBox.Show("Ошибка подключения к обработке данных", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (IOException)
            {
                MessageBox.Show("Закончите предыдущее добавление перед началом нового", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception Ex)
            {
                MessageBox.Show("Неопределенная ошибка, покажите её разработчику" + Environment.NewLine + Ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#17
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            try
            {
                Model          model          = new Model();
                DrawingHandler drawingHandler = new DrawingHandler();

                ArrayList ModelObjectArray = new ArrayList();

                if (drawingHandler.GetActiveDrawing() != null)
                {
                    DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetDrawingObjectSelector().GetSelected();
                    while (drawingObjectEnum.MoveNext())
                    {
                        Tekla.Structures.Drawing.ModelObject dModelObject = (Tekla.Structures.Drawing.ModelObject)drawingObjectEnum.Current;
                        ModelObjectArray.Add(model.SelectModelObject(dModelObject.ModelIdentifier));
                    }
                }
                else
                {
                    ModelObjectEnumerator modelObjectEnum = model.GetModelObjectSelector().GetSelectedObjects();
                    while (modelObjectEnum.MoveNext())
                    {
                        Tekla.Structures.Model.ModelObject modelObject = (Tekla.Structures.Model.ModelObject)modelObjectEnum.Current;
                        ModelObjectArray.Add(model.SelectModelObject(modelObject.Identifier));
                    }
                }

                Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector();
                modelObjectSelector.Select(ModelObjectArray);
                akit.Callback("acmdCreateViewBySelectedObjectsExtrema", "", "main_frame");
                akit.Callback("acmd_interrupt", "", "main_frame");
            }
            catch { }
        }
示例#18
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            ModelObjectEnumerator moe   = new Tekla.Structures.Model.UI.ModelObjectSelector().GetSelectedObjects();
            List <string>         guids = new List <string>();

            foreach (ModelObject m in moe)
            {
                if (m != null)
                {
                    guids.Add(m.Identifier.GUID.ToString());
                }
            }


            if (guids.Count < 1)
            {
                Tekla.Structures.Model.Operations.Operation.DisplayPrompt("Select object");
            }
            else
            {
                string Guid_To_Clipboard = string.Join(" ", guids);

                //MessageBox.Show(Guid_To_Clipboard);
                Clipboard.SetText(Guid_To_Clipboard.ToUpper());
                Tekla.Structures.Model.Operations.Operation.DisplayPrompt("GUID was copied to your clipboard");
            }
        }
示例#19
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            try
            {
                Model          model          = new Model();
                DrawingHandler drawingHandler = new DrawingHandler();

                ArrayList ModelObjectArray = new ArrayList();

                if (drawingHandler.GetActiveDrawing() != null)
                {
                    DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetDrawingObjectSelector().GetSelected();
                    if (drawingObjectEnum.GetSize() > 0)
                    {
                        while (drawingObjectEnum.MoveNext())
                        {
                            Tekla.Structures.Drawing.ModelObject dModelObject = (Tekla.Structures.Drawing.ModelObject)drawingObjectEnum.Current;
                            ModelObjectArray.Add(model.SelectModelObject(dModelObject.ModelIdentifier));
                        }
                    }

                    Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector();
                    modelObjectSelector.Select(ModelObjectArray);
                }

                akit.Callback("acmdZoomToSelected", "", "main_frame");
            }
            catch { }
        }
        public static void main(List <string> ignoreClasses, Tekla.Technology.Akit.IScript akit)
        {
            int wrongPartsCount = 0;

            TSM.ModelObjectEnumerator selectedObjects   = getSelectedObjects();
            List <TSM.Assembly>       selectedAssemblys = getSelectedAssemblys(selectedObjects);

            foreach (TSM.Assembly currentAssembly in selectedAssemblys)
            {
                ArrayList wrongParts = findWrongParts(ignoreClasses, currentAssembly);

                if (wrongParts.Count > 0)
                {
                    changePartToSubAssembly(currentAssembly, wrongParts, akit);

                    TSM.Part mainpart = currentAssembly.GetMainPart() as TSM.Part;
                    if (currentAssembly.Name == mainpart.Name)
                    {
                        removeAssemblyPropertys(currentAssembly, akit);
                    }
                }

                wrongPartsCount += wrongParts.Count;
            }

            MessageBox.Show("Kontrollitud " + selectedAssemblys.Count.ToString() + " assembly." + Environment.NewLine +
                            "Tõstetub ümber " + wrongPartsCount.ToString() + " vigast elementi.");
        }
示例#21
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            Model model = new Model();
            ModelObjectEnumerator modelObjectEnum = model.GetModelObjectSelector().GetSelectedObjects();

            Tekla.Structures.Model.UI.Picker picker = new Tekla.Structures.Model.UI.Picker();

            if (modelObjectEnum.GetSize() == 0)
            {
                modelObjectEnum = picker.PickObjects(Tekla.Structures.Model.UI.Picker.PickObjectsEnum.PICK_N_PARTS);
            }

            ArrayList arrayPoints = picker.PickPoints(Tekla.Structures.Model.UI.Picker.PickPointEnum.PICK_TWO_POINTS);
            Point     point1      = (Tekla.Structures.Geometry3d.Point)arrayPoints[0];
            Point     point2      = (Tekla.Structures.Geometry3d.Point)arrayPoints[1];
            Line      line        = new Tekla.Structures.Geometry3d.Line(point1, point2);

            while (modelObjectEnum.MoveNext())
            {
                if (modelObjectEnum.Current is Beam)
                {
                    Beam  beam         = (Beam)modelObjectEnum.Current;
                    Line  line2        = new Line(beam.StartPoint, beam.EndPoint);
                    Point intersection = Intersection.LineToLine(line, line2).Point1;
                    Tekla.Structures.Model.Operations.Operation.Split(beam, intersection);
                }
            }
            model.CommitChanges();
        }
示例#22
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            try
            {
                Model                   model             = new Model();
                DrawingHandler          drawingHandler    = new DrawingHandler();
                DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetDrawingObjectSelector().GetSelected();
                ArrayList               ModelObjectArray  = new ArrayList();

                if (drawingObjectEnum.GetSize() > 0)
                {
                    while (drawingObjectEnum.MoveNext())
                    {
                        if (drawingObjectEnum.Current is Tekla.Structures.Drawing.Part)
                        {
                            Tekla.Structures.Drawing.Part part = drawingObjectEnum.Current as Tekla.Structures.Drawing.Part;
                            ModelObjectArray.Add(model.SelectModelObject(new Identifier(part.ModelIdentifier.ID)));
                        }
                        if (drawingObjectEnum.Current is Tekla.Structures.Drawing.Bolt)
                        {
                            Tekla.Structures.Drawing.Bolt bolt = drawingObjectEnum.Current as Tekla.Structures.Drawing.Bolt;
                            ModelObjectArray.Add(model.SelectModelObject(new Identifier(bolt.ModelIdentifier.ID)));
                        }
                    }
                }

                Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector();
                modelObjectSelector.Select(ModelObjectArray);
                akit.Callback("acmd_display_selected_object_dialog", "", "main_frame");
            }
            catch { }
        }
        private static void removeAssemblyPropertys(Assembly currentAssembly, Tekla.Technology.Akit.IScript akit)
        {
            akit.Callback("acmd_display_selected_object_dialog", "", "View_01 window_1");
            Part currentMainPart = currentAssembly.GetMainPart() as Part;

            if (!currentMainPart.Material.MaterialString.StartsWith("C"))
            {
                akit.ValueChange("steelassembly_1", "AssemblyPrefix", "");
                akit.ValueChange("steelassembly_1", "AssemblyStartNumber", "");
                akit.ValueChange("steelassembly_1", "AssemblyName", "");
                akit.PushButton("modify_button", "steelassembly_1");
                akit.PushButton("OK_button", "steelassembly_1");
            }
            else
            {
                if (currentMainPart.CastUnitType == 0)
                {
                    akit.ValueChange("precastassembly_1", "AssemblyPrefix", "");
                    akit.ValueChange("precastassembly_1", "AssemblyStartNumber", "");
                    akit.ValueChange("precastassembly_1", "AssemblyName", "");
                    akit.PushButton("modify_button", "precastassembly_1");
                    akit.PushButton("OK_button", "precastassembly_1");
                }
                else
                {
                    akit.ValueChange("insituassembly_1", "AssemblyPrefix", "");
                    akit.ValueChange("insituassembly_1", "AssemblyStartNumber", "");
                    akit.ValueChange("insituassembly_1", "AssemblyName", "");
                    akit.PushButton("modify_button", "insituassembly_1");
                    akit.PushButton("OK_button", "insituassembly_1");
                }
            }
        }
示例#24
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            try
            {
                Model model = new Model();
                ModelObjectEnumerator modelObjectEnum = model.GetModelObjectSelector().GetSelectedObjects();
                if (modelObjectEnum.GetSize() > 0)
                {
                    while (modelObjectEnum.MoveNext())
                    {
                        if (modelObjectEnum.Current is Tekla.Structures.Model.Part)
                        {
                            Tekla.Structures.Model.Part part = (Tekla.Structures.Model.Part)modelObjectEnum.Current;
                            string USER_FIELD_3 = "", USER_FIELD_4 = "", PRELIM_MARK = "";
                            part.GetUserProperty("USER_FIELD_3", ref USER_FIELD_3);
                            part.GetUserProperty("USER_FIELD_4", ref USER_FIELD_4);
                            part.GetUserProperty("PRELIM_MARK", ref PRELIM_MARK);

                            USER_FIELD_4 = USER_FIELD_4.Replace("(?)", "");

                            if (USER_FIELD_3 == "Z")
                            {
                                part.SetUserProperty("USER_FIELD_2", PRELIM_MARK);
                                part.SetUserProperty("PRELIM_MARK", USER_FIELD_3 + USER_FIELD_4);
                                part.Modify();
                            }
                        }
                    }
                    model.CommitChanges();
                    MessageBox.Show("Process Complete");
                }
            }
            catch { }
        }
示例#25
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            var handler   = new DrawingHandler();
            var selection = handler.GetDrawingObjectSelector().GetSelected();


            PointList     pointlist = new PointList();
            List <double> X         = new List <double>();
            List <double> Y         = new List <double>();

            while (selection.MoveNext())
            {
                if (selection.Current is Polygon)
                {
                    Polygon polygon = selection.Current as Polygon;
                    pointlist = polygon.Points;

                    foreach (Point i in pointlist)
                    {
                        X.Add(i.X);
                        Y.Add(i.Y);
                    }
                }
            }
            int n = X.Count;

            double area = polygonArea(X, Y, n) / 1000000;

            string msg = String.Format("Polygon area is: {0} m2", Math.Round(area, 3));

            System.Windows.Forms.MessageBox.Show(msg);
        }
示例#26
0
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            Process StartApp = new Process();

            StartApp.EnableRaisingEvents = false;
            StartApp.StartInfo.FileName  = @"X:\data2\TeklaStructures\16.1\environments\KWP-GET-UPDATES.bat";
            StartApp.Start();
        }
示例#27
0
 public static void Run(Tekla.Technology.Akit.IScript akit)
 {
     System.Diagnostics.Process Process = new System.Diagnostics.Process();
     Process.EnableRaisingEvents = false;
     Process.StartInfo.FileName  = "iexplore";
     Process.StartInfo.Arguments = "X:/data2/TeklaStructures/KWP/KWP-help.html";
     Process.Start();
 }
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            List <string> ignoreClasses = new List <string>();

            //ignoreClasses.Add("152");

            TSM.Model myModel = new TSM.Model();
            AssemblyToSubAssembly.main(ignoreClasses, akit);
            myModel.CommitChanges();
        }
 public static void Run(Tekla.Technology.Akit.IScript akit)
 {
     akit.Callback("gdr_menu_select_active_draw", "", "main_frame");                     // opens drawing list
     akit.PushButton("dia_draw_display_all", "Drawing_selection");                       // show all drawings
     akit.ValueChange("Drawing_selection", "diaSavedSearchOptionMenu", "0");             // resets the filter
     akit.ValueChange("Drawing_selection", "diaSavedSearchOptionMenu", "10");            // filters assembly drawings
     akit.PushButton("dia_draw_filter_by_parts", "Drawing_selection");                   // filters by parts
     akit.TableSelect("Drawing_selection", "dia_draw_select_list", 1);                   // selects the first drawing in the list
     akit.PushButton("dia_draw_open", "Drawing_selection");                              // opens the drawing
 }
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            akit.Callback("acmd_display_selected_object_dialog", "object_attr", "main_frame");
            //akit.ValueChange("beam_1", "PRELIM_MARK", "");

            akit.TabChange("beam_1", "tw", "tab6");
            akit.PushButton("on_off_button", "beam_1");
            akit.TabChange("column_1", "tw", "tab6");
            akit.PushButton("on_off_button", "column_1");
        }