「Vla-put-extline2point」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-extline2point ''vla-object'' ''point'') ; 機能 : 寸法補助線 2 の起点を指定する。 ; 引数 :* vla-object … DimAlign...」)
 
編集の要約なし
5行目: 5行目:


; 機能
; 機能
: 寸法補助線 2 の起点を指定する。
: 第2寸法補助線の起点を指定する。




; 引数
; 引数
:* vla-object … DimAligned、DimArcLength の VLAオブジェクト
:* vla-object … DimAligned、DimArcLength の VLAオブジェクト
:* point … 最初の寸法補助線の原点を表す 3D 座標
:* point … 第2寸法補助線の原点を表す 3D 座標





2015年11月15日 (日) 19:45時点における版

構文
(vla-put-extline2point vla-object point)


機能
第2寸法補助線の起点を指定する。


引数
  • vla-object … DimAligned、DimArcLength の VLAオブジェクト
  • point … 第2寸法補助線の原点を表す 3D 座標


戻り値
nil


サンプル
(vl-load-com)
(defun c:Example_ExtLine1-2Point()
    ;; 平行寸法を作成し、その寸法の ExtLine1Point と ExtLine2Point の
    ;; プロパティを変更するサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; 寸法の設定
    (setq point1 (vlax-3d-point 5 5 0)
          point2 (vlax-3d-point 10 5 0)
          location (vlax-3d-point 5 7 0))
    
    ;; 平行寸法オブジェクトをモデル空間に作成
    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq dimObj (vla-AddDimAligned modelSpace point1 point2 location))
    (vla-ZoomAll acadObj)

    (setq extLine1Point (vlax-safearray->list (vlax-variant-value (vla-get-ExtLine1Point dimObj))))
    (setq extLine2Point (vlax-safearray->list (vlax-variant-value (vla-get-ExtLine2Point dimObj))))
    (alert (strcat "現在の ExtLine1Point 値 " 
                   (rtos (nth 0 extLine1Point) 2) ", "
                   (rtos (nth 1 extLine1Point) 2) ", "
                   (rtos (nth 2 extLine1Point) 2)))
    (alert (strcat "現在の ExtLine2Point 値 " 
                   (rtos (nth 0 extLine2Point) 2) ", "
                   (rtos (nth 1 extLine2Point) 2) ", "
                   (rtos (nth 2 extLine2Point) 2)))

    ;; 最初の寸法補助線の端点を変更
    (setq point1 (vlax-3d-point 2 5 0))
    (setq point2 (vlax-3d-point 12 5 0))
    (vla-put-ExtLine1Point dimObj point1)
    (vla-put-ExtLine2Point dimObj point2)
    (vla-Update dimObj)
    
    ;; 最初の寸法補助線の端点を返す
    ;; 戻り値はバリアントであることに注意
    (setq retPnt1 (vlax-safearray->list (vlax-variant-value (vla-get-ExtLine1Point dimObj))))
    (setq retPnt2 (vlax-safearray->list (vlax-variant-value (vla-get-ExtLine2Point dimObj))))
    (alert (strcat "新しい ExtLine1Point 値  " 
                   (rtos (nth 0 retPnt1) 2) ", "
                   (rtos (nth 1 retPnt1) 2) ", "
                   (rtos (nth 2 retPnt1) 2)))
    (alert (strcat "新しい ExtLine2Point 値  " 
                   (rtos (nth 0 retPnt2) 2) ", "
                   (rtos (nth 1 retPnt2) 2) ", "
                   (rtos (nth 2 retPnt2) 2)))
)


関連事項