Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
2 replies to this topic

#1 tuan_thietkedien

tuan_thietkedien

    biết lệnh mirror

  • Members
  • PipPipPip
  • 153 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 05 January 2009 - 04:55 PM

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 đỡ.
  • 0

#2 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1436 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 06 January 2009 - 09:32 AM

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)))
  • 0

#3 tuan_thietkedien

tuan_thietkedien

    biết lệnh mirror

  • Members
  • PipPipPip
  • 153 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 06 January 2009 - 05:02 PM

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ẻ.
  • 0