• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    Autodesk Revit API

    Reply
    Valued Contributor
    Posts: 67
    Registered: ‎02-27-2010

    Printing active view

    211 Views, 5 Replies
    10-03-2012 12:38 AM

    I'm writing a drawing issue tool and having troubles with my PDF printing to PDFCreator.

     

    Basically my addin loops through the sheets to be issued then for each sheet exports DWG, DWF, prints to PDF and will also print.

     

    DWG and DWF exporting all OK with the activeview but printing is hit and miss.  does not always detect the active view.

     

    Dim thisdoc As Document = uidoc.Document

    Using trans As New Transaction(doc, "Export Sheets")

    trans.Start()
    If Me.chkExportDWG.Checked = True Then ExportDWG(sbFile.ToString & ".dwg")
    If Me.chkExportDWF.Checked = True Then ExportDWF(sbFile.ToString & ".dwf", GetSheetsize(sheet, doc), thisdoc)
    If Me.chkExportPDF.Checked = True Then ExportPDF(sbFile.ToString & ".pdf", sheet.SheetNumber, thisdoc, thisdoc.ActiveView)
    If Me.chkPrint.Checked = True Then PrintSheet(sheet, thisdoc)
    trans.Commit()
    End Using

     

    Private Sub ExportPDF(ByVal ExportFileName As String, ByRef sheetnumber As String, ByRef thisdoc As Document, ByRef thisview As Autodesk.Revit.DB.View)

     

    'handle page setups etc

     

    ptManager.SubmitPrint(thisview)

     

    end sub

     

    Now when I debug thisview exists but I sometimes get an error that no views are selected.   Any advice here would be a big help....

     

    Russ

    Russ Green
    Please use plain text.
    ADN Support Specialist
    Posts: 166
    Registered: ‎03-05-2010

    Re: Printing active view

    10-10-2012 08:31 AM in reply to: russ.green

     

    HI Russ,

     

    In which condition the error occurs? 

    Not sure if this is caused by not setting the print range.

     

    This is the code to set the print range, the print it.

     

    PrintManager manager = Document.PrintManager;
    manager.PrintRange = PrintRange.Select;
    manager.SubmitPrint(view);

     

    Document.PrintManager returns a new PrintManager object., so you needt to set it to an PrintManager object, and set the print range and submit the print to the same PrintManager object.

     

     



    Joe Ye
    Developer Technical Services
    Autodesk Developer Network
    Please use plain text.
    Valued Contributor
    Posts: 67
    Registered: ‎02-27-2010

    Re: Printing active view

    10-10-2012 08:33 AM in reply to: russ.green

    thanks.

     

    I'll test this again and report back

    Russ Green
    Please use plain text.
    Valued Contributor
    Posts: 67
    Registered: ‎02-27-2010

    Re: Printing active view

    10-11-2012 01:04 AM in reply to: russ.green

    Even with PrintRange.Select things are still a little unreliable.

    Russ Green
    Please use plain text.
    ADN Support Specialist
    Posts: 166
    Registered: ‎03-05-2010

    Re: Printing active view

    10-15-2012 07:40 AM in reply to: russ.green

    HI Russ,

     

    I doubt that some views that cause error is that they are not real view but view template. Please check if the View.IsTemplate property is true. Please skip when it is a view template.

     

     



    Joe Ye
    Developer Technical Services
    Autodesk Developer Network
    Please use plain text.
    Valued Contributor
    Posts: 67
    Registered: ‎02-27-2010

    Re: Printing active view

    10-15-2012 07:44 AM in reply to: Joe.Ye

    my app is only concerned with sheets so i loop through the sheets in the project making each one the active view in turn and exporting the sheet to different formats...i'll add this check in though and give things another test....

    Russ Green
    Please use plain text.