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

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-get-endpoint ''vla-object'' ) ; 機能 : 円弧、線、楕円の開始を取得する。 ; 引数 :* vla-object … VLAオブジェク...」)
 
編集の要約なし
20行目: 20行目:


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


</pre>
</syntaxhighlight>


-----
-----

2019年12月27日 (金) 12:15時点における版

構文
(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>


関連事項