public static dynamic GetTSObject(SinglePartDrawing dynObject)
 {
     if (dynObject is null)
     {
         return(null);
     }
     return(dynObject.teklaObject);
 }
Exemplo n.º 2
0
        private void SetSinglePartDrawingNumber(SinglePartDrawing drawing)
        {
            var partId = drawing.PartIdentifier;
            var part   = new Model().SelectModelObject(partId) as Part;

            if (part != null)
            {
                var partParam = "";
                part.GetUserProperty("SP_DWG_N", ref partParam);
                var partRev = "";
                part.GetUserProperty("SP_REV_DWG", ref partRev);
                drawing.SetUserProperty("DR_SET_PLOT", $"{partParam}");
            }
        }
Exemplo n.º 3
0
        private void RenameDrawingTitle(DrawingEnumerator DrawingList)
        {
            this.progressBar1.Maximum = DrawingList.GetSize();
            int  num           = 1;
            int  num2          = 0;
            int  num3          = 0;
            int  num4          = 0;
            bool needsUpdating = false;

            while (DrawingList.MoveNext())
            {
                this.progressBar1.Value++;
                this.CurrentNo.Text = num++.ToString() + '/' + DrawingList.GetSize().ToString();
                this.CurrentNo.Refresh();

                string mainpartname        = "";
                string existingDrawingname = "";    // Name of the drawing before modify

                Tekla.Structures.Model.ModelObject modelObject = null;

                Drawing currentDrawing = DrawingList.Current;
                if (currentDrawing.UpToDateStatus.ToString() != "DrawingIsUpToDate")
                {
                    needsUpdating = true;
                    continue;
                }

                if (DrawingList.Current is AssemblyDrawing)
                {
                    AssemblyDrawing assemblyDrawing    = DrawingList.Current as AssemblyDrawing;
                    Identifier      assemblyIdentifier = assemblyDrawing.AssemblyIdentifier;
                    modelObject = this.My_model.SelectModelObject(assemblyIdentifier);

                    modelObject.GetReportProperty("ASSEMBLY_NAME", ref mainpartname);

                    num2++;
                }

                if (DrawingList.Current is SinglePartDrawing)
                {
                    SinglePartDrawing singlePartDrawing = DrawingList.Current as SinglePartDrawing;
                    Identifier        partIdentifier    = singlePartDrawing.PartIdentifier;
                    modelObject = this.My_model.SelectModelObject(partIdentifier);

                    modelObject.GetReportProperty("NAME", ref mainpartname);
                }
                if (modelObject != null)
                {
                    // Check if drawing name already contains the automatic drawing name:
                    existingDrawingname = DrawingList.Current.Name;
                    bool drawingNameMatch = existingDrawingname.Contains(mainpartname);

                    if ((drawingNameMatch == true) || (drawingNameMatch = existingDrawingname.Contains("DS")))
                    {
                        num4++;
                    }
                    if (drawingNameMatch == false)
                    {
                        DrawingList.Current.Name = mainpartname;
                        DrawingList.Current.Modify();
                        num3++;
                    }
                }
            }

            if (needsUpdating == true)
            {
                MessageBox.Show("Some of the drawings are not up to date!\n\nNames were not updated for that drawings.", Variables.title);
            }

            MessageBox.Show(string.Concat(new object[]
            {
                num3,
                " Drawing's name changed \n",
                num4,
                " Drawings kept the existing name"
            }), Variables.title);
        }