I’m trying to modify Kelvin Cheng’s script that prints one PDF page of each Layouts as a separate file. I want to add to each PDF file’s name suffix of a text object in that layout (it’s a revision note).
I thought of retrieving that text object’s contents by finding it using Rhino.Display.RhinoPageView object, but I can’t seem to find a way to retrieve objects by view.
import Rhino
import scriptcontext as sc
import System.Drawing
import rhinoscriptsyntax as rs
folder = rs.BrowseForFolder()
prefix = "XXXX-XX-XX-XX-XX-X-"
folder += "\\" + prefix
name = "layout_revision"
settings = Rhino.DocObjects.ObjectEnumeratorSettings()
settings.NameFilter = name
def createSinglePDF(view):
pdf = Rhino.FileIO.FilePdf.Create()
dpi = 300
settings = Rhino.Display.ViewCaptureSettings(view, dpi)
settings.OutputColor = Rhino.Display.ViewCaptureSettings.ColorMode.DisplayColor
pdf.AddPage(settings)
filename = folder + view.PageName + '.pdf'
pdf.Write(filename)
for i in sc.doc.Views:
if type(i) is Rhino.Display.RhinoPageView:
createSinglePDF(i)
1 post - 1 participant