Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
huunhantvxdts

[Hỏi] lisp sắp xếp các text thành 1 nhóm

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

Tôi đang viết lisp để phục vụ cho công việc của mình đang vướng mắc nhờ mọi người giúp đỡ

nội dụng như sau:

Muốn sắp xếp các text canh lề giữa có toạ độ y bằng nhau thành 1 nhóm.

file đính kèm

http://www.cadviet.com/upfiles/3/66960_thu.dwg

 

 

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
phamthanhbinh    3.123

Tôi đang viết lisp để phục vụ cho công việc của mình đang vướng mắc nhờ mọi người giúp đỡ

nội dụng như sau:

Muốn sắp xếp các text canh lề giữa có toạ độ y bằng nhau thành 1 nhóm.

file đính kèm

http://www.cadviet.com/upfiles/3/66960_thu.dwg

Hề hề hề,

Bác đang vướng chỗ nào?? Vướng sợi tóc hay vướng cọng thun, bác phải nói rõ thì mới giúp bác được chứ.

Sắp xếp thành nhóm nghĩa là sắp xếp thế nào??? Nhét chúng vào một rọ nhưng vẫn giữ nguyên vị trí và các thuộc tính của chúng??? Hay là nhặt chúng ra và nhét nó vào một vị trí nào đó trên bản vẽ??? Hay là gán cho mỗi nhóm một màu nào đó để nhận biết??? Hay là đem chúng bỏ vô trại mồ côi???

Túm lại là vấn đề bác đặt ra rõ ràng là chưa rõ ràng gì cả. Thật là khó cho kẻ muốn giúp lắm lắm.....

Mong bác bớt chút thời gian chỉnh lý lại cái yêu cầu cho nó rõ ràng là rõ ràng hơn nữa nhé.....

  • Vote tăng 1

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ác đã quan tâm giúp đỡ 

ý muốn của em là thế này

sau khi sử dụng hàm ssget rồi ta được 1 tập hợp text là ss

bây giờ muốn tách chúng ra để sử dụng cho các mục đích khác nhau

ví dụ

1. tập độ dóc để điền vào độ dóc trên bình đồ

2. tập khoảng cách 

........

10. Lý trình

không biết nói như rứa Bác có thể hiểu và giúp được chưa????

mong tin Bác

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
Tot77    501

Bạn dùng cái này, kết quả ra 1 list chứa tên theo từng nhóm thứ tự từ trên xuống, trong mỗi nhóm thì theo thứ tự từ trái qua.


(defun nhap(ss cao / L L1)
  (setq L (vl-sort (acet-ss-to-list ss) '(lambda(x y) (> (cadr (dxf 11 x)) (cadr (dxf 11 y))))))
  (while L
    (setq L1 (append L1 (list 
   (vl-sort (vl-remove-if '(lambda(x) (not (equal (cadr (dxf 11 (car L))) (cadr (dxf 11 x)) cao))) L)
      '(lambda(x y) (< (car (dxf 11 x)) (car (dxf 11 y)))))))
 L (vl-remove-if '(lambda(x) (equal (cadr (dxf 11 (car L))) (cadr (dxf 11 x)) cao)) L)))
  L1
)
 
(defun dxf(id v) (cdr (assoc id (entget v))))
 
(defun c:test(/ ss)
  (nhap (setq ss (ssget '((0 . "TEXT")))) (* 0.5 (dxf 40 (ssname ss 0)))))
 
  

  • Vote tăng 1

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ác nhiều 
cái này quá đúng ý em rồi

tiện thể cho em hỏi tí nữa có cách nào nhanh để lấy 1 nhóm nào đó ra không chứ em dùng mấy hàm (car, cdr ....) lấy ra quá lâu 

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  

×