Vla-put-activelinetype

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年11月4日 (水) 13:57時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-activelinetype ''vla-object'' ''linetype'') ; 機能 : 現在の線種のVLAオブジェクトを返す。 ; 引数 :* vla-object …...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-put-activelinetype vla-object linetype)


機能
現在の線種のVLAオブジェクトを返す。


引数
  • vla-object … CAD アプリケーションの VLAオブジェクト
  • linetype … 線種のVLAオブジェクト


戻り値
nil


サンプル
 ; 現在の線種を取得する
(setq ltype1 (getvar "CELTYPE"))

(vl-load-com)
(defun c:Example_ActiveLinetype()
    ;; 現在の線種を検索して新しい線種に設定後に元に戻すサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; 線種を取得
    (setq currLineType (vla-get-ActiveLinetype doc))
    (alert (strcat "現在の線種は " (vla-get-Name currLineType)))
    
    ;; 現在の線種を変更
    (setq newLineType nil)
    (setq found :vlax-false)
    (vlax-for each-linetype (vla-get-Linetypes doc)
        (if (and (/= (vla-get-Name each-linetype) (vla-get-Name currLineType)) (/= found :vlax-true))
            (progn
                (setq newLineType each-linetype)
                (setq found :vlax-true)
            )
        )
    )
  
    (if (= found :vlax-true)
        (progn
            (vla-put-ActiveLinetype doc newLineType)
            (alert (strcat "新しい線種は " (vla-get-Name newLineType)))
            ;; 戻す
            (vla-put-ActiveLinetype doc currLineType)
            (alert (strcat "線種を戻します " (vla-get-Name currLineType)))
        )
    )
)