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

Вернуться   Форум 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
Просмотров: 3732
Размер:	28.7 Кб
ID:	80355  

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


Последний раз редактировалось bargool, 24.11.2022 в 11:45. Причина: добавил ссылки на свежие сборки
Просмотров: 313681
 
Непрочитано 25.04.2016, 08:49
#481
bitnik666

ведущий инженер, автоматизация
 
Регистрация: 22.04.2016
Самара
Сообщений: 4


Ладно, решил сам пошариться по коду. При компиляции кода выдает ошибку: отсутствуют файлы из библиотеки \Bargool.Acad.Library\Bargool.Acad.Library\View.cs и \Bargool.Acad.Library\Bargool.Acad.Library\AcadSystemVariableSwitcher.cs. На github к сожалению эти самые файлы не выложены. Прошу выложить. Спасибо.
bitnik666 вне форума  
 
Непрочитано 25.04.2016, 09:36
#482
perpetule


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


Цитата:
Для каждого формата установлен масштаб 1:100
, если для набора параметров листа в шаблоне, то сие неверно.
Для вкладки листа ВСЕГДА 1:1, для модели есть запрос 185 или 18500 мм ширина штампа (1:1 и 1:100 соответственно).

P.S. 1:4 => ширина штампа (в модели) будет 740, на листе всегда 185.
__________________
tc71
perpetule вне форума  
 
Непрочитано 25.04.2016, 10:18
#483
bitnik666

ведущий инженер, автоматизация
 
Регистрация: 22.04.2016
Самара
Сообщений: 4


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

Ага!! Выставил в шаблоне единичный масштаб, как посоветовал perpetule. В рабочем чертеже отредактировал блок рамки - сделал размеры рамки в единичном масштабе - в модели выставил масштабы рамок - 100. И вуаля! Все операции делает правильно. Осталось назначить переменную PSLTSCALE 0 для всех листов, чтобы типы линий рисовались на листах в масштабе модели, и можно будет использовать любые шизанутые масштабы не боясь потерять правильное отображение типов линий...
bitnik666 вне форума  
 
Непрочитано 25.04.2016, 16:45
1 | #484
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


bitnik666, Как поменять переменную PSLTSCALE на всех layout'ах файла одновременно?
skkkk вне форума  
 
Непрочитано 25.04.2016, 17:53
#485
bitnik666

ведущий инженер, автоматизация
 
Регистрация: 22.04.2016
Самара
Сообщений: 4


Обычно поступаю проще. Перед тем, как компоновать листы меняю значение переменной в модели в на единственном листе (пока). Или ручками, путем ввода команды, или в свойствах типов линий убираю галочку. Ну а потом компоную листы. Во вновь создаваемых листах переменная принимает значение 0, как в модели и на первом листе.
Но спасибо за ссылку на форуме!

----- добавлено через ~4 мин. -----
Еще пытаюсь сделать vba макрос, который будет вставлять в каждый лист блок с полями номера страницы и названием страницы. А потом из диспетчера подшивок назначать атрибуты.
bitnik666 вне форума  
 
Непрочитано 26.04.2016, 08:57
#486
perpetule


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


Цитата:
Еще пытаюсь сделать vba макрос, который будет вставлять в каждый лист блок с полями номера страницы и названием страницы. А потом из диспетчера подшивок назначать атрибуты
Если название листа брать из описания листа подшивки, исчезают ограничения на спецсимволы и длину строки, но страдает наглядность в подшивке. VBA как таковой не зря убрали из стандартной поставки Автогада, слегка подтормаживает относительно без такового.
__________________
tc71
perpetule вне форума  
 
Непрочитано 26.04.2016, 10:14
#487
Rocker88


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


Подскажите, у вас сохраняются настройки (выбранного шаблона и др.) в файле lfmsettings.xml после закрытия автокада?
Rocker88 вне форума  
 
Непрочитано 26.04.2016, 11:27
#488
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,001


Цитата:
Сообщение от perpetule Посмотреть сообщение
Если название листа брать из описания листа подшивки, исчезают ограничения на спецсимволы и длину строки, но страдает наглядность в подшивке.
Уже много лет многострочный атрибут для названия листа, а сами листы называть кратко - чтобы было понятно, что на нем. Наглядность не страдает. Но это дело вкуса)
Сергей812 вне форума  
 
Непрочитано 26.04.2016, 12:32 Сергей812
#489
perpetule


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


Цитата:
Но это дело вкуса)
И специфики, иногда часть названия приходит из смежного раздела, и над ним мы не властны, увы. Многострочный атрибут хорош, но не для новичка.

Произвольное смещение многострочных атрибутов в блоке
http://forum.dwg.ru/showthread.php?t=28359&page=3
__________________
tc71
perpetule вне форума  
 
Непрочитано 26.04.2016, 13:31
#490
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,001


Цитата:
Сообщение от perpetule Посмотреть сообщение
Произвольное смещение многострочных атрибутов в блоке
есть такое дело - но это стало проявляться буквально последний год, до этого, с 12 года, как сделал такой вариант шаблона в фирме, ничего не убегало. Но сейчас приходят файлы, которые сами по себе глючные - чисти их, не чисти. Возможно, кто-то в клонах акада работает, а потом пересохраняет а акаде- так надписи-предупреждения не появляется при открытии.
Сергей812 вне форума  
 
Непрочитано 11.05.2016, 13:34
#491
Jmix


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


Цитата:
Сообщение от bitnik666 Посмотреть сообщение
Еще пытаюсь сделать vba макрос, который будет вставлять в каждый лист блок с полями номера страницы и названием страницы. А потом из диспетчера подшивок назначать атрибуты.
Добрый день.

Макрос готов. В макрос встроена автозагрузка dll от bargool, вставка блока с полями подшивки (имя листа и номер листа) с изменением значения переменной plscale для каждого листа, вставка блока сквозной нумерации стадии П и создание переменной num в свойствах чертежа, возможность автонумерации листов в подшивке (макрос autonumbering Сергея Богатова), возможность вставки названий листов проекта из файла names.txt в каталоге проекта. Файл шаблона (template.dwg) с необходимыми блоками прилагаю.
Все данные мероприятия позволяют значительно ускорить оформление документации независимо от количества страниц. Большое спасибо разработчикам ПО за возможность использования ваших трудов.
Вложения
Тип файла: rar 00_GAM.rar (181.5 Кб, 116 просмотров)
Jmix вне форума  
 
Непрочитано 05.08.2016, 17:02
#492
bybs


 
Регистрация: 30.04.2010
Луцк
Сообщений: 30


Будет ли для AutoCAD2017 ?
bybs вне форума  
 
Автор темы   Непрочитано 15.08.2016, 14:22
#493
bargool


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


Цитата:
Сообщение от bybs Посмотреть сообщение
Будет ли для AutoCAD2017 ?
Ммммм... Проверить не могу - версия для 2016 работает (должна)?
__________________
Алексей
bargool вне форума  
 
Непрочитано 20.08.2016, 23:20
#494
freese

ingénieur
 
Регистрация: 21.07.2008
Сообщений: 762


Цитата:
Сообщение от bybs Посмотреть сообщение
Будет ли для AutoCAD2017 ?
проверил Autocad 2017 x64 версия для 2016 работает нормально
freese вне форума  
 
Непрочитано 27.09.2016, 10:32
#495
Shturman121


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


Блин, спасибо автору программы. Это просто супер. Экономится куча времени.
Shturman121 вне форума  
 
Непрочитано 15.11.2016, 13:53
#496
Konst085

Инженер
 
Регистрация: 15.10.2015
СПБ
Сообщений: 86


Спасибо автору, задумка полезная.
Но остались вопросы...
Какой принтер используется? у меня в настройках штатного принтера "dwg to pdf" все форматы отключены и руками занесены форматы по ГОСТ, как стандартные, так и не стандартные. При распознавании формата с применением данной программы форматы НЕ стандартные распознаются корректно почти все, а А0, А1-А4 распознаются, но область печати сдвигается относительно видового экрана (или наоборот).
В какую сторону копать?
Konst085 вне форума  
 
Непрочитано 15.11.2016, 13:59
#497
v.psk

конструктор
 
Регистрация: 14.08.2014
Псков
Сообщений: 7,096


Цитата:
Сообщение от Konst085 Посмотреть сообщение
Какой принтер используется? у меня в настройках штатного принтера "dwg to pdf" все форматы отключены и руками занесены форматы по ГОСТ, как стандартные, так и не стандартные. При распознавании формата с применением данной программы форматы НЕ стандартные распознаются корректно почти все, а А0, А1-А4 распознаются, но область печати сдвигается относительно видового экрана (или наоборот).
Да... такая же проблема (писал где-то выше....) // что интересно область печати "встает на масто" просто при открытии и применении изменений в редакторе печати.
v.psk вне форума  
 
Непрочитано 15.11.2016, 14:03
#498
baksconstructor


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


Цитата:
Сообщение от Konst085 Посмотреть сообщение
В какую сторону копать?
приложите образец вашего файла.
baksconstructor вне форума  
 
Непрочитано 15.11.2016, 14:13
#499
Konst085

Инженер
 
Регистрация: 15.10.2015
СПБ
Сообщений: 86


Форматы типа А4х3 и А4х4 тоже не распознаны, но зато в тех же координатах, что и область печати. Не стандартные форматы от А3 и выше распознаются корректно (проверял не все).
Вложения
Тип файла: dwg
DWG 2010
layout.dwg (149.1 Кб, 36 просмотров)
Konst085 вне форума  
 
Непрочитано 15.11.2016, 14:33
1 | #500
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Цитата:
Сообщение от Konst085 Посмотреть сообщение
При распознавании формата с применением данной программы форматы НЕ стандартные распознаются корректно почти все, а А0, А1-А4 распознаются, но область печати сдвигается относительно видового экрана (или наоборот)
Из старого варианта первого поста:
Цитата:
Сообщение от bargool Посмотреть сообщение
Подразумевается, что у вас в принтере DWG To PDF поля для форматов ISO выставлены в ноль, а также созданы дополнительные форматы из указанного ГОСТа
Цитата:
Сообщение от bargool Посмотреть сообщение
форматы, начинающиеся на "ISO A.."
То есть, вручную надо выставить поля в ноль в настройках принтера стандартным форматам (ISO A3 и т.д. - не "расширенным", не "без полей", а именно таким).
skkkk вне форума  
Ответ
Вернуться   Форум 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