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

Lisp đánh số thứ tự bản vẽ tự động?

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

e đang cần lisp đánh số thứ tự bản vẽ tự động trong trường hợp khung bản vẽ được sắp xếp theo nhiều hàng, nhiều cột.Rất mong CADVIET giúp hộ e cái lisp này.

http://www.cadviet.com/upfiles/Ban_cad.rar

 

Đánh số thứ tự là sao? Bạn mún lưu mỗi khung thành 1 bản vẽ rieng hay sao?

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
Đánh số thứ tự là sao? Bạn mún lưu mỗi khung thành 1 bản vẽ rieng hay sao?

mình muốn đánh số tứ tự bản vẽ trong trắc ngang.chẳng hạn mình có 36 khung bản vẽ trắc ngang và sắp xếp theo 6 hàng, 6 cột, có cách nào để đánh thứ tự bản vẽ tự động : bản vẽ số 1/36, bản vẽ số 2/36.... bản vẽ số 36/36?

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 muốn đánh số tứ tự bản vẽ trong trắc ngang.chẳng hạn mình có 36 khung bản vẽ trắc ngang và sắp xếp theo 6 hàng, 6 cột, có cách nào để đánh thứ tự bản vẽ tự động : bản vẽ số 1/36, bản vẽ số 2/36.... bản vẽ số 36/36?

 

tức là ghi chữ 1/36,2/36... vào mỗi khung?

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
e đang cần lisp đánh số thứ tự bản vẽ tự động trong trường hợp khung bản vẽ được sắp xếp theo nhiều hàng, nhiều cột.Rất mong CADVIET giúp hộ e cái lisp này.

http://www.cadviet.com/upfiles/Ban_cad.rar

Bạn sử dụng Lisp này thử xem :

Cách thức hoạt động tương tự lệnh Array :

Tên lệnh dsbv

http://www.cadviet.com/upfiles/dsbv.vlx

  • 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
Bạn sử dụng Lisp này thử xem :

Cách thức hoạt động tương tự lệnh Array :

Tên lệnh dsbv

http://www.cadviet.com/upfiles/dsbv.vlx

e thấy lisp này đánh số thứ tự từ trái qua phải và từ dưới lên trên, sao không đánh theo thứ tự từ trái qua phải, từ trên xuống dưới được?và có thể xuất ra kết quả là: "bản vẽ số: 1/..." được không thay vì chỉ là " 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
e thấy lisp này đánh số thứ tự từ trái qua phải và từ dưới lên trên, sao không đánh theo thứ tự từ trái qua phải, từ trên xuống dưới được?và có thể xuất ra kết quả là: "bản vẽ số: 1/..." được không thay vì chỉ là " 1/..."?

Bạn đã đọc kỹ chưa?

Tue_NV nói là cách thức của nó hoạt động tương tự như lệnh array

Hàng từ trái -> phải : khoảng cách hàng >0

Hàng từ phải -> trái : khoảng cách hàng

 

Cột từ dưới lên trên : khoảng cách cột >0

Cột từ trên xuống dưới : khoảng cách cột

 

Mong là bạn hiểu.

Tue_NV upload file Lisp này có chỉnh sửa theo ý bạn

Tên lệnh dsbv

http://www.cadviet.com/upfiles/dsbv_1.vlx

  • 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
Bạn đã đọc kỹ chưa?

Tue_NV nói là cách thức của nó hoạt động tương tự như lệnh array

Hàng từ trái -> phải : khoảng cách hàng >0

Hàng từ phải -> trái : khoảng cách hàng < 0

 

Cột từ dưới lên trên : khoảng cách cột >0

Cột từ trên xuống dưới : khoảng cách cột <0

 

Mong là bạn hiểu.

Tue_NV upload file Lisp này có chỉnh sửa theo ý bạn

Tên lệnh dsbv

http://www.cadviet.com/upfiles/dsbv_1.vlx

Bác Tue_NV à, cảm ơn bác nhiều nhé, lisp này đúng là hết ý rùi, thế này từ nay việc đánh số bản vẽ sẽ nhàn lắm :lol2:

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

các pro giúp em cái lisp như sau:

em có các file cad người ta chuyển nhưng text của nó máy em ko có nên ko đọc đc

yêu cầu:lisp...>chọn text...>đổi sang phông vn-times mà ko bị lỗ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
Bạn đã đọc kỹ chưa?

Tue_NV nói là cách thức của nó hoạt động tương tự như lệnh array

Hàng từ trái -> phải : khoảng cách hàng >0

Hàng từ phải -> trái : khoảng cách hàng < 0

 

Cột từ dưới lên trên : khoảng cách cột >0

Cột từ trên xuống dưới : khoảng cách cột <0

 

Mong là bạn hiểu.

Tue_NV upload file Lisp này có chỉnh sửa theo ý bạn

Tên lệnh dsbv

http://www.cadviet.com/upfiles/dsbv_1.vlx

LISP đánh số bản vẽ của bác Tuệ rất hay, có thể đánh số hàng loạt tất cả các bản vẽ. Tuy nhiên, để sử dụng hiệu quả thì bản thân mỗi người sử dụng phải sáng tạo một chút. Ví dụ, bạn muốn bản vẽ được đánh số kiểu 1/36, 2/36, ...,36/36 thay vì "Bản vẽ số: 1/36" thì chỉ cần cùng lệnh Find thay thế "Bản vẽ số:" bằng "" là xong ngay. Hay bạn muốn đánh số kiểu BVTC/QL6/TN/1/36 cũng dùng lệnh Find để thay thế "Bản vẽ số:" bằng "BVTC/QL6/TN/".

Hơn nữa, trước khi sử dụng bạn phải gán textstyle và chiều cao chữ như mong muốn.

Trong quá trình chạy lệnh, điểm chèn phải được chọn hợp lý.

Cám ơn Mr. Tuệ

 

Em cũng xin đóng góp một lựa chọn khác trong việc đánh số bản vẽ, do em viết.

Chi tiết như sau:

- Tên lệnh: STT

- Tên bản vẽ đầu tiên, người sử dụng phải tự lập (bằng lệnh text chẳng hạn): vị trí của text trong khung tên, cỡ chữ, kiểu prefix,... Ví dụ: "BVTC/QL6/TN/001" thì "BVTC/QL6/TN/" được hiểu là prefix, số chữ số của phần đếm là "001" ---> 3 ký tự

- Chỉ tự động đánh số thứ tự các bản vẽ trên cùng một hàng (tất nhiên các bản vẽ phải cách đều nhau), bản vẽ đầu tiên trong hàng phải được đánh số bằng tay.

- Tự động bù các số "0" vào trước số thứ tự để cho đủ số ký tự quy ước.

- Không thể hiện được tổng số bản vẽ.

Đây là file dịch:

http://www.cadviet.com/upfiles/dsbv_DXQ.vlx

Các bác dùng thử nhé, nếu thấy được thì thanks cái động viên anh em :s_big:

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 kỹ chưa?

Tue_NV nói là cách thức của nó hoạt động tương tự như lệnh array

Hàng từ trái -> phải : khoảng cách hàng >0

Hàng từ phải -> trái : khoảng cách hàng < 0

 

Cột từ dưới lên trên : khoảng cách cột >0

Cột từ trên xuống dưới : khoảng cách cột <0

 

Mong là bạn hiểu.

Tue_NV upload file Lisp này có chỉnh sửa theo ý bạn

Tên lệnh dsbv

http://www.cadviet.com/upfiles/dsbv_1.vlx

bác ưi! em chỉ có thể nhập khoảng cách bằng tay và chọn giá trị âm, vd: -7 thì mới đánh thứ tự theo hàng từ trên xuống được.chứ em chỉ trực tiếp vào bản vẽ hết trái sang phải, trên xuống dưới và ngược lại thì nó cứ đánh thứ tự hàng từ dưới lên trên. bác chỉnh lại cho chuẩn chút được hôk ah? hàng thì phải kích từ trên xuống dưới <0, cột thì phải kích từ trái qua phải >0 và ngược lại thì mới giống array được chứ ah!

Bác sửa xong thì gửi lại cho em nữa na! lisp của bác rất tuyệ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 đã đọc kỹ chưa?

Tue_NV nói là cách thức của nó hoạt động tương tự như lệnh array

Hàng từ trái -> phải : khoảng cách hàng >0

Hàng từ phải -> trái : khoảng cách hàng < 0

 

Cột từ dưới lên trên : khoảng cách cột >0

Cột từ trên xuống dưới : khoảng cách cột <0

 

Mong là bạn hiểu.

Tue_NV upload file Lisp này có chỉnh sửa theo ý bạn

Tên lệnh dsbv

http://www.cadviet.com/upfiles/dsbv_1.vlx

Tự động đánh số thứ tự bản vẽ là cách mà em cũng đang tìm may quá trên diễn đàn cadviet lai có. nhung bác Tue oi sao em kich vào đường linh đó mà không dowload được cái lip ấy. chỉ thấy xuất hiện một file tiếng gi ấy. bác có thể upload cái lips ấy lên được ko. cảm ơn bác nha

  • 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
Bạn đã đọc kỹ chưa?

Tue_NV nói là cách thức của nó hoạt động tương tự như lệnh array

Hàng từ trái -> phải : khoảng cách hàng >0

Hàng từ phải -> trái : khoảng cách hàng < 0

 

Cột từ dưới lên trên : khoảng cách cột >0

Cột từ trên xuống dưới : khoảng cách cột <0

 

Mong là bạn hiểu.

Tue_NV upload file Lisp này có chỉnh sửa theo ý bạn

Tên lệnh dsbv

http://www.cadviet.com/upfiles/dsbv_1.vlx

Rất cảm ơn bạn nhưng nếu bản vẽ chỉ có 1 cột thì nó không hiểu. Mong bạn sửa giúp lỗi này.

  • 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

Mình có ý này:

Mình có 1 ký hiệu bản vẽ như: KT: 01/30 mà mình muốn copy sang 1 đối tượng khác nó tự chuyển thành KT: 02/30

làm như vậy mình có thể kiểm tra được bản vẽ.

Các Pro nào có lisp đó ko?? cho mình xin vớ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
Mình có ý này:

Mình có 1 ký hiệu bản vẽ như: KT: 01/30 mà mình muốn copy sang 1 đối tượng khác nó tự chuyển thành KT: 02/30

làm như vậy mình có thể kiểm tra được bản vẽ.

Các Pro nào có lisp đó ko?? cho mình xin với.

Vì trong block khung tên có nhiều attribute khác nhau nên bạn up file khung tên của bạn lên đây anh em trên diễn đàn sẽ viết code giúp bạn.

  • 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
Vì trong block khung tên có nhiều attribute khác nhau nên bạn up file khung tên của bạn lên đây anh em trên diễn đàn sẽ viết code giúp bạn.

Cám on ban đã tra loi câu hỏi cua mình. Nhưng ý của mình ở đây là:

+ Chỉ copy cái Text như sau: KT: 01/30 thành KT: 02/30. hoàn toàn không nằm trong block ATT.

rất mong nhận duoc ý kiến trả lời từ bạn và các Pro trên diễn đà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
Cám on ban đã tra loi câu hỏi cua mình. Nhưng ý của mình ở đây là:

+ Chỉ copy cái Text như sau: KT: 01/30 thành KT: 02/30. hoàn toàn không nằm trong block ATT.

rất mong nhận duoc ý kiến trả lời từ bạn và các Pro trên diễn đàn

Bạn chịu khó tìm kiếm một chút trên diễn đàn là có, Ngồi chờ vừa lâu mà vừa chưa chắc đã có lisp hay hơn cái có sẵn bạ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
Bạn chịu khó tìm kiếm một chút trên diễn đàn là có, Ngồi chờ vừa lâu mà vừa chưa chắc đã có lisp hay hơn cái có sẵn bạn à.

Mình đã tìm rồi.nhưng vẫn không thấy nếu ban 'phamthanhbinh' biết thì chỉ dùm mình cái dường dẫn.Cám on bạn Bình 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
Bạn chịu khó tìm kiếm một chút trên diễn đàn là có, Ngồi chờ vừa lâu mà vừa chưa chắc đã có lisp hay hơn cái có sẵn bạn à.

Mình đã tìm rồi.nhưng vẫn không thấy nếu ban 'phamthanhbinh' biết thì chỉ dùm mình cái dường dẫn.Cám on bạn Bình 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 đã tìm rồi.nhưng vẫn không thấy nếu ban 'phamthanhbinh' biết thì chỉ dùm mình cái dường dẫn.Cám on bạn Bình nhiều.

antony có thể sử dụng Lisp shbv của Tue_NV ở đây :

Lisp shbv - Bài viết số 464

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
Rất cảm ơn bạn nhưng nếu bản vẽ chỉ có 1 cột thì nó không hiểu. Mong bạn sửa giúp lỗi này.

tại sao mình nhấp vào đường link mà không thấy gì hết vậy, mong bạn cho lại đường link mớ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

Chắc ý bác ấy là lisp này,bạn dùng thử xem sao rồi lại càm men tiếp nhé :undecided:

 

;; free lisp from cadviet.com

;; copyright by Tue_NV
(defun c:shbv(/ dau tong po po1 ent i pre cao)
(prompt "\n Danh so hieu ban ve dang n/m ")
(setvar "cmdecho" 0)

(command "style" "CADVIET" "Vhelven.TTF" "2" "1" "0" "n" "n")
(if (not caoo) (setq caoo 2))
(setq cao (getreal (strcat "\n Nhap chieu cao chu :")))
(if (not cao) (setq cao caoo) (setq caoo cao))

(setq pre ": ")
(wtxt pre '(0 0 0))
(command "ddedit" (entlast) "") 
(setq pre (cdr(assoc 1 (entget(entlast)))))
(entdel (entlast))
(setq dau (getint "\n Danh so bat dau (n):"))
(setq tong (getint "\n Danh so tong (m):") i 1)

(setq po (getpoint 
(strcat "\n Cho diem chen cua so: " (if ((wtxt (strcat (if (
(Repeat (- tong dau)
(setq po1 (getpoint po 
(strcat "\n Cho diem chen cua so: " (if (
(command "copy" "L" "" po po1) 
(setq ent (entget(entlast)))
(setq ent 
(subst 
(cons 1 (strcat (if ((entmod ent)
(setq i (1+ i))
(setq po po1)
)
(princ)
)
;
(defun wtxt (txt p / sty d h)
(setq sty (getvar "textstyle")
d (tblsearch "style" sty)
h (cdr (assoc 40 d)))
(entmake (list (cons 0 "TEXT") (cons 7 sty) (cons 1 txt) (cons 10 p) (cons 11 p) 
(cons 72 1) (cons 73 2)
(if (> h 0) (cons 40 h) (assoc 40 d)) (assoc 41 d))
)
)

  • 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

Bác ơi , cái này cho kết quả (vd) 01/5. Bác có thể sửa lại chút xíu thành 01/05 được không ạ (05: tổng số bản vẽ). Cảm ơn 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

OK, mình update giúp bạn đây, hy vọng bạn vừa ý

;; free lisp from cadviet.com : ketxu update from @Tue_NV
(defun c:shbv(/ dau tong po po1 ent i pre sotong)
(prompt "\n Danh so hieu ban ve dang n/m ")
(setvar "cmdecho" 0)
(setq pre ": ")
(wtxt pre '(0 0 0))
(command "ddedit" (entlast) "") 
(setq pre (cdr(assoc 1 (entget(entlast)))))
;(setq pre (strcat pre ": "))
(entdel (entlast))
(setq dau (getint "\n Danh so bat dau (n):"))
(setq tong (getint "\n Danh so tong (m):") i 1)
(if ((setq po (getpoint 
(strcat "\n Cho diem chen cua so: " (if ((wtxt (strcat (if (
(Repeat (- tong dau)
(setq po1 (getpoint po 
(strcat "\n Cho diem chen cua so: " (if (
(command "copy" "L" "" po po1) 
(setq ent (entget(entlast)))
(setq ent 
(subst 
(cons 1 (strcat (if ((entmod ent)
(setq i (1+ i))
(setq po po1)
)
(princ)
)
;
(defun wtxt(txt p / sty d h1 h2 wf h) ;;;Write txt on graphic screen at p
(setq    sty (getvar "textstyle")    
d (tblsearch "style" sty)    
h1 (cdr (assoc 40 d))    
h2 (cdr (assoc 42 d))    
wf (cdr (assoc 41 d)))
(if (> h1 0) (setq h h1) (setq h h2))
(entmake (list (cons 0 "TEXT") (cons 7 sty) (cons 40 h) (cons 41 wf)(cons 72 4)(cons 11 p) (cons 1 txt) (cons 10 p))))

  • Vote tăng 3

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


×