"Plines in same direction", Yes Lee-Mac has a method also.
Note the use of Pedit as Bricscad does not have a "Reverse" command, as at V25.
; Checking if pline is CW or CCW and set to CCW
; Orignal idea by Kent Cooper, 1 August 2018 Offsetinorout.lsp
; By Alan H July 2020
(defun AH:chkcwccw (ent / objnew area1 area2 obj minpoint maxpoint)
(setq obj (vlax-ename->vla-object ent))
(vla-GetBoundingBox obj 'minpoint 'maxpoint)
(setq pointmin (vlax-safearray->list minpoint))
(setq pointmax (vlax-safearray->list maxpoint))
(setq dist (/ (distance pointmin pointmax) 20.0))
(vla-offset obj dist)
(setq objnew (vlax-ename->vla-object (entlast)))
(setq area1 (vlax-get objnew 'Area))
(vla-delete objnew)
(vla-offset obj (- dist))
(setq objnew (vlax-ename->vla-object (entlast)))
(setq area2 (vlax-get objnew 'Area))
(vla-delete objnew)
(if (> area1 area2)
(command "Pedit" ent "R" "")
)
(princ)
)
(defun c:CWCCW ( / *error* x ent oldsnap doc ss)
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(vla-startundomark doc)
(setq oldsnap (getvar 'osmode))
(setvar 'osmode 0)
(prompt (strcat "\nSelect Plines to check"))
(if (setq ss (ssget '((0 . "*POLYLINE"))))
(progn
(repeat (setq x (sslength ss))
(setq ent (ssname ss (setq x (- x 1))))
(AH:chkcwccw ent)
)
)
)
(vla-endundomark doc)
(alert (strcat (rtos y 2 0) " Plines reversed"))
(setvar 'osmode oldsnap)
(princ)
)
(vl-load-com)
(prompt "\nType CWCCW to set plines to CCW")
(c:CWCCW)