Yes, you're right Tharwat... Your mapcar is looking in first sequence first items from both lists, and then second ones... Thanks, you corrected me, I overlooked...
([color=BLUE]defun[/color] c:test ( [color=BLUE]/[/color] a b i m n s ) ([color=BLUE]if[/color] ([color=BLUE]setq[/color] s ([color=BLUE]ssget[/color] [color=MAROON]"_:L"[/color] '((-4 . [color=MAROON]""[/color])))) ([color=BLUE]progn[/color] ([color=BLUE]repeat[/color] ([color=BLUE]setq[/color] i ([color=BLUE]sslength[/color] s)) ([color=BLUE]vla-getboundingbox[/color] ([color=BLUE]vlax-ename->vla-object[/color] ([color=BLUE]ssname[/color] s ([color=BLUE]setq[/color] i ([color=BLUE]1-[/color] i)))) 'a 'b) ([color=BLUE]setq[/color] m ([color=BLUE]cond[/color] (([color=BLUE]mapcar[/color] '[color=BLUE]min[/color] m ([color=BLUE]setq[/color] a ([color=BLUE]vlax-safearray->list[/color] a)))) ( a )) n ([color=BLUE]cond[/color] (([color=BLUE]mapcar[/color] '[color=BLUE]max[/color] n ([color=BLUE]setq[/color] b ([color=BLUE]vlax-safearray->list[/color] b)))) ( b )) ) ) ([color=BLUE]command[/color] [color=MAROON]"_.move"[/color] s [color=MAROON]""[/color] [color=MAROON]"_non"[/color] ([color=BLUE]mapcar[/color] '([color=BLUE]lambda[/color] ( a b ) ([color=BLUE]/[/color] ([color=BLUE]+[/color] a b) 2.0)) m n) [color=MAROON]"_non"[/color] '(10 10 0)) ) ) ([color=BLUE]princ[/color]))([color=BLUE]vl-load-com[/color]) ([color=BLUE]princ[/color])
It is good to know that mapcar with either of min and max functions work on LISTS and return the predicate list if matched the criteria of course .
Thanks for the variation .