My recommendation:
Assign this to a corresponding service provider.
If you do not want to hire anyone, then I really got it wrong.
_
And if you do not want to do it yourself, although that would be perfect for a beginner because you only have to calculate points!
It would be a really cool dynamic block, without testing this in detail I could imagine this, but i am sure it is harder then using Lisp/Script/Macro and command PLINE
But sorry, i am here to help (help to learn and not help to do jobs for others),
so you have to wait for another one.
; This is not very elegant, but simple to read/understand this way (i hope so) -Beginner style.
; It works for the first 7 line segments (= 8 Points) and i used only S for SL SM SR, C for CL CM CR,
but the math is the same - if you really need three S and three different C, it's near the same and not a problem.
(defun c:TESTX (); (S C X) *1
(setq S nil X nil X nil) ; *1
(setvar "OSNAPCOORD" 1)
(and
(setq S (getpoint "\nS-length Startpoint: "))
(setq S (getdist S "\nS-length Endpoint: "))
(setq C (getpoint "\nC-length Startpoint: "))
(setq C (getdist C "\nC-length Endpoint: "))
(setq X (getreal "\nX-Value: "))
(setq offset (getreal "\nOffset-Value: "))
; shape1
(command "_.PLINE"
; Bottom line
'(0 0) ;_point1
(list c 0);_point2
(list c offset);3
(list (+ c s) offset);4
(list (+ c s) 0);5
(list (+ c s c) 0);6
(list (+ c s c) offset);7
(list (+ c s c s) offset);8
""
);_command
);_and
);_defun
