「Vla-get-startpoint」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
 
20行目: 20行目:


; サンプル
; サンプル
<syntaxhighlight lang="lisp" line>
<pre class="brush:autolisp;">
(vl-load-com)
(vl-load-com)
(defun c:Example_EndPoint()
(defun c:Example_EndPoint()
51行目: 51行目:
)
)


</syntaxhighlight>
</pre>


-----
-----

2021年5月29日 (土) 11:10時点における最新版

構文
(vla-get-endpoint vla-object )


機能
円弧、線、楕円の開始を取得する。


引数
  • vla-object … VLAオブジェクト(Arc、Ellipse、Line)


戻り値
オブジェクトの端点を示す 3D 座標


  • 注: 円弧や楕円の始点を変更することはできない。円弧を編集するには、EndAngle および Radius プロパティを使用する。楕円を編集するには、EndAngleMajorAxis、および RadiusRatio プロパティを使用する。


サンプル
(vl-load-com)
(defun c:Example_EndPoint()
    ;; 楕円を作成して開始点と終了点を変更するサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; 楕円の定義
    (setq center (vlax-3d-point 5 5 0)
          majAxis (vlax-3d-point 10 20 0)
          radRatio 0.3)

    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq ellObj (vla-AddEllipse modelSpace center majAxis radRatio))
    
    ;; 開始角度を 45度終了角度を 270 度に設定
    (vla-put-StartAngle ellObj (* 45 (/ 3.14 180)))
    (vla-put-EndAngle ellObj (* 270 (/ 3.14 180)))
    (vla-ZoomAll acadObj)
    
    ;; 開始点と終了点を取得
    (setq startPoint (vlax-safearray->list (vlax-variant-value (vla-get-StartPoint ellObj))))
    (setq endPoint (vlax-safearray->list (vlax-variant-value (vla-get-EndPoint ellObj))))
    (alert (strcat "楕円の開始点は " (rtos (nth 0 startPoint) 2) ", "
                                     (rtos (nth 1 startPoint) 2) ", "
                                     (rtos (nth 2 startPoint) 2) " 、終了点は "
                                     (rtos (nth 0 endPoint) 2) ", "
                                     (rtos (nth 1 endPoint) 2) ", "
                                     (rtos (nth 2 endPoint) 2)))
)


関連事項