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

Установка фильтра в навигаторе страниц с помощью сценария

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

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

Ответить

Автор темы
Maxim_
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 15 янв 2014, 20:03
Имя: Максим
Поблагодарили: 1 раз

Установка фильтра в навигаторе страниц с помощью сценария

Сообщение Maxim_ »

Добрый вечер.
Возможно ли с помощью сценария в навигаторе страниц установить необходимы фильтр?
Последний раз редактировалось aranea 14 фев 2018, 17:18, всего редактировалось 1 раз.
Причина: поправил заголовок

petrowitch
знаток Eplan
знаток Eplan
Сообщения: 84
Зарегистрирован: 01 окт 2012, 14:28
Имя: Сергей
Страна: Беларусь
город/регион: Минск
Благодарил (а): 18 раз
Поблагодарили: 23 раза

Навигатор страниц

Сообщение petrowitch »

Maxim_ писал(а): 13 фев 2018, 21:14Возможно ли с помощью сценария
а какая задача? там есть и обычный фильтр, мне например всегда было достаточно и его

Автор темы
Maxim_
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 15 янв 2014, 20:03
Имя: Максим
Поблагодарили: 1 раз

Навигатор страниц

Сообщение Maxim_ »

Хотелось сделать печать проекта в одно нажатие, т.е. с помощью фильтра отбираем только форматы А4 отправляем их на принтер, который настроен по А4, затем отобираем листы формата А3 и их отправляем их на принтер.

Elcity
знаток Eplan
знаток Eplan
Сообщения: 89
Зарегистрирован: 20 фев 2014, 10:25
Имя: Алексей
Страна: Россия
город/регион: Москва
Благодарил (а): 20 раз
Поблагодарили: 28 раз

Навигатор страниц

Сообщение Elcity »

petrowitch все правильно сказал, с этим может справиться обычный фильтр.
Снимок.PNG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
EPLAN Electric P8 - Professional 2.7
Аватара пользователя

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

Навигатор страниц

Сообщение aranea »

а печатать лучше через пдф с последующим автовыбором лотка, если принтер позволяет

однако для спортивного интереса задачу стоит рассмотреть
через SchemeSetting() или Settings() скорее всего можно

Maxim_, хорошо бы смотреть ваш код
Изображение

Автор темы
Maxim_
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 15 янв 2014, 20:03
Имя: Максим
Поблагодарили: 1 раз

Навигатор страниц

Сообщение Maxim_ »

Кода еще нет, я в самом начальном пути. Да и сознанием написания сценариев не очень (только на основании примеров написать что-то могу)

Автор темы
Maxim_
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 15 янв 2014, 20:03
Имя: Максим
Поблагодарили: 1 раз

Установка фильтра в навигаторе страниц с помощью сценария

Сообщение Maxim_ »

И еще, раз зашла речь о стандартном фильтре, то в нем есть недостаток, который видно на картинке выше (необходимо с помощью галочек выбрать необходимые рамки), при том как мне показалось в данном окошке присутствуют не все рамки, которые есть в системе. А вот если отредактировать XML данного фильтра руками, то можно сделать запись вида *A4*, что сделает фильтр универсальным для все рамок в которых указано A4.

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

Установка фильтра в навигаторе страниц с помощью сценария

Сообщение Madwolf »

Думаю там можно выбрать рамки из списка, который хранится в проекте (те что использовались или используются).

Zakharov
знаток Eplan
знаток Eplan
Сообщения: 261
Зарегистрирован: 27 окт 2013, 12:11
Имя: Захаров
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 79 раз

Установка фильтра в навигаторе страниц с помощью сценария

Сообщение Zakharov »

Elcity писал(а): 14 фев 2018, 10:09petrowitch все правильно сказал, с этим может справиться обычный фильтр.
Проходил как то.
Там загогулина в том что в фильтре навигатора доступны только свойства страницы. А формат находится в рамке. Именно в рамке есть смысл заложить какой то признак или свойство определяющее формат. Поэтому в навигаторе напрямую к свойствам рамки не достучатся. А значит не получится отфильтровать.
Блочные свойства то же не помогут, из рамки в страницу ничего не передать.
Остается единственный вариант, который вы указали. Нам доступно только имя рамки.
Нет, конечно можно вручную в каждой странице внести А4 или А3. Но вспомним про отчеты, и вообще это не наш метод. Хотелось бы автоматически.
____________________________________________
В своем стремлении избежать граблей человек наступает на весь прочий сельхозинструмент.

Автор темы
Maxim_
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 15 янв 2014, 20:03
Имя: Максим
Поблагодарили: 1 раз

Установка фильтра в навигаторе страниц с помощью сценария

Сообщение Maxim_ »

Zakharov писал(а): 16 фев 2018, 22:08Нет, конечно можно вручную в каждой странице внести А4 или А3. Но вспомним про отчеты, и вообще это не наш метод. Хотелось бы автоматически.
Возможно не совсем понятно объяснил. Имя рамки и так содержит А4 или А3. Поэтому вместо того, чтобы выбирать галочками нужные рамки исправил XML фильтр, где сделал запись вида *А4*, т.е отфильтруются все рамки у которых в имени присутствует А4.

Отправлено спустя 40 минут 28 секунд:
Вот что у меня получилось. К сожаления проверить на реальном принтере сейчас возможность нет, но на виртуальном вроде работает.

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

public class ProjectPrint
{
   // [Start]
    [DeclareAction("PrintAll")]

    public void PrintProject()
    {

	DialogResult msgprint;
    
		msgprint = MessageBox.Show("Распечатать проект?", "Печать", MessageBoxButtons.YesNo,MessageBoxIcon.Question);
    
		if (msgprint == DialogResult.No)
		
			return;   
		
		else if(msgprint == DialogResult.Yes)
		{
			
			Progress progress = new Progress("SimpleProgress");
                progress.BeginPart(100, "");
                progress.SetAllowCancel(true);
 
                if (!progress.Canceled())
					
				progress.BeginPart(50, "Печать А4");
	
		Eplan.EplApi.Base.Settings oSettings = new Eplan.EplApi.Base.Settings();
		oSettings.SetStringSetting("USER.PageBrowserGui.PageFilterScheme.LastUsed", "Печать А4", 0);  //Устанавливаем фильтра для листов формата А4
		string p = "PDFCreator";  //Имя принтера настроеного на печать А4
		Print(p);
		
		progress.BeginPart(90, "Печать А3");
		
		oSettings.SetStringSetting("USER.PageBrowserGui.PageFilterScheme.LastUsed", "Печать А3", 0);  //Устанавливаем фильтра для листов формата А3
		p = "PDFCreator";  //Имя принтера настроеного на печать А3
		Print(p);
		progress.EndPart(true);
		
		}
    }
       
    // Печать
    public bool Print(string p)
    {
			
        ActionCallingContext PrintContext = new ActionCallingContext();
        PrintContext.AddParameter("TYPE", "PROJECT");
		PrintContext.AddParameter("PRINTERNAME",p);
		PrintContext.AddParameter("USEPAGEFILTER", "1");
        bool ReCo = new CommandLineInterpreter().Execute("print",PrintContext);
		        
        return ReCo;
    }
	
	[DeclareMenu]
   	public void MenuFunction()
    {
        Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();

        oMenu.AddPopupMenuItem(
            "Печать", // Имя меню
	    "Распечатать весь проект...", //Подменю
            "PrintAll", // Имя действия
            "Распечатать весь проект", // Подсказка
            35299, // Номер меню
            0, // 1 = После меню, 0 = Перед меню
            true, // Разделитель перед
            true // Разделитель после
            );
        return;
    }
}

Elcity
знаток Eplan
знаток Eplan
Сообщения: 89
Зарегистрирован: 20 фев 2014, 10:25
Имя: Алексей
Страна: Россия
город/регион: Москва
Благодарил (а): 20 раз
Поблагодарили: 28 раз

Установка фильтра в навигаторе страниц с помощью сценария

Сообщение Elcity »

Zakharov писал(а): 16 фев 2018, 22:08 это не наш метод. Хотелось бы автоматически.
Ну автоматизация это же не только исполнение повторяющихся действий по макросам. Это еще и концепция. Получается что надо не городить костыли для фильтрации по формату рамки, а сделать все документы в проекте одного формата. Европейцы так и делают, все документы А3.
EPLAN Electric P8 - Professional 2.7

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

Установка фильтра в навигаторе страниц с помощью сценария

Сообщение Madwolf »

Вообще, если принтер нормальный (драйвер принтера), то он сам может разобрать по форматам, т.е. печатает все подряд, но в разных форматах, кому как удобнее. Но в конечном счете я сам перешел на А3, хотя последнее время монтажки все-таки приходится делать в "длинных" форматах.

Автор темы
Maxim_
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 15 янв 2014, 20:03
Имя: Максим
Поблагодарили: 1 раз

Установка фильтра в навигаторе страниц с помощью сценария

Сообщение Maxim_ »

С принтером не удалось договориться.
Вот мои фильтры:
У вас нет необходимых прав для просмотра вложений в этом сообщении.

MVekb
знаток Eplan
знаток Eplan
Сообщения: 300
Зарегистрирован: 07 окт 2016, 07:31
Имя: Михаил
Страна: Россия
город/регион: Екатеринбург
Благодарил (а): 116 раз
Поблагодарили: 87 раз

Установка фильтра в навигаторе страниц с помощью сценария

Сообщение MVekb »

Madwolf писал(а): 19 фев 2018, 19:41Вообще, если принтер нормальный (драйвер принтера), то он сам может разобрать по форматам, т.е. печатает все подряд, но в разных форматах, кому как удобнее.
Тоже интересуюсь этой темой. Хочется печатать одной кнопкой, чтобы принтер сам выбирал формат (А3 или А4), а не плясать с бубном (переводить в PDF). Может быть кто-то имел опыт реализации подобного через виртуальный принтер или принт-сервер, т.е. чтобы печать выполнялась через еплан, но само задание бы подхватывал этот виртуальный принтер и сортировал по форматам?

Отправлено спустя 4 минуты 13 секунд:
Maxim_ писал(а): 19 фев 2018, 20:06С принтером не удалось договориться.
Вот мои фильтры:
Мне кажется, что фильтры взаимоисключающие. Т.е. при нахождении выражения "А4", оно будет найдено и в выражении "А4х". Я иногда для проверки регулярных выражений пользуюсь онлайн-калькулятором, например, этим http://planetcalc.ru/708/
Eplan 2.6 HF4

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

Установка фильтра в навигаторе страниц с помощью сценария

Сообщение Madwolf »

С некоторого времени, версии 2.2 или 2.3 Еплан перестал делать PDF такие, что наш принтер мог разобрать самостоятельно, к тому же напрямую я не печатаю никогда, т.к. всегда нужна версия PDF, а ее делать лучше через экспорт. В итоге А3 наше все )

Zakharov
знаток Eplan
знаток Eplan
Сообщения: 261
Зарегистрирован: 27 окт 2013, 12:11
Имя: Захаров
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 79 раз

Установка фильтра в навигаторе страниц с помощью сценария

Сообщение Zakharov »

Elcity писал(а): 19 фев 2018, 14:06Ну автоматизация это же не только исполнение повторяющихся действий по макросам. Это еще и концепция. Получается что надо не городить костыли для фильтрации по формату рамки, а сделать все документы в проекте одного формата. Европейцы так и делают, все документы А3.
Согласен. Но, если строго, у нас в стандартах полно документов только А4. Те же титульники например, и никаких альтернатив не предполагается.
Меня спасает только то, что мне нет необходимости парится про печать. Выпускаю пдф, а там есть специально заточенные люди для печати, они за это зарплату получают. Вот пусть и отрабатывают.
____________________________________________
В своем стремлении избежать граблей человек наступает на весь прочий сельхозинструмент.
Ответить

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