「Vla-get-alttoleranceprecision」の版間の差分
 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-get-alttoleranceprecision ''vla-object'' )   ; 機能 : 変換寸法値の許容差の精度を取得する。   ; 引数 :* vla-object … V...」)  | 
				細編集の要約なし  | 
				||
| 14行目: | 14行目: | ||
; 戻り値  | ; 戻り値  | ||
: acDimPrecision 列挙型  | : 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  | |||
2016年2月8日 (月) 13:17時点における最新版
- 構文
 - (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"))
        )
    )
)
関連事項