Vla-offset
- 構文
- (vla-offset vla-object Distance)
- 機能
- 既存のオブジェクトから、指定されたオフセット間隔で新しくオブジェクトを作成する。
- 引数
-
- vla-object … VLAオブジェクト(Arc、Circle、Ellipse、Line、LWPolyline、Polyline、Spline、XLine)
- Distance … オブジェクトをオフセットする距離。ゼロ以外の正数または負数。値が負の場合、「より小さい」曲線へのオフセットとして解釈される(つまり、円弧の場合、元の曲線の半径よりも Distance 分だけ小さい半径にオフセットされる)。「より小さい」図形として解釈できない場合は、WCS の X、Y、Z 座標値の小さい方向にオフセットされる。
- 戻り値
- nil
- 注意 : 曲線のオブジェクトにこの操作を実行すると、単一の新しい曲線が作成される(元の曲線とは種類が異なる場合もある)。たとえば、楕円をオフセットするとスプラインになる。これは、実行結果が楕円の方程式に適合するため。場合によっては、必要なオフセットを得るために、いくつかの曲線にする必要がある。
- サンプル
(vl-load-com) (defun c:Example_Offset() ;; ポリラインを作成してオフセットするサンプル (setq doc (vla-get-ActiveDocument (vlax-get-acad-object))) ;; ポリライン作成 (setq points (vlax-make-safearray vlax-vbDouble '(0 . 11))) (vlax-safearray-fill points '(1 1 1 2 2 2 3 2 4 4 4 1) ) (setq modelSpace (vla-get-ModelSpace doc)) (setq plineObj (vla-AddLightWeightPolyline modelSpace points)) (vla-put-Closed plineObj :vlax-true) (vla-ZoomAll acadObj) (alert "polyline を 0.25 オフセット.") ;; オフセット (setq offsetObj (vla-Offset plineObj 0.25)) (vla-ZoomAll acadObj) (alert "オフセット完了。") )
関連事項