Тема: ViewPort, Layout и Model: как сделать правильные размеры и содержимое?

Здравствуйте, добрые люди!
Помогите, кто сможет! Несмотря на прочтение Help-a и сего форума, пока не могу разобраться с Layout-aми и ViewPort-aми... Задача: в окне Model выбирается область (для начала будем считать, что прямоугольная). В некотором Layout-e нужно создать ViewPort, где в некотором масштабе надо нарисовать объекты, попадающие в выделенную область. Я пытаюсь создать ViewPort по заданным координатам углов, но он не отображается, и его содержимое тоже:

Set newViewport = ThisDrawing.Viewports.Add("TESTVIEWPORT")
Set viewObj = ThisDrawing.Views.Add("TESTVIEW")
viewObj.Center(0) = (vp_x_max + vp_x_min) / 2: viewObj.Center(1) = (vp_y_max + vp_y_min) / 2
viewObj.Width = vp_x_max - vp_x_min
viewObj.Height = vp_y_max - vp_y_min
newViewport.SetView viewObj 'Судя по Debuger-у, всё верно присваивается
ThisDrawing.ActiveViewport = newViewport
ThisDrawing.Regen True

Что я делаю неправильно?
Если создавать ViewPort с помощью SendCommand,

pt0(0) = vp_x_min: pt0(1) = vp_y_min: pt0(2) = 0
pt1(0) = vp_x_max: pt1(1) = vp_y_max: pt1(2) = 0
ThisDrawing.SendCommand ("_mview" & vbCr & strPt0 & vbCr & strPt1 & vbCr)

то он создаётся, однако при установке масштаба (не важно, до или после создания viewPort-a)

Dim Numerator As Double, Denominator As Double
Numerator = 1
Denominator = 4
ActiveDocument.Layouts.Item("MyLayout").SetCustomScale Numerator, Denominator

размеры ViewPort-a тоже уменьшаются в N=4 раз, хотя их об этом не просили. Как это обойти? Ещё при таком создании ViewPort-a в него запихивается всё содержимое Model (оно как-то само туда масштабируется). Опять же, как это обойти?
В общем, форма ViewPort-a должна быть такая же, как форма выделенной области, а размеры его должны быть такими, чтобы он вписался в лист Layout-a. При этом внутри этого ViewPort-a должны отобразиться те объекты, которые находятся в выделенной области окна Model.
Спасибо всем, кто что-нибудь подскажет...

Re: ViewPort, Layout и Model: как сделать правильные размеры и содержимое?

Кстати, о масштабе... Я нашла свойство CustomScale у viewPort-a, если правой кнопкой шёлкнуть по этому ViewPort-у в AutoCAD-e. В нём могло быть моё спасение, но как докопаться до него программно? Неужели я первая, кому это понадобилось?... И главный вопрос, может кто знает: как найти Handle или ObjectID объекта ViewPort? Без этого я не смогу до него докопаться, потому что "по-культурному" у меня ничего не отображается. Заклинание типа tmp.Select acSelectionSetLast не помогает. Может, ViewPort не является примитивом AutoCAD, поэтому его не получается select?... И что тогда делать?

Re: ViewPort, Layout и Model: как сделать правильные размеры и содержимое?

[rus]Skoree vsego vam nuzhen obekt
[/rus]AcadPViewport,  а не Viewport.
[rus] Vot primer s ego sozdaniem i mashtabirovaniem iz helpa:
[/rus]

Sub Example_CustomScale()
   ' This example adds a line in paper space, creates a new paper space viewport, and cycles through some common paper space custom scale sizes
   ' for the new paper space viewport
    Dim lineObj As AcadLine
    Dim PViewPort As AcadPViewport
    Dim startPoint(0 To 2) As Double, endPoint(0 To 2)  As Double
    Dim center(0 To 2) As Double
    Dim width As Double, height As Double
    ' Define the start and end points for the line
    startPoint(0) = 1: startPoint(1) = 1: startPoint(2) = 0
    endPoint(0) = 5: endPoint(1) = 5: endPoint(2) = 0
    ' Define the paper space viewport
    center(0) = 3: center(1) = 3: center(2) = 0
    width = 40: height = 40
    ' Create the line in paper space
    Set lineObj = ThisDrawing.PaperSpace.AddLine(startPoint, endPoint)
    ' Create the paper space viewport
    Set PViewPort = ThisDrawing.PaperSpace.AddPViewport(center, width, height)
    ' Set the paper space viewport scale to custom
    PViewPort.StandardScale = acVpCustomScale
    ' Change from model space to paper space
    ThisDrawing.ActiveSpace = acPaperSpace
    ' Read and display the existing paper space viewport scale setting
    MsgBox "The scale of the new PViewport is: " & PViewPort.CustomScale
    ' Change the custom scale setting to 1:10 scale
    PViewPort.CustomScale = 0.1
    ' Read and display the new paper space viewport scale setting
    MsgBox "The scale of the new PViewport has been changed to: " & PViewPort.CustomScale
End Sub

Re: ViewPort, Layout и Model: как сделать правильные размеры и содержимое?

Спасибо огромное!!! Сама бы ни за что не догадалась... Только мне не очень понятно, зачем их два существует: ViewPort и AcadPViewport и чем они отличаются?

Re: ViewPort, Layout и Model: как сделать правильные размеры и содержимое?

И тогда ещё такой вопрос: а можно этот AcadPViewport делать произвольной формы, как обычный ViewPort? Для меня это очень существенно, но в Help-e я ничего не нашла на эту тему. (как делать произвольный ViewPort программно, я пока не выясняла, но руками в AutoCAD-e точно можно: в командной строке набрать mview, потом object - и он создаётся по форме объекта)

Re: ViewPort, Layout и Model: как сделать правильные размеры и содержимое?

Ну, и до кучи: как можно "совместить" центр этого AcadPViewport-а с центром выделенной в ModelSpace области? Если никаких специальных мер не принимать, то видна совсем не та часть чертежа, которую выделили.