Vla-put-area

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年1月30日 (土) 23:04時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-area ''vla-object'' ''area'' ) ; 機能 : 円弧、円、楕円、ハッチング、ライトウェイト ポリライン、ポリラ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-put-area vla-object area )


機能
円弧、円、楕円、ハッチング、ライトウェイト ポリライン、ポリライン、リージョン、平面上で閉じたスプラインの囲まれた面積を取得する。


引数
  • vla-object … VLAオブジェクト(Arc、Circle、Ellipse、Hatch、LWPolyline、Polyline、Region、Spline)
  • area … 平方作図単位によるオブジェクトの面積


戻り値
nil


  • ハッチング オブジェクト : 塗り潰しのために結合された領域の総面積。
  • 幅のあるポリライン : 面積は幅の中心によって定義される。
  • リージョン : リージョン内のすべてのオブジェクトの結合された領域の面積と等しくなる。
  • 開いたオブジェクト(円弧、スプライン曲線、開いたポリライン) : 始点と終点が直線で接続されているものとして面積が計算される。


サンプル
(vl-load-com)
(defun c:Example_Area()
    ;; ポリラインオブジェクトを作成し、そのポリラインの面積を
    ;; エリアプロパティを使用して表示するサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))  

    ;; ポリラインのポイントを確立
    (setq points (vlax-make-safearray vlax-vbDouble '(0 . 5)))
    (vlax-safearray-fill points 
                         '(3 7
                           9 2
                           3 5
                          )
    )
    
    ;; ポリラインを作成
    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq plineObj (vla-AddLightWeightPolyline modelSpace points))
    
    ;; ポリラインを閉じて表示
    (vla-put-Closed plineObj :vlax-true)
    (vla-Update plineObj)
    (vla-ZoomAll acadObj)
    
    ;; ポリラインの面積
    (setq plineArea (vla-get-Area plineObj))
    
    (alert (strcat "ポリラインの面積は : " (rtos plineArea 2)))
)

関連事項