About Plotting from Model Space and Paper Space (VBA/ActiveX)

Typically, when you plot a large drawing such as a floorplan, you can specify a scale to convert the real drawing units into plotted inches or millimeters.

However, when you plot from model space, the defaults that are used if there are no settings specified include plot to system printer, plot the current display, scaled to fit, 0 rotation, and 0,0 offset. To modify the plot settings, change the properties on the Layout object associated with model space.

Plot the extents of an active model space layout

This example first checks to make sure the active space is model space. The example then establishes several plot settings. Finally, the plot is sent using the PlotToDevice method.

Sub Ch9_PrintModelSpace()
    ' Verify that the active space is model space
    If ThisDrawing.ActiveSpace = acPaperSpace Then
        ThisDrawing.MSpace = True
        ThisDrawing.ActiveSpace = acModelSpace
    End If

    ' Set the extents and scale of the plot area
    ThisDrawing.ModelSpace.Layout.PlotType = acExtents
    ThisDrawing.ModelSpace.Layout. _
 StandardScale = acScaleToFit

    ' Set the number of copies to one
    ThisDrawing.Plot.NumberOfCopies = 1

    ' Initiate the plot
    ThisDrawing.Plot.PlotToDevice
End Sub

The device name can be specified using the ConfigName property. This device can be overridden in the PlotToDevice method by specifying a PC3 file.

Plot from Paper Space

You can plot a paper space layout. You can plot the active layout, as demonstrated in the previous section, or you can specify by name the layout to plot.