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

[yêu cầu] Lisp đổi tên hàng loạt Layouts!

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

Mình xin mọi người chỉ cách nào để đổi tên hàng loạt các Layouts trong bản vẽ cad. Các Layouts sẽ được đổi tên thành 1,2,3,4,5.... Chứ ngồi rename từng Layout thì tốn thời gian quá. (không phân biệt Layout cũ hay layout mới tạo, tên các Layout trước đó là gì không quan tâm, các Layout sẽ được đổi tên thành 1,2,3... từ trái qua phải).. Hy vọng nhận ý kiến của mọi ngườ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

Lisp đổi tên tất cả layout thành các số nguyên từ 1 đến n.


 

;Doan Van Ha - CADViet.com - Ngay 25/5/2013
;Chuc nang: Thay doi ten tat ca layout, tu 1->2->3...n
(defun C:HA ( / i)
 (setq i 0)
 (vlax-for obj (vla-get-layouts (vla-get-ActiveDocument (vlax-get-acad-object)))
  (if (not (eq (vla-get-name obj) "Model")) (vla-put-name obj (itoa (setq i (1+ i)))))
  (vlax-release-object obj))
 (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

Cảm ơn Anh Hà... nhưng em thấy vẫn còn có lỗi như sau:

1. Nếu như bản vẽ đã đổi tên layout thành 1,2,3,4... mà sau đó nếu xoá 1 layout bất kỳ ( ví dụ xoá Layout 3) sử dụng lisp thì báo lỗi "Layout Already exists" không thể đổi tên lại từ đầu.

2. Nếu mở một bản vẽ mới có 2 layout: Layout1, Layout2. Sau đó Copy 2 cái này thành Layout1, Layout2, Layout1(1), Layout2(1) thì sau khi đổi tên nó thành như thế này 1,3,2,4... không theo thứ tự từ trái qua phải.

Mong Anh xem lại. ( KHÔNG PHÂN BIỆT TÊN TRƯỚC ĐÓ LÀ GÌ, TÊN ĐƯỢC ĐỔI THEO THỨ TỰ TỪ TRÁI QUA PHẢ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

Sửa lại 2 lỗi trên đây!


 

(defun C:HA(/ acdoc aclay actab i)
 (vl-load-com)
 (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))
       actab (strcase (getvar 'CTAB)))
 (vlax-for l (vla-get-layouts acdoc)
  (if (not (eq actab (strcase (vla-get-name l))))
   (setq aclay (cons (cons (vla-get-name l) l) aclay))))
 (setq aclay (vl-sort aclay (function (lambda(a b) (< (vla-get-taborder (cdr a)) (vla-get-taborder (cdr b)))))))
 (setq i 100000000)
 (foreach n aclay
  (vla-put-name (cdr n) (itoa (setq i (1+ i))))
  (vlax-release-object (cdr n)))
 (setq aclay nil)
 (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))
       actab (strcase (getvar 'CTAB)))
 (vlax-for l (vla-get-layouts acdoc)
  (if (not (eq actab (strcase (vla-get-name l))))
   (setq aclay (cons (cons (vla-get-name l) l) aclay))))
 (setq aclay (vl-sort aclay (function (lambda(a b) (< (vla-get-taborder (cdr a)) (vla-get-taborder (cdr b)))))))
 (setq i 0)
 (foreach n aclay
  (vla-put-name (cdr n) (itoa (setq i (1+ i))))
  (vlax-release-object (cdr n))))
  • 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

 cám ơn anh vi líp a da viet . vấn đề e dang vuong là sau khi  e doi ten lai toàn bộ bv  tren layout nhu líp a viet, e muon nhờ a phat trien thêm  , tao them tiền tố mới  cho layout , ví du nhu hình e đính kèm : laypout 1 , 2 , 3 , 4.... e muốn them ma code  bv hoang loat tren layout vi dụ  gen-01 , gen-02 , gen-03... theo cap so tiến thi e phai lam sao..!? nhờ a chỉ giup với em dang cần, cam ơn anh nhieui nhieu  

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

Lisp đổi tên tất cả layout thành các số nguyên từ 1 đến n và thêm tiền tố chung.

;Doan Van Ha - CADViet.com - Ngay 04/12/2014
;Chuc nang: Thay doi ten tat ca layouts va them tien to, tu: HA-1->HA--2->HA-3...HA-n
(defun C:HA2(/ acdoc aclay actab i)
 (vl-load-com)
 (setq tto (getstring "\nTien to chung cua cac layouts: ")) 
 (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))
       actab (strcase (getvar 'CTAB)))
 (vlax-for l (vla-get-layouts acdoc)
  (if (not (eq actab (strcase (vla-get-name l))))
   (setq aclay (cons (cons (vla-get-name l) l) aclay))))
 (setq aclay (vl-sort aclay '(lambda(a b) (< (vla-get-taborder (cdr a)) (vla-get-taborder (cdr b))))))
 (setq i 100000000)
 (foreach n aclay
  (vla-put-name (cdr n) (itoa (setq i (1+ i))))
  (vlax-release-object (cdr n)))
 (setq aclay nil)
 (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))
       actab (strcase (getvar 'CTAB)))
 (vlax-for l (vla-get-layouts acdoc)
  (if (not (eq actab (strcase (vla-get-name l))))
   (setq aclay (cons (cons (vla-get-name l) l) aclay))))
 (setq aclay (vl-sort aclay '(lambda(a b) (< (vla-get-taborder (cdr a)) (vla-get-taborder (cdr b))))))
 (setq i 0)
 (foreach n aclay
  (vla-put-name (cdr n) (strcat tto (itoa (setq i (1+ i)))))
  (vlax-release-object (cdr n)))
 (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

 

Lisp đổi tên tất cả layout thành các số nguyên từ 1 đến n và thêm tiền tố chung.

 

;Doan Van Ha - CADViet.com - Ngay 04/12/2014
;Chuc nang: Thay doi ten tat ca layouts va them tien to, tu: HA-1->HA--2->HA-3...HA-n
(defun C:HA2(/ acdoc aclay actab i)
 (vl-load-com)
 (setq tto (getstring "\nTien to chung cua cac layouts: ")) 
 (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))
       actab (strcase (getvar 'CTAB)))
 (vlax-for l (vla-get-layouts acdoc)
  (if (not (eq actab (strcase (vla-get-name l))))
   (setq aclay (cons (cons (vla-get-name l) l) aclay))))
 (setq aclay (vl-sort aclay '(lambda(a b) (< (vla-get-taborder (cdr a)) (vla-get-taborder (cdr b))))))
 (setq i 100000000)
 (foreach n aclay
  (vla-put-name (cdr n) (itoa (setq i (1+ i))))
  (vlax-release-object (cdr n)))
 (setq aclay nil)
 (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))
       actab (strcase (getvar 'CTAB)))
 (vlax-for l (vla-get-layouts acdoc)
  (if (not (eq actab (strcase (vla-get-name l))))
   (setq aclay (cons (cons (vla-get-name l) l) aclay))))
 (setq aclay (vl-sort aclay '(lambda(a b) (< (vla-get-taborder (cdr a)) (vla-get-taborder (cdr b))))))
 (setq i 0)
 (foreach n aclay
  (vla-put-name (cdr n) (strcat tto (itoa (setq i (1+ i)))))
  (vlax-release-object (cdr n)))
 (princ))
 
 

Bác bổ sung thêm 1 số ràng buộc để Lisp chạy ngon hơn.

 1. Nhắc user chuyển qua Model trước khi gọi Lisp (bị lỗi khi đang ở Layout)

 2. Kiểm tra Tiền tố hợp lệ với SnValid (tránh t/h user nhập các kí tự đặc biệt )

 3. Hiếm có, nhưng vẫn có thể xảy ra t/hợp tồn tại 1 Layout có tên là số 1 trăm triệu lẻ ....

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

Lisp của Doanvanha (HA2) rất ok...nhưng nhờ pac sửa or cho thêm 1 tùy chọn nữa

 

VD:mình muốn đổi tên Layout SR-307A thành SR-308 đến vô cùng nhưng khi dùng lisp HA2 thì gõ SR-308 thì nó lại cộng 1 tăng dần ==> SR-3081, SR-3082,...

 

Trong khi mình muốn gõ SR-308 thì nó sẽ tăng dần là SR-309, SR-310,...

 

cảm ơn các pac nhì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

 

Lisp đổi tên tất cả layout thành các số nguyên từ 1 đến n và thêm tiền tố chung.

;Doan Van Ha - CADViet.com - Ngay 04/12/2014
;Chuc nang: Thay doi ten tat ca layouts va them tien to, tu: HA-1->HA--2->HA-3...HA-n
(defun C:HA2(/ acdoc aclay actab i)
 (vl-load-com)
 (setq tto (getstring "\nTien to chung cua cac layouts: ")) 
 (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))
       actab (strcase (getvar 'CTAB)))
 (vlax-for l (vla-get-layouts acdoc)
  (if (not (eq actab (strcase (vla-get-name l))))
   (setq aclay (cons (cons (vla-get-name l) l) aclay))))
 (setq aclay (vl-sort aclay '(lambda(a b) (< (vla-get-taborder (cdr a)) (vla-get-taborder (cdr b))))))
 (setq i 100000000)
 (foreach n aclay
  (vla-put-name (cdr n) (itoa (setq i (1+ i))))
  (vlax-release-object (cdr n)))
 (setq aclay nil)
 (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))
       actab (strcase (getvar 'CTAB)))
 (vlax-for l (vla-get-layouts acdoc)
  (if (not (eq actab (strcase (vla-get-name l))))
   (setq aclay (cons (cons (vla-get-name l) l) aclay))))
 (setq aclay (vl-sort aclay '(lambda(a b) (< (vla-get-taborder (cdr a)) (vla-get-taborder (cdr b))))))
 (setq i 0)
 (foreach n aclay
  (vla-put-name (cdr n) (strcat tto (itoa (setq i (1+ i)))))
  (vlax-release-object (cdr n)))
 (princ))
 
 

Lisp của Doanvanha (HA2) rất ok...nhưng nhờ pac sửa or cho thêm 1 tùy chọn nữa

 

VD:mình muốn đổi tên Layout SR-307A thành SR-308 đến vô cùng nhưng khi dùng lisp HA2 thì gõ SR-308 thì nó lại cộng 1 tăng dần ==> SR-3081, SR-3082,...

 

Trong khi mình muốn gõ SR-308 thì nó sẽ tăng dần là SR-309, SR-310,...

 

cảm ơn các pac nhì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

 

Lisp của Doanvanha (HA2) rất ok...nhưng nhờ pac sửa or cho thêm 1 tùy chọn nữa

 

VD:mình muốn đổi tên Layout SR-307A thành SR-308 đến vô cùng nhưng khi dùng lisp HA2 thì gõ SR-308 thì nó lại cộng 1 tăng dần ==> SR-3081, SR-3082,...

 

Trong khi mình muốn gõ SR-308 thì nó sẽ tăng dần là SR-309, SR-310,...

 

cảm ơn các pac nhìu

 

Bạn có thể sửa dòng (setq i 0) thành (setq i 7) và đặt tiền tố là SR-30

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ể sửa dòng (setq i 0) thành (setq i 7) và đặt tiền tố là SR-30

cảm ơn bạn PHAPLUONG. mình k rành về vba nên k biết đặt tiền tố là như thế nào.

 

Bạn có thể sửa dùm mình đc k? với yêu cầu đưa ra là; khi mình nhập 1 thì tên Layout sẽ tăng thêm 1, Tức là: khi mình gõ 1 thì Tên layout sẽ là 2,3,4,... nếu nhập 5 thì sẽ tăng là 6,7,..

.Nếu có thêm chữ đằng trước Số thì nó vẫn tăng thêm 1 giống vy (gõ SR-1 thì tên Layout sẽ thay đổi là SR-2, SR-3, ...Và SR-308 thì sẽ tăng thêm 1 là SR-309, SR-310, SR-311, ....)

 

Hiện tại Lisp này đã ok chỉ cần chỉnh lại là hoàn hảo (Hiện tại lisp này nếu gõ 1 thì sẽ là 11,12,13,.. và chữ là SR-300 thì sẽ là SR-3001, SR-3002,..Bạn lưu ý số tô đậm màu đỏ)

cảm ơn pan.

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 ơn bạn PHAPLUONG. mình k rành về vba nên k biết đặt tiền tố là như thế nào.

 

Bạn có thể sửa dùm mình đc k? với yêu cầu đưa ra là; khi mình nhập 1 thì tên Layout sẽ tăng thêm 1, Tức là: khi mình gõ 1 thì Tên layout sẽ là 2,3,4,... nếu nhập 5 thì sẽ tăng là 6,7,..

.Nếu có thêm chữ đằng trước Số thì nó vẫn tăng thêm 1 giống vy (gõ SR-1 thì tên Layout sẽ thay đổi là SR-2, SR-3, ...Và SR-308 thì sẽ tăng thêm 1 là SR-309, SR-310, SR-311, ....)

 

Hiện tại Lisp này đã ok chỉ cần chỉnh lại là hoàn hảo (Hiện tại lisp này nếu gõ 1 thì sẽ là 11,12,13,.. và chữ là SR-300 thì sẽ là SR-3001, SR-3002,..Bạn lưu ý số tô đậm màu đỏ)

cảm ơn pan.

 

Của bạn đây, mình đã sửa lại thành thêm bước nhập vào số muôn bắt đầu, bạn xem được chưa

 

 

http://www.cadviet.com/upfiles/7/155104_rename_layout_1.lsp

  • 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

Của bạn đây, mình đã sửa lại thành thêm bước nhập vào số muôn bắt đầu, bạn xem được chưa

 

 

http://www.cadviet.com/upfiles/7/155104_rename_layout_1.lsp

Cảm ơn bạn Phapluong nhìu nha!...file Lisp hiệu chỉnh của bạn thật hoàn hảo...các bạn nào thường dàn layout thì nên load lisp về..rất ok 

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

Xin Khẩn!!

Xin lisp chuyển Text Att đã bị explode (chứ không phải dùng lệnh Burst) Thành Text thường

Giải thích thêm Text ATT đã đc tạo block, Có 2 trường hợp explode:

1- Text Att bị Explode bằng lệnh EX thì text này không còn là text thường nữa. VD: ta dùng lisp đánh số thứ tự cho text att này thì số không tăng dần đc

2- Text Att bị Explode bằng lệnh Burst thì text thường. VD: ta dùng lisp đánh số thứ tự cho text att này thì số tăng dần đc

Xin cảm ơn các anh chị diễn đàn cho xin lisp sớm.

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 ơn bạn Phapluong nhìu nha!...file Lisp hiệu chỉnh của bạn thật hoàn hảo...các bạn nào thường dàn layout thì nên load lisp về..rấtm

Mình chỉ chỉnh sửa lại lisp của bác Hà thôi, cái này đơn giản. Trình độ mình cũng chỉ có hạn thôi, còn chưa viết được lisp nào 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

Mình chỉ chỉnh sửa lại lisp của bác Hà thôi, cái này đơn giản. Trình độ mình cũng chỉ có hạn thôi, còn chưa viết được lisp nào cơ

Dù sao cũng cảm ơn bạn Phapluong đã sửa lisp đổi tên layout...

Các bạn nào biết thì sửa giúp mình với nhé! vì trường hợp này cũng bị nhìu nhưng chưa có ai viết Lisp để sửa đ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
(defun c:AttDef2Text ( / ss )
  ;; © Lee Mac  ~  01.06.10
  (vl-load-com)

  (if (setq ss (ssget "_:L" '((0 . "ATTDEF"))))
    (
      (lambda ( i / e o )
        (while (setq e (ssname ss (setq i (1+ i))))
          (if
            (
              (if (and (vlax-property-available-p
                         (setq o (vlax-ename->vla-object e)) 'MTextAttribute)
                       (eq :vlax-true (vla-get-MTextAttribute o)))

                MAttDef2MText AttDef2Text
              )
              (entget e)
            )
            (entdel e)
          )
        )
      )
      -1
    )
  )
  (princ)
)

(defun AttDef2Text ( eLst / dx74 dx2 )
  ;; © Lee Mac  ~  01.06.10

  (setq dx74 (cdr (assoc 74 eLst)) dx2 (cdr (assoc 2 eLst)))

  (entmake
    (append '( (0 . "TEXT") ) (RemovePairs '(0 100 1 2 3 73 74 70 280) eLst)
      (list
        (cons 73 dx74)
        (cons  1  dx2)
      )
    )
  )
)

(defun MAttDef2MText ( eLst )
  ;; © Lee Mac  ~  01.06.10

  (entmake
    (append '( (0 . "MTEXT") (100 . "AcDbEntity") (100 . "AcDbMText") )
      (RemoveFirstPairs '(40 50 41 7 71 72 71 72 73 10 11 11 210)
        (RemovePairs '(-1 102 330 360 5 0 100 101 1 2 3 42 43 51 74 70 280) eLst)
      )
      (list (cons 1 (cdr (assoc 2 eLst))))
    )
  )
)

(defun RemoveFirstPairs ( pairs lst )
  ;; © Lee Mac

  (defun foo ( pair lst )
    (if lst
      (if (eq pair (caar lst))
        (cdr lst)
        (cons (car lst) (foo pair (cdr lst)))
      )
    )
  )

  (foreach pair pairs
    (setq lst (foo pair lst))
  )
  lst
)


(defun RemovePairs ( pairs lst )
  ;; © Lee Mac
  (vl-remove-if
    (function
      (lambda ( pair )
        (vl-position (car pair) pairs)
      )
    )
    lst
  )
)

Gửi bác VanHoa

  • 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
(defun c:AttDef2Text ( / ss )
  ;; © Lee Mac  ~  01.06.10
  (vl-load-com)

  (if (setq ss (ssget "_:L" '((0 . "ATTDEF"))))
    (
      (lambda ( i / e o )
        (while (setq e (ssname ss (setq i (1+ i))))
          (if
            (
              (if (and (vlax-property-available-p
                         (setq o (vlax-ename->vla-object e)) 'MTextAttribute)
                       (eq :vlax-true (vla-get-MTextAttribute o)))

                MAttDef2MText AttDef2Text
              )
              (entget e)
            )
            (entdel e)
          )
        )
      )
      -1
    )
  )
  (princ)
)

(defun AttDef2Text ( eLst / dx74 dx2 )
  ;; © Lee Mac  ~  01.06.10

  (setq dx74 (cdr (assoc 74 eLst)) dx2 (cdr (assoc 2 eLst)))

  (entmake
    (append '( (0 . "TEXT") ) (RemovePairs '(0 100 1 2 3 73 74 70 280) eLst)
      (list
        (cons 73 dx74)
        (cons  1  dx2)
      )
    )
  )
)

(defun MAttDef2MText ( eLst )
  ;; © Lee Mac  ~  01.06.10

  (entmake
    (append '( (0 . "MTEXT") (100 . "AcDbEntity") (100 . "AcDbMText") )
      (RemoveFirstPairs '(40 50 41 7 71 72 71 72 73 10 11 11 210)
        (RemovePairs '(-1 102 330 360 5 0 100 101 1 2 3 42 43 51 74 70 280) eLst)
      )
      (list (cons 1 (cdr (assoc 2 eLst))))
    )
  )
)

(defun RemoveFirstPairs ( pairs lst )
  ;; © Lee Mac

  (defun foo ( pair lst )
    (if lst
      (if (eq pair (caar lst))
        (cdr lst)
        (cons (car lst) (foo pair (cdr lst)))
      )
    )
  )

  (foreach pair pairs
    (setq lst (foo pair lst))
  )
  lst
)


(defun RemovePairs ( pairs lst )
  ;; © Lee Mac
  (vl-remove-if
    (function
      (lambda ( pair )
        (vl-position (car pair) pairs)
      )
    )
    lst
  )
)

Gửi bác VanHoa

 

Cảm ơn Bạn Dinhvantrang rất nhiều...Lisp của bạn đã xử lý đc Text Att bị Exploxe...

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

Xin Lisp in Layout giống Publish trong cad.

Chuyện là vầy: có 1 số trường hợp xảy ra mà mình k bit lý do vì đâu mà như thế này?

 

1- Hình 1: Nếu In cùng Khổ giấy-Máyin-Nét in thì in Publish ra 1 file tổng (chọn Multi-sheet file) bình thường

 

79588_1_2.png

 

2- Hình 1: Nếu In cùng Khổ giấy-Máyin-Khác Nét in thì in Publish ra từng file rời 1 (mặc dù vẫn chọn Multi-sheet file)

 

79588_2.png

 

Nhờ các Bạn trên Diễn đàn viết Lisp giúp...Mình cũng lên tìm lisp nhưng k có lisp nào xử lý đc trường hợp này (cũng có thể tùy acad và tùy máy--> nhưng nếu có lisp thì xem như giải quyết được tất cả)

thanks!

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

Xin Lisp in Layout giống Publish trong cad.

Chuyện là vầy: có 1 số trường hợp xảy ra mà mình k bit lý do vì đâu mà như thế này?

 

1- Hình 1: Nếu In cùng Khổ giấy-Máyin-Nét in thì in Publish ra 1 file tổng (chọn Multi-sheet file) bình thường

 

79588_1_2.png

 

2- Hình 1: Nếu In cùng Khổ giấy-Máyin-Khác Nét in thì in Publish ra từng file rời 1 (mặc dù vẫn chọn Multi-sheet file)

 

79588_2.png

 

Nhờ các Bạn trên Diễn đàn viết Lisp giúp...Mình cũng lên tìm lisp nhưng k có lisp nào xử lý đc trường hợp này (cũng có thể tùy acad và tùy máy--> nhưng nếu có lisp thì xem như giải quyết được tất cả)

thanks!

Cái này là vận dụng in thông minh hơn thôi cần gì lisp. In làm 2 lần với mỗi lần là những file cùng nét in. Nhanh gấp trăm lần ngồi viết lisp 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

Cái này là vận dụng in thông minh hơn thôi cần gì lisp. In làm 2 lần với mỗi lần là những file cùng nét in. Nhanh gấp trăm lần ngồi viết lisp mới. ^_^

Hình ảnh trên là mình liệt kê ví dụ đơn giản cho các bạn dễ hình dung thôi...còn list danh sách nó bị so le chứ k phải file thẳng hàng như bạn nghĩ...Mình in hàng trăm Layout nhưng trong đó có 1 số file layout nằm so le ở giữa những cái đó...cho nên k thể chia ra in thành nhìu đợt rồi lại phải ngồi ghép file 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

Hình ảnh trên là mình liệt kê ví dụ đơn giản cho các bạn dễ hình dung thôi...còn list danh sách nó bị so le chứ k phải file thẳng hàng như bạn nghĩ...Mình in hàng trăm Layout nhưng trong đó có 1 số file layout nằm so le ở giữa những cái đó...cho nên k thể chia ra in thành nhìu đợt rồi lại phải ngồi ghép file lại...

Nếu phức tạp thế thì khi làm bắt người vẽ phải theo hệ thống. Đặt Page Setup chuẩn cho từng layout khi vẽ. Chứ vẽ thì nháo nhào linh tinh không setup cẩn thận từng layout rồi vất vả khi hoàn thiện in ấn. Cái này là do hệ thống vận hành chưa chuẩn thôi. Đặt page setup chuẩn thì khi in chỉ cần đặt mặc định defaul thì khác nét in cũng chẳng 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

Nếu phức tạp thế thì khi làm bắt người vẽ phải theo hệ thống. Đặt Page Setup chuẩn cho từng layout khi vẽ. Chứ vẽ thì nháo nhào linh tinh không setup cẩn thận từng layout rồi vất vả khi hoàn thiện in ấn. Cái này là do hệ thống vận hành chưa chuẩn thôi. Đặt page setup chuẩn thì khi in chỉ cần đặt mặc định defaul thì khác nét in cũng chẳng sao.

Chào bạn Bee..chuyện bạn nói k ai mà k bit cả...n ta đã dùng publish để in bv là bạn đã hiểu rồi...Trường hợp mình đưa ra ở trên là câu chuyện dài tập..vì soft. acad hay các soft. khác k thể hoàn hảo và k phải là không có lỗi và lỗi thì muôn màu muôn vẽ...Mình xin Lisp các bạn trên diễn đàn là để khắc phục lỗi...mình đã lv với acad trên 10 năm rồi. Nên đôi lúc cũng có ít bạn bit lỗi này.

Mong các Bạn viết lisp này giúp..mình cảm ơn nhì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
Vào lúc 23/7/2017 tại 09:49, PHAPLUONG đã nói:

Bạn có thể sửa dòng (setq i 0) thành (setq i 7) và đặt tiền tố là SR-30

 

Vào lúc 24/7/2017 tại 16:19, PHAPLUONG đã nói:

Của bạn đây, mình đã sửa lại thành thêm bước nhập vào số muôn bắt đầu, bạn xem được chưa

 

 

http://www.cadviet.com/upfiles/7/155104_rename_layout_1.lsp

Lisp của Doanvanha (HA2) rất ok...nhưng nhờ các Anh sửa or cho thêm 1 tùy chọn nữa giúp mình:

 

VD: mình có 18 layout từ Layout LAY-ELV- 1 đến  LAY-ELV- 18 minh muốn chuyển thành LAY-ELV- 01, LAY-ELV- 02LAY-ELV- 0 đến LAY-ELV- 09 có nghĩa là dưới 10 layout thì có số 0 phía trước , từ layout 10 thì không có số không nữa.  nhưng khi dùng lisp HA2  thì nó lại cộng 1 tăng dần ==>LAY-ELV- 1, LAY-ELV- 2, LAY-ELV- 3...LAY-ELV- 18.

Xin cảm ơn các anh chị 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

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  

×