Lệnh SCI
Scale các đối tượng tại tâm hình học
Lưu mã sau dưới dạng tệp tin SCI.lsp
Code:
(defun c:sci (/ ss tile i en obj minpt maxpt cen)
(vl-load-com)
(princ "\nChon cac doi tuong can scale tai tam:")
(if (and (setq ss (ssget '((0 . "*"))))
(setq tile (getreal "\nNhap ty le Scale: ")))
(progn
(setq i 0)
(while (< i (sslength ss))
(setq en (ssname ss i)
obj (vlax-ename->vla-object en))
;; Lay toa do khung bao (Bounding Box) cua doi tuong
(vla-getboundingbox obj 'minpt 'maxpt)
;; Chuyen doi tu dang variant sang list toa do
(setq minpt (vlax-safearray->list minpt)
maxpt (vlax-safearray->list maxpt))
;; Tinh toan tam hinh hoc (trung diem cua duong cheo khung bao)
(setq cen (vlax-3d-point
(list (/ (+ (car minpt) (car maxpt)) 2.0)
(/ (+ (cadr minpt) (cadr maxpt)) 2.0)
(/ (+ (caddr minpt) (caddr maxpt)) 2.0)
)
)
)
;; Thuc hien Scale tai tam vua tim duoc
(vla-ScaleEntity obj cen tile)
(setq i (1+ i))
)
)
)
(princ "\nDa hoan thanh scale doi tuong tai tam.")
(princ "\nby lisp.vn")
(princ)
)Link tải (MediaFire)
---------------------------------------------------------------------------------------------
Mọi thông tin xin liên hệ Fanpage AutoLISP Thật là đơn giản!
Cảm ơn bạn đã theo dõi!

Không có nhận xét nào:
Đăng nhận xét