Vla-put-activelinetype

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(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)))
        )
    )
)