Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
9 replies to this topic

#1 hanam1210

hanam1210

    biết vẽ pline

  • Members
  • PipPip
  • 61 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 03 September 2011 - 06:39 AM

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)
)
  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 03 September 2011 - 08:20 AM

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) :)
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3 hanam1210

hanam1210

    biết vẽ pline

  • Members
  • PipPip
  • 61 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 03 September 2011 - 08:46 AM

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:
  • 0

#4 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 03 September 2011 - 09:24 AM

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 ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#5 hanam1210

hanam1210

    biết vẽ pline

  • Members
  • PipPip
  • 61 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 03 September 2011 - 09:55 AM

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 ạ !
  • 0

#6 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 03 September 2011 - 10:22 AM

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
)
)

  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#7 hanam1210

hanam1210

    biết vẽ pline

  • Members
  • PipPip
  • 61 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 03 September 2011 - 10:36 AM

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 ạ ?
  • 0

#8 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 03 September 2011 - 10:51 AM

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é)
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#9 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 03 September 2011 - 11:16 AM

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
.......
  • 1

#10 hanam1210

hanam1210

    biết vẽ pline

  • Members
  • PipPip
  • 61 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 05 September 2011 - 06:47 AM

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
)
)
  • 0