SetSnapSpacing メソッド(ActiveX)

ビューポートのスナップ間隔を設定します。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

object.SetSnapSpacing XSpacing, YSpacing
object

タイプ: PViewportViewport

このメソッドが適用されるオブジェクト。

XSpacing

アクセス: 入力のみ

タイプ: 倍精度浮動小数点数型

X 軸方向のスナップ間隔。

YSpacing

アクセス: 入力のみ

タイプ: 倍精度浮動小数点数型

Y 軸方向のスナップ間隔。

戻り値(RetVal)

戻り値はありません。

注意

X と Y の間隔の初期値は 1.0000 です。

この設定は、システム変数 SNAPUNIT でもコントロールできます。

VBA:

Sub Example_SetSnapSpacing()
    ' This example finds the current Snap spacing and changes it.
    
    ' Find the current active viewport
    Dim viewportObj As AcadViewport
    Set viewportObj = ThisDrawing.ActiveViewport
    
    ' Turn on Snap mode and reset the viewport.
    viewportObj.SnapOn = True
    ThisDrawing.ActiveViewport = viewportObj
    
    ' Find the current Snap spacing
    Dim XSpacing As Double
    Dim YSpacing As Double
    
    viewportObj.GetSnapSpacing XSpacing, YSpacing
    MsgBox "X =" & XSpacing & ", Y =" & YSpacing, Title:="SetSnapSpacing Example"
    
    ' Change the Snap spacing
    XSpacing = XSpacing * 0.5
    YSpacing = YSpacing * 0.5
    viewportObj.SetSnapSpacing XSpacing, YSpacing
    ThisDrawing.ActiveViewport = viewportObj
    MsgBox "X =" & XSpacing & ", Y =" & YSpacing, Title:="SetSnapSpacing Example"
   
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_SetSnapSpacing()
    ;; This example finds the current Snap spacing, and changes that spacing.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))

    ;; Find the current active viewport
    (setq viewportObj (vla-get-ActiveViewport doc))
    
    ;; Turn on Snap spacing and reset the viewport.
    (vla-put-SnapOn viewportObj :vlax-true)
    (vla-put-ActiveViewport doc viewportObj)
    
    ;; Find the current Snap spacing
    (vla-GetSnapSpacing viewportObj 'XSpacing 'YSpacing)
    (alert (strcat "X =" (rtos XSpacing 2) ", Y =" (rtos YSpacing 2)))
    
    ;; Change the Snap spacing
    (vla-SetSnapSpacing viewportObj (* XSpacing 0.5) (* YSpacing 0.5))
    (vla-put-ActiveViewport doc viewportObj)

    (vla-GetSnapSpacing viewportObj 'XSpacing 'YSpacing)
    (alert (strcat "X =" (rtos XSpacing 2) ", Y =" (rtos YSpacing 2)))
)