@jostroopers wrote:
Is there a lisp routine that can do this?
In simplest terms, try this. It assumes you start with a Polyline that has the desired non-continuous linetype and linetype scale.
(defun C:PPWE ; = Polyline Path Width with Edges
(/ path pathobj wid)
(setq
path (car (entsel "\nPolyline path object to give width and edges: "))
pathobj (vlax-ename->vla-object path)
wid (getdist "\nWidth: ")
); setq
(vla-put-constantwidth pathobj 0.0)
(vla-offset pathobj (/ wid 2))
(vla-put-linetype (vlax-ename->vla-object (entlast)) "Continuous")
(vla-offset pathobj (- (/ wid 2)))
(vla-put-linetype (vlax-ename->vla-object (entlast)) "Continuous")
(vla-put-constantwidth pathobj wid)
(princ)
); defun
This is what it does with something of HIDDEN linetype:

For your original drawing's configuration, you will need a linetype with dashes and gaps of equal length. There's one called EVENDASH that I'm not sure comes with plain AutoCAD but I think may have come with Architectural Desktop years ago -- if you don't have that, it's easy to make one.
It can be given all the usual enhancements -- verify that you selected a Polyline, and that it's not currently of Continuous linetype, remember your Width value to offer as default, *error* handling, Undo begin/end wrapping, etc.
Kent Cooper, AIA