「Vla-loadshapefile」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-loadshapefile ''vla-object'' ''Name'') ; 機能 : シェイプ ファイル(.shx)をロードする。 ; 引数 :* vla-object … VLAオ...」)
 
編集の要約なし
 
9行目: 9行目:
; 引数
; 引数
:* vla-object … VLAオブジェクト(Document)
:* vla-object … VLAオブジェクト(Document)
:* Name …  ロードするシェイプファイル名。
:* Name …  ロードするシェイプファイルのパス。





2015年2月1日 (日) 21:08時点における最新版

構文
(vla-loadshapefile vla-object Name)


機能
シェイプ ファイル(.shx)をロードする。
引数
  • vla-object … VLAオブジェクト(Document)
  • Name … ロードするシェイプファイルのパス。


戻り値
新しく作成される Shape オブジェクト。


  • MEMO:このメソッドを使用すると、シェイプ ファイル内のすべてのシェイプを現在の図面で利用できるようになる。シェイプを図面に追加するには、vla-addshape メソッドを使用する。
最初に必要となった時点で、シェイプ ファイルをロードしておきく。それ以後は CAD がシェイプ ファイルをロードする。シェイプ ファイルを使用する図面を編集するたびに、シェイプ ファイルが必要になる。


サンプル
(vl-load-com)
(defun c:Example_AddShape()
    ;; typeshp.shx ファイルから BAT のシェイプを作成するサンプル
    (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  
    ;; シェイプファイルからシェイプをロードして作成。
    ;; ltypeshp.shx が入ってないとダメ。
    (setq shapeFile ".\\ltypeshp.shx")

    (if (/= (findfile shapeFile) nil)
        (progn
            (vla-LoadShapeFile doc (findfile shapeFile))
            (setq insertionPoint (vlax-3d-point 2 2 0)
                  shapeName "BAT"
                  scalefactor 1
                  rotation 0)      ;; Radians
    
            ;; モデルに BATのシェイプを作成。
            (setq modelSpace (vla-get-ModelSpace doc))
            (setq shapeObj (vla-AddShape modelSpace shapeName insertionPoint scalefactor rotation))
        )
        (alert "シェイプファイルが無いっす")
    )
)

関連事項