Нумерация листов в Tekla Structures

Переодически в Текле возникает необходимость в сквозной нумерации группы чертежей в модели. Задача эта может быть решена разными способами. Лично я предпочитаю делать это с помощью простенького скрипта. Всего то и надо  — пройтись по списку чертежей и каждому присвоить номер.

Чтобы это сделать надо вопервых получить список выбранных чертежей. Во вторых пройтись по нему, и в третьих назначить пользовательское свойство, в моем случае Page — которое потом можно использовать на ряду с другими своствами в шаблоне. Например в штампе.

Кстати, по списку можно пробежать и еще разок, присвоив общее число страниц в качестве свойства например Pages.

Собственно сам листинг скрипты который позволяет это сделать получился довольно не большим так, что привожу его здесь полностью.

namespace Tekla.Technology.Akit.UserScript
{
    using TSD = Tekla.Structures.Drawing;
    using System.Windows.Forms; //used for messageBox.show()
    
    public class Script
    {
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
		MessageBox.Show("Total number of drawings: " + CAD_NumberSelectedDrawings().ToString());
        }


      static int CAD_NumberSelectedDrawings()
        {
        try
           {
            int i = 0; //register number counter
            var CurrentDrawingHandler = new TSD.DrawingHandler(); // get current drawing handler
            var drawingsEnum = CurrentDrawingHandler.GetDrawingSelector().GetSelected(); //list of selected drawings
            while(drawingsEnum.MoveNext()) //going through it one by one
            {
                var _drawing = drawingsEnum.Current as TSD.Drawing;  //particular drawing
		i++;
		//and finally set number as "DRAWING.USERDEFINED.Page" UDA property.
		_drawing.SetUserProperty("Page", i.ToString()); //change "Page" to name of your UDA
            }
	return i;
          }
        catch (Exception ex)
           { MessageBox.Show("Something goes wrong: " + ex.Message); }
        }
    }
}

Еще по теме:

 

Нумерация листов в Tekla Structures: 3 комментария

  1. Ruslan 15.01.2018 at 11:02

    Не работает, Tekla 2017, выскакивает большое окно с ошибкой https://yadi.sk/i/qNwHbm323RTShP

    • Михаил 17.01.2018 at 11:16

      Добавил в скрипт блок try{}catch()
      Сам скрипт должен быть в папке скриптов model. и должна быть выделена группа страниц в менеджере чертежей.
      Протестировать в 2017й версии пока возможности нет.

  2. Ruslan 17.01.2018 at 14:05

    К сожалению такая же ошибка

Добавить комментарий

Имя *
E-mail *
Сайт