Chuyển đến nội dung
Diễn đàn CADViet
whatcholingon

[ Yêu Cầu ] Lisp lọc text số nguyên và text có số thập phân.

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

(type (read ".0")) => Lỗi. Lỗi này chắc tự a xử được

Đúng là lỗi tại nó. Anh cố tình cho "0" vào đằng sau những số đó để phân biệt diện tích.

Em khắc phục cho anh cái này nhé. Cảm ơn em

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

A viết cả cái code dài vậy mà chỉ thêm điều kiện char đầu tiên là dấu "." k xử lý được á a ?

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

đúng là nhiều quá ko chạy đc ^^, file a đưa nó loạn xạ @@, chứ bình thường nhoc chạy cho 1 tờ bản đồ hơn trăm thửa vẫn chạy tốt ngộ thiệt

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

Bạn nhoclangbat zoom in 1 khu vực nhỏ và sử dụng lệnh thì được đó. Hoặc quét từng vùng nhỏ thì dc. :D

Còn nhiều nhiều 1 tí là....hổng có đc. :D

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

uh đúng rùi, nhưng khi nhoc làm khoảng 200 thửa đỗ lại nhoc cũng zoom toàn màn hình, để quét toàn tờ bản đồ thì vẫn ok, chắc là có 1 sự hên xui ở đây ^^

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

Bạn có thể viết như vầy cho gọn và không bị lỗi.

 

(defun C:TTD (/ ss ss1 ss2 e1 e2 txt);;;;;TACH THUA DAT
(MakeLayer_ "LOAIDAT" 1)
(MakeLayer_ "SOTHUA" 2)
(MakeLayer_ "DIENTICH" 3)
(setq ss (ssget (list (cons 0 "TEXT"))))
(foreach e2 (acet-ss-to-list ss)
  (setq txt (cdr (assoc 1 (entget e2))))
  (cond ((not (distof txt))
 (vla-put-Layer (vlax-ename->vla-object e2) "LOAIDAT"))
((vl-string-search "." txt)
(vla-put-Layer (vlax-ename->vla-object e2) "DIENTICH"))
   (t (vla-put-Layer (vlax-ename->vla-object e2) "SOTHUA"))
)
)
(princ)  
)
 
(defun MakeLayer_ ( name colour /)
    (if (null (tblsearch "LAYER" name))
        (entmake
            (list
               '(0 . "LAYER")
               '(100 . "AcDbSymbolTableRecord")
               '(100 . "AcDbLayerTableRecord")
               '(70 . 0)
                (cons 2 name)
                (cons 62 colour)
            )
        )
    )
)
 
 
 
  • Vote tăng 2

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

×