Vla-get-alttoleranceprecision

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年2月8日 (月) 13:17時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-get-alttoleranceprecision vla-object )


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


引数
  • vla-object … VLAオブジェクト(DimAligned、DimArcLength、DimDiametric、DimOrdinate、DimRadial、DimRadialLarge、DimRotated)


戻り値
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


  • 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"))
        )
    )
)

関連事項