dan,
from you dwg it looked like you needed this, i could be off base.
Pick the corner of the glass, then pick the diagonal corner to
establish the window size.
Enter the mull width (3.875). This could be hard coded.
NO error checking in this routine, thats up to you.
(defun C:Mull (/ p1 p2 x1 x2 y1 y2 Pa Pb wWidth MullHt PLL
paneCnt mullWidth paneWidth mullPt Up left
usercmd useros)
(setq usercmd (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(setq useros (getvar "osmode"))
(setvar "osmode" 175)
(Setq Up (* pi 0.5)
left pi
)
(setq p1 (getpoint "pick glass corner")
p2 (getpoint p1 "pick diaganal glass corner")
x1 (car p1)
x2 (car p2)
y1 (cadr p1)
y2 (cadr p2)
Pa (list x1 y2)
Pb (list x2 y1)
wWidth (distance p1 pb) ; window width
MullHt (distance p1 pa) ; window Hight
PLL (list (if (< x1 x2)x1 x2) ; PLL point Lower Left corner
(if (< y1 y2) y1 y2)
)
)
(initget 7)
(setq paneCnt (getint "\nEnter number of panes. "))
(initget 7)
(setq mullWidth (getreal "\nEnter Mull Width: "))
(setq paneWidth (/ (- wWidth (* (1- paneCnt) mullWidth)) paneCnt)
mullPt PLL
)
(setvar "osmode" 0)
(command "undo" "begin")
;; draw the Mulls
(repeat (1- paneCnt)
(setq MullPt (polar mullPt 0 paneWidth))
(command "_line" mullPt (polar mullPt up mullHt) "")
(command "_line"
(polar mullPt 0 0.75)
(polar (polar mullPt 0 0.75) up mullHt)
""
)
(setq mullPt (polar mullPt 0 mullWidth))
(command "_line" mullPt (polar mullPt up mullHt) "")
(command "_line"
(polar mullPt left 0.75)
(polar (polar mullPt left 0.75) up mullHt)
""
)
) ; end repeat
;;;========== Exit Sequence ============
(command "undo" "end")
(setvar "osmode" useros)
(setvar "CMDECHO" usercmd)
;;; Exit quietly
(princ)
) ; end defun
(princ)
(prompt "Mullion routine loaded. Enter mull to run")