Chào bạn! Mình tạo Blog này để lưu giữ những bài viết của mình trên các diển đàn khác và vài tư liệu cá nhân. Chúc bạn vui khi ghé blog này.
(Đề phòng ai đó muốn mua quà tặng hoặc chiêu đãi mình).
-Quần áo thích JOHN HENRY: Áo thun cỡ M; Áo sơ mi dài tay cỡ S, ngắn tay cỡ M; Quần cỡ 29.
-Ăn vặt thích: Lựu; Sapoche; Hồng giòn; Bưởi; Thanh long.
-Món ăn chính thích: Mỳ Quảng; Bánh xèo; cơm chiên; xôi không + trứng tráng.
-Tạp chí thích: Văn nghệ quân đội; tạp chí kiến trúc; nhà đẹp; làm bạn với máy tính.
-Ca sỹ thích: Quang Dũng; Minh Quân; Đàm Vĩnh Hưng; Cao Thái Sơn; Ngọc Khuê;
Lê Cát Trọng Lý; Tuấn Ngọc.
1. Mình sẽ ko trả lời đồng thời xoá mọi câu hỏi với vai trò nặc danh. Các bạn vui lòng đọc thông báo trước khi đặt câu hỏi!
.
2. Mình đã trang bị đủ công cụ để tương tác với các bạn. Đừng bảo mình gửi mail hoặc liên hệ với các bạn khi các bạn nhờ mình!

Lisp dời điểm chèn block

21:23 Được đăng bởi Phạm Quốc Duy

Bạn có bản vẽ mà trong đó có cái block đã chèn nhiều vị trí, rotate, scale, mirror chuyễn layer nói chung là lung tung hết cả và đến 1 lúc bạn nhận ra cái điểm chèn của nó lúc tạo ra lại không nằm đúng chổ mình ưng tí nào bạn muốn chuyển cái điểm chèn này vào ngay tâm block để tiện chỉnh sửa làm sao đây :
-Dể òm mà dùng lệnh BEDIT định lại cái basepoint là xong ................ đúng là cái điểm chèn nằm chổ ưng ý rồi nhưng mấy cái block thì nhảy loạn xạ không còn mằm chổ cũ nửa
-Bạn muốn là dời điểm chèn nhưng mấy cái block đứng im kìa ==> đây dùng lisp vậy.
-Tên lệnh: DBL.-Chọn Block cần chỉnh.-Chọn điểm chèn mới.=> Lisp báo ra tên block và số lượng của block vừa chỉnh (tất nhiên là đã làm công việc chỉnh xong rồi đúng cả với trường hợp block bị mirror, tỉ lệ x và y khác nhau, góc quay )
-Ưu điểm không thay đổi tên block sau khi hoàn tất công việc và không có block rác.
-Nhược điểm: nếu block lựa chọn còn nằm trong 1 block khác nửa thì quá trình thay đổi sẽ không hoàn tất dẩn đến việc song song tồn tại block cũ và block trung gian lúc này các block đã dời điểm chèn sẽ mang tên block trung gian bao gồm tên cũ + taothem.




Bạn copy nội dung và tạo file lisp hay tải file về cũng được!


(defun c:dbl ()
(command "undo" "be")

(setq doituong1 (entsel "\nChon Block muon chinh diem chen"))
(while
(or
(null doituong1)
(/= "INSERT" (cdr (assoc 0 (entget (car doituong1)))))
)
(princ "\nDoi tuong khong phai la Block! Chon lai")
(setq doituong1 (entsel "\nChon Block muon chinh diem chen"))
)

(command "ucs" "ob" doituong1)
(setq DIEMCHENMOI (getpoint "\n Chon diem chen moi cho Block nay :"))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(command "layer" "s" 0 "")
(setq doituong (car doituong1))
(setq doituong (entget doituong))
(setq TENKHOI (cdr (assoc 2 doituong)))
(setq TENKHOIMOI (strcat TENKHOI "TAOTHEM"))
(setq TYLEX (cdr (assoc 41 doituong)))
(setq TYLEY (cdr (assoc 42 doituong)))
(setq DIEMTINH (list (/ (car DIEMCHENMOI) TYLEX) (/ (cadr DIEMCHENMOI) TYLEY)))
(setq XDIEMTINH (car DIEMTINH))
(setq YDIEMTINH (cadr DIEMTINH))
(setq DAICHUAS (distance (list 0 0) DIEMTINH))
(setq GOCCHUAS (angle (list 0 0) DIEMTINH))
(setq DIEMCHENTUONGDOI (polar (LIST 0 0) GOCCHUAS DAICHUAS))
(command ".INSERT" TENKHOI (LIST 0 0) 1 1 0)
(Command "EXPLODE" "last" "")
(Command "Block" TENKHOIMOI DIEMCHENTUONGDOI "Previous" "")
(command "ucs" "p")


(setq xx (ssget "X" (list( cons 0 "INSERT") (cons 2 TENKHOI))))

(setq L 0)
(setq M (sslength XX))
(while (< L M)
(setq DTs (ssname XX L))
(setq DTMs (entget DTs))
(command "ucs" "ob" DTs)
(setq TYLEX1 (cdr (assoc 41 DTMs)))
(setq TYLEY1 (cdr (assoc 42 DTMs)))
(setq DIEMDOI (list (* XDIEMTINH TYLEX1) (* YDIEMTINH TYLEY1)))

(setq DTMs (subst (cons 2 TENKHOIMOI) (assoc 2 DTMs) DTMs))
(entmod DTMs)
(setq DIEMDOI (trans DIEMDOI 1 0))
(setq DTMs (subst (cons 10 DIEMDOI) (assoc 10 DTMs) DTMs))
(entmod DTMs)
;(command "move" DTs "" (list 0 0) DIEMDOI)
(command "ucs" "p")
(setq L (1+ L))
)


(setvar "osmode" luubatdiem)
(Command "Purge" "B" TENKHOI "Y" "Y")
(command "rename" "b" TENKHOIMOI TENKHOI)
(command "undo" "end")

(princ (strcat "\nVua chinh tam cua block <" TENKHOI "> :" (itoa L) " doi tuong"))
(setvar "MODEMACRO" "**CHUC BAN LAM VIEC HIEU QUA** PHAM QUOC DUY - BINH SON - QUANG NGAI")
(Princ))

1 nhận xét:

  1. ___Mr Tai___ ___Mr Tai___ nói...

    Thank anh vì lisp bổ ích này!

Đăng nhận xét

Khi viết nhận xét mong bạn không đứng vai trò nặc danh! Bạn có thể chọn Name/Url trong đó Url là http://duy782006.blogspot.com/ như vậy hay hơn nặc danh bạn nhé.

Lưu trữ các nội dung hay dùng cho bài viết
Giới thiệu tác giả!
Họ & tên: Phạm Quốc Duy
Sinh ngày: 08/08/1978
Quê: Tỉnh Quảng Ngãi
Giới tính: Nam
Tình trạng: Đã cưới
Nghề nghiệp: Kiến trúc Sư
Sở trường: Im lặng
Nhược điểm: vô số
Lá cải net và "bình lựng" của Duy782006
Hồng Nhung từng bị cấm hát >>> Sao không ai cấm cái tiêu đề hông dính gì tới bài viết này giùm tui cái.
*Không dám bàn sâu vào nội dung. Ở đây Duy782006 bày tỏ sự "ngưỡng mộ một cách sâu sắc" đến các cá nhân "kiệt sức" đã giật những cái tít lá cải góp phần xây dựng khu vườn cải trê net hiện nay.