Печать CropView

Автор Тема: Печать CropView  (Прочитано 163 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн shssАвтор темы

  • ADN Club
  • ***
  • Сообщений: 203
  • Карма: 5
  • Sergey
  • Skype: sergey.s.shevtsov
Печать CropView
« : 31-07-2018, 14:08:31 »
Добрый день!
Я хочу напечатать все, что находится внутри CropView активного вида, обрезать все что выходит за рамки CropView и растянуть на весь лист.
Но не получается обрезать все что вне, так как при печати все элементы помещаются на PDF, ручками приходится перемещать в границу CropView или скрывать элементы (пользователи не особо этому рады).
CropView" border="0
Интересно, что даже при получении только CropView, вид не растягивается на весь лист PDF (в моем понимании хотя бы одна сторона вида должна коснутся стороны страницы PDF), хотя ZoomType.FitToPage и положение задано в точке 0,0.
Есть ли варианты решения?

Оффлайн Александр Игнатович

  • Administrator
  • ***
  • Сообщений: 205
  • Карма: 44
  • Skype: alexandr.ignatovich.itc
Re: Печать CropView
« Ответ #1 : 31-07-2018, 14:37:26 »
Возможности Revit API это на 95% только то, что можно сделать "руками". Насколько понимаю, во-первых нужно поставить в свойствах вида "Обрезать аннотации":
Код - C# [Выбрать]
  1. view.get_Parameter(BuiltInParameter.VIEWER_ANNOTATION_CROP_ACTIVE).Set(1);

Дальше отредактировать область подрезки аннотаций - получить объект
Код - C# [Выбрать]
  1. var shapeManager = view.GetCropRegionShapeManager();

И установить значения LeftAnnotationCropOffset, Right..., Top..., Bottom.

Цитировать
This value must be a non-negative length in view units. Default value is 1/12' (1"), minimal value is 1/96' (1/8"). To get offset in model units, multiply the value by the view scale.

Это частично решает проблему, а с остальным сложнее - тут нужно уже программно редактировать или скрывать элементы.

Например, для Grid-ов можно перевести в 2D и настроить их линии для конкретного вида, элементы, показывающие разрезы / фасады найти по их категориям (поставьте RevitLookup для того, чтобы можно было исследовать элемент, в частности посмотреть к какой категории относится), оценить их попадание в требуемый CropBox и при необходимости скрыть, в общем, реализовать программно то, что люди делают руками.

Оффлайн shssАвтор темы

  • ADN Club
  • ***
  • Сообщений: 203
  • Карма: 5
  • Sergey
  • Skype: sergey.s.shevtsov
Re: Печать CropView
« Ответ #2 : 31-07-2018, 14:43:06 »
Согласен, но проблема в том, что аннотации не обрезаются. Как на картинке, сетка не обрезается видом.. И есть еще масса элементов, которые не обрезаются.
На данном этапе я и редактирую элементы (сетки/ метки уровней), для того чтобы они попали в CropBox, а пользователи 'кидаются' в меня тапками - не по ГОСТу.

Оффлайн Александр Игнатович

  • Administrator
  • ***
  • Сообщений: 205
  • Карма: 44
  • Skype: alexandr.ignatovich.itc
Re: Печать CropView
« Ответ #3 : 31-07-2018, 14:51:04 »
Так я про сетки и писал, что их редактировать приходится, и ту массу элементов прийдется обрабатывать, возможно, каждую по своим алгоритмам, может быть для печати, вообще какие-то из элементов перед печатью скрывать и ставить свои аннотации/элементы узлов, кстати, возможно, это неплохая тема, приложение в Autodesk-овский AppStore подобное выложить, ГОСТирайзер-3000  ;D, чтоб всё по гостам было)

Оффлайн shssАвтор темы

  • ADN Club
  • ***
  • Сообщений: 203
  • Карма: 5
  • Sergey
  • Skype: sergey.s.shevtsov
Re: Печать CropView
« Ответ #4 : 31-07-2018, 14:55:35 »
Ну точно, популярность обеспечена на 100% :)
В результате, опять придется прыгать с бубном. Будем дальше копаться.