Polyline Tool

  • Автор темы Автор темы Lena_sun
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Lena_sun

Участник
Топикстартер
Сообщения
170
Реакции
31
При обрисовки сложных деталей, бывает полезно одновременная работа инструмента и масштабирование.
Во время работы инстумента Polyline Tool не работает колесико мыши для масштабирования. Как обойти?
 
Ответ: Polyline Tool

остановить обрисовку пробелом, сменить масштаб, продолжить рисование ткнув курсором точно в последнюю точку (будет видно изменение формы курсора). Сам все время полилинией рисую, удобно. Для лучшего схватывания этого последнего узла можно включать Snap to Objects (Alt-Z у меня)
 
Ответ: Polyline Tool

Спасибо, ясно.
 
Ответ: Polyline Tool

я стормозил оказывается...раньше меня тоже иногда жутко доставала невозможность сменить масштаб во время долгих полилиний на пару минут ;-) а сейчас редко долгие обрисовки бывают...Короче, вот - F3 работает и во время обрисовки полилинией и в этом новости нет, но в стандарте DRAW нет увеличения в режиме рисования, поэтому можно навесить на какую нибудь клавишу вот такой макрос, довольно удобно кстати. Спасибо за идею

Код:
Private Declare Function GetCursorPos& Lib "user32" (pos As lpPoint)
Private Type lpPoint: X As Long: y As Long: End Type

Sub ZoomPlus()
   Const ZoomPct = 40 ' 0..100
   Dim X#, y#, p As lpPoint
   On Error Resume Next
   GetCursorPos p
   ActiveWindow.ScreenToDocument p.X, p.y, X, y
   With ActiveWindow.ActiveView
      .SetViewPoint .OriginX + (X - .OriginX) * ZoomPct / 100, _
            .OriginY + (y - .OriginY) * ZoomPct / 100, _
            .Zoom * (100 + ZoomPct) / 100
   End With
   End Sub

здесь этот текст уже в gms: http://recent.tekcities.com/misc/zoomplus.gms и макрос называется wx.ZoomPlus
 
Ответ: Polyline Tool

я немного погорячился - F3 у меня работает в режиме полилинии только потому, что я еще полтора года назад повесил на нее макрос из одной строки, восстанавливающий привычное поведение (возврат предыдущего зума), испорченный в Х3 :-) макрос wx.ZoomOutBack.

Также я подумал что можно изменить ZoomPlus из пред. поста чтобы его можно было повесить на F2 - для этого я добавил в него проверку на инструмент, то есть если полилиния, то происходит моментальное увеличение, а для других инструментов вызывается как обычно зум F2. Единственный минус - я пока не знаю как отличить идет ли уже рисование полилинией или только выбран инструмент...

Код:
Option Explicit

Private Declare Function GetCursorPos& Lib "user32" (pos As lpPoint)
Private Type lpPoint: X As Long: y As Long: End Type

Sub ZoomOutBack(): On Error Resume Next: ActiveWindow.ActiveView.ZoomOut: End Sub

Sub ZoomPlus()
   Const ZoomPct = 40 ' 0..100
   Dim X#, y#, p As lpPoint
   On Error Resume Next
   If ActiveTool = 204 Then
      GetCursorPos p
      ActiveWindow.ScreenToDocument p.X, p.y, X, y
      With ActiveWindow.ActiveView
         .SetViewPoint .OriginX + (X - .OriginX) * ZoomPct / 100, _
               .OriginY + (y - .OriginY) * ZoomPct / 100, _
               .Zoom * (100 + ZoomPct) / 100
      End With
   Else
      FrameWork.Automation.Invoke "a971f561-1907-4140-b1ed-e0d6e5b99690"
   End If
   End Sub

Этот исправленный код есть здесь - http://recent.tekcities.com/misc/zoomplus.gms
 
Статус
Закрыто для дальнейших ответов.