Vla-put-altunitsprecision
- 構文
 - (vla-put-altunitsprecision 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。
 - 注 : このプロパティは、指定された寸法でシステム変数 DIMALTD[併記寸法精度]の値を変更する。
 
- サンプル
 
(vl-load-com)
(defun c:Example_AltUnitsPrecision()
    ;; 寸法を作成して、精度を変更するサンプル
    (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-ZoomAll acadObj)
    ;; 既定の精度を保持
    (setq oldPrecision (vla-get-AltUnitsPrecision dimObj))
    
    ;; 新しい精度を入力
    (if (= (setq newPrecision (getint "\n変換単位の新しい精度を入力 (0-8): ")) nil) (setq newPrecision oldPrecision))
    
    (cond
      ((= newPrecision 0)(setq newPrecision acDimPrecisionZero))
      ((= newPrecision 1)(setq newPrecision acDimPrecisionOne))
      ((= newPrecision 2)(setq newPrecision acDimPrecisionTwo))
      ((= newPrecision 3)(setq newPrecision acDimPrecisionThree))
      ((= newPrecision 4)(setq newPrecision acDimPrecisionFour))
      ((= newPrecision 5)(setq newPrecision acDimPrecisionFive))
      ((= newPrecision 6)(setq newPrecision acDimPrecisionSix))
      ((= newPrecision 7)(setq newPrecision acDimPrecisionSeven))
      ((= newPrecision 8)(setq newPrecision acDimPrecisionEight))
      ((progn (alert "The alternate precision has not been changed.")(setq newPrecision oldPrecision)))
    )
    
    (vla-put-AltUnitsPrecision dimObj newPrecision)   ;; 結果をコミットする
    
    (vla-Regen doc acAllViewports)
    
    ;; 戻す
    (setq newPrecision (vla-get-AltUnitsPrecision dimObj))
    (alert (strcat "変換単位の精度を次に戻しました: " (itoa newPrecision) ))
)
関連事項