|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как добраться до "бумаги", желательно через interop.
Регистрация: 13.06.2012
Сообщений: 98
|
||
Просмотров: 15805
|
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
![]() |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
та же справка.
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
там чуть ли не половина методов и свойств относиться к печати) Смотрите где Plot фигурирует в названии, например. И ищите примеры печати на VBA в инете для убыстрения процесса, у меня под рукой только для .NetApi. И вообще лучше использовать наборы параметров листов по возможности, имхо - не так часто приходится менять печатающие устройства обычно, и можно сделать эти наборы разок и вручную вполне.
----- добавлено через ~27 мин. ----- Только есть подозрение, что в ActiveX "забыли" вытащить методы для работы с наборами параметров листов, в отличие от .Net. |
|||
![]() |
|
||||
Цитата:
единственное из VB нет доступа к настройке прозрачности в параметрах печати... а так Код:
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 13.06.2012
Сообщений: 98
|
В том то и дело, что когда я делал по файлику в день, вручную было "вполне" и не напряжно. Теперь поступила команда переделать. А там уже две сотни файликов накопилось... Причем переделывать нужно не только в автокаде, так что его я задвинул на потом, надеясь что напишу все-таки прогу. Пока что урывками гуглю... В офисе хотябы запись макросов спасает, тут с этим хуже.
А так то автокад не основная у меня программа, и даже не вспомогательная... Эпизодическая. Последний раз я сталкивался с ним шесть лет назад! Тогда нужно было изменить программу для ЧПУ, которую он воспринимал в виде файла .dxf с чем-то напоминающем чертеж внутри (точнее полторы сотни таких программ). С печатью соответственно тогда я дела не имел. В этот раз нужно на готовом чертеже делать пометки / надписи и печатать в картинку. В следующий раз... а будет ли он этот следующий раз вообще? Так что изучать все "от и до" удовольствие сомнительное - это может даже никогда не пригодиться... Но ведь может дачник сажать картошку без диплома агронома, а вопросы задать соседу ![]() |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
т.е. в ActiveX можно взять и применить готовый Набор параметров листа? Методы и свойства для программной настройки параметров есть, не спорю.
Цитата:
|
|||
![]() |
|
||||
Цитата:
----- добавлено через ~9 мин. ----- вот и меняем PlotConfiguration программно как надо, а потом CopyFrom к нужным Layout, а можно програмно CopyFrom к ста листам с одинаковым форматом, а потом один раз руками поменять привязанный PlotConfiguration и применится ко всем листам алгоритмов реализации море, инструмент да хоть из экселя на VBA, на коленке
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 13.06.2012
Сообщений: 98
|
Цитата:
Да и вопрос вроде не такой уж сложный чтоб к фрилансерам бежать. Я наверное как-то не так вопросы задаю ![]() ![]() А плагин я пробовал писать, когда другого выхода не было. Даже работает. Но инфы по ним еще меньше чем по vba. Телодвижений больше... Да и сомнительно как-то что плагин подойдет к моей задаче. Ведь команда работает в пределах одного чертежа? Т.е. все равно придется писать вспомогательную программу которая будет открывать файлы из папки по очереди и вызывать команду плагина? |
|||
![]() |
|
||||
Цитата:
например так, открывает по очереди все файлы из дирректории Код:
__________________
Мастерская СПДС |
||||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
как Вы напишите команду, так она работать и будет. Хотите в пределах одного чертежа, хотите в пределах открытых чертежей, хотите обработайте все dwg на сервере.... Выбор за Вами.
Не так задаете. Напишите и покажите что Вы уже сделали, опишите что у Вас не получается... уверен в этом случае Вам помогут. А так, на шару и еще я не хочу читать и разбираться..... шансов на помощь не много. |
|||
![]() |
|
||||
Регистрация: 13.06.2012
Сообщений: 98
|
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
А выглядит именно так, как я написал... в противном случае, Вы бы воспользовались справкой и некоторыми намеками из сообщения 7 данной темы и пройдя по паре кросс ссылок, нашли бы метод SetLayoutsToPlot Method (ActiveX) и пример кода к нему, где нашли бы ответ на свой вопрос "как обратиться к конкретному листу?", а не расписывали бы тут, как у Вас времени нет справку читать. Нда... на поиск этого метода, я потратил 2 минуты.... но на форуме спрашивать - это конечно быстрее.
|
|||
![]() |
|
||||
Регистрация: 13.06.2012
Сообщений: 98
|
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
т.е. вы даже не пробовали в перечне методов переходить по ссылкам и смотреть более детальное описание, и зачастую даже с примером... там много информации, и Аутодеск никакого секрета из нее не делает..
|
|||
![]() |
|
||||
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 13.06.2012
Сообщений: 98
|
Сергей812, я только что написал в #17.
Эту задачу я отодвинул на потом, но знаю что она меня ждет, поэтому чуть заранее задал вопрос, т.к. ни методом "научного тыка" ни гуглением оперативно найти ответы не получилось. Я не могу сейчас глубоко вникать, создал ветку в надежде что кто-нибудь что-нибудь полезного накидает, а разбираться буду ближе к делу. С другой стороны задавать вопрос тогда, когда припрет, может оказаться уже поздно... Не факт что ответят оперативно... Както так... Надеюсь это не криминал? |
|||
![]() |
|
||||
Цитата:
Хм. По моей собственной 10 бальной шкале сложности я бы задачу оценил примерно на 7 из 10. Такая программа за один присест не напишется. Надо гуглить, изучать чужие похожие разработки в открытом доступе, экспериментировать... Если опыта разработки под автокад мало, то это может затянуться на месяцы. Опытный человек за недельку-другую по вечерам напишет, наверное.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
нет, не стёб. Вы просто не вполне осознаете с чем и как Вам придется работать. В документации к API автокада, много белых дыр и совсем не очевидных моментов. Для примера, такую простую задачу, как выключить все ВЭ в файле, ковыряли несколько дней и то, я например, так до конца во всем не разобрался. С другой стороны Do$ и Вы, видите функционал плагина каждый по своему и каждый видит свой объем хотелок...
С другой стороны, при Вашем умении работать с документацией ... может и пол года выйти... |
|||
![]() |
|
||||
настройки надо както гдето хранить или при каждом запуске раз забивать одни и те же руками коротенько так... ---------------------- что из перечисленного ты можешь сделать уже сейчас?
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
А только сыновья директоров могут работать по свободному графику?
По теме. Нет, не стёб. Я уже имел дело с настройками листов в LISP и в .NET. API в этом плане не сказать, что очень дружелюбное. В добавок к этому, задачи такого плана встают нечасто, поэтому, каждый раз нужно практически с нуля всё заново изучать/вспоминать. Ну и, срок две недели - имеется в виду, что это не в рабочее время (когда надо основную работу делать), а в свободное от работы время - примерно час (максимум два) в день.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
если я ванга (а образец чертежа кода мы так и не увидели, так что вынужден)
то у ТС все 100500 форматов находятся в модели, в листах только видовые экраны на форматы. в этом случае время на выполнение задачи может сократиться до 7 дней и одного часа из которых 7 дней уйдет у ТС на освоение РЕВЕРС в части автоматического создания листов с заданными настройками печати из форматок расположенных в модели и 1 час потратит РЕВЕРС, что бы эти 100500 файлов привести в нужный вид. если ТС разберется быстрее семи дней, то у него есть шанс сэкономить двести рублей на покупке программы.
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 13.06.2012
Сообщений: 98
|
Цитата:
3,4 ну я вроде как уже 18 лет программирую. Автокад только не часто видел. 5 тот что Layout1 называется, есть сложности "пробежаться"? Это не обычная коллекция? нельзя разве как в экселе foreach worksheet in workbook.worksheets? 6 тут какие сложности? он не двигается "за углы", или "точка вставки, ширина, высота"? (он один) 7 см. п 1. Вроде ничего особо сложного. Я только заткнулся на том, что PaperSpace как бы одно, и интуитивно искал чтото вроде свойства Items. Не нашел. Решил спросить. Если вы про масштаб в 2 раза, то это решается методом подбора ![]() ----- добавлено через ~9 мин. ----- Все еще проще, никаких форматов нет, в модели один большой чертеж, в листах просто один лист, на который натянут ViewPort, в котором выбрано нужное место чертежа. Разве только на разных листах разные слои заморожены. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
Цитата:
это решается вычислением соответствующего коэффициента по отношению сторон масштабов - какой подбор? |
|||
![]() |
|
||||
Регистрация: 13.06.2012
Сообщений: 98
|
Цитата:
Цитата:
----- добавлено через ~7 мин. ----- Кстати A4 это же половина А3, что-то я туплю - почему 2 не подойдет? |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
Цитата:
то нет |
|||
![]() |
|
||||
Регистрация: 13.06.2012
Сообщений: 98
|
Сам надеюсь, но проверять буду позже...
Забавная кстати ситуация - если б не аврал, я бы спокойно сам все нашел и здесь не написал. Но вот написал, и теперь каждый стремится обозвать меня мудураком, за то что я сам не нашел. Что с форумами стало... |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
хотя если открыть ссылки - то там названия функций, и каждое название ведет на страницу с подробным описанием и даже порою с примером. По этим примерам нагуглить примеры рабочих кодов нельзя только в одном случае - если даже не пытаться делать этого... Думайте, пишите свой код и что не получается - подскажут при наличии возможности. А аврал у вас, лень вам или что-то еще - ну кого это интересует тут... |
|||
![]() |
|
||||
Регистрация: 13.06.2012
Сообщений: 98
|
Да не претензии это, шутить пытался, даже смайликов поставил...
С одной стороны верно, но с другой... Если вопрос задан значит он кому-то нужен. Не хотите отвечать, чтож, может кто другой ответит. Но все чаще на вопрос "сколько времени" предлагают инструкцию по сборке часов. Причем я заметил, что чем проще вопрос задаешь - тем сложнее получить ответ. Люди почему-то готовы учить тех, кто не понимает даже что и зачем делают, разжевывают им, код пишут. А тебе то нужна всего-лишь подсказка - так нет, гугли... |
|||
![]() |
|
||||
Собственно ответ на вопрос топа из справки кстате)))
по CanonicalMediaName в справке ищется Код:
там надо сперва добраться до принтеров и их бумаги... но это потом....
__________________
Мастерская СПДС |
||||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
ДА оставьте вы человека в покое, он получил то, что хотел и если считает, что там все просто и понятно и он успеет разобраться с вопросом когда будет в цейтноте... ну здорово, значит вопрос решен. О чем тут еще говорить? Подождем, посмотрим как будет развиваться ситуация....
|
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,107
|
я такое делал много лет назад, на форуме тот код выкладывали, там всё есть - искать лень, надо - ищи
нашёл я всё забыл ![]() |
|||
![]() |
|
||||
Регистрация: 13.06.2012
Сообщений: 98
|
Всем спасибо, кто помогал. В общем такой код делает то что мне нужно. Даже масштабировать ничего не пришлось - оно само, если "натягивать" viewport находясь в MSpace
ЗЫ. так и не понял накой перебирать принтеры, и что тут делать две недели... У меня полчасика ушло разобраться. Код:
|
|||
![]() |
|
||||
Согласен, частнее некуда.
Ну раз это работает как надо, можно только порадоваться за Вас ![]() Цитата:
![]()
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
Уважаемый iskatel111 без примера дело придёт к гаданию.
Приложите пример файла, мы не просим секретку выкладывать, вы можете создать подобное и сказать что и как поменять. Тем более что это разовая работа, изучать гору информации для этого - так можно и на полпути бросить и сделать вручную. Цитата:
зачем ? он не захватывает нужную область ? зачем ? зачем ? для печати делается наоборот. |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Можно ли эвакуироваться через помещение в коридор, ведущий к наружному выходу? | 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 |