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

[Nhờ Kiểm Tra] Hàm Reverse

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

Nhờ mọi người giải thích tại sao hàm reverse nằm trong đoạn lisp tôi đang dùng nó không chạy (Chuổi danh sách nó không đảo ngược lại, muốn text chọn trước nó phải xếp trước)

đây là lisp:

  (defun c:test (/ lsttn lstte)
  (setq lop1 "entdauco")
  (setq ent (car (entsel "\nChon Pline hoac Hatch mau tinh dien tich:")))
  (while ent
  (setq fltr (ssx_nhan ent))
  (setq lsttn (cons fltr lsttn))
  (prompt "\nChon Text ghi dien tich.")
  (setq DTS (car (entsel)))
  (setq DTS (entget DTS))
  (setq NDTS (cdr (assoc 1 DTS)))
  (setq lstte (cons NDTS lstte))
  (setq ent (car (entsel "\nChon Pline hoac Hatch mau tinh dien tich:")))
   )
  (reverse lstte)
  (princ lstte)
   )
   (defun ssx_nhan (ent / data fltr)
  (if ent
    (progn
      (setq data (entget ent))
      (foreach x '(0 2 6 7 8 39 62 66 210) ; do not include 38
        (if (assoc x data)
          (setq fltr
            (cons (assoc x data) fltr)
          )
        )
      )
      (reverse fltr)
    )
  )
)

file để test:

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ờ mọi người giải thích tại sao hàm reverse nằm trong đoạn lisp tôi đang dùng nó không chạy (Chuổi danh sách nó không đảo ngược lại, muốn text chọn trước nó phải xếp trước)

đây là lisp:

  (defun c:test (/ lsttn lstte)
  (setq lop1 "entdauco")
  (setq ent (car (entsel "\nChon Pline hoac Hatch mau tinh dien tich:")))
  (while ent
  (setq fltr (ssx_nhan ent))
  (setq lsttn (cons fltr lsttn))
  (prompt "\nChon Text ghi dien tich.")
  (setq DTS (car (entsel)))
  (setq DTS (entget DTS))
  (setq NDTS (cdr (assoc 1 DTS)))
  (setq lstte (cons NDTS lstte))
  (setq ent (car (entsel "\nChon Pline hoac Hatch mau tinh dien tich:")))
   )
  (reverse lstte)
  (princ lstte)
   )
   (defun ssx_nhan (ent / data fltr)
  (if ent
    (progn
      (setq data (entget ent))
      (foreach x '(0 2 6 7 8 39 62 66 210) ; do not include 38
        (if (assoc x data)
          (setq fltr
            (cons (assoc x data) fltr)
          )
        )
      )
      (reverse fltr)
    )
  )
)

file để test:

Đây là k/quả Debug :

 15454_reverse.png

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

Dùng (Print (reverse lstte))

Cám ơn bạn nhiều bây giờ mình muốn lấy danh sách đó để xử lý các bước tiếp theo phải làm thế này đúng không?

(setq lstte  (reverse lstte))

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

Cám ơn bạn nhiều bây giờ mình muốn lấy danh sách đó để xử lý các bước tiếp theo phải làm thế này đúng không?

(setq lstte  (reverse lstte))

Đương nhiên đúng!

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  

×