| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > C# .net Создание Layout для чертежей, оформленных в модели

C# .net Создание Layout для чертежей, оформленных в модели

Ответ
Поиск в этой теме
Непрочитано 16.05.2012, 18:09 7 |
C# .net Создание Layout для чертежей, оформленных в модели
bargool
 
Санкт-Петербург
Регистрация: 16.08.2006
Сообщений: 508

Программа ищет новых хозяев.

Назначение программы:
Автоматическое создание листов по рамкам, указанным пользователем в модели (вручную, либо с помощью блоков). Автоматический выбор форматов бумаги и настройка листов.

Запуск / загрузка:
  • Выбираем dll из вложения к данному сообщению, либо самую последнюю версию из сообщения, указанного в конце "шапки"
  • Размещаем dll-ки в любом удобном месте, главное локально, а не в сети.
  • Командой _netload грузим выбранную dll в автокад
  • Автозагрузка рассматривается в #361 и #362

Принцип работы:
  • Программа формирует предварительный список настроек листа, с форматами бумаги
    Список формируется двумя способами
    1. Из DWG to PDF.pc3
      • Выбираются все пользовательские форматы
      • В конец списка добавляются форматы, начинающиеся на "ISO A.."
      • Область печати выставляется "Лист"
      • Единицы измерения - миллиметры
      • Масштаб 1:1
      • Стиль печати - acad.ctb. Позже буду брать из файла конфигурации
      • Имя настройки берётся из имени формата бумаги. Если встречаются символы из ряда "\<>/?"":;*|,=`" - убираются
    2. Из файла шаблона
      • Копируются пользовательские именованные настройки печати (для пространства листа, не для пространства модели), доступные из диалога "Page setup"
      • Повторяю. Пользовательские настройки. Не листы, а именно настройки
      • Ещё раз. В сами листы не заглядываем ВООБЩЕ - заглядываем в именованные настройки печати для пространства листа
      • Соответственно, имя настройки печати не должно начинаться с символа звёздочки "*"
  • - Запрашивает у пользователя "референтный размер".
    Используется для определения масштаба рамки. По-умолчанию это 185 мм. - длина основной надписи
  • - Запрашивает у пользователя противоположные углы рамок
    Слева-направо, сверху-вниз, или наоборот - не важно
    Привязка принудительно выставляется "конточка"
  • - На основе масштаба и списка форматов определяет наиболее подходящий
    При этом используется строго ориентация из "списка". Ориентацию с книжной на альбомную и обратно программа произвольно не меняет. Строго по "списку настроек"
  • - По выбранным форматам бумаги создаёт листы
    В чертёж добавляет подходящие именованные настройки из "списка", настроенные на нужный формат бумаги
    Присваивает созданным листам соответствующие именованные настройки
  • - Создаёт видовой экран, "смотрящий" на рамку, указанную пользователем

Процесс работы:
Указание рамок вручную:
  1. Для вызова программы введите в ком. строку bargLFM
  2. Либо задайте номер первого создаваемого листа, либо используйте опции ком. строки
  3. Укажите "референтный" размер
  4. Указывайте рамки, кликая по противоположным углам рамок.
    Опции ком. строки см. соответствующий раздел
  5. По окончании жмите escape или используйте опцию P
Рамки вставлены блоками:
  1. Для вызова программы введите в ком. строку bargLFBL
  2. Либо задайте номер первого создаваемого листа, либо используйте опции ком. строки
  3. Имя блока должно быть задано в конфигурации
  4. Формат будет определяться по габаритам конкретного вхождения блока. Включая атрибуты и дин. параметры (на данном этапе следите, что бы они не вылезали за пределы геометрии рамки)
    Опции ком. строки см. соответствующий раздел

Конфигурация:
  • Файл конфигурации. Имя файла - lfmsettings.xml. Хранится рядом программой
    Содержимое, не используемое диалогом конфигурации:
    • ReferenceDimension (По-умолчанию - 185). Референтный размер. Масштаб рамки будет определяться как отношение указанного пользователем размера к размеру в конфигурации. Если у вас референтный размер другой - можете изменить вручную
    • TemplatePath. Путь к шаблону для формирования списка настроек листов. Устанавливается программой при выборе опции templateSelect
  • Диалог конфигурации:
    • Префикс - Префикс имени создаваемого листа
    • Суффикс - Суффикс имени создаваемого листа
    • Точность определения форматов - Отвечает за точность определения форматов. Суть в том, что форматки иногда бывают примерно по госту. Таким образом, если указываемая форматка больше гостовского размера (уже после скалирования) на указанный размер - будет выбран соответствующий формат бумаги. Значение - целое число. По умолчанию = 10 мм
    • Удалять неинициализированые листы - Удалять ли листы, на которые ни разу не заходил пользователь
    • Оставаться в модели по окончании работы - Возвращать ли пользователя в модель по окончании работы программы

Опции ком. строки:
  • Undo - Отменить выбор последней рамки
  • Newscale - Задать новый масштаб рамки
  • Process - Выполнить создание листов
  • Configuration - Вызвать диалог конфигурации
  • useTemplate - Для создания листов использовать ранее выбранный шаблонный файл
  • templateSelect - Выбрать шаблонный файл. Переменная FILEDIA влияет на вид запроса (можно использовать в макросах)

Известные проблемы:
  • Если настройки листа подразумевают область печати Extents, и стоит галка Fit to paper - возможно неправильное отображение области бумаги в пространстве листа. На печать не влияет
  • Пока больше ничего не вспомнить


Короткое видео работы одной из последних версий программы
Increase Size Decrease Size LayoutsFromModel. ?’?µ????????, ???°?±???‚?°???‰?°?? ?? ?€?°?±?»?????°????
http://www.youtube.com/watch?v=TqaUcqZZCbA
Исходники на github. Репозиторий

Upd 20.12.2018: Спасибо Boxa, сборки для автокадов: 2017 и 2019
Upd 24.11.2022: Спасибо doctorraz, сборки для автокадов 2021 и 2022 и 2023

Миниатюры
Нажмите на изображение для увеличения
Название: scheisse.PNG
Просмотров: 3733
Размер:	28.7 Кб
ID:	80355  

Вложения
Тип файла: zip LayoutsFromModel.zip (196.8 Кб, 2900 просмотров)


Последний раз редактировалось bargool, 24.11.2022 в 11:45. Причина: добавил ссылки на свежие сборки
Просмотров: 313706
 
Непрочитано 22.02.2013, 04:43
#141
Yapp


 
Регистрация: 15.02.2007
г.Якутск
Сообщений: 27


Я попробовал новую версию твоей проги и она о чудо заработало :-).

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

bargool проясни ситуацию пожалуйста.

P.S.: И ещё при создании листа не определяет его Таблицу стилей печати, она автоматически None стоит, а если нужно монохромм допустим или цветная какая нибудь.
Yapp вне форума  
 
Непрочитано 22.02.2013, 08:02 Yapp
#142
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 810
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Цитата:
И ещё при создании листа не определяет его Таблицу стилей печати, она автоматически None стоит, а если нужно монохромм допустим или цветная какая нибудь.
В теме было - читай по диагонали ...

Последний раз редактировалось perpetule, 22.02.2013 в 10:44.
perpetule вне форума  
 
Непрочитано 22.02.2013, 09:51
#143
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Yapp Посмотреть сообщение
Может я чего то не понял, я думал что он автоматически определяет размер всех рамок в модели и выводит их всех в листы.
Вас сразу предупреждали :
Цитата:
Сообщение от maratovich Посмотреть сообщение
Насколько помню программа bargool не ищет, там руками надо выделять.
А Вы не верили......
Цитата:
Сообщение от Yapp Посмотреть сообщение
maratovich ну да она сама ищёт только заданные параметры, допустим А2, потом ты выбираешь другйо формат, и потом она сама ищёт их и кидает по листам. Но к несчастью у меня не получается запутсить прогу как следует.
Руками полюбому надо выделять.
Автоматом находит - это другая, но в вашем случае всё равно придётся руками т.к. у Вас в чертежах рамки линиями да ещё и не у всех линий точки не сходятся в углах.
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Автор темы   Непрочитано 22.02.2013, 10:53
#144
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
<phrase 1=


Цитата:
Сообщение от Yapp Посмотреть сообщение
Но почему то делает лояоты только тех листов которые я выделяю? Может я чего то не понял, я думал что он автоматически определяет размер всех рамок в модели и выводит их всех в листы.
Просто если сто чертежей в модели и их всех потом выделять, а таких файлов десятки, то можно просто окочурится хехе.

bargool проясни ситуацию пожалуйста.

P.S.: И ещё при создании листа не определяет его Таблицу стилей печати, она автоматически None стоит, а если нужно монохромм допустим или цветная какая нибудь.
Про автоматическое определение чертежей нигде в теме не говорится. Перечитай ещё раз заглавный пост, там, конечно, не всё актуально, но методика работы с программой описана. Видео есть в #122.
Назначение стилей печати я не делал.
Ещё раз про автоматическое определение рамок. Подумай, сколькими способами можно оформить чертежи в модели. Навскидку: тупо линиями, чуть менее тупо полилиниями, более продвинуто блоками. Могут быть сочетания, где-то так, где-то эдак, могут быть разные масштабы. Могут быть незавершенные контуры рамок, рамки могут быть раскиданы по модели, могут рядами стоять, соприкасаясь сторонами. Что делать со всяким мусором, не являющимся чертежом. На форуме ребята делали программы, но чертежи тогда должны отвечать определённым требованиям, универсального решения нет... Разве что попробовать на основе нейронной сети решение сделать.. Но это слишком затратно (для программиста, а не для пользователя )
__________________
Алексей
bargool вне форума  
 
Непрочитано 25.02.2013, 10:49
#145
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 283
<phrase 1=


по поводу поста 140. Все нормально. Тестировалось на 2011 КАДе. Ну и еще приятная новость. Раньше всегда после публикации вновь созданный ПДф открывался, хотя при этом галка открытия не стояла. В эту сторону меняли что-то в коде?
Вовочка вне форума  
 
Непрочитано 25.02.2013, 14:40
#146
off

геодезист
 
Регистрация: 11.11.2006
Ростов-на-Дону
Сообщений: 95
<phrase 1= Отправить сообщение для off с помощью Skype™


В поисках средств автоматизации печати наткнулся на Вашу программу. Проверил ее работу на Acad2007 (Ru и EN). Заработала.
Вопрос/пожелание. Можно ли добавить возможность использовать не только встроенный pdf принтер но и любой другой .pc3 ?
Насколько я понял из сообщений в теме ни у кого не возникала ситуация когда в модели лист развернут (фрагмент плана автодороги). В связи с этим еще один вопрос - можно ли добавить функционал позволяющий создавать листы по рамкам с произвольным наклоном. (Мне это видится следующим образом: при задании референтной длины измерять не только длину, но и угол наклона(поворота). В видовом экране создаваемого листа создавать ПСК с поворотом на заданный угол вокруг оси Z)
off вне форума  
 
Автор темы   Непрочитано 25.02.2013, 14:46
1 | #147
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
<phrase 1=


Цитата:
Сообщение от Вовочка Посмотреть сообщение
по поводу поста 140. Все нормально. Тестировалось на 2011 КАДе
Раз нормально всё работает, считаем, что бетаальфа-тестирование прошли, обновлю тогда сборки в шапке
Цитата:
Сообщение от Вовочка Посмотреть сообщение
Раньше всегда после публикации вновь созданный ПДф открывался, хотя при этом галка открытия не стояла. В эту сторону меняли что-то в коде?
Нет, в этом направлении специально ничего не делал (я и не знал об этом). Вся проблема была в обработке самим автокадом настроек листов после программной настройки. Правильная работа в этом направлении исправила множество нежелательных эффектов.

Что-то у меня последнее время не то с рассылкой об ответах с форума..
off,
Цитата:
Вопрос/пожелание. Можно ли добавить возможность использовать не только встроенный pdf принтер но и любой другой .pc3 ?
Прямую поддержку любого .pc3 не планирую - не оправдаются затраты (предвидится много геморроя с определением какую бумагу использовать). У меня в планах более хороший вариант - поддержка шаблона. У вас есть файл с именованными настройками печати, я их использую при создании листов.
Цитата:
Насколько я понял из сообщений в теме ни у кого не возникала ситуация когда в модели лист развернут (фрагмент плана автодороги). В связи с этим еще один вопрос - можно ли добавить функционал позволяющий создавать листы по рамкам с произвольным наклоном. (Мне это видится следующим образом: при задании референтной длины измерять не только длину, но и угол наклона(поворота). В видовом экране создаваемого листа создавать ПСК с поворотом на заданный угол вокруг оси Z)
Действительно, таких вопросов ещё не было. Записал в пожелания
__________________
Алексей

Последний раз редактировалось bargool, 25.02.2013 в 14:54.
bargool вне форума  
 
Непрочитано 25.02.2013, 15:47
#148
off

геодезист
 
Регистрация: 11.11.2006
Ростов-на-Дону
Сообщений: 95
<phrase 1= Отправить сообщение для off с помощью Skype™


Цитата:
Сообщение от bargool Посмотреть сообщение
У меня в планах более хороший вариант - поддержка шаблона. У вас есть файл с именованными настройками печати, я их использую при создании листов.
Это было бы шикарно.

На основе команды -PLOT настроил себе принтер А4 на печать из пространства модели с минимальными затратами времени. Приняв все параметры за константы сделал макрос
Код:
[Выделить все]
^C^C_-plot _Y;Model;A4_P1102.pc3;A4;_M;_P;_N;_W;\\_F;0,0;_Y;.;_Y;_A;_N;_N;_Y;
при использовании которого для печати нужно всего лишь задать границы печати.
Попробовал на основании -LAYOUT сделать нечто подобное, но чтобы в результате была не распечатка, а готовый лист. Результатом стали два варианта - 1.Импорт листа из шаблона 2.Создание листа с привязкой ему .pc3. Первый вариант предпочтительнее. Но ограничения команды не позволяют создавать видовой экран по заданным границам.

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

Сразу возникает вопрос механизма сопоставления чертеж-шаблон. Сейчас по размерам подбирается ближайший формат из одного pc3 файла, а в файле с шаблонами их возможно будет несколько (не в самом файле, а в настройках листов). Лично мне было бы удобно чтобы я мог составить таблицу соответствий - какому размеру какой шаблон задавать. (у меня плоттер только один с шириной 610 и форматы типа А4х3 я печатаю по два штуки на лист, соответственно связь между размером чертежа и размером бумаги в шаблоне будет нарушена).
off вне форума  
 
Автор темы   Непрочитано 25.02.2013, 16:08
1 | #149
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
<phrase 1=


Цитата:
Сообщение от off Посмотреть сообщение
Попробовал на основании -LAYOUT сделать нечто подобное, но чтобы в результате была не распечатка, а готовый лист.
Я в свое время делал макрос на основе -layout, но у меня в модели был один чертёж, там рамкой ничего не надо было указывать, просто область печати extents, и вся малина (единичная задача из сотни файлов)
Цитата:
Сообщение от off Посмотреть сообщение
Сразу возникает вопрос механизма сопоставления чертеж-шаблон. Сейчас по размерам подбирается ближайший формат из одного pc3 файла, а в файле с шаблонами их возможно будет несколько (не в самом файле, а в настройках листов). Лично мне было бы удобно чтобы я мог составить таблицу соответствий - какому размеру какой шаблон задавать. (у меня плоттер только один с шириной 610 и форматы типа А4х3 я печатаю по два штуки на лист, соответственно связь между размером чертежа и размером бумаги в шаблоне будет нарушена).
Механизм будет простейший. Вместо того, что бы, как сейчас, смотреть размеры листов в pc3, программа будет выбирать соответствующий по размеру лист из шаблона (всё равно, какие при этом pc3 туда назначены, хоть none, я просто буду брать размер листа из настройки). Какие-либо ещё механизмы имеют право на жизнь, но в далёкой перспективе. О таблице соответствий я думал, но у меня нет столько времени на программу.
__________________
Алексей

Последний раз редактировалось bargool, 25.02.2013 в 19:41.
bargool вне форума  
 
Непрочитано 25.02.2013, 19:33
#150
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 283
<phrase 1=


Ждемс вкуснятину.
Вовочка вне форума  
 
Непрочитано 25.02.2013, 21:10 bargool
#151
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 810
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Пример - затесались два набора параметров с один. разм. листов ???
perpetule вне форума  
 
Автор темы   Непрочитано 25.02.2013, 22:37
#152
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
<phrase 1=


perpetule, в первом приближении - использование первого попавшегося набора (как делается сейчас с форматами из pc3). Возможно, с уведомлением пользователя о дубликате.
Какие могут быть причины помещать 2 набора с одинаковыми размерами бумаги в один шаблон, кроме ошибки пользователя?
__________________
Алексей
bargool вне форума  
 
Непрочитано 25.02.2013, 23:13
#153
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 810
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


bargool

Вывод на два разных плоттера (наличие/отсутствие рулона, чернил, цвет/ч/б и т.д.).

Монстрообразные проги типа фотошопа и т.п. вызывают стойкое отвращение, нужны отдельные спецы дабы ими пользоваться. Перегруженность фичами оттолкнет тех кто только хотел бы освить лист. Напрашивается два варианта - типа simply и Pro.

Последний раз редактировалось perpetule, 25.02.2013 в 23:19.
perpetule вне форума  
 
Автор темы   Непрочитано 25.02.2013, 23:38
#154
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
<phrase 1=


Цитата:
Сообщение от perpetule Посмотреть сообщение
Вывод на два разных плоттера (наличие/отсутствие рулона, чернил, цвет/ч/б и т.д.).

Монстрообразные проги типа фотошопа и т.п. вызывают стойкое отвращение, нужны отдельные спецы дабы ими пользоваться. Перегруженность фичами оттолкнет тех кто только хотел бы освить лист. Напрашивается два варианта - типа simply и Pro.
Посмотрим.
Мне ничего не нужно, просто хочу листы. Работаю как сейчас реализовано.
Мне нужно делать цветные листы. Указываю шаблон, где у меня указаны настройки на цвет. При этом все форматы раскиданы на соответствующие плоттеры/принтеры
Мне нужно ч/б. Указываю другой шаблон, где настройки на ч/б.
Что там, что там, у меня есть строгое соответствие, на какой принтер/плоттер печатать тот или иной формат.
Если у меня чп, и один плоттер встал, что может быть проще чем в публикации подменить настройки на другой плоттер? (не забываем, программа не печатает, она создаёт листы)

Проще способов указания "своих" настроек кроме шаблона пока не вижу.

Я изначально старался сделать максимально простую в использовании программу.
Примерно по-этому я в свое время и отказался от отдельного указания ctb-файла.
__________________
Алексей
bargool вне форума  
 
Непрочитано 26.02.2013, 00:21
#155
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 810
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Цитата:
Примерно по-этому я в свое время и отказался от отдельного указания ctb-файла
#58
Цитата:
Для тех кому надо поменять стиль печати (по умолчанию сосздается /- нет стиля печати -/) *.ctb , просто идем в модель делаем ^P меняем стиль печати для вкладки модель - последует запрос
подтверждаем - вуаля - на все вкладки назначен тот же *.ctb


Цитата:
Проще способов указания "своих" настроек кроме шаблона пока не вижу.
Есть еще Page setup override из подшивки.

Последний раз редактировалось perpetule, 26.02.2013 в 00:27.
perpetule вне форума  
 
Автор темы   Непрочитано 26.02.2013, 00:32
#156
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
<phrase 1=


Цитата:
Сообщение от perpetule Посмотреть сообщение
#58
именно #58-#59 я и вспомнил
Цитата:
Сообщение от perpetule Посмотреть сообщение
Есть еще Page setup override из подшивки
Использовать Page setup override из подшивки для указания набора настроек листов для данной программы? Месье знает толк в извращениях
__________________
Алексей
bargool вне форума  
 
Непрочитано 01.03.2013, 14:52
#157
zvyagaaa


 
Регистрация: 11.08.2011
Сообщений: 41


bargool
можно добавить простую вещь? сделать масштаб по-умолчанию. У меня, например, обычно все листы в одном масштабе, и вводить вначале работы программы длину штампа вроде и не сильно сложно, но не охота. Может можно опционально внести стандартный масштаб в прогу? 1/100 например.
zvyagaaa вне форума  
 
Непрочитано 01.03.2013, 15:00 zvyagaaa
#158
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 810
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Масштаб по-умолчанию =1 и он там есть, просто Enter на запрос ввода 185.
И на каждое
Цитата:
вроде и не сильно сложно, но не охота
- угодить не представляется возможным.

Впрочем, все выше сказанное всего лишь ИМХО.
perpetule вне форума  
 
Непрочитано 01.03.2013, 15:09
#159
zvyagaaa


 
Регистрация: 11.08.2011
Сообщений: 41


185, но не 18500, а строительные чертежи как раз в 1/100, 1/50 и делаются. Да и perpetule вопрос был адресован к конкретному человеку - автору утилиты.
zvyagaaa вне форума  
 
Непрочитано 01.03.2013, 15:28
#160
dip

проектировщик
 
Регистрация: 25.05.2007
г. Чебоксары
Сообщений: 206
<phrase 1=


При создании листа, изображение убегает куда-то. В чем может быть проблема? Полдня уже мучаюсь
Вложения
Тип файла: dwg
DWG 2007
primer1.dwg (85.6 Кб, 4199 просмотров)
dip вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > C# .net Создание Layout для чертежей, оформленных в модели

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести в layout только часть модели? temoha2006 AutoCAD 12 18.08.2008 17:19
Помогите завершить создание 3М модели!? Jerald AutoCAD 8 27.04.2008 23:09
Автоматической создание Layout serg01 AutoCAD 3 16.08.2007 14:09
как начертить в масштабе не деля на калькуляторе? djon AutoCAD 168 29.05.2007 10:13
Подготовка рабочих чертежей по 3D модели constructorl AutoCAD 21 07.02.2007 19:50