Hello folks,
I'm interested in figuring out a way I can define the scale of a current view. For example, In AutoCAD, keying in 'zoomxp -> 1/40xp' changes your current view to a scale of 1in=40ft, or whatever your MU/SU were set at in the drawing file. Is there a similar way to do this in MicroStation?
My overall intent is to quickly print current view at a particular scale. Being able to place a fence at a defined scale would also achieve the goal, as I could check 'fence' for the Area in the Print dialogue window.
I see that I can define a scale in the Print interface, I'm just wondering if this can be done within a view or with a fence prior to opening the Print dialogue because I would likely try to create a macro involving that functionality.
Thanks for any feedback you may have!
Thanks,
Scott
I think you need a fence to do this.
What do you want the macro to ultimately do ? knowing this may help in finding you a workflow.
Timothy Hickman
CADD Manager | CADD Department
timothy.hickman@colliersengineering.com
Main: 877 627 3772|
1000 Waterview Drive Suite 201 | Hamilton, New Jersey 08691
I want to the user to be able to place a fence and print the fence contents to the default printer without having to change any print settings or draw the extents of the fence himself. The user wants the extents of the fence to print on 8.5x11 at 1in=40ft scale.
I actually got most of the way there by drawing a 160,000sf box in the drawing and recording a macro of placing a fence on the limits of the 40,000sf box.
The code reads like this, just need to add a combo box and a loop so I'll post in the programming community if I can't figure that out:
Sub BmrPrint40scFenceV1() Dim startPoint As Point3d Dim point As Point3d, point2 As Point3d Dim lngTemp As Long Dim oMessage As CadInputMessage ' Pause macro playback for user input of a datapoint. startPoint = CadInputQueue.GetInput(msdCadInputTypeDataPoint).point CadInputQueue.SendDataPoint startPoint, 1 ' Send a data point to the current command point.X = startPoint.X + 298057.321023478 point.Y = startPoint.Y + 441057.738342121 point.Z = startPoint.Z CadInputQueue.SendDataPoint point, 1 ' Send a keyin that can be a command string CadInputQueue.SendKeyin "DIALOG PLOT " CadInputQueue.SendKeyin "PRINT MAXIMIZE " CadInputQueue.SendKeyin "PRINT EXECUTE " CadInputQueue.SendKeyin "PRINT EXIT PLOTDLG" CadInputQueue.SendKeyin "MDL UNLOAD PLOTDLG" CadInputQueue.SendKeyin "PLACE FENCE ICON " CommandState.StartDefaultCommand End Sub
Scott Russell said:I want to the user to be able to place a fence and print the fence contents
Scott Russell said:I'm interested in figuring out a way I can define the scale of a current view
A MicroStation view and a fence are different things, particularly when it comes to printing. From your description, you want to be able to create a scaled print from a fence.
By the way, there's a Printing Forum for print-specific questions.
Regards, Jon Summers LA Solutions
this would be best posted in the plotting forum.
you may want to look into print styles instead of the creation of a macro or any type of specific programming.