図面のアクティブな線種を指定します。
サポートされているプラットフォーム: Windows のみ
アクティブにする線種は、既に図面内に存在していなければなりません。新しい線種を作成するには、Add メソッドを使用します。
VBA:
Sub Example_ActiveLinetype() ' This example finds the current linetype. It then sets ' the new linetype to be the first entry in the linetype ' collection that is not equal to the current linetype. ' Finally, it resets the active linetype to the original ' setting. Dim currLineType As AcadLineType Dim newLineType As AcadLineType ' Find the current LineType of the active document Set currLineType = ThisDrawing.ActiveLinetype MsgBox "The current linetype is " & currLineType.name, vbInformation, "ActiveLinetype Example" ' Set the current Linetype to anything else in the collection Dim entry Dim found As Boolean For Each entry In ThisDrawing.Linetypes If StrComp(entry.name, currLineType.name, 1) <> 0 Then Set newLineType = entry found = True Exit For End If Next If found Then ThisDrawing.ActiveLinetype = newLineType MsgBox "The new linetype is " & newLineType.name, vbInformation, "ActiveLinetype Example" ' Reset the linetype to the previous setting ThisDrawing.ActiveLinetype = currLineType MsgBox "The active linetype is reset to " & currLineType.name, vbInformation, "ActiveLinetype Example" End If End Sub
Visual LISP:
(vl-load-com) (defun c:Example_ActiveLinetype() ;; This example finds the current linetype. It then sets ;; the new linetype to be the first entry in the linetype ;; collection that is not equal to the current linetype. ;; Finally, it resets the active linetype to the original ;; setting. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Find the current LineType of the active document (setq currLineType (vla-get-ActiveLinetype doc)) (alert (strcat "The current linetype is " (vla-get-Name currLineType))) ;; Set the current Linetype to anything else in the collection (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 "The new linetype is " (vla-get-Name newLineType))) ;; Restore the previous linetype (vla-put-ActiveLinetype doc currLineType) (alert (strcat "The active linetype is restored to " (vla-get-Name currLineType))) ) ) )