欢迎光临散文网 会员登陆 & 注册

1分钟小技巧 | 如何在 Rhino 中按照不同图纸配置的设置批量打印

2023-09-21 16:51 作者:Rhino3D原厂中国  | 我要投稿

有学员在讨论区提问:

这个问题可以总结为:如何在 Rhino 中按照不同图纸配置的设置批量打印。



目前 Rhino 的批量打印是将所有的图纸配置同时按照相同的纸张规格打印在一个pdf中,跳过了每个图纸配置单独的设置(例如纸张大小等),就会出现上述问题。

接下来提供一个解决方案供有相同需求的用户参考:

1. 输入指令 EditPythonScript 启动 Rhino Python 脚本编辑器,或者通过菜单呼出。


2. 将下方的代码复制并粘贴到 Rhino Python 编辑器窗口,点击运行按钮,然后选择一个输出目标文件夹,稍作等待,让脚本运行完成。

import Rhino

import scriptcontext as sc

from scriptcontext import doc

import System.Drawing

import rhinoscriptsyntax as rs

FolderPath = rs.BrowseForFolder()

def createSinglePDF(view):

    pdf = Rhino.FileIO.FilePdf.Create()

    dpi = 300

    inch = 25.4

    width = (view.PageWidth)/inch

    height = (view.PageHeight)/inch

    size = System.Drawing.Size(width*dpi,height*dpi)

    settings = Rhino.Display.ViewCaptureSettings(view, size, dpi)

    pdf.AddPage(settings)

    filename = FolderPath + '\\' + view.PageName + '.pdf'

    pdf.Write(filename)

for i in sc.doc.Views:

    if type(i) is Rhino.Display.RhinoPageView:

        createSinglePDF(i)

3. 最后检查打印结果是否正确。

这个方法可以将每个图纸配置打印为一个单独的PDF.

如果运行没有问题,你可以在 Rhino 中自定义一个按钮,把下面的代码贴进去,这样使用起来更加方便。


    NoEcho -_RunPythonScript (

    import Rhino

    import scriptcontext as sc

    from scriptcontext import doc

    import System.Drawing

    import rhinoscriptsyntax as rs

    FolderPath = rs.BrowseForFolder()

    def createSinglePDF(view):

        pdf = Rhino.FileIO.FilePdf.Create()

        dpi = 300

        inch = 25.4

        width = (view.PageWidth)/inch

        height = (view.PageHeight)/inch

        size = System.Drawing.Size(width*dpi,height*dpi)

        settings = Rhino.Display.ViewCaptureSettings(view, size, dpi)

        pdf.AddPage(settings)

        filename = FolderPath + '\\' + view.PageName + '.pdf'

        pdf.Write(filename)

    for i in sc.doc.Views:

        if type(i) is Rhino.Display.RhinoPageView:

            createSinglePDF(i)

    )

    PS:这个解决方案参考了下面的这个帖子,有兴趣也可以看看。

    🔗 https://discourse.mcneel.com/t/print-layouts-to-pdfs-one-layout-to-one-pdf/39744/21

    欢迎分享这篇文章给你身边的小伙伴。

    如果你在使用 Rhino  Grasshopper 时遇到问题,可以前往 Rhino 中文讨论区发帖提问哦~



    1分钟小技巧 | 如何在 Rhino 中按照不同图纸配置的设置批量打印的评论 (共 条)

    分享到微博请遵守国家法律