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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Печать из пространства модели через vba autocad, ошибки в некоторых чертежах

Печать из пространства модели через vba autocad, ошибки в некоторых чертежах

Ответ
Поиск в этой теме
Непрочитано 03.10.2016, 09:01 #1
Печать из пространства модели через vba autocad, ошибки в некоторых чертежах
zenija2007
 
Регистрация: 18.09.2015
Сообщений: 120

Сама программка простая - выбираем параметры печати через форму, затем указываем рамкой координаты и выводит предпросмотр, никаких манипуляций с координатами и переворотов листов, никаких переназначений системных переменных, все параметры во всех документах одинаковы. В документах, которые создавал сам, все работает без сбоев. В одном документе сразу после старта программы появилось уведомление runtime error 9 без возможности отладки. В другом документе была ошибка в строке actlay.PlotType = acWindow, хотя в чертежах, которые создавал сам, указывал те же параметры печати и все было ок. Все, что приходит на ум - некие настройки печати, которые уже были в тех документах, или значения как-то системных переменных. Кто может, дайте направление, куда копать, какие обработчики ошибок и по каким принципам писать для работы программ в любых документах, из-за таких ошибок я уже бросал изучение vba, сейчас хочу все же добить это дело. Проблема что почти все руководства заточены под excel и word, а в autocad свои особенности.
Приложил вычищенный чертеж, в котором скрипт выдает ошибку.
autocad 2014 32x, windows 7 32x

Вложения
Тип файла: dvb Printer.dvb (24.5 Кб, 67 просмотров)
Тип файла: dwg
DWG 2013
Test.dwg (296.1 Кб, 32 просмотров)

Просмотров: 4350
 
Непрочитано 03.10.2016, 10:17
#2
baksconstructor


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


Посмотрите эту тему, там есть алгоритмы, возможно найдёте решение:
Пакетная печать множества рамок (форматов) из пространства модели.
baksconstructor вне форума  
 
Автор темы   Непрочитано 04.10.2016, 10:19
#3
zenija2007


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


Цитата:
Сообщение от baksconstructor Посмотреть сообщение
Посмотрите эту тему, там есть алгоритмы, возможно найдёте решение:
Пакетная печать множества рамок (форматов) из пространства модели.
начал делать отладку, и выяснил, что ошибка в команде UBound(form_canon), а form_canon = actlay.GetCanonicalMediaNames(). Верхний индекс массива "-1". Нижний - 0. Так понимаю, что прочитать доступные форматы для данного чертежа нельзя. Но из-за чего?

Последний раз редактировалось zenija2007, 04.10.2016 в 10:25.
zenija2007 вне форума  
 
Непрочитано 04.10.2016, 10:31
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Может, они просто неназначены?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.10.2016, 10:48
#5
baksconstructor


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


Цитата:
Сообщение от zenija2007 Посмотреть сообщение
Но из-за чего?
А Вы попробуйте руками сделать то что вам надо...
Запустите окно печати и увидите что выбран и установлен активным формат листа которого нет в системе (Прежний размер......) из- за этого и глючит. Откройте новый чертеж, там такой ошибки не будет.
P.S. та тема не старая, просто люди там выбирают и пользуются уже готовым.
baksconstructor вне форума  
 
Автор темы   Непрочитано 04.10.2016, 12:26
#6
zenija2007


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


Цитата:
Сообщение от baksconstructor Посмотреть сообщение
А Вы попробуйте руками сделать то что вам надо...
да, поспешил с вопросом, не назначил принтер, а полез грузить список форматов. Это исправил, после выбора принтера происходит обновление списка форматов и стилей печати, но на другом чертеже вылезла еще одна ошибка. При попытке назначить actlay.PlotType = acWindow выдает ошибку: runtime error, неверный ввод. Пытался назначить на выбор рамкой acWindow и после выбора принтера, и после настройки стиля печати, формата листа, применения центрирования и вписать. Причина ошибки совершенно неясна: основные настройки уже сделаны, никаких конфликтов не должно быть. Если руками - то да: можно выбрать принтер, выбор рамкой - и все образуется. При открытии настроек принтера - по одной из сторон красная линия, выход за границы, не назначен принтер, формат Letter. Но ведь я программно эти настройки выставляю, но все равно происходит ошибка. Думал, ошибка происходит из-за старых координат области печати в чертеже, пробовал назначить actlay.SetWindowToPlot t1, t2 до actlay.PlotType = acWindow - но тогда происходит ошибка на всех чертежах. Если причина не в старых координатах, а остальные настройки я назначил программно - то в чем может быть дело?

----- добавлено через ~18 ч. -----
просьба удалить тему за ненадобностью.

Последний раз редактировалось zenija2007, 05.10.2016 в 06:05.
zenija2007 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Печать из пространства модели через vba autocad, ошибки в некоторых чертежах

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Autocad 2016. Не строит базовый вид из пространства модели JAP23 AutoCAD 25 05.09.2022 11:02
Hазбивка-настройка окружности в AutoCAD для экспорта через DXF DENver_M7 AutoCAD 15 01.03.2016 14:39
Как отредактировать макрос, записанный через рекордер операций в Autocad vladimirr_b Программирование 1 13.10.2015 12:18
Печать чертежей autocad, окружности печатаются квадратитками? vbold AutoCAD 5 29.11.2011 16:10
Рабочие пространства в AutoCAD (Добавление, удаление, переименование) nav3000 AutoCAD 1 23.08.2010 11:47