Vla-get-startpoint

提供:GizmoLabs - だいたい CAD LISP なサイト
2019年12月27日 (金) 12:15時点におけるGizmon (トーク | 投稿記録)による版
構文
(vla-get-endpoint vla-object )


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


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


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


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


サンプル

<syntaxhighlight lang="lisp" line> (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)))

)

</syntaxhighlight>


関連事項