Here is a way to directly change the linetype of extension lines.
P=
Code:
;___________________________________________________________________________________________________________
;
; Written By: Peter Jamtgaard Copyright 2015
; Extension Line Linetype Function (Change linetype of extension lines by selecting the extension line)
;___________________________________________________________________________________________________________;
(defun C:ExtLt (/ entSelection
lstEntity
lstPoint0
lstPoint1
lstPoint2
lstSelection
objSelection
strExtensionLine
strLineType)
(if (and
(setq lstSelection (entsel "\nSelect Extension Line in Dimension: "))
(setq strLinetype "Center")
(tblObjName "Ltype" strLineType)
(setq lstPoint0 (cadr lstSelection))
(setq entSelection (car lstSelection))
(setq lstEntity (entget entSelection))
(setq objSelection (vlax-ename->vla-object entSelection))
(setq lstPoint1 (cdr (assoc 10 lstEntity)))
(setq lstPoint2 (cdr (assoc 11 lstEntity)))
(if (< (distance lstPoint0 lstPoint2)
(distance lstpoint0 lstPoint1))
(setq strExtensionLine "ExtLine1Linetype")
(setq strExtensionLine "ExtLine2Linetype")
)
)
(DimensionExtensionLineToggle objSelection strExtensionLine strLineType)
)
)
;___________________________________________________________________________________________________________
;
; Toggle to toggle the extension line linetype
;___________________________________________________________________________________________________________;
(defun DimensionExtensionLineToggle (objSelection strExtensionLine strLineType)
(if (= (vlax-get objSelection strExtensionLine) "ByBlock")
(errortrap '(vlax-put objSelection strExtensionLine strLineType))
(errortrap '(vlax-put objSelection strExtensionLine "ByBlock"))
)
)
;___________________________________________________________________________________________________________
;
; Errortrap Function
;___________________________________________________________________________________________________________;
(defun ErrorTrap (symFunction / objError result)
(if (vl-catch-all-error-p
(setq objError (vl-catch-all-apply
'(lambda (X)(set X (eval symFunction)))
(list 'result))))
nil
(if result result 'T)
)
)
(vl-load-com)