У меня есть сценарий 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 (насколько я могу сказать, что он перечитывает и пересчитывает экстенты, что я и ищу).
Когда я запускаю точно такой же код внутри основного кода, это не имеет никакого эффекта.
Любые идеи приветствуются.