Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Захаров Максим от 09-02-2017, 09:04:53

Название: как присвоить видовому экрану пользовательский масштаб
Отправлено: Захаров Максим от 09-02-2017, 09:04:53
Спасибо за помощь. Подскажите еще, как присвоить видовому экрану пользовательский масштаб. В справке написано что за это отвечает  acVport.CustomScale. Однако я присваиваю ему значение, эффекта нет.  Если через функцию Public Sub Zoom(factor As Double), как подсказал Александр, то мне необходимо активировать видовой экран, как это сделать не знаю. Кстати разворот у меня получился через acVport.TwistAngle
Название: Re: как присвоить видовому экрану пользовательский масштаб
Отправлено: Александр Ривилис от 09-02-2017, 09:11:44
1. Один вопрос - одна тема.
2. Поясни что ты имеешь в виду подробнее.
3. Думаю что тебе не масштаб нужно задавать, а Viewport.CenterPoint, Viewport.Height и Viewport.Width
4. Похоже это ближе всего к тому, что тебе нужно: http://adndevblog.typepad.com/autocad/2012/08/changing-zoom-in-paperspace-viewport.html
Название: Re: как присвоить видовому экрану пользовательский масштаб
Отправлено: Захаров Максим от 09-02-2017, 09:27:36
Нет, эти параметры я уже задал. Я так понимаю CenterPoint это положение экрана, Viewport.Height и Viewport.Width это длина и ширина видового экрана. CenterPoint я установил, длину и ширину не устанавливал я задал acVport.NonRectClipEntityId = ClonePLine.Id   acVport.NonRectClipOn = True. Теперь надо установить CustomScale.
Название: Re: как присвоить видовому экрану пользовательский масштаб
Отправлено: Захаров Максим от 09-02-2017, 09:49:02
Спасибо Александр, да масштаб изменяется надо только acVport.ViewHeight устанавливать. Вопрос не по теме, но все таки может подскажете (на будущее) как активировать видовой экран.
Название: Re: как присвоить видовому экрану пользовательский масштаб
Отправлено: Александр Ривилис от 09-02-2017, 09:49:48
Значит осталось установить Viewport.ViewHeight и Viewport.ViewCenter и выполнить Viewport.UpdateDisplay
По ссылке выше это делается.
Название: Re: как присвоить видовому экрану пользовательский масштаб
Отправлено: Александр Ривилис от 09-02-2017, 09:53:12
Вопрос не по теме, но все таки может подскажете (на будущее) как активировать видовой экран.
Если ничего не наврал, то
Код - C# [Выбрать]
  1. Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
  2. ed.SwitchToModelSpace();
  3. Application.SetSystemVariable("CVPORT", vpNum /* номер Viewport */);