I have a statement in a lisp routine that is supposed to scale items based on user input scale factors. The different scale factors are 1, 4, 8, 12, 16, 24, 32, 48 and 96. The statement works when scaling up (i.e. from 4 to 32, etc...). But when I try to scale down (i.e. 32 to 4, etc...) it still scales the objects up instead of down. Could someone look at this lisp to see what is wrong?
Thanks,
(defun c:scd ( / xfrom xto xinsert xdetail xretrieve sf) (setq xdetail (ssget)) (setq xfrom (getint "\nCurrent scale factor: ")) (setq xto (getint "\nNew scale factor: ")) (if (> xfrom xto)(setq sf (/ xfrom xto))(setq sf (/ xto xfrom))) (setq xretrieve (getpoint "\nScale from box : ")) (setq xinsert (getpoint "\nScale to box : ")) (command "scale" xdetail "" xretrieve sf) (command "move" xdetail "" xretrieve xinsert)
)
Thanks,
(defun c:scd ( / xfrom xto xinsert xdetail xretrieve sf) (setq xdetail (ssget)) (setq xfrom (getint "\nCurrent scale factor: ")) (setq xto (getint "\nNew scale factor: ")) (if (> xfrom xto)(setq sf (/ xfrom xto))(setq sf (/ xto xfrom))) (setq xretrieve (getpoint "\nScale from box : ")) (setq xinsert (getpoint "\nScale to box : ")) (command "scale" xdetail "" xretrieve sf) (command "move" xdetail "" xretrieve xinsert)
)