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

[Hỏi]Sửa giúp e đọa code đơn, lisp đánh stt tăng dần theo phương Y

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

Em đang học viết lisp thôi ạ, E viết mà nó ko chạy? ko biết sai chỗ nào ạ. Các anh sửa giúp em với. Đoạn code này dùng để đánh stt text tăng theo phương y.

 

CODE

(defun c:tcc()

(setq dt (ssget '((0 . "TEXT"))))

(setq( bg (getint "\n Number start: ")))

(command "tcount" dt "Y" (bg,1) "O" "")

(princ)

)

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

Tcount không phải lệnh của CAD, mà là một lệnh phụ trợ trong bộ Express nên bạn không thể gọi (command "tcount"..) được ^^

Hơn nữa, trong lisp không có kiểu dữ liệu (bg,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

Vậy thì bác giải quyết giúp em bài toán đi ạ ? Yêu cầu là đánh STT tăng theo phương y, cho phép nhập giá trị khởi đầu

Command: tcc

select object:

start number:

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

Lên hay xuống bạn nhỉ ? text có sẵn hay tạo mới nhỉ ? Gia số như thế nào ?

Vì bạn bắt đầu viết nên mình sẽ đưa ra phương án (nếu có thể) thôi ^^

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

Lên hay xuống bạn nhỉ ? text có sẵn hay tạo mới nhỉ ? Gia số như thế nào ?

Vì bạn bắt đầu viết nên mình sẽ đưa ra phương án (nếu có thể) thôi ^^

Tăng dần ạ? Từ trên xuống dưới sẽ tăng lên. Text có sẵn ạ !

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

Nếu bạn có Express thì dùng hàm có sẵn của Express nhé :) Còn nếu không thì lại là 1 chuyện khác

(defun c:tcc ()
(bns_tcount (ssget (list (cons 0 "TEXT"))) ;List Text
"Y"  ;Che do sort theo phuong Y
1 ; So bat dau  
1 ; Gia so
"Overwrite" ; Che do ghi de
"" ; Text to find and replace
)
)

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

Nếu bạn có Express thì dùng hàm có sẵn của Express nhé :) Còn nếu không thì lại là 1 chuyện khác

(defun c:tcc ()
(bns_tcount (ssget (list (cons 0 "TEXT"))) ;List Text
"Y"  ;Che do sort theo phuong Y
1 ; So bat dau  
1 ; Gia so
"Overwrite" ; Che do ghi de
"" ; Text to find and replace
)
)

hic. Lisp không chạy được bác KETXU ạ ? đó là gợi ý hay là lisp đó ạ ? hic ! Express thì e cài cad thì có cài ạ ?

Bác chỉnh luông cho lisp chạy giúp em được ko ạ ?

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 chạy lệnh Tcount 1 lần trước đó đi, để nó load hàm :)

P/s : không chạy được thì phải báo lỗi, lỗi như thế nào thì bạn phải cóp lên đây chứ hè (nhấn F2 đọc nhé)

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 chạy lệnh Tcount 1 lần trước đó đi, để nó load hàm :)

P/s : không chạy được thì phải báo lỗi, lỗi như thế nào thì bạn phải cóp lên đây chứ hè (nhấn F2 đọc nhé)

Ketxu có thể load nó luôn

Thêm dòng (load "acettxt.lsp") tại vị trí :

(defun c:tcc ()

(load "acettxt.lsp")

(bns_tcount (ssget (list (cons 0 "TEXT"))) ;List Text

.......

  • 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

Ketxu có thể load nó luôn

Thêm dòng (load "acettxt.lsp") tại vị trí :

(defun c:tcc ()

(load "acettxt.lsp")

(bns_tcount (ssget (list (cons 0 "TEXT"))) ;List Text

.......

Bác KETXU không đọc kỹ yêu cầu nhé. hì, [yêu cầu] là cho phép nhập số bắt đầu mà. E sửa lại thế này đây ạ.

;=== CODE

(defun c:tcc ()

(load "acettxt.lsp")

(bns_tcount (ssget (list (cons 0 "TEXT"))) ;List Text

"Y" ;Che do sort theo phuong Y

(getint "\nSo bat dau: ")

 

1 ; Gia so

"Overwrite" ; Che do ghi de

"" ; Text to find and replace

)

)

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  

×