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.
minhphuong_humg

Giúp mình Lisp đánh số bản vẽ này với!

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

phamthanhbinh    3.123
Chào các bác: Em thấy đoạn lisp này rất phù hợp với việc đánh số bản vẽ của em. Nhưng em muốn nhờ bác sửa thêm theo một số ý sau với ạ: 1- Đoạn lisp OD: - Có thêm phần hỏi nhập chiều cao chữ là bao nhiêu nữa ạ. 2- Đoạn lisp OC: - Chọn Template text xong, Lisp sẽ hỏi số hàng cần array, khoảng cách Array (gõ số hoặc click 2 điểm) Em Upload File cã kiểu đánh số thứ tự mà em hay phải đánh. Mong các bác giúp đỡ. Em xin cám ơn nhiều ạ! http://www.cadviet.com/upfiles/3/110072_reinf.dwg

Hề hề hề,

1/- Bạn thử làm như sau:

Thay đoạn code

(setq sty (getvar "textstyle")

d (tblsearch "style" sty)

h (cdr (assoc 40 d))

)

(if (= h 0) (setq h (cdr (assoc 42 d))))

trong hàm con wtxt thành

(setq sty (getvar "textstyle")

d (tblsearch "style" sty)

)

(setq h (getreal "\n nhap chieu cao text: "))

(if (= h nil)

(progn

(setq h (cdr (assoc 40 d)))

(if (= h 0) (setq h (cdr (assoc 42 d))))

)

)

Hy vọng đúng ý bạn.

2/- Khi array như vậy thì text sẽ thay đổi kiểu gì?????

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

Hề hề hề,

1/- Bạn thử làm như sau:

Thay đoạn code

(setq sty (getvar "textstyle")

d (tblsearch "style" sty)

h (cdr (assoc 40 d))

)

(if (= h 0) (setq h (cdr (assoc 42 d))))

trong hàm con wtxt thành

(setq sty (getvar "textstyle")

d (tblsearch "style" sty)

)

(setq h (getreal "\n nhap chieu cao text: "))

(if (= h nil)

(progn

(setq h (cdr (assoc 40 d)))

(if (= h 0) (setq h (cdr (assoc 42 d))))

)

)

Hy vọng đúng ý bạn.

2/- Khi array như vậy thì text sẽ thay đổi kiểu gì?????

Cảm ơn bác phamthanhbinh nhiều ạ. Em nhờ bác thế này:

1- Khi em thay đoạn lisp trên vào thì mỗi lần lại phải nhập lại chiều cao chữ. Em muốn chỉ cần nhập chiều cao chữ một lần thôi ạ, các text sau cũng lấy chiều cao chữ ấy, mình chỉ cần chọn tiếp base point cho lần thứ 2,3.. thôi ạ.

2- Khi Array thì text cũng sẽ thay đổi theo "số gia" mà mình nhập vào, ví dụ ban đầu Text là "A3-04-Sub-0010", gõ OC, chọn số gia là 10, chọn khoảng cách array là 420, chọn số lần Array là 3 thì ta được các text tiếp theo lần lượt là "A3-04-Sub-0020", "A3-04-Sub-0030"... Các text đó cách nhau theo phương ngang một khoảng đều nhau là 420.kiểu như vậy ạ. Em nói thế không biết đã rõ chư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

Không có bác nào giúp em với ạ!

Các bác ơi giúp em với ạ.Mấy hôm rồi vẫn chưa thấy hồi âm nào. Em đang rất cần đoạn lisp này. Mong các bác giúp đỡ!

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    2.651

Trong lúc chờ đợi bạn thử tìm cái lisp Dynamic L Array mình viết xem sao ? CÓ chức năng giống ý 2. Bác Hạ cũng viết 1 cái để array với tiền tố - hậu 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
phamthanhbinh    3.123

Các bác ơi giúp em với ạ.Mấy hôm rồi vẫn chưa thấy hồi âm nào. Em đang rất cần đoạn lisp này. Mong các bác giúp đỡ!

Hề hề hề,

Yêu cầu 1 bạn đã thử sửa chưa và có đạt yêu cầu không???

Yêu cầu 2 bạn vẫn chưa nói rõ là Array thì sẽ tăng text theo phương nào trước, vì khi array sẽ xuất hiện các text kết quả được sắp xếp theo hàng, cột hay vòng tròn, vậy thì các text sẽ tăng dần theo kiểu chi theo cột trước hay theo hàng trước, theo chiều kim đồng hồ hay ngược chiều kim đồng hồ???

Vậy thì sao làm lisp đượ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

Hề hề hề,

Yêu cầu 1 bạn đã thử sửa chưa và có đạt yêu cầu không???

Yêu cầu 2 bạn vẫn chưa nói rõ là Array thì sẽ tăng text theo phương nào trước, vì khi array sẽ xuất hiện các text kết quả được sắp xếp theo hàng, cột hay vòng tròn, vậy thì các text sẽ tăng dần theo kiểu chi theo cột trước hay theo hàng trước, theo chiều kim đồng hồ hay ngược chiều kim đồng hồ???

Vậy thì sao làm lisp được????

Chào bác phamthanhbinh.

1- Yêu cầu 1: Em đã thay đoạn code theo cách bác gợi ý nhưng mỗi lần pick base point lại cần nhập lại chiều cao chữ. Em chỉ muốn là nhập chiều cao chữ một lần đầu tiên thôi. Còn các lần pick base point tiếp theo thì lấy theo chiều cao chữ của lần nhập đầu tiên ấy.

2- Yêu cầu 2: Em chỉ muốn text thay đổi theo phương ngang, từ trái sang phải bác ạ, Số lần array do mình nhập hoặc theo kiều pick 2 điểm (Lisp sẽ chia khoảng cách 2 điểm đó cho khoảng cách các text - do mình nhập, các text cách đều nhau theo một khoảng cách nhập vào hoặc pick 2 điểm (Đoạn này em thấy giống như kiểu lisp Copy array mà em tìm được trên diễn đàn) và tăng theo "số gia". Bác xem xem giúp em với nhé. Cảm ơn bác nhiều ạ.

Đây là đoạn lisp copy array mà em nói ạ!

http://www.cadviet.com/upfiles/3/110072_05copy_array_ca.lsp

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

Trong lúc chờ đợi bạn thử tìm cái lisp Dynamic L Array mình viết xem sao ? CÓ chức năng giống ý 2. Bác Hạ cũng viết 1 cái để array với tiền tố - hậu tố

 

Trong lúc chờ đợi bạn thử tìm cái lisp Dynamic L Array mình viết xem sao ? CÓ chức năng giống ý 2. Bác Hạ cũng viết 1 cái để array với tiền tố - hậu tố

 

Trong lúc chờ đợi bạn thử tìm cái lisp Dynamic L Array mình viết xem sao ? CÓ chức năng giống ý 2. Bác Hạ cũng viết 1 cái để array với tiền tố - hậu tố

Em tìm thấy đoạn lisp anh nói rồi nhưng không hiểu sao khi em load lên nó lại báo lỗi nên em chưa dùng được. Anh xem nó báo lỗi thế này là lỗi gì ạ

 

Command: aq APPLOAD dar.lsp successfully loaded.

 

 

Command: ; error: syntax error

 

Command:

Command: dar ; error: too many arguments

Cảm ơn anh nhiều!

(Em đang để lệnh đo chiều dài cung là DAR không biết thế có ảnh hưởng gì đến chuyện này không ạ?)

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
Leolis    0

Xin chào các Bác ! Em tìm trên diễn đàn không thấy lish copy số giữa tăng. Bác nào có rồi thì cho em xin với.

Bác nào giúp em lish copy số giữa tăng với. Ví dụ Tờ 1/30, Tờ 2/30,.....Tờ 30/30

Cảm ơn các bác nhiề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

 

Tue_NV chưa thực hiện yêu cầu ở dòng màu đỏ vì bạn chưa nói rõ từ đầu

Bạn sử dụng Lisp này cho hoàn thiện đã, có gì rồi Tue_NV sẽ hoàn thiện thêm :

(defun c:dstt(/ ans dau cuoi po po1 ent i cao r)(setvar "cmdecho" 0)(initget "D C")(setq ans (getkword "\n Ban muon danh so tang dan o vi tri dau hay cuoi < D / C >:"))(if (= ans "D")(progn(setq dau (getint "\n Danh so bat dau :") i 1)(setq cuoi (getstring 5"\n Danh chuoi ki tu ket thuc :"))(if (not caoo) (setq caoo 5))(setq cao (getdist (strcat "\n Nhap chieu cao chu <" (rtos caoo 2 2) "> :")))(if (not cao) (setq cao caoo) (setq caoo cao))(if (not ro) (setq ro 1))(setq r (getdist (strcat "\n Nhap do rong chu <" (rtos ro 2 2) "> :")))(if (not r) (setq r ro) (setq ro r))(setq po (getpoint (strcat "\n Cho diem chen cua so : " (itoa dau) cuoi))) (wtxt (strcat (itoa dau) cuoi) po cao r)(setq eL (entlast))(command "circle" po (* 1.1 cao))(while po(setq po1 (getpoint po (strcat "\n Cho diem chen cua so : " (itoa (+ dau i)) cuoi)))(command "copy" eL "" po po1) (setq eL (entlast))(setq ent (entget eL))(setq ent (subst (cons 1 (strcat (itoa (+ dau i)) cuoi)) (assoc 1 ent) ent))(entmod ent)(setq i (1+ i))(command "circle" po1 (* 1.1 cao))(setq po po1));while))(if (= ans "C")(progn(setq dau (getstring 5"\n Danh chuoi ki tu bat dau :") i 1)(setq cuoi (getint "\n Danh so ket thuc :"))(if (not caoo) (setq caoo 5))(setq cao (getdist (strcat "\n Nhap chieu cao chu <" (rtos caoo 2 2) "> :")))(if (not cao) (setq cao caoo) (setq caoo cao))(if (not ro) (setq ro 1))(setq r (getdist (strcat "\n Nhap do rong chu <" (rtos ro 2 2) "> :")))(if (not r) (setq r ro) (setq ro r))(setq po (getpoint (strcat "\n Cho diem chen cua so : " dau (itoa cuoi) ))) (wtxt (strcat dau (itoa cuoi)) po cao r)(setq eL (entlast))(command "circle" po (* 1.1 cao))(while po(setq po1 (getpoint po (strcat "\n Cho diem chen cua so : " dau (itoa (+ cuoi i)) )))(command "copy" eL "" po po1) (setq eL (entlast))(setq ent (entget eL))(setq ent (subst (cons 1 (strcat dau (itoa (+ cuoi i)) )) (assoc 1 ent) ent))(entmod ent)(setq i (1+ i))(command "circle" po1 (* 1.1 cao))(setq po po1));while))(princ));(defun wtxt (txt p h w / sty d)(setq sty (getvar "textstyle")d (tblsearch "style" sty))(entmake (list (cons 0 "TEXT") (cons 7 sty) (cons 1 txt)(cons 40 h) (cons 10 p) (cons 11 p) (cons 41 w)(cons 72 1) (cons 73 2) )))

Chào bạn Tue_NV. 

Mình down file fisp này về sử dụng. Khi load file vào cad thì nó báo lỗi :" error: malformed list on input" . 

Mình cũng đã copy toàn bộ code về nhưng vẫn có lỗi như thế. 

Vì bài viết cũng lâu rồi không biết có lỗi j không. 

Bạn có thể gửi cho mình vào mail: levantuan225@gmail.com được không? 

Cám ơn bạn rất nhiề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

Mình cần rải đối tượng là block có attribute text bên trong. Khi rải thì giá trị trong block sẽ tăng dần. Rải được theo phương bất kì. Mong các a/c giúp đỡ. Cám ơ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

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


×