Непредсказуемое поведение AutoCAD VBA acadPViewport при настройке шкалы стандартов - PullRequest
0 голосов
/ 29 марта 2012

У меня есть сценарий VBA, который импортирует макет в обширный чертеж, его макет листа бумаги и содержит один acadPViewport для просмотра модели с помощью.

Мне нужно установить разумное представление по умолчанию, самый простой способ сделать это - установить область просмотра на экстенты модели.

Я могу сделать это, позвонив по номеру:

VP.standardscale = acVPScaleToFit
'(optional, I've tried adding these to no effect)
VP.update
currentDocument.Regen

Я экспериментировал и этот кодовый вызов. Если я нахожу область просмотра в ближайшем окне, не запуская никаких макросов или подпрограмм, обращаясь к:

ThisDrawing.ActiveLayout.block(1).standardscale = acvpscaletofit

это имеет желаемый эффект вызова ZoomExtents внутри pViewport (насколько я могу сказать, что он перечитывает и пересчитывает экстенты, что я и ищу).

Когда я запускаю точно такой же код внутри основного кода, это не имеет никакого эффекта.

Любые идеи приветствуются.

1 Ответ

0 голосов
/ 01 апреля 2012

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

...