Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
tuan_thietkedien

Nhờ các bác giải thích dòng lisp này!!!

Các bài được khuyến nghị

Nhờ các bác giải thích dòng lisp này hộ em với.

 

(setq SS (ssget '((0 . "TEXT"))))

(setq i 0)

(setq N (sslength ss))

(while (< i N)

(setq TEXTENT (ssname SS i))

(command "ucs" "object" textent)

(setq tbTB (textbox (list (cons -1 textent)))

............................

 

Dòng màu đỏ này em chưa hiểu, textbox là lệnh gì?

Lệnh List thì em đả hiểu rồi nhưng chữ cons , -1 có ý nghĩa gì? Em đã tra mã DXF nhưng chỉ có số 1 thôi chứ không có số -1.

 

Mong các bác giúp đỡ.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nhờ các bác giải thích dòng lisp này hộ em với.

..................

(setq tbTB (textbox (list (cons -1 textent)))

............................

Dòng màu đỏ này em chưa hiểu, textbox là lệnh gì?

Lệnh List thì em đả hiểu rồi nhưng chữ cons , -1 có ý nghĩa gì? Em đã tra mã DXF nhưng chỉ có số 1 thôi chứ không có số -1.

 

Hàm TextBox trả về 1 danh sách (list) tọa độ 2 điểm của tứ giác bao quanh đối tượng Text.

vd : ((10.6599 0.0 0.0) (328.68 173.223 0.0))

 

Hàm Cons thêm 1 phần tử vào đầu danh sách hay xây dựng 1 danh sách chấm (dotted list).

vd : (cons 'a '(b c d)) -> (A B C D)

(cons 'a 2) -> (A . 2)

 

DXF –1 : tên định danh của đối tượng (entity name), nó thay đổi mỗi khi open bản vẽ.

 

Trong đoạn code của bạn, 3 dòng dưới đây là tương đương nhau.

(setq tbTB (textbox (list (cons -1 textent))))

(setq tbTB (textbox (list (car(entget textent)))))

(setq tbTB (textbox (entget textent)))

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Hàm TextBox trả về 1 danh sách (list) tọa độ 2 điểm của tứ giác bao quanh đối tượng Text.

vd : ((10.6599 0.0 0.0) (328.68 173.223 0.0))

 

Hàm Cons thêm 1 phần tử vào đầu danh sách hay xây dựng 1 danh sách chấm (dotted list).

vd : (cons 'a '(b c d)) -> (A B C D)

(cons 'a 2) -> (A . 2)

 

DXF –1 : tên định danh của đối tượng (entity name), nó thay đổi mỗi khi open bản vẽ.

 

Trong đoạn code của bạn, 3 dòng dưới đây là tương đương nhau.

(setq tbTB (textbox (list (cons -1 textent))))

(setq tbTB (textbox (list (car(entget textent)))))

(setq tbTB (textbox (entget textent)))

 

 

Cám ơn bác gia bach nhiều lắm.

Em cũng mới gửi 1 bài lisp bên mục Hỏi về Lisp, bác nhớ ghé xem rồi góp ý hộ em với nha.

Chúc bác luôn vui vẻ.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×