Here's a small lisp to do this:
(defun segmentlabellayer (layname / AECOBJ C3DDOC
C3DPREF C3DSETS DOCSETS LAYPROP
LAYSETS
)
(vl-load-com)
(defun getaeccApp (module / *acad* C3D)
;; module must be "Land", "Pipe", "Roadway", or "Survey"
(if (and (setq *acad* (vlax-get-acad-object))
(setq C3D (strcat "HKEY_LOCAL_MACHINE\\"
(if vlax-user-product-key
(vlax-user-product-key)
(vlax-product-key)
)
)
C3D (vl-registry-read C3D "Release")
C3D (substr
C3D
1
(vl-string-search
"."
C3D
(+ (vl-string-search "." C3D) 1)
)
)
C3D (vla-getinterfaceobject
(vlax-get-acad-object)
(strcat "AeccXUi"
module
".Aecc"
(if (= (strcase module) "LAND")
""
module
)
"Application."
C3D
)
)
)
)
C3D
)
)
(setq aecobj (getaeccapp "Land"))
(setq C3Ddoc (vlax-get aecobj 'activedocument))
(setq C3Dpref (vlax-get-property C3Ddoc 'Preferences))
(setq C3Dsets (vlax-get-property C3Ddoc 'Settings))
(setq docSets (vlax-get-property C3Dsets 'Drawingsettings))
(setq laysets (vlax-get-property docsets 'ObjectLayerSettings))
(setq layprop (vlax-get-property laysets 'GeneralSegmentLabelLayer))
(vlax-put-property layprop 'layer layname)
(vlax-release-object aecobj)
(princ)
)
Usage: (segmentlabellayer "C-ANNO")