「Vla-put-toleranceprecision」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-toleranceprecision ''vla-object'' ''precision'') ; 機能 : 基本寸法の寸法許容差値の精度を指定する。 ; 引数 :*...」) |
細編集の要約なし |
||
93行目: | 93行目: | ||
* [[vlax-get-acad-object]] | * [[vlax-get-acad-object]] | ||
* [[vla-get-activedocument]] | * [[vla-get-activedocument]] | ||
* [[]] | * [[vla-put-toleranceprecision]] | ||
* [[]] | * [[vla-get-toleranceprecision]] | ||
[[Category:AutoLISP]] | [[Category:AutoLISP]] |
2016年1月12日 (火) 22:50時点における最新版
- 構文
- (vla-put-toleranceprecision vla-object precision)
- 機能
- 基本寸法の寸法許容差値の精度を指定する。
- 引数
-
- vla-object … VLAオブジェクト(Dim3PointAngular、DimAligned、DimAngular、DimArcLength、DimDiametric、Dimension、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 : このプロパティの初期値は acDimPrecisionFour で、ToleranceDisplay プロパティが acTolNone 以外の値に設定されている場合にのみ使用できる。
注: このプロパティは、指定された寸法でシステム変数 DIMTDEC[寸法許容差精度]の値を変更する。
- サンプル
(vl-load-com) (defun c:Example_TolerancePrecision() ;; 寸法が作成して、寸法公差の精度を変更するサンプル (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-ToleranceDisplay dimObj acTolSymmetrical) (vla-put-ToleranceLowerLimit dimObj -0.0001) (vla-put-ToleranceUpperLimit dimObj 0.005) (vla-ZoomAll acadObj) ;; 元の値を保持 (setq oldTolerance (vla-get-TolerancePrecision 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-TolerancePrecision dimObj newTolerance) ;; 公差精度の変更にコミットする (vla-Regen doc acAllViewports) ;; Read back and display the dimension tolerance precision (alert (strcat "公差精度を次の値に戻します " (itoa (vla-get-TolerancePrecision dimObj)) " 少数桁")) ) ) )
関連事項