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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Как добраться до "бумаги", желательно через interop.

Как добраться до "бумаги", желательно через interop.

Ответ
Поиск в этой теме
Непрочитано 27.01.2019, 22:39 #1
Как добраться до "бумаги", желательно через interop.
iskatel111
 
Регистрация: 13.06.2012
Сообщений: 94

Есть ModelSpace, с ним все понятно, оно одно. Но у документа есть еще и PaperSpace, с ним не понятно - у меня несколько листов, а свойство одно, и предлагает все тоже что и ModelSpace. Я в замешательстве, как обратиться к конкретному листу?

Ну и в догонку - мне нужно перепечатать один лист с А4 на А3. (то-есть все уже есть, нужно изменить формат)

Для этого нужно (если вручную)

1 в Page Setup Manager изменить формат с А4 на А3 (ориентация та-же)
2 увеличить viewport
3 масштабировать то, что сейчас находится во viewport в два раза
4 переместить углы viewport к углам "бумаги"

ну и собственно распечатать, принтер уже настроен.

Буду благодарен, если накидаете ф-ций, отвечающих за это.
Просмотров: 4386
 
Непрочитано 28.01.2019, 01:21
#2
Сергей812


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


Цитата:
Сообщение от iskatel111 Посмотреть сообщение
Но у документа есть еще и PaperSpace, с ним не понятно - у меня несколько листов, а свойство одно, и предлагает все тоже что и ModelSpace. Я в замешательстве, как обратиться к конкретному листу?
Не пора ли перестать игнорировать справку? - в Interop ака VBA PaperSpace является коллекцией объектов конкретного определенного листа, который определяется (и задается) значением свойства AcadDocument.ActiveLayout. При смене активного листа коллекция PaperSpace автоматически обновляется содержимым текущего активного листа. Про печать в справке тоже найдете немало интересного. Ну и многочисленные примеры кода VBA для акада в инете тоже дадут информацию к реализации.
Сергей812 вне форума  
 
Автор темы   Непрочитано 28.01.2019, 23:52
#3
iskatel111


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


Ясн, а несколько названий функций накидать можете?
iskatel111 вне форума  
 
Непрочитано 29.01.2019, 00:25
#4
Сергей812


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


та же справка.
Сергей812 вне форума  
 
Автор темы   Непрочитано 29.01.2019, 00:30
#5
iskatel111


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


Сорри, если напрягаю, только вот нет времени читать ее пока-что. Пришел, поел, написал вопрос, спать лег. Если не сложно, немножко копипасты названий ф-ций. Я не прошу код, просто названия ф-ций, имеющие отношения к этому делу.
iskatel111 вне форума  
 
Непрочитано 29.01.2019, 01:01
| 1 #6
Сергей812


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


там чуть ли не половина методов и свойств относиться к печати) Смотрите где Plot фигурирует в названии, например. И ищите примеры печати на VBA в инете для убыстрения процесса, у меня под рукой только для .NetApi. И вообще лучше использовать наборы параметров листов по возможности, имхо - не так часто приходится менять печатающие устройства обычно, и можно сделать эти наборы разок и вручную вполне.

----- добавлено через ~27 мин. -----
Только есть подозрение, что в ActiveX "забыли" вытащить методы для работы с наборами параметров листов, в отличие от .Net.
Сергей812 вне форума  
 
Непрочитано 29.01.2019, 09:23
#7
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 1,544
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Только есть подозрение, что в ActiveX "забыли" вытащить методы для работы с наборами параметров листов
не забыли, иначе б ни РЕВЕРС ни PlotSPDS были невозможны )))
единственное из VB нет доступа к настройке прозрачности в параметрах печати...
а так
Код:
[Выделить все]
Set PlotConfigurations = ThisDrawing.PlotConfigurations
Set NewPC = PlotConfigurations.Add....
NewPC.ConfigName = ....
NewPC.CanonicalMediaName = ...
NewPC.PaperUnits = ....
'..........
Цитата:
Сообщение от iskatel111 Посмотреть сообщение
только вот нет времени читать ее пока-что
при таком раскладе в поиск исполнителей надо...
__________________
Мастерская СПДС
doctorraz вне форума  
 
Автор темы   Непрочитано 29.01.2019, 11:30
#8
iskatel111


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
можно сделать эти наборы разок и вручную вполне.
В том то и дело, что когда я делал по файлику в день, вручную было "вполне" и не напряжно. Теперь поступила команда переделать. А там уже две сотни файликов накопилось... Причем переделывать нужно не только в автокаде, так что его я задвинул на потом, надеясь что напишу все-таки прогу. Пока что урывками гуглю... В офисе хотябы запись макросов спасает, тут с этим хуже.

А так то автокад не основная у меня программа, и даже не вспомогательная... Эпизодическая. Последний раз я сталкивался с ним шесть лет назад! Тогда нужно было изменить программу для ЧПУ, которую он воспринимал в виде файла .dxf с чем-то напоминающем чертеж внутри (точнее полторы сотни таких программ). С печатью соответственно тогда я дела не имел. В этот раз нужно на готовом чертеже делать пометки / надписи и печатать в картинку. В следующий раз... а будет ли он этот следующий раз вообще? Так что изучать все "от и до" удовольствие сомнительное - это может даже никогда не пригодиться... Но ведь может дачник сажать картошку без диплома агронома, а вопросы задать соседу
iskatel111 вне форума  
 
Непрочитано 29.01.2019, 12:06
#9
Сергей812


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


Цитата:
Сообщение от doctorraz Посмотреть сообщение
не забыли, иначе б ни РЕВЕРС ни PlotSPDS были невозможны )))
т.е. в ActiveX можно взять и применить готовый Набор параметров листа? Методы и свойства для программной настройки параметров есть, не спорю.

Цитата:
Сообщение от iskatel111 Посмотреть сообщение
А так то автокад не основная у меня программа, и даже не вспомогательная... Эпизодическая. Последний раз я сталкивался с ним шесть лет назад! Тогда нужно было изменить программу для ЧПУ, которую он воспринимал в виде файла .dxf с чем-то напоминающем чертеж внутри (точнее полторы сотни таких программ). С печатью соответственно тогда я дела не имел. В этот раз нужно на готовом чертеже делать пометки / надписи и печатать в картинку. В следующий раз... а будет ли он этот следующий раз вообще? Так что изучать все "от и до" удовольствие сомнительное - это может даже никогда не пригодиться... Но ведь может дачник сажать картошку без диплома агронома, а вопросы задать соседу
Ну написал же не раз - ищите примеры на VBA.. Если пишете через Interop и на VB/VB.Net - то там код фактически один в один. Или действительно скидывайте разовые заказы по непрофильной работе на фриланс - понимаю, что начальство жаба душит. Но невозможно на всем сэкономить)
Сергей812 вне форума  
 
Непрочитано 29.01.2019, 12:13
#10
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 1,544
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
т.е. в ActiveX можно взять и применить готовый Набор параметров листа?
мы про это ведь? CopyFrom

----- добавлено через ~9 мин. -----
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Методы и свойства для программной настройки параметров есть
вот и меняем PlotConfiguration программно как надо, а потом CopyFrom к нужным Layout,
а можно програмно CopyFrom к ста листам с одинаковым форматом, а потом один раз руками поменять привязанный PlotConfiguration и применится ко всем листам
алгоритмов реализации море, инструмент да хоть из экселя на VBA, на коленке
__________________
Мастерская СПДС
doctorraz вне форума  
 
Автор темы   Непрочитано 29.01.2019, 12:23
#11
iskatel111


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
понимаю, что начальство жаба душит. Но невозможно на всем сэкономить)
Там даже не в жабе дело - инфа в некотором роде конфиденциальная, и за привлечение посторонних людей могут кой чего оторвать...

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

А плагин я пробовал писать, когда другого выхода не было. Даже работает. Но инфы по ним еще меньше чем по vba. Телодвижений больше... Да и сомнительно как-то что плагин подойдет к моей задаче. Ведь команда работает в пределах одного чертежа? Т.е. все равно придется писать вспомогательную программу которая будет открывать файлы из папки по очереди и вызывать команду плагина?
iskatel111 вне форума  
 
Непрочитано 29.01.2019, 12:29
#12
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 1,544
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от iskatel111 Посмотреть сообщение
Т.е. все равно придется писать вспомогательную программу которая будет открывать файлы из папки по очереди и вызывать команду плагина?
ага, батник называется эта вспомогательная программа, если совсем уж на коленке делать
например так, открывает по очереди все файлы из дирректории
Код:
[Выделить все]
FOR /r %%A IN (*.dwg) DO "c:\Program Files\Autodesk\AutoCAD 2015\acad.exe" "%%A" /language "ru-RU" /product "ACADE" /p "Spds 10"  /nologo /b "c:\Users\пупкин\Documents\setup\ACAD\Script\AllClear.scr"
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 29.01.2019, 12:33
| 1 #13
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,066


Цитата:
Сообщение от iskatel111 Посмотреть сообщение
Ведь команда работает в пределах одного чертежа?
как Вы напишите команду, так она работать и будет. Хотите в пределах одного чертежа, хотите в пределах открытых чертежей, хотите обработайте все dwg на сервере.... Выбор за Вами.


Цитата:
Сообщение от iskatel111 Посмотреть сообщение
Я наверное как-то не так вопросы задаю в других ветках людям отвечают даже примерами с кодом, я спросил всего-лишь названия ф-ций и был послан в справку
Не так задаете. Напишите и покажите что Вы уже сделали, опишите что у Вас не получается... уверен в этом случае Вам помогут. А так, на шару и еще я не хочу читать и разбираться..... шансов на помощь не много.
__________________
_бложиг
Boxa вне форума  
 
Автор темы   Непрочитано 29.01.2019, 12:38
#14
iskatel111


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
А так, на шару и еще я не хочу читать и разбираться...
Вовсе не так, я лишь хочу читать не всю справку, судорожно выискивая из всего объема информации то что мне нужно, я хотел спросить список ф-ций, причастных к вопросу, а дальше описания и примеры я бы нагуглил сам.
iskatel111 вне форума  
 
Непрочитано 29.01.2019, 12:41
#15
Сергей812


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


Цитата:
Сообщение от doctorraz Посмотреть сообщение
мы про это ведь? CopyFrom
да.. тогда и проще действительно - применять по очереди настройки на А4 и А3, и даже viewport, возможно, не понадобиться трогать.
Сергей812 вне форума  
 
Непрочитано 29.01.2019, 12:49
#16
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,066


Цитата:
Сообщение от iskatel111 Посмотреть сообщение
Вовсе не так, я лишь хочу читать не всю справку, судорожно выискивая из всего объема информации то что мне нужно, я хотел спросить список ф-ций, причастных к вопросу, а дальше описания и примеры я бы нагуглил сам.
А выглядит именно так, как я написал... в противном случае, Вы бы воспользовались справкой и некоторыми намеками из сообщения 7 данной темы и пройдя по паре кросс ссылок, нашли бы метод SetLayoutsToPlot Method (ActiveX) и пример кода к нему, где нашли бы ответ на свой вопрос "как обратиться к конкретному листу?", а не расписывали бы тут, как у Вас времени нет справку читать. Нда... на поиск этого метода, я потратил 2 минуты.... но на форуме спрашивать - это конечно быстрее.
__________________
_бложиг
Boxa вне форума  
 
Автор темы   Непрочитано 29.01.2019, 12:55
#17
iskatel111


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
А выглядит именно так
Сожалею, что так выглядит. Как я писал выше, в данный момент занимаюсь другими переделками, и голова забита другим. Я не могу быстро переключаться между задачами. Поэтому более глубоко буду вникать позже, сейчас пишу лишь для поддержания разговора.
iskatel111 вне форума  
 
Непрочитано 29.01.2019, 12:57
#18
Сергей812


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


Цитата:
Сообщение от iskatel111 Посмотреть сообщение
в других ветках людям отвечают даже примерами с кодом, я спросил всего-лишь названия ф-ций и был послан в справку
т.е. вы даже не пробовали в перечне методов переходить по ссылкам и смотреть более детальное описание, и зачастую даже с примером... там много информации, и Аутодеск никакого секрета из нее не делает..
Сергей812 вне форума  
 
Непрочитано 29.01.2019, 13:00
#19
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 1,544
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от iskatel111 Посмотреть сообщение
сейчас пишу лишь для поддержания разговора.
для поддержания..
леска
удочка и крючок
Offtop: леща уже дали
Вложения
Тип файла: zip autocad_2018_activex_help.zip (6.72 Мб, 21 просмотров)
__________________
Мастерская СПДС
doctorraz вне форума  
 
Автор темы   Непрочитано 29.01.2019, 13:07
#20
iskatel111


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


Сергей812, я только что написал в #17.

Эту задачу я отодвинул на потом, но знаю что она меня ждет, поэтому чуть заранее задал вопрос, т.к. ни методом "научного тыка" ни гуглением оперативно найти ответы не получилось.

Я не могу сейчас глубоко вникать, создал ветку в надежде что кто-нибудь что-нибудь полезного накидает, а разбираться буду ближе к делу.
С другой стороны задавать вопрос тогда, когда припрет, может оказаться уже поздно... Не факт что ответят оперативно...

Както так... Надеюсь это не криминал?
iskatel111 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Как добраться до "бумаги", желательно через interop.

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли эвакуироваться через помещение в коридор, ведущий к наружному выходу? snair Пожарная безопасность 2 12.12.2018 08:57
Запрет на проезд локомотивов через эстакаду, какие меры предпринять? Swarka Автомобильные и железные дороги, мосты, тоннели и организация движения 7 01.06.2018 15:21
Изменение масштаба блока при вставке через буфер Immortal_6666 AutoCAD 6 08.05.2018 12:57
Как сделать что бы открывать и сохранять файлы можно было как обычно через мышку, а не через командную строку? beslan AutoCAD 1 17.10.2011 11:43
Через 25 лет стоимость эксплуатации превышает стоимость строительства ? Tyhig Архитектура 41 24.08.2011 11:00