0 Members and 1 Guest are viewing this topic.
Yes, Evgeniy...Code - Auto/Visual Lisp: [Select](mapcar (function (lambda (a b c d) (/ (+ a d c a b c) 6))) p1 p2 p3 p4) is the same asCode - Auto/Visual Lisp: [Select](mapcar (function (lambda (a b) (/ (+ a b) 2))) p2 p4) It seems that you deliberately make things more obscured...
(defun fxRectangle-p (en fuzz / leg obj pts) (defun _getpt(obj idx) (vlax-safearray->list(vlax-variant-value (vla-get-coordinate obj idx))))(and (setq obj (vlax-ename->vla-object en)) (eq "AcDbPolyline" (vla-get-objectname obj)) (vlax-method-applicable-p obj 'getbulge) (vlax-property-available-p obj 'coordinate) (eq (vla-get-closed obj) :vlax-true) (= 8 (length (setq pts (vlax-get obj 'coordinates)))) (vl-every '(lambda (x) (zerop (vla-getbulge obj x))) (list 0 1 2 3)) (setq leg (- (vlax-curve-getdistatpoint obj (list (nth 2 pts) (nth 3 pts))) (vlax-curve-getdistatpoint obj (list (car pts) (cadr pts))))) (vl-every '(lambda (a b) (equal (abs (- (vlax-curve-getdistatpoint obj (_getpt obj a)) (vlax-curve-getdistatpoint obj (_getpt obj b)))) leg fuzz)) (list 0 1 2) (list 1 2 3)) (equal (/ pi 2) (abs (- (angle (_getpt obj 1)(_getpt obj 2))(angle (_getpt obj 2)(_getpt obj 3))))fuzz) ))