Vla-put-alttoleranceprecision

提供: GizmoLabs
移動先: 案内検索
構文
(vla-put-alttoleranceprecision vla-object Precision )


機能
変換寸法値の許容差の精度を指定する。


引数
  • vla-object … VLAオブジェクト(DimAligned、DimArcLength、DimDiametric、DimOrdinate、DimRadial、DimRadialLarge、DimRotated)
  • Precision … acDimPrecision 列挙型
   acDimPrecisionZero: 0.
   acDimPrecisionOne: 0.0
   acDimPrecisionTwo: 0.00
   acDimPrecisionThree: 0.000
   acDimPrecisionFour: 0.0000
   acDimPrecisionFive: 0.00000
   acDimPrecisionSix: 0.000000
   acDimPrecisionSeven: 0.0000000
   acDimPrecisionEight: 0.00000000


戻り値
nil


  • MEMO : このプロパティの初期値は acDimPrecisionTwo 。
  • このプロパティは ToleranceDisplay プロパティが acTolNone 以外の値に設定されている場合にのみ使用できる。
  • 注 : このプロパティは、指定された寸法でシステム変数 DIMTDEC[寸法許容差精度]の値を変更する。


サンプル
(vl-load-com)
(defun c:Example_AltTolerancePrecision()
    ;; 寸法を作成して変換寸法値の許容差の精度を変更するサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; 寸法の定義
    (setq point1 (vlax-3d-point 0 5 0)
          point2 (vlax-3d-point 5.12345678 5 0)
          location (vlax-3d-point 5 7 0))
    
    ;; 寸法を作成
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq dimObj (vla-AddDimAligned modelSpace point1 point2 location))
    
    ;; 変換寸法値を有効
    (vla-put-AltUnits dimObj :vlax-true)
    (vla-put-ToleranceDisplay dimObj acTolLimits)
    
    (vla-ZoomAll acadObj)

    ;; 変換寸法値の許容差の精度を保持
    (setq oldTolerance (vla-get-AltTolerancePrecision dimObj))
    
    ;; 変更
    (setq newTolerance (vla-GetInteger (vla-get-Utility doc) (strcat "\n新しい変換寸法値の許容差の精度を入力  (0 to 8) <" (itoa oldTolerance) ">: ")))

    (if (= newTolerance nil) (setq newTolerance oldTolerance))

    (setq newTolerance (cond
                           ((= newTolerance 0) acDimPrecisionZero)
                           ((= newTolerance 1) acDimPrecisionOne)
                           ((= newTolerance 2) acDimPrecisionTwo)
                           ((= newTolerance 3) acDimPrecisionThree)
                           ((= newTolerance 4) acDimPrecisionFour)
                           ((= newTolerance 5) acDimPrecisionFive)
                           ((= newTolerance 6) acDimPrecisionSix)
                           ((= newTolerance 7) acDimPrecisionSeven)
                           ((= newTolerance 8) acDimPrecisionEight)
                           (progn (setq newTolerance nil) (alert "それは無理。"))
                       ))

    (if (/= newTolerance nil)
        (progn
            (vla-put-AltTolerancePrecision dimObj newTolerance)   ;; コミット
	    
            (vla-Regen doc acAllViewports)
	    
            ;; 戻す
            (alert (strcat "変換寸法値の許容差の精度を次に戻しました " (itoa (vla-get-AltTolerancePrecision dimObj)) " decimal places"))
        )
    )
)

関連事項