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

Вернуться   Форум 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. Причина: добавил ссылки на свежие сборки
Просмотров: 313783
 
Непрочитано 24.11.2013, 17:41
#301
zvyagaaa


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


Последняя ссылка помогла. Спасибо.
Подскажите, а как сделать чтобы PSLTSCALE не слетал? Я в масштабах модели отключаю эту переменную. А на листах потом все равно масштаб линий не тот, что нужен.
zvyagaaa вне форума  
 
Автор темы   Непрочитано 24.11.2013, 22:11
#302
bargool


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


Александр Ривилис, вот жеж, RTFM, как говорится.. Посыпаю голову пеплом, я не знал.
szuser, это как раз та же проблема, что и у zvyagaaa.

Небольшое обновление, выложил в шапку темы:
- bargLFBL (раньше в шапке не было);
- добавил в конфиг галочку блокирования создаваемых видовых экранов;
- исправлено падение при отрытом файле шаблона.
- я планирую в будущем заменить команду "lfm" на "bargLFM", в соответствии с автодесковскими принципами (желательно добавлять свой префикс, чтобы не было конфликта имён команд). Сейчас просто добавил команду bargLFM, она идентична lfm. Просто теперь старайтесь использовать новый вариант - старый я в более поздних версиях хочу удалить.

Цитата:
Сообщение от zvyagaaa Посмотреть сообщение
Подскажите, а как сделать чтобы PSLTSCALE не слетал? Я в масштабах модели отключаю эту переменную. А на листах потом все равно масштаб линий не тот, что нужен
_regenall не помогает?

И вопрос: пользуется ли кто-нибудь LayoutsFromModel на 2009х автокадах? Подумываю реализовать одну фишку, которая поддерживается только с 2010 автокада, соответственно, возможно перестану поддерживать 2009 автокад.
__________________
Алексей

Последний раз редактировалось bargool, 24.11.2013 в 22:55.
bargool вне форума  
 
Непрочитано 25.11.2013, 17:19
#303
zvyagaaa


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


Цитата:
Сообщение от bargool Посмотреть сообщение
_regenall
не, не помогает
вот у товарища такая же проблема - http://forum.dwg.ru/showthread.php?t=92395
zvyagaaa вне форума  
 
Непрочитано 25.11.2013, 17:27
#304
maratovich


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


zvyagaaa файлик приложите.
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Автор темы   Непрочитано 25.11.2013, 17:28
#305
bargool


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


Погодите, но ведь psltscale хранится в файле и влияет на все листы сразу, сейчас поэкспериментирую с этим делом. Если что - буду выставлять при создании каждого листа (что костыль, имхо).
И да, удивительно, почему пользователь до сих пор не обратился "к производителю" (с) maratovich
__________________
Алексей
bargool вне форума  
 
Непрочитано 25.11.2013, 17:33
#306
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,604


Цитата:
Сообщение от bargool Посмотреть сообщение
хранится в файле и влияет на все листы сразу
нифига. самостоятельный для каждого листа (в том числе и свой для модели). у меня такой "костыль" есть =)
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 25.11.2013, 17:37
#307
maratovich


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


Offtop:
Цитата:
Сообщение от bargool Посмотреть сообщение
И да, удивительно, почему пользователь до сих пор не обратился "к производителю" (с) maratovich
Я не понял изречения...
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Автор темы   Непрочитано 25.11.2013, 18:14
1 | #308
bargool


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


Цитата:
Сообщение от maratovich Посмотреть сообщение
Я не понял изречения...
Пользователь так и не обратился (я не помню такого, по-крайней мере). А ведь исправление заняло всего чуть-чуть времени.
Цитата:
Сообщение от swell{d} Посмотреть сообщение
нифига. самостоятельный для каждого листа (в том числе и свой для модели). у меня такой "костыль" есть =)
Теперь и у меня
Это недокументировано, кстати. В апи автокада psltscale выставляется для всей базы чертежа
И да, в определённый момент, при переключениях с листа на лист, и переключениях значения psltscale, начинает выставлять правильный psltscale

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

Ещё раз призываю! Хотите развития используемой утилиты - давайте feedback (можно в личку, если не хотите засорять тему, или в трекер - я ссылку давал в шапке)! Ошибки, недоработки, предложения. Я её больше не использую, пришется ради интереса и "что бы сделать мир чуточку лучше". Не будет багрепортов - вряд ли будут исправления
__________________
Алексей

Последний раз редактировалось bargool, 25.11.2013 в 18:23.
bargool вне форума  
 
Непрочитано 25.11.2013, 18:22
#309
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,604


если в модели всё оформлено, то логичнее выставлять 0, ятд
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Автор темы   Непрочитано 25.11.2013, 18:23
#310
bargool


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


Цитата:
Сообщение от swell{d} Посмотреть сообщение
если в модели всё оформлено, то логичнее выставлять 0, ятд
а это пусть пользователь решает выставляя нужное значение. Хотя тут я пойду за большинством
Я, кстати, посмотрел шапку поста свежим взглядом и ужаснулся. Куча информации и непонятно как начинать новому пользователю - надо, видать, упрощать описание
__________________
Алексей

Последний раз редактировалось bargool, 25.11.2013 в 18:45.
bargool вне форума  
 
Автор темы   Непрочитано 07.12.2013, 22:07
#311
bargool


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


Во вложении очередная бета-версия.
В bargLFBL добавил запрос блока рамки:
После ввода номера первого листа программа попросит указать блок рамки, либо использовать блок из конфигурации, или указать имя блока. Указанный блок запишет в конфигурацию и будет использовать при работе.
Возможно, такая последовательность запросов будет неудобна - замечания и предложения, как всегда, приветствуются.
Ну и да, должны быть более внятные сообщения об ошибках.
__________________
Алексей

Последний раз редактировалось bargool, 15.10.2015 в 15:16. Причина: Убрал вложение. Актуальная версия программы - в шапке
bargool вне форума  
 
Непрочитано 16.12.2013, 21:24
#312
zvyagaaa


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


опять валится с ошибкой, акад 2012 что-то там про разблокировку.
zvyagaaa вне форума  
 
Автор темы   Непрочитано 19.12.2013, 22:35
#313
bargool


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


zvyagaaa, пожалуйста, точный текст ошибки, и сопровождающую информацию. Если там много - то в личку, либо в спойлер оберните
__________________
Алексей
bargool вне форума  
 
Непрочитано 20.12.2013, 16:40
#314
ID287


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


Огромное спасибо за программу!
Autocad 2014 версия LayoutsFromModel 1.4.
Полет нормальный, пока что пользовался только рамкой.
Так как в основном листы в 100 масштабе, лейаут 1:1, то рамка по-умолчанию получилась 18500, а не 185.
Странно только, что приходится вводить размер штампа, разве не правильней просто вводить масштаб при выделении рамкой?
ID287 вне форума  
 
Автор темы   Непрочитано 20.12.2013, 16:52
#315
bargool


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


Цитата:
Сообщение от ID287 Посмотреть сообщение
Огромное спасибо за программу!
Autocad 2014 версия LayoutsFromModel 1.4.
Полет нормальный, пока что пользовался только рамкой.
Так как в основном листы в 100 масштабе, лейаут 1:1, то рамка по-умолчанию получилась 18500, а не 185.
Странно только, что приходится вводить размер штампа, разве не правильней просто вводить масштаб при выделении рамкой?
Рад, что программа помогла
Размер штампа можно указать двумя точками, что удобней, чем вводить масштаб, да и у меня, например, часто встречались случаи, что рамка произвольного масштаба (чертежи от подрядчиков).
Ввод размера основной надписи цифрами я добавил для того, что бы команду можно было использовать с кнопки, в которую уже и забить нужный размер.
__________________
Алексей

Последний раз редактировалось bargool, 21.12.2013 в 15:38.
bargool вне форума  
 
Непрочитано 06.01.2014, 15:42
#316
dim5678


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


Помогите разобраться с проблемой.
Решил попробовать с помощью вашей программы выполнить создание "Листов" из "модели".
Что у меня стоит на компьютере - автокад 2014, архив LayoutsFromModel 1.4.rar и собственно LayoutsFromModel2013.dll
мои действия - netload в командную строку...далее bargLFM или bargLFBL...номер листа к примеру 3, далее выделяю рамку 185мм, пишет масштаб 100, далее идет авто создание листов и что получилось прикладываю второй надеюсь без фаталити файл..."завод"
далее - что мне совершенно не понятно - "Файл конфигурации. Имя файла - lfmsettings.xml. Хранится рядом программой", но в архиве кроме dll, ничего не прилагается.

Теперь о проблеме -почему то, видовой экран съезжает примерно на 2см, прилагаю документ.
Еще вопрос вместо "Lay" возможно ли удалить данное слово? Пусть примеру будет 1.2.3 итд листы без "Lay".
Заранее спасибо за помощь.
Вложения
Тип файла: dwg
DWG 2004
завод.dwg (792.0 Кб, 2713 просмотров)
dim5678 вне форума  
 
Автор темы   Непрочитано 06.01.2014, 18:32
1 | #317
bargool


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


Не фаталит.
dim5678, а можно скриншот вашего листа у вас в автокаде?
Так вроде всё в порядке. Главное, чтобы поля у вас нормально были настроены. Т.е. надо в dwg to pdf.pc3 выставить непечатаемые поля стандартных листов в 0. Тогда не будет смещения (программа располагает видовой экран в левом нижнем углу печатаемой области. соответственно, если она у вас смещена...)

Цитата:
Сообщение от dim5678 Посмотреть сообщение
далее - что мне совершенно не понятно - "Файл конфигурации. Имя файла - lfmsettings.xml. Хранится рядом программой", но в архиве кроме dll, ничего не прилагается.

Теперь о проблеме -почему то, видовой экран съезжает примерно на 2см, прилагаю документ.
Еще вопрос вместо "Lay" возможно ли удалить данное слово? Пусть примеру будет 1.2.3 итд листы без "Lay".
Префикс-суффикс имени листа выставляется в конфигурации: после запуска команды выберите соответствующую опцию ("C", насколько я помню). Кстати, после изменения-сохранения настроек появится и файл lfmsettings.xml, но это излишне - я просто попытался раскрыть в описании всю информацию о работе программы. Сейчас уже понимаю, что много лишнего там понаписал.
__________________
Алексей
bargool вне форума  
 
Непрочитано 06.01.2014, 19:49
#318
dim5678


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


прилагаю скан
Изображения
Тип файла: jpg скан.jpg (279.7 Кб, 458 просмотров)
dim5678 вне форума  
 
Автор темы   Непрочитано 06.01.2014, 20:04
1 | #319
bargool


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


Цитата:
Сообщение от dim5678 Посмотреть сообщение
прилагаю скан
Как я и думал, не настроены непечатаемые поля в pc3. Видите, эту прерывистую линию - это печатаемая область, в идеале она должна совпадать с листом.
__________________
Алексей
bargool вне форума  
 
Непрочитано 06.01.2014, 21:51
#320
dim5678


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


bargool
Хотел бы сказать БОЛЬШОЕ Вам спасибо, за эту программу, вы просто молодец!!!

теперь по теме.
в идеале то я понимаю что область печати должен совпадать с пунктироной линией. Но я всегда пользовался "рамкой" и потому она ровно вставала. Как настроить "непечатаемые поля в рс3" верно? Я просто не знаю наверное где лучше это сделать??
1. Путь Файл>>>Печать>>> далее скан 2.
2. Какие значения выбрать? везде 5?
Изображения
Тип файла: jpg скан 2.jpg (452.4 Кб, 452 просмотров)
dim5678 вне форума  
Ответ
Вернуться   Форум 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