Đến nội dung


Hình ảnh
- - - - -

[Yêucầu]Nhờ viết lisp chọn số theo giá trị của số


  • Please log in to reply
3 replies to this topic

#1 victor85

victor85

    biết lệnh stretch

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

Đã gửi 15 July 2014 - 09:20 AM

Mình có một nhu cầu này hay gặp phải trong quá trình vẽ đó là chọn một số lượng đối tượng text cad là các số thuộc tập Q và có giá trị lớn hơn hoặc nhỏ hơn một giá trị nhất định mình mong muốn trong vùng đối tượng chọn. Mong các cao thủ lisp xuống tay giúp mình vụ này với. Mình xin chân thành cảm ơn các bác trước ạ! Chúc các lisper một ngày mới vui vẻ và làm việc hiệu quả. :)

Cụ thể lisp như sau:

Lisp: select_not equal.lsp

Lệnh đầu vào: sne

Chọn các đối tượng text là số thực đầu vào.

Chọn kiểu lựa chọn: Lớn hơn (L) / Nhỏ hơn (N)

Chọn giá trị mong muốn làm tham số lựa chọn: nhập giá trị vào.

Kết quả chọn được các số lớn hơn hoặc nhỏ hơn giá trị mong muốn trong vùng chọn.

 

VD mình có các số: 3, 5, 8, 9.81, 12.55 trong vùng chọn.

Chọn các số lớn hơn giá trị mong muốn tham số là: 9

Kết quả: chọn được số 9.81 và 12.55

 

 


  • 0

#2 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 15 July 2014 - 09:51 AM

Tôi đã viết 1 cái, mở rộng hơn y/c trên, ở link này nhé!

http://www.cadviet.c...rong-khoang-ab/


  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#3 victor85

victor85

    biết lệnh stretch

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

Đã gửi 15 July 2014 - 10:51 AM

Mở rộng hơn chút mong bác Doan Van Ha viết dùm minh lisp chọn đối tượng là đoạn thẳng có chiều dài lớn hơn hoặc nhỏ hơn khoảng cho trước trong tập hợp các đoạn thẳng đã chọn với. :)


  • 0

#4 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 15 July 2014 - 11:23 AM

Lisp đây!

;Doan Van Ha - CADViet.com - Ngay 15/7/2014
;Muc dich: Chon cac doi tuong *Line lon (nho) hon chieu dai cho truoc.
(defun C:HA( / ln ss ss1 len)
 (initget "L N") (setq ln (getkword "\nKieu chon [Lon_hon/Nho_hon] <Nho>: "))
 (if (not ln) (setq ln "N"))
 (or (and kc (or (= (type kc) 'int) (= (type kc) 'real))) (setq kc 100))
 (setq kc (cond ((getdist (strcat "\nChieu dai <" (rtos kc 2 2) ">: "))) (kc)))
 (princ "\nChon cac doi tuong Line/Spline/Lwpolyline/Polyline...")
 (if (setq ss (ssget '((0 . "Line,Spline,Lwpolyline,Polyline"))))
  (progn  
   (setq ss1 (ssadd))
   (foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
    (setq len (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent)))
    (cond
((and (= ln "L") (> len kc))
      (setq ss1 (ssadd ent ss1)))
((and (= ln "N") (< len kc))
      (setq ss1 (ssadd ent ss1)))))
   (sssetfirst nil ss1))))
 


  • 2

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.