Как добраться до "бумаги", желательно через interop.
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

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

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

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

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

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

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

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

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

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


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


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


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


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


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


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


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


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


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


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

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

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,298
Отправить сообщение для 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
Сообщений: 98


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

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


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


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

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

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


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

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


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


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

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

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

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,298
Отправить сообщение для 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,611


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


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


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


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


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


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

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


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


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


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


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


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

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


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


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


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

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

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

Както так... Надеюсь это не криминал?
iskatel111 вне форума  
 
Непрочитано 29.01.2019, 15:10
| 1 #21
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от iskatel111 Посмотреть сообщение
А так то автокад не основная у меня программа, и даже не вспомогательная... Эпизодическая. Последний раз я сталкивался с ним шесть лет назад! Тогда нужно было изменить программу для ЧПУ, которую он воспринимал в виде файла .dxf с чем-то напоминающем чертеж внутри (точнее полторы сотни таких программ). С печатью соответственно тогда я дела не имел. В этот раз нужно на готовом чертеже делать пометки / надписи и печатать в картинку. В следующий раз... а будет ли он этот следующий раз вообще? Так что изучать все "от и до" удовольствие сомнительное - это может даже никогда не пригодиться...
При таких вводных проще вручную переделать.
Цитата:
Сообщение от iskatel111 Посмотреть сообщение
Да и вопрос вроде не такой уж сложный чтоб к фрилансерам бежать.
Хм. По моей собственной 10 бальной шкале сложности я бы задачу оценил примерно на 7 из 10. Такая программа за один присест не напишется. Надо гуглить, изучать чужие похожие разработки в открытом доступе, экспериментировать... Если опыта разработки под автокад мало, то это может затянуться на месяцы. Опытный человек за недельку-другую по вечерам напишет, наверное.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Автор темы   Непрочитано 29.01.2019, 15:14
| 1 #22
iskatel111


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


Цитата:
Сообщение от Do$ Посмотреть сообщение
Опытный человек за недельку-другую по вечерам напишет, наверное.
Это стеб такой? Две недели на изменение формата листа? Или вы сын директора, потому и работаете по своему расписанию?
iskatel111 вне форума  
 
Непрочитано 29.01.2019, 15:21
| 1 #23
Boxa

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


Цитата:
Сообщение от iskatel111 Посмотреть сообщение
Это стеб такой?
нет, не стёб. Вы просто не вполне осознаете с чем и как Вам придется работать. В документации к API автокада, много белых дыр и совсем не очевидных моментов. Для примера, такую простую задачу, как выключить все ВЭ в файле, ковыряли несколько дней и то, я например, так до конца во всем не разобрался. С другой стороны Do$ и Вы, видите функционал плагина каждый по своему и каждый видит свой объем хотелок...

С другой стороны, при Вашем умении работать с документацией ... может и пол года выйти...
Boxa вне форума  
 
Непрочитано 29.01.2019, 15:28
#24
doctorraz

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


Цитата:
Сообщение от iskatel111 Посмотреть сообщение
Две недели на изменение формата листа?
  1. прочитать все установленные в системе принтеры
  2. прочитать их CanonicalMediaName-процесс ни разу не быстрый, поэтому желательно где-то сохранить результат, в тестовый файл xml например
  3. пробежать по каталогам,
  4. и рекурсивно открывать файлы чертежей
  5. пробежать по листам чертежей, выбрать те которые удовлетворяют условиям (хз еще каким)
  6. двинуть виевпорты если требуется (если один ладно, а если несколько.. то ой))
  7. задать новый PlotConfiguration и назначить его отобранным листам либо каждому Layout индивидуально поменять настройки печати...
напоследок прикрутить к этому делу какой никакой вменяемый интерфейс
настройки надо както гдето хранить или при каждом запуске раз забивать одни и те же руками
коротенько так...
----------------------
что из перечисленного ты можешь сделать уже сейчас?
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 29.01.2019, 15:29
#25
Сергей812


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


Кстати, если вы реализуете своей алгоритм:
Цитата:
Сообщение от iskatel111 Посмотреть сообщение
1 в Page Setup Manager изменить формат с А4 на А3 (ориентация та-же)
2 увеличить viewport
3 масштабировать то, что сейчас находится во viewport в два раза
то получите ли два идентичных по содержимому чертежа?
Сергей812 вне форума  
 
Непрочитано 29.01.2019, 15:30
| 1 #26
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


А только сыновья директоров могут работать по свободному графику?
По теме. Нет, не стёб. Я уже имел дело с настройками листов в LISP и в .NET. API в этом плане не сказать, что очень дружелюбное. В добавок к этому, задачи такого плана встают нечасто, поэтому, каждый раз нужно практически с нуля всё заново изучать/вспоминать. Ну и, срок две недели - имеется в виду, что это не в рабочее время (когда надо основную работу делать), а в свободное от работы время - примерно час (максимум два) в день.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 29.01.2019, 15:50
#27
doctorraz

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


если я ванга (а образец чертежа кода мы так и не увидели, так что вынужден)
то у ТС все 100500 форматов находятся в модели, в листах только видовые экраны на форматы.
в этом случае время на выполнение задачи может сократиться до 7 дней и одного часа
из которых 7 дней уйдет у ТС на освоение РЕВЕРС в части автоматического создания листов с заданными настройками печати из форматок расположенных в модели
и 1 час потратит РЕВЕРС, что бы эти 100500 файлов привести в нужный вид.
если ТС разберется быстрее семи дней, то у него есть шанс сэкономить двести рублей на покупке программы.
__________________
Мастерская СПДС
doctorraz вне форума  
 
Автор темы   Непрочитано 29.01.2019, 15:51
#28
iskatel111


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


Цитата:
Сообщение от doctorraz Посмотреть сообщение
прочитать все установленные в системе принтеры
прочитать их CanonicalMediaName-процесс ни разу не быстрый, поэтому желательно где-то сохранить результат, в тестовый файл xml например
пробежать по каталогам,
и рекурсивно открывать файлы чертежей
пробежать по листам чертежей, выбрать те которые удовлетворяют условиям (хз еще каким)
двинуть виевпорты если требуется (если один ладно, а если несколько.. то ой))
задать новый PlotConfiguration и назначить его отобранным листам либо каждому Layout индивидуально поменять настройки печати...
напоследок прикрутить к этому делу какой никакой вменяемый интерфейс
настройки надо както гдето хранить или при каждом запуске раз забивать одни и те же руками
1,2 вроде как и не нужно. там уже установлен adobePdf принтер, разве нельзя скопировать PlotConfiguration, или изменить в имеющемся только формат, не заполняя PlotConfiguration заново?
3,4 ну я вроде как уже 18 лет программирую. Автокад только не часто видел.
5 тот что Layout1 называется, есть сложности "пробежаться"? Это не обычная коллекция? нельзя разве как в экселе foreach worksheet in workbook.worksheets?
6 тут какие сложности? он не двигается "за углы", или "точка вставки, ширина, высота"? (он один)
7 см. п 1.

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

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

----- добавлено через ~9 мин. -----
Цитата:
Сообщение от doctorraz Посмотреть сообщение
то у ТС все 100500 форматов находятся в модели, в листах только видовые экраны на форматы.
Все еще проще, никаких форматов нет, в модели один большой чертеж, в листах просто один лист, на который натянут ViewPort, в котором выбрано нужное место чертежа. Разве только на разных листах разные слои заморожены.
iskatel111 вне форума  
 
Непрочитано 29.01.2019, 16:04
#29
Сергей812


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


Цитата:
Сообщение от iskatel111 Посмотреть сообщение
разве нельзя скопировать PlotConfiguration, или изменить в имеющемся только формат, не заполняя PlotConfiguration заново?
Из этой фразы следует - что предыдущие посты хотя бы с начала этого дня вы не читали или прочитали по диагонали, ища готовое решение.
Цитата:
Сообщение от iskatel111 Посмотреть сообщение
3,4 ну я вроде как уже 18 лет программирую. Автокад только не часто видел.
за 18 лет не научиться пользоваться справкой и искать информацию в инете...
Цитата:
Сообщение от iskatel111 Посмотреть сообщение
Если вы про масштаб в 2 раза, то это решается методом подбора
это решается вычислением соответствующего коэффициента по отношению сторон масштабов - какой подбор?
Сергей812 вне форума  
 
Автор темы   Непрочитано 29.01.2019, 16:09
#30
iskatel111


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Из этой фразы следует - что предыдущие посты хотя бы с начала этого дня вы не читали
Да, я писал об этом в #20 и писал почему, мы это по кругу выяснять будем?

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

----- добавлено через ~7 мин. -----
Кстати A4 это же половина А3, что-то я туплю - почему 2 не подойдет?
iskatel111 вне форума  
 
Непрочитано 29.01.2019, 16:21
#31
Сергей812


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


Цитата:
Сообщение от iskatel111 Посмотреть сообщение
Да, я писал об этом в #20 и писал почему, мы это по кругу выяснять будем?
ну сейчас вам информации достаточно, надеюсь?

Цитата:
Сообщение от iskatel111 Посмотреть сообщение
Кстати A4 это же половина А3, что-то я туплю - почему 2 не подойдет?
если при
Цитата:
Сообщение от iskatel111 Посмотреть сообщение
(ориентация та-же)
то нет
Сергей812 вне форума  
 
Автор темы   Непрочитано 29.01.2019, 16:27
#32
iskatel111


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
ну сейчас вам информации достаточно, надеюсь?
Сам надеюсь, но проверять буду позже...

Забавная кстати ситуация - если б не аврал, я бы спокойно сам все нашел и здесь не написал. Но вот написал, и теперь каждый стремится обозвать меня мудураком, за то что я сам не нашел. Что с форумами стало...
iskatel111 вне форума  
 
Непрочитано 29.01.2019, 16:48
| 1 #33
Сергей812


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


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


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


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

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

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


Собственно ответ на вопрос топа из справки кстате)))
по CanonicalMediaName в справке ищется
Цитата:
Сообщение от iskatel111 Посмотреть сообщение
Как добраться до "бумаги"
Код:
[Выделить все]
Sub Example_CanonicalMediaName()
    ' This example finds the name of the media for the active layout
    
    Dim MediaName As String
    MediaName = ThisDrawing.ActiveLayout.CanonicalMediaName
    
    If MediaName = "" Then
        MsgBox "There is no media set for the active layout."
    Else
        MsgBox "The media for the active layout is: " & MediaName
    End If
End Sub
только вот добраться до "бумаги" и изменить "бумагу", это немного разное, о чем тебе выше непрозрачно намекали.
там надо сперва добраться до принтеров и их бумаги...
но это потом....
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 29.01.2019, 19:01
1 | 1 #36
Boxa

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


ДА оставьте вы человека в покое, он получил то, что хотел и если считает, что там все просто и понятно и он успеет разобраться с вопросом когда будет в цейтноте... ну здорово, значит вопрос решен. О чем тут еще говорить? Подождем, посмотрим как будет развиваться ситуация....
Boxa вне форума  
 
Непрочитано 29.01.2019, 20:33
#37
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


я такое делал много лет назад, на форуме тот код выкладывали, там всё есть - искать лень, надо - ищи
нашёл
я всё забыл
trir вне форума  
 
Автор темы   Непрочитано 02.02.2019, 00:01
#38
iskatel111


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


Всем спасибо, кто помогал. В общем такой код делает то что мне нужно. Даже масштабировать ничего не пришлось - оно само, если "натягивать" viewport находясь в MSpace

ЗЫ. так и не понял накой перебирать принтеры, и что тут делать две недели... У меня полчасика ушло разобраться.

Код:
[Выделить все]
  AcadApplication app = (AcadApplication)Marshal.GetActiveObject("Autocad.Application");
            AcadDocument doc = app.ActiveDocument;

            foreach (AcadLayout item in doc.Layouts)
            {
                if (item.Name == "Layout1")
                {
                    doc.ActiveLayout = item;
                    doc.ActiveLayout.CanonicalMediaName = "A3";
                    break;
                }
            }

            doc.MSpace = true;
            doc.ActivePViewport.Center = new double[] { 148.5, 210, 0 };
            doc.ActivePViewport.Height = 420;
            doc.ActivePViewport.Width = 297;
            doc.MSpace = false;

            doc.Plot.PlotToDevice();
iskatel111 вне форума  
 
Непрочитано 02.02.2019, 00:30
| 1 #39
Сергей812


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


Цитата:
Сообщение от iskatel111 Посмотреть сообщение
так и не понял накой перебирать принтеры, и что тут делать две недели... У меня полчасика ушло разобраться.
у вас один частный случай, и если бы не помогали - неизвестно бы сколько сидели бы)
Сергей812 вне форума  
 
Непрочитано 05.02.2019, 11:33
#40
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
у вас один частный случай
Согласен, частнее некуда.
Цитата:
Сообщение от iskatel111 Посмотреть сообщение
В общем такой код делает то что мне нужно.
Ну раз это работает как надо, можно только порадоваться за Вас
Цитата:
Сообщение от iskatel111 Посмотреть сообщение
ЗЫ. так и не понял накой перебирать принтеры, и что тут делать две недели... У меня полчасика ушло разобраться.
Вот так - достаточно хорошо мотивировать человека, чтобы он сам выделил наконец полчасика и разобрался со своей задачей
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 05.02.2019, 19:59
#41
maratovich


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


Уважаемый iskatel111 без примера дело придёт к гаданию.
Приложите пример файла, мы не просим секретку выкладывать, вы можете создать подобное и сказать что и как поменять.
Тем более что это разовая работа, изучать гору информации для этого - так можно и на полпути бросить и сделать вручную.

Цитата:
Сообщение от iskatel111 Посмотреть сообщение
1 в Page Setup Manager изменить формат с А4 на А3 (ориентация та-же)
не проблема.
Цитата:
Сообщение от iskatel111 Посмотреть сообщение
2 увеличить viewport
зачем ? он не захватывает нужную область ?
Цитата:
Сообщение от iskatel111 Посмотреть сообщение
3 масштабировать то, что сейчас находится во viewport в два раза
зачем ?
Цитата:
Сообщение от iskatel111 Посмотреть сообщение
4 переместить углы viewport к углам "бумаги"
зачем ? для печати делается наоборот.
maratovich вне форума  
Ответ
Вернуться   Форум 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