1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Скрипты и API

Сценарии / Модули API

Модератор: специалисты Eplan

Закрыто
Аватара пользователя

Автор темы
Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Скрипты и API

Сообщение Satyr »

Автоматизация Eplan при помощи C#
Аватара пользователя

Автор темы
Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Re: Скрипты и API

Сообщение Satyr »

Для начала темы хочу посоветовать посетить сайт наших немецких коллег
http://www.suplanus.de/
если есть люди програмирующие в C# откликнитесь, скрипты очень сильно повышают производительность работы и облегчают жизни проектировщиков(это факт сам проверял) )))
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Re: Скрипты и API

Сообщение AGorskiy »

Рад приветствовать одного из продвинутых пользователей Еплана! К сожалению пока на данном форуме самые актвивные пользователи-новички (3-4 человека максимум), остальные сидят тихо (чел. 10 максимум), как говорится "чукча не писатель, чукча читатель" - исключение Оксана.
Данная часть форума открылась в апреле.
Программирующих на Си Шарпе два, о которых я знаю, при чем один это вы Изображение. С сайта Йохана я периодически выкладываю скрипты порой делаю локализацию, для простоты.
Видел мульт как на АПИ делают расчет кабелей по трассам.
Так же очень интересен вариант использования АПИ без самой лицензии, видел один скрипт. Происходит регистрация дллки и вуаля. Лицензия на АПИ хоть сейчас и подешевела, все равно стоит немало.

Satyr, а что вы реализовывали используя АПИ? Можно поподробнее. Какие скрипты использовали? Что делали под свои задачи? Очень интересно!
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

Автор темы
Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Re: Скрипты и API

Сообщение Satyr »

На АПИ пока сделал один пробный проект, создание новых страниц с описанием из нисподающего меню. .... В основном пользуюсь скриптами. Для затравочки небольшой скриптик записываюший в текстовый документ исполняемые команды...
[+] Код
using System.IO;


public class SimpleEventHandler
{
[Start]
[DeclareEventHandler("onActionStart.String.*")]
public long MyEventHandlerFunction2(IEventParameter iEventParameter)
{

try
{
//File.Create(@"C:\События.txt"); ..Создание файла
EventParameterString oEventParameterString = new EventParameterString(iEventParameter);
String strActionName = oEventParameterString.String;
StreamWriter sw;
FileInfo fi = new FileInfo(@"C:\События.txt");
sw = fi.AppendText();
sw.WriteLine("oCLI.Execute(\"{0}\");", strActionName);
sw.Close();

}

catch (System.InvalidCastException exc)
{

String strExc = exc.Message;

System.Windows.Forms.MessageBox.Show("Parameter error: " + strExc, "MyEventHandler");

}



return 0;

}

}
Последний раз редактировалось Satyr 09 авг 2012, 23:04, всего редактировалось 1 раз.
Аватара пользователя

Автор темы
Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Re: Скрипты и API

Сообщение Satyr »

После чего нужные команды можно ипользовать в следующем коде (предварительно создав кнопку с параметром "выполнить")...
[+] Следующий код
public class MyRun
{
[DeclareAction("Выполнить")]
public void MyRunAction()
{
CommandLineInterpreter oCLI = new CommandLineInterpreter();
// Нужные команды...

}

}
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Re: Скрипты и API

Сообщение AGorskiy »

создание новых страниц с описанием из нисподающего меню
В свое время Оксана хотела реализовать Создание окна Combobox. Это как то связать можно? Жаль она сейчас в отпуске, уверяю, она бы вас потерзала.

Потом попробую ваш скрипт применить, отпишусь о впечатлениях.
=======================================
[+] Бегло впечатления
1) при копировании данного кода в Блокнот нужно сохранить в Юникоде, иначе при создании файла "Событие.txt" имя формируется из ромбов, без отображения кириллицы
2) при выполнении команды Выполнить в версии 2.1 SP1 вылетает окно с ошибкой
Отсутствует ожидаемый параметр вызова iEventParameter.
Однако при этом скрипт выполняется и команды записываются в указанный файл.
Все работоспособно.
Вот теперь думаю как это применить, да, можно создать список команд с порядком их выполнения, но что можно выполнить под это пока не представляю.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

Автор темы
Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Re: Скрипты и API

Сообщение Satyr »

На пример нумерацию одним кликом

Страниц
Устройств
Клемм
И сортировку клемм
Последний раз редактировалось Satyr 10 авг 2012, 11:00, всего редактировалось 1 раз.
Аватара пользователя

Автор темы
Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Re: Скрипты и API

Сообщение Satyr »

По поводу ComboBox http://files.mail.ru/5B66W2
посмотри может пригодится
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Re: Скрипты и API

Сообщение AGorskiy »

2 Satyr
Данный скрипт, в свое время, для версии 1.9 он был у Джонни, а эту версию я взял от Гишеля. Суть скрипта проста она делает вид, допустим ОУ кабеля =РУ+ВВ1-W1 к виду
=РУ
+ВВ1
-W1
что порой удобно, но сейчас не об этом скрипте речь, точнее даже дллки. По сути используется АПИ, так как прикручивается дллка, однако в архиве есть два скрипта один из них регистрирует дллку и есть возможность не использовать лицензию АПИ.
В аттаче приложенный архив с дллкой и скриптами, которые кстати сразу экспортируют и сам файл и панель, что удобно.
Нужно компетентное мнение. Так как ты об этом лучше всех знаешь, не анализировал это? Как думаешь это связано с конкретной задачей или такое возможно с другими?
2_0_DLL_Install.7z
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

Автор темы
Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Командная строка

Сообщение Satyr »

В данном скрипте реализована командная строка, во вкладке сервисные программы появляется пункт "ВЫПОЛНИТЬ".
При нажатии на этот пункт появляется окошко с командной строкой и если можно эту команду выполнить строка становиться зеленой и активируется кнопка "OK"

Можно попробовать данный скрипт на команде
StartOfflineNumeration

Код: Выделить всё

using System.Drawing;
using System.Drawing;
using System.Windows.Forms;
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Scripting;

public partial class frmExecuteEplanAction : System.Windows.Forms.Form
{
    private Button btnCancel;
    private Button btnOk;
    private TextBox txtAction;
    private CommandLineInterpreter oCLI = new CommandLineInterpreter();

    private System.ComponentModel.IContainer components = null;

    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

    private void InitializeComponent()
    {
        this.btnCancel = new System.Windows.Forms.Button();
        this.btnOk = new System.Windows.Forms.Button();
        this.txtAction = new System.Windows.Forms.TextBox();
        this.SuspendLayout();
        // 
        // btnCancel
        // 
        this.btnCancel.Location = new System.Drawing.Point(262, 87);
        this.btnCancel.Name = "btnCancel";
        this.btnCancel.Size = new System.Drawing.Size(120, 23);
        this.btnCancel.TabIndex = 1;
        this.btnCancel.Text = "Отмена";
        this.btnCancel.UseVisualStyleBackColor = true;
        this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
        // 
        // btnOk
        // 
        this.btnOk.Enabled = false;
        this.btnOk.Location = new System.Drawing.Point(136, 87);
        this.btnOk.Name = "btnOk";
        this.btnOk.Size = new System.Drawing.Size(120, 23);
        this.btnOk.TabIndex = 0;
        this.btnOk.Text = "OK";
        this.btnOk.UseVisualStyleBackColor = true;
        this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
        // 
        // txtAction
        // 
        this.txtAction.BackColor = System.Drawing.Color.LightSalmon;
        this.txtAction.Location = new System.Drawing.Point(12, 37);
        this.txtAction.Name = "txtAction";
        this.txtAction.Size = new System.Drawing.Size(370, 20);
        this.txtAction.TabIndex = 2;
        this.txtAction.TextChanged += new System.EventHandler(this.txtAction_TextChanged);
        // 
        // frmExecuteEplanAction
        // 
        this.AcceptButton = this.btnOk;
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.CancelButton = this.btnCancel;
        this.ClientSize = new System.Drawing.Size(394, 122);
        this.Controls.Add(this.txtAction);
        this.Controls.Add(this.btnOk);
        this.Controls.Add(this.btnCancel);
        this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
        this.Name = "frmExecuteEplanAction";
        this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
        this.Text = "Выполнить";
        this.Load += new System.EventHandler(this.frmExecuteEplanAction_Load);
        this.ResumeLayout(false);
        this.PerformLayout();

    }

    public frmExecuteEplanAction()
    {
        InitializeComponent();
    }



    [DeclareMenu]
    public void MenuFunction()
    {
        Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();

        oMenu.AddMenuItem(
            "Выполнить",
            "ExecuteEplanAction"
            );

        return;
    }

    [DeclareAction("ExecuteEplanAction")]
    public void Function()
    {
        frmExecuteEplanAction frm = new frmExecuteEplanAction();
        frm.ShowDialog();

        return;
    }

    private void btnCancel_Click(object sender, System.EventArgs e)
    {
        this.Close();

        return;
    }

    private void frmExecuteEplanAction_Load(object sender, System.EventArgs e)
    {
        txtAction.Select();


        return;
    }

    private void btnOk_Click(object sender, System.EventArgs e)
    {
        oCLI.Execute(txtAction.Text);
        this.Close();
        
        return;
    }

    private void txtAction_TextChanged(object sender, System.EventArgs e)
    {
        bool bRet = oCLI.IsExecutable(txtAction.Text);
        if (bRet)
        {
            txtAction.BackColor = Color.LightGreen;
            btnOk.Enabled = true;
        }
        else
        {
            txtAction.BackColor = Color.LightSalmon;
            btnOk.Enabled = false;
        }

        return;
    }
}


}
Satyr_Run.cs
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Re: Скрипты и API

Сообщение AGorskiy »

Подправил сообщения. В коде последняя строка лишняя.
Добавил подправленный файл.
[+] Ошибки
S046006 (21.08.2012 / 16:34:33) Ошибки или предупреждения компилятора в сценарии C:\Users\gas\Desktop\new.cs :
S000000 (21.08.2012 / 16:34:33) CS1022 (Строка:154, Столбец:1): Ожидалось определение типа или пространства имен, либо признак конца файла
S046007 (21.08.2012 / 16:34:33) Не удалось скомпилировать сценарий C:\Users\gas\Desktop\new.cs.
Без списка возможных команд, пользователю этот скрипт будет неинтересен, ИМХО.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

Автор темы
Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Re: Скрипты и API

Сообщение Satyr »

У меня компилируется без ошибок

Попробуй этот файл
Выполнить.cs
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

Автор темы
Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Re: Скрипты и API

Сообщение Satyr »

Satyr писал(а):На АПИ пока сделал один пробный проект, создание новых страниц с описанием из нисподающего меню. .... В основном пользуюсь скриптами. Для затравочки небольшой скриптик записываюший в текстовый документ исполняемые команды...
на диске c:\\ в файле события.txt можно посмотреть выполняемые команды
и в хелпе можно посмотреть Eplan.EplApi.CommandLineActions Namespace
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Re: Скрипты и API

Сообщение AGorskiy »

В том файле, что подцепил я уже это подправил, в вот в исходном коде не стал.
Почему не подписываешь свои скрипты, закомментировать же пару строк недолго?

Полезная информация. Хелп по АПИ находится тут
Хелп по АПИ древний, версия 1.0 2006 года. В Новостях они периодически, что то добавляют-убавляют и прочее. Но, даже он сойдет.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

Автор темы
Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Re: Скрипты и API

Сообщение Satyr »

Более свежего хелпа не существует, я знаком с программистом Eplan'а, даже он пользует этот документ. Замечания в дальнейшем учту, в виду того, что пока, код примитивный, расписывать не стал. Хотелось бы услышать какие нибудь не тривиальные задачи для воплощения, и форумчанам хорошо и мне тренировка. Решил упростить работу с точками разрыва, пишите, с удовольствием рассмотрю все пожелания.
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Re: Скрипты и API

Сообщение AGorskiy »

Чтож, как говорится, тебя за язык никто не тянул Изображение. Задачами обеспечу, если они будут тебе интересны, то будут все довольны.

Задача №1
Как известно из новостей, Еплан выпустил новое расширение EPLAN FieldSys, смысл этого аддона, что он считает длину кабеля исходя из плана размещения оборудования и кабельных трасс, а так же учитавает, что возможнен подъем кабеля по высоте. Так же знаю, что сам Еплан ранее выполнил это на АПИ, дэлэлькой или скриптом не знаю. Вещь полезная, накидали план помещения в масштабе, а то и просто экспортировали из Автокада и проложили кабели, в итоге получили длину. Более подробно, напишу в личку.

Задача №2
Есть такая почти мертвая тема РЗА. Клеммник. Кабель. Отчет. Если коротко (потом подцеплю скрины для ясности), то Еплан не умеет создавать отчет, в котором показы и клеммы и кабели, а кабели еще и в кружочках должны быть. Внешний вид таких отчетов должен соотвествовать требованию ГОСТ 21.408-93 ПРАВИЛА ВЫПОЛНЕНИЯ РАБОЧЕЙ ДОКУМЕНТАЦИИ АВТОМАТИЗАЦИИ ТЕХНОЛОГИЧЕСКИХ ПРОЦЕССОВ.
Скрин под спойлером.

Задача №3
Выполнить схему подключения кабеля, но особую, условно как бы однолинейную, от шкафа к шкафу. Обрисую после...
====================
Satyr, все желательно выполнить, чтобы можно было подцепить в программу без дополнительного модуля API, то есть скриптами, если конечно возможно. Кстати, про комменты в коде, я имел ввиду, чтобы писал, чей код, авторское право, как у Джонни.
Последний раз редактировалось AGorskiy 22 авг 2012, 10:14, всего редактировалось 1 раз.
Причина: добавил сообщение
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3339
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 181 раз
Поблагодарили: 368 раз

Скрипты и API

Сообщение AGorskiy »

Если все еще в силе, то
Задача №3
Хотелось бы видеть возможность исполнения схемы кабельных проводок, такой в Еплане нет, но есть отчет типа "Спецификация кабеля", на основе которого и предлагаю это осуществить. На рис.1 есть многополюсное исполнение кабеля, задействован в схеме, на рис.2 этот же кабель в однополюсной схеме (это и есть схема подключения проводок). Хотелось бы работу вести так: в навигаторе кабелей выделяем один или несколько кабелей перетаскиваем их в однополюсную схему, выполняю скрипт появляется отображение цели и источника (в данном случае Х1 и 2X), но они в ЧЯ, следовательно их полное ОУ. Если же они в ЧЯ =ОРУ-Q и П38 то только сам клеммник.
В идеале конечно, чтобы они сразу в ЧЯ и помещались, чтобы потом отредактировать трассу с помощью интеллектуального соединения, для того чтобы кабель не пересекал чужую панель.
рис1.jpg
рис2.jpg
=================================================================================
Satyr, ты возьмешься за это или....напиши ответ.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось AGorskiy 12 сен 2012, 17:25, всего редактировалось 1 раз.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.

AGerasimov
знаток Eplan
знаток Eplan
Сообщения: 45
Зарегистрирован: 20 сен 2012, 14:51
Имя: Герасимов Александр Евгеньевич
город/регион: Москва

Re: Скрипты и API

Сообщение AGerasimov »

В связи с ограничением на работу скриптов их применение не имеет особого смысла. С моей точки зрения, почти все представленные в интернете скрипты не интересны для проектировщика. Другое дело интерфейс программирования API. Но его закрытость и цена исключают широкое применение этого инструмента. Из-за этого Eplan сильно проигрывает в свете реализации задач автоматизации проектных процедур
Аватара пользователя

Автор темы
Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Re: Скрипты и API

Сообщение Satyr »

AGorskiy писал(а): Satyr, ты возьмешься за это или....напиши ответ.
Привет. Я возьмусь за это, но когда реализую затрудняюсь ответить. Меня сейчас работой закидали по самое "неболуй")))

Spac80101
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 12 окт 2012, 17:01
Имя: Журавлев Сергей Викторович
Страна: Россия
город/регион: Московская область

Re: Скрипты и API

Сообщение Spac80101 »

Приветствует, коллеги. Давно использую Eplan и не всегда хватает его функционала в части вывода различных отчетов и автоматизации работы. Хотел бы научится созданию скриптов., а в последствии и API. Подскажите, пожалуйста, с чего начать и какой язык лучше использовать, какое программное обеспечение. Буду благодарен за совет.
[+] от модератора
Сергей, внимательно читайте сообщения темы. Ответ на Ваш вопрос в первом сообщении. Без обид.
Аватара пользователя

Автор темы
Satyr
знаток Eplan
знаток Eplan
Сообщения: 21
Зарегистрирован: 08 авг 2012, 21:33
Имя: Satyr
Страна: Россия
город/регион: Москва
Поблагодарили: 1 раз

Re: Скрипты и API

Сообщение Satyr »

Привет.

C# или VB.net. Для этого будет очень полезна Microsoft Visual Studio .
Последний раз редактировалось AGorskiy 13 окт 2012, 16:57, всего редактировалось 1 раз.
Причина: оверквотинг - зло

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1457
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 61 раз
Поблагодарили: 182 раза

Re: Скрипты и API

Сообщение Madwolf »

Satyr писал(а):Более свежего хелпа не существует, я знаком с программистом Eplan'а, даже он пользует этот документ. Замечания в дальнейшем учту, в виду того, что пока, код примитивный, расписывать не стал. Хотелось бы услышать какие нибудь не тривиальные задачи для воплощения, и форумчанам хорошо и мне тренировка. Решил упростить работу с точками разрыва, пишите, с удовольствием рассмотрю все пожелания.

Есть задачка, вроде бы простенкая на мой взгляд. Как известно из ГОСТ, перекрестные ссылки которые переходят со страницы на страницу должны быть без стрелочек, тогда как в Еплане со стрелочками по умолчанию. Как бы сделать скрипт, которые меняет символы точек разрыва, которые находятся на разных страницах с "BP" на "BPOL"
Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Re: Скрипты и API

Сообщение aranea »

символ точки разрыва хранится в свойстве <20168> Номер символа и скриптом его сходу у меня не получилось изменить
как вариант попробуйте через навигатор точек разрыва, но тогда слетает форматирование и направление
Изображение

AGerasimov
знаток Eplan
знаток Eplan
Сообщения: 45
Зарегистрирован: 20 сен 2012, 14:51
Имя: Герасимов Александр Евгеньевич
город/регион: Москва

Re: Скрипты и API

Сообщение AGerasimov »

Satyr писал(а):Более свежего хелпа не существует, я знаком с программистом Eplan'а, даже он пользует этот документ. Замечания в дальнейшем учту, в виду того, что пока, код примитивный, расписывать не стал. Хотелось бы услышать какие нибудь не тривиальные задачи для воплощения, и форумчанам хорошо и мне тренировка. Решил упростить работу с точками разрыва, пишите, с удовольствием рассмотрю все пожелания.
Добрый вечер!

А как Вам такая задача: В любом из дополнительных свойств любой страницы проекта требуется автоматически либо по нажатию кнопки получить текстовое значение, содержащее формат рамки листа (А4, А3, А4х2, и.т.п).
Значение формата листа используется для его отображения в отчете, например ведомости документов проекта.
Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Re: Скрипты и API

Сообщение aranea »

идея хороша
в свойствах рамки есть свойства <12033> Рамочные размеры оси Х и <12034> Рамочные размеры оси Y - можно пытаться читать размеры
есть <18011> Описание (форма, рамка, контур) - можно здесь указывать формат чертежа (А4, А3, А4х2, и.т.п). либо в какое-то другое свойство
но дальше пока тупик: по этим номерам в хэлпе нет ничего, т.е. непонятно как от страницы добраться до свойств рамки

ps. нашел недокументированный класс PlotFrame, через который можно получить физические размеры рамки на листе (независимо что указано в свойствах 12033, 12034)
Page.PlotFrame.Size.X - размер рамки (и страницы) без учета масштаба
Page.Size.X - размер страницы с учетом масштаба

если есть желание и лицензия на загрузку API Add-Ins - кидайте в личку желаемые форматы, размеры и в какое свойство страницы хотите получить название формата, попробую сделать =)
Изображение
Закрыто

Вернуться в «Eplan API»