|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как программно видовой экран сфокусировать на блоке в пространстве модели(AutoCAD 2012 NET С#)
Регистрация: 19.12.2011
Сообщений: 35
|
||
Просмотров: 8418
|
|
||||
Да без проблем !
Вот тема где собраны все варианты http://forum.dwg.ru/showthread.php?t=104517 С блоками и не только справится самый первый вариант, даже если это будут не блоки, а СПДС. |
||||
![]() |
|
||||
Регистрация: 19.12.2011
Сообщений: 35
|
Дело в том что это не совсем то что мне нужно... У меня уже есть программа написанная мной которая формирует эти блоки и производит кучу манипуляций с ними, в том числе в ней уже сформирована масса информации и про печать... Я хотел просто в эту программу дописать несколько методов "о печати"
![]() ![]() ![]() |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Цитата:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Цитата:
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
![]() |
Я, правда, не уверен, что там самая последняя версия. Но вопрос создания листов/видовых экранов там корректный. По конкретным вопросам проконсультирую.
Начни с класса LayoutCreator. Именно он создает в итоге лист и нацеливает видовой экран на нужную область в модели. ----- добавлено через ~12 ч. ----- А. И вот ещё моя статейка на эту тему.
__________________
Алексей |
|||
![]() |
|
||||
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
![]() |
__________________
Алексей |
|||
![]() |
|
||||
Регистрация: 19.12.2011
Сообщений: 35
|
Подскажите пожалуйста почему методом CreateLayout класса LayoutCreator.cs нельзя создать несколько листов в одной транзакции!? Я пытался создать сразу несколько листов в одной транзакции что бы не наблюдать "фееричное" шоу, о создании листов и переключения между ними
![]() |
|||
![]() |
|
||||
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
![]() |
Без фееричного шоу не обойтись. По крайней мере, в лоб.
Насколько я помню, необходимо обязательно перейти на лист с помощью LayoutManager.CurrentLayout иначе не будет сформировано BlockTableRecord для этого листа (опять же, я давно этим занимался, уже плохо помню). Это было выяснено эмпирическим путём. Возможно, эту штуку можно и обойти, но я уже не стал влезать глубже. Если найдёте способ - очень прошу поделиться, ибо при большом кол-ве листов получается ооооочень долго. А внутри одной транзакции можно и несколько листов делать. Я просто такую структуру делал для меньшей связности. Что бы классы более высокого уровня абстракции не знали обо всех этих ваших транзакциях.
__________________
Алексей |
|||
![]() |
|
||||
Регистрация: 12.12.2004
***
Сообщений: 6
|
Цитата:
Для Zoom To Block мой VB Sample Code: Код:
Цитата:
Последний раз редактировалось kikoko, 24.03.2014 в 11:10. |
|||
![]() |
|
||||
Регистрация: 19.12.2011
Сообщений: 35
|
Мне нужно не совсем зуммирование... Мне нужно по сути, сделать пакетную печать , определенных блоков в пространстве модели предварительной разбивкой на листы "Layout" и созданием видовых экранов "Viewports" которые нацелены каждый на свой блок из пространства модели!
|
|||
![]() |
|
||||
Цитата:
Пакетная печать множества рамок (форматов) из пространства модели |
||||
![]() |
|
||||
Регистрация: 19.12.2011
Сообщений: 35
|
Уважаемый bargool хотел еще спросить про удаление листов... У Вас в коде есть метод для удаления не инициализированных листов, а если нужно удалить уже инициализированные листы!? Я такого метода не нашел... И чем вообще отличается удаление инициализированных листов от не инициализированных? PS. Извиняюсь что немного не по теме!
----- добавлено через ~3 мин. ----- Цитата:
|
|||
![]() |
|
||||
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
![]() |
Ничем. Просто в моей программе была необходимость удалять именно те листы, на которые ни разу не заходил пользователь.
__________________
Алексей |
|||
![]() |
|
||||
Регистрация: 19.12.2011
Сообщений: 35
|
Может вы подскажите почему этот метод, который я взял из вашего кода и немного переделал:
Код:
Вернее не сам метод , а после удаления листов этим методом все сначала проходит нормально! Но во первых вкладки листов не исчезают сразу после него... А исчезают только при переключении листа... А когда происходит переключение листа , то выскакивает исключение как на картинке... Хотя я переключаю на не удаленный лист... |
|||
![]() |
|
||||
Навскидку, есть подозрение, что метод удаляет все листы в документе. А этого делать нельзя.
P.S. Код:
P.P.S В данном случае, еще неплохо учитывать регистр. И как-то убедиться, что хотя бы один лист остается.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
LayoutManager.DeleteLayout не лучше ли?
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Регистрация: 19.12.2011
Сообщений: 35
|
Спасибо всем большое!
![]() Без него выдавало ошибку eLockViolation... ----- добавлено через ~20 ч. ----- Хотел спросить еще один момент про печать листов... Да простит меня всемогущий модер... ![]() Суть вот в чем! Для печати и просмотра я использую три метода: Код:
И не чего не печатается на физические принтеры... На виртуальный "DoPDF" принтер вроде печатается когда не происходит исключение... Кроме того печатается почему то довольно долго, хотя нет не какой сложной графики "Черно-белая таблица". Я подумал! ![]() Код:
![]() Если кто сталкивался подскажите пожалуйста куда обратить внимание или что нужно дополнительно дописать!? И может ли быть проблема в том что я имя принтера указываю полностью, вроде такого "\\Comp5\HP LaserJet 1200 Series PCL 6"!? Строки эти я беру из системы! Последний раз редактировалось ghost, 01.04.2014 в 11:29. |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Плохо видно внешнюю ссылку через видовой экран на листе | casaatik | AutoCAD | 3 | 02.11.2011 12:11 |