Viewports like in autocad ?

Started by ivan, April 04, 2009, 01:43:53 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ivan

I lack only one thing in Visio that is present in autocad - viewports. it's like you can draw everything in the scale you want and then just insert a viewport (box) on the layout to get part of the drawing scaled as you need.
atm i got following problem. i got several pages of drawing and i need to combine it in one automatically. i.e i need to collect that pages in one page and scale them  as i want. manually i can do it in the one way:
- select drawing, copy it
- paste as emf file where i need and scale it.
i guess i'll manage to automate it with macroses. but  i wonder if there're better ideas ?

JuneTheSecond

Hi,

I think Visio has not the same functions as Autocad,
because Visio is not Autocad.

One of my proposal is to show Pan/Zoom window
in the menu View.
Another is to show one more windows with menu
Windows/Open New windows, arrange 2 windows
like tiles, and zoom in new windows.

Wide display is more comfortable for 2 windows.
Best Regards,

Junichi Yoda
http://june.minibird.jp/

ivan

Quote from: JuneTheSecond on April 05, 2009, 01:19:47 AMI think Visio has not the same functions as Autocad,
because Visio is not Autocad.

i know it's different but i know viewports is a featre a lot of people lack a lot. i even know several cmpanies that would switch from autocad to visio if there was viewports feature available. i'm looking for a way to do the same thing viewports normally do - show part of the drawing (like another page) in the scale i want in the place i want. on the printable page. thus your idea with several screens is not suitable

ivan

atm my problem is
   Set vsoSelection = ActiveWindow.Selection
   ActiveWindow.SelectAll
   Application.ActiveWindow.Selection.Copy   'копируем

Application.ActiveWindow.Page = Application.ActiveDocument.Pages.ItemU("А1-2")

Application.ActiveWindow.Page.PasteSpecial visPasteEMF, False, False

how to return that pasted picture to move/scale it  ?

manwave27

You can achieve the results of a viewport in Visio by using background pages. This allows you to have dwgs. of different scale to appear on same dwg.

ivan

Quote from: manwave27 on April 13, 2009, 08:49:08 PM
You can achieve the results of a viewport in Visio by using background pages.
can you tell how i can scale/move background pages ?

manwave27

The background page is just like any other page; set scale as usual; the only difference is - in Page Setup\Page Properties select Background as the Type.

Prepare other page as usual and in Page Setup make sure Foreground is selected as Type and in the box for Background select the no. of the sheet you will use as Background. (Ex.- Page 1 can be your background and Page 2 can be a foreground using Page 1 as a background. You can do this scenario mutiple times.

I am assuming you are using the Professional Version of Visio; I am not sure if Standard supports this; but believe it does.

ivan

yes, i got visio pro
QuoteThe background page is just like any other page; set scale as usual
set scale to not scales font sizes ;)

Visio Guy

You might be able to get a similar functionality by using Paste-Link. You insert another Visio file as a linked object. You should be able to make it any size you want on your drawing page. Updated to the linked object should show in your Visio document.

I have problems getting it to work, however. It causes a lot of crashes. Are others running into this?
For articles, tips and free content, see the Visio Guy Website at http://www.visguy.com
Get my Visio Book! Using Microsoft Visio 2010

ivan

QuoteYou insert another Visio file as a linked object
but i got just different pages of one document
anyway i solved my issue with a macros. i got boxes with the samer name on different pages. macros copy-pastes what i need in emf format.

'Режимы работы сети
    ActiveWindow.DeselectAll
name_box = "box_rgm"

Application.ActiveWindow.Page = Application.ActiveDocument.Pages(1)

'clear

    ActiveWindow.DeselectAll
        Set vs = ActivePage.Shapes(name_box).SpatialNeighbors(3 + visSpatialIncludeDataGraphics, 0.2, 0)
        If vs.Count > 0 Then
              For Each sh In vs
                ActiveWindow.Select sh, visSelect
              Next
        End If
        Application.ActiveWindow.Selection.Delete
   
Application.ActiveWindow.Page = Application.ActiveDocument.Pages.ItemU("расчет1") 'выделяем нужный лист

   ActiveWindow.SelectAll
   Application.ActiveWindow.Selection.Copy   'копируем

Application.ActiveWindow.Page = Application.ActiveDocument.Pages(1)

Application.ActiveWindow.Page.PasteSpecial visPasteEMF, False, False
mult = 3
Set sh = ActivePage.Shapes(ActiveWindow.Selection(1).NameID)
              sh.Cells("PinX") = ActivePage.Shapes(name_box).Cells("PinX")
              sh.Cells("PinY") = ActivePage.Shapes(name_box).Cells("PinY")
              sh.Cells("Width") = mult * sh.Cells("Width")
              sh.Cells("Height") = mult * sh.Cells("Height")

works as a charm for me

i wonder if it can be made real-time - like every time i change initial box emf copied to 'viewport' etc