您可以在这里快速查找:


 
您的位置: 编程学习 > asp.net教程 > 200602
文章分类

Java技术
2005: 03 04 05 06 07 08
09 10 11 12
2006: 01 02

Asp.net
2005: 07 08 09 10 11 12
2006: 01 02

VB编程
2006: 02

Asp编程
2005: 11 12
2006: 01 02

C++/VC
2005: 10 11 12
2006: 01 02

Delphi
2005: 12
2006: 01 02

其它

 本文章适合所有读者

在VBA中调用AUTOCAD打印文件

bwsabc

花了一下午完成了一个初步的示范的例子,看来解决图纸统一管理有了解决的办法了.下一步用jacob封装在java中调用,在服务器上控制打印管理.做个记号再慢慢完善.

´取得当前文档对象(vba中的方法,如果是在VB中时需要从顶层对象开始引用取得)
Dim currentDoc As AcadDocument
Set currentDoc = ThisDrawing

´文档的模型空间
Dim sp As AcadModelSpace
Set sp = currentDoc.modelspace

´取得模型空间中的块属性
Dim index As Integer
For index = 0 To sp.Count - 1
    Dim name As String
    name = sp.Item(index).ObjectName
   
    ´判断模型空间中的项目是否是一个块引用
    If name Like "*Ac*" Then
       
        Dim blockRef As AcadBlockReference
        Set blockRef = sp.Item(index)
       
        ´块引用的插入点
        Dim insertPoint As Variant
        insertPoint = blockRef.InsertionPoint
       
        ´放大比例
        Dim xScale, yScale As Integer
        xScale = blockRef.XScaleFactor
        yScale = blockRef.YScaleFactor
       
       
        ´宽高基数
        Dim width, height As Double
        width = 297
        height = 210
       
        ´打印区域
        Dim UpperRight(0 To 1) As Double, LowerLeft(0 To 1) As Double
        UpperRight(0) = insertPoint(0)
        UpperRight(1) = insertPoint(1)
        LowerLeft(0) = insertPoint(0) + width * xScale
        LowerLeft(1) = insertPoint(1) - height * yScale
       

       
        list.AddItem "inserPoint:X=" & UpperRight(0) & " Y:" & UpperRight(1)
        list.AddItem "lowerLeft :X=" & LowerLeft(0) & " Y:" & LowerLeft(1)
       
       
        Dim plotConfs As AcadPlotConfigurations
        Set plotConfs = ThisDrawing.PlotConfigurations
        list.AddItem plotConfs.Count
       
   
        Dim plotconf As AcadPlotConfiguration
        Set plotconf = plotConfs.Add("plot")
        ´list.AddItem plotconf.GetPlotDeviceNames(5)
       
        ´Set plotConf = ThisDrawing.PlotConfigurations.Add
       
       
        ´设置定义要打印的布局范围的坐标
        ThisDrawing.ActiveLayout.SetWindowToPlot LowerLeft, UpperRight
        ´指定布局或打印配置的类型
        ThisDrawing.ActiveLayout.PlotType = acWindow
        ´按局部或完整视图预览方式显示打印预览对话框
        ThisDrawing.Plot.DisplayPlotPreview acFullPreview
        ´打印布局到设备
        ThisDrawing.Plot.PlotToDevice
       
    End If
 
   
Next index