Đến nội dung


Hình ảnh
- - - - -

có list nào copy tăng dần với block ATT ko?


  • Please log in to reply
11 replies to this topic

#1 oizdoi_oi

oizdoi_oi

    biết dimlinear

  • Members
  • PipPipPipPipPip
  • 306 Bài viết
Điểm đánh giá: 452 (tốt)

Đã gửi 25 November 2008 - 09:29 AM

có bác nào có lít copy tăng cho với cả block ATT ko,? nếu có cho mình với nhé thank! hoặc nếu chưa có thì rất mong các cao thủ lit viết cho cai này nhe
hình dưói được tạo bằng block ATT

Hình đã gửi
  • 0
KTS không bao giờ chết đói...mà chỉ đói đến lúc chết!

#2 tranchan

tranchan

    biết lệnh break

  • Members
  • PipPipPipPip
  • 221 Bài viết
Điểm đánh giá: 93 (tàm tạm)

Đã gửi 27 November 2008 - 05:19 PM

có bác nào có lít copy tăng cho với cả block ATT ko?...


Thực ra , tôi nghĩ nếu oizdoi_oi viết ra lisp copy thay đổi giá trị đến 1000 thì vấn đề đó cũng ko khó lắm. Ở đây có nhiều đại ca làm đc chiêu đó... cứ xem mục test dầm của Nothien là biết ... nhưng tôi cũng chán giữ của riêng để xài rồi nên share file nay cho anh e xài thử.... Anh e có thể vào trang gốc của nó để lấy mã nguồn còn cái này tôi đã modifie một chút rồi..
Này xài tốt cho cả text lẫn attribute trong block.

Hình đã gửi
Hình đã gửi


renumber.dvb
load lên bằng lệnh appload, để thực hiện nhấn alt+F8

Hình đã gửi
  • 0

#3 oizdoi_oi

oizdoi_oi

    biết dimlinear

  • Members
  • PipPipPipPipPip
  • 306 Bài viết
Điểm đánh giá: 452 (tốt)

Đã gửi 01 December 2008 - 01:30 PM

cái này phải chọn từng cái một lâu lắm, nếu chọn cả thì nó lại đánh thứ tự từ phải sang trái, bạn có cách nào chọn toàn bộ mà nó đánh số từ trái sang phải không?
cám ơn bạn nhé
  • 0
KTS không bao giờ chết đói...mà chỉ đói đến lúc chết!

#4 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 01 December 2008 - 02:11 PM

cái này phải chọn từng cái một lâu lắm, nếu chọn cả thì nó lại đánh thứ tự từ phải sang trái, bạn có cách nào chọn toàn bộ mà nó đánh số từ trái sang phải không?
cám ơn bạn nhé

Ở dòng Select Object : Bạn nhập F (Fence), kéo một đường từ trái qua phải, lập tức nó đánh số từ trái sang phải liền.
  • 1

#5 oizdoi_oi

oizdoi_oi

    biết dimlinear

  • Members
  • PipPipPipPipPip
  • 306 Bài viết
Điểm đánh giá: 452 (tốt)

Đã gửi 01 December 2008 - 02:43 PM

Ở dòng Select Object : Bạn nhập F (Fence), kéo một đường từ trái qua phải, lập tức nó đánh số từ trái sang phải liền.

OK OK thank ngon roi
  • 0
KTS không bao giờ chết đói...mà chỉ đói đến lúc chết!

#6 ssg

ssg

    biết lệnh adcenter

  • Vip
  • PipPipPipPipPipPipPip
  • 1228 Bài viết
Điểm đánh giá: 1087 (rất tốt)

Đã gửi 01 December 2008 - 04:04 PM

có bác nào có lít copy tăng cho với cả block ATT ko,? nếu có cho mình với nhé thank! hoặc nếu chưa có thì rất mong các cao thủ lit viết cho cai này nhe

Bạn dùng thử lisp này. Ssg đã post lên diễn đàn lâu lắm rồi. Riêng phần Att mới bổ sung theo gợi ý của bạn:


;;;**********************************************
;;;CHUONG TRINH DANH SO THU TU VA COPY TANG DAN
;;;1. Lenh OD: danh so thu tu, tuy chon so bat dau (begin) va so gia (increment) tuy y
;;;2. Lenh OC: copy tang dan tu mot so thu tu co san
;;;3. Lenh OCA: copy tang dan voi doi tuong Attribute Block
;;;Chuong trinh chap nhan cac dinh dang bang so, chu, so va chu ket hop:
;;;1, 2... A, B..., A1, A2..., AB-01, AB-02..., AB-01-C1, AB-01-C2...
;;;Cac chu gioi han trong khoang tu A den Z. Cac so khong han che
;;;Copyright by ssg - www.cadviet.com - December 2008
;;;**********************************************


;;;-------------------------------------------------
(defun etype (e) ;;;Entity Type
(cdr (assoc 0 (entget e)))
)
;;;-------------------------------------------------
(defun wtxt (txt p / sty d h) ;;;Write txt on graphic screen, defaul setting
(setq
sty (getvar "textstyle")
d (tblsearch "style" sty)
h (cdr (assoc 40 d))
)
(if (= h 0) (setq h (cdr (assoc 42 d))))
(entmake
(list (cons 0 "TEXT") (cons 7 sty) (cons 1 txt) (cons 10 p) (cons 40 h) (assoc 41 d))
)
)
;;;-------------------------------------------------
(defun incN (n dn / n2 i n1) ;;;Increase number n
(setq
n2 (itoa (+ dn (atoi n)))
i (- (strlen n) (strlen n2))
)
(if (> i 0) (setq n1 (substr n 1 i)) (setq n1 ""))
(strcat n1 n2)
)
;;;-------------------------------------------------
(defun incC (c / i c1 c2) ;;;Increase character c
(setq
i (strlen c)
c1 (substr c 1 (- i 1))
c2 (chr (1+ (ascii (substr c i 1))))
)
(if (or (= c2 "{") (= c2 "["))
(progn (command "erase" (entlast) "") (alert "Over character!") (exit))
(strcat c1 c2)
)
)
;;;============================
(defun C:OD( / cn dn c n p) ;;;Make OrDinal number with any format
(setq
cn (getstring "\nBegin at <1>: " T)
dn (getint "\nIncrement <1>: ")
)
(if (not dn) (setq dn 1))
(if (= cn "") (setq cn "1"))
(setq c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn))
(setq n (vl-string-subst "" c cn))
(if (/= n "") (setq mode 1) (setq mode 0))
(while (setq p (getpoint "\nBase point : "))
(wtxt cn p)
(if (= n "")
(setq cn (incC cn))
(setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))
)
)
(princ)
)
;;;============================
(defun C:OC( / e dn p1 cn c n p2 dat) ;;;Make Ordinal number. Copy from template
(setq
e (car (entsel "\nSelect template text:"))
dn (getint "\nIncrement <1>: ")
p1 (getpoint "\nBase point:")
cn (cdr (assoc 1 (entget e)))
)
(if (not dn) (setq dn 1))
(if (= cn "") (setq cn "1"))
(setq
c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn)
n (vl-string-subst "" c cn)
)
(while (setq p2 (getpoint p1 "\nNew point : "))
(command "copy" e "" p1 p2)
(if (= n "")
(setq cn (incC cn))
(setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))
)
(setq
dat (entget (entlast))
dat (subst (cons 1 cn) (assoc 1 dat) dat)
)
(entmod dat)
)
(princ)
)
;;;============================
(defun C:OCA( / e e0 dn p1 cn c n p2 dat) ;;;Make Ordinal number. Copy from Atttribute block
(setq
e0 (car (entsel "\nSelect attribute block:"))
e (entnext e0)
)
(if (/= (etype e) "ATTRIB") (progn (alert "Object is not a Attribute Block!") (exit)))
(setq
dn (getint "\nIncrement <1>: ")
p1 (getpoint "\nBase point:")
cn (cdr (assoc 1 (entget e)))
)
(if (not dn) (setq dn 1))
(if (= cn "") (setq cn "1"))
(setq
c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn)
n (vl-string-subst "" c cn)
)
(while (setq p2 (getpoint p1 "\nNew point : "))
(command "copy" e0 "" p1 p2)
(if (= n "")
(setq cn (incC cn))
(setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))
)
(setq
dat (entget (entnext (entlast)))
dat (subst (cons 1 cn) (assoc 1 dat) dat)
)
(entmod dat)
(command "regen")
)
(princ)
)
;;;============================


  • 1

#7 oizdoi_oi

oizdoi_oi

    biết dimlinear

  • Members
  • PipPipPipPipPip
  • 306 Bài viết
Điểm đánh giá: 452 (tốt)

Đã gửi 02 December 2008 - 01:06 PM

Bạn dùng thử lisp này. Ssg đã post lên diễn đàn lâu lắm rồi. Riêng phần Att mới bổ sung theo gợi ý của bạn:


;;;**********************************************
;;;CHUONG TRINH DANH SO THU TU VA COPY TANG DAN
;;;1. Lenh OD: danh so thu tu, tuy chon so bat dau (begin) va so gia (increment) tuy y
;;;2. Lenh OC: copy tang dan tu mot so thu tu co san
;;;3. Lenh OCA: copy tang dan voi doi tuong Attribute Block
;;;Chuong trinh chap nhan cac dinh dang bang so, chu, so va chu ket hop:
;;;1, 2... A, B..., A1, A2..., AB-01, AB-02..., AB-01-C1, AB-01-C2...
;;;Cac chu gioi han trong khoang tu A den Z. Cac so khong han che
;;;Copyright by ssg - www.cadviet.com - December 2008
;;;**********************************************
;;;-------------------------------------------------
(defun etype (e) ;;;Entity Type
(cdr (assoc 0 (entget e)))
)
;;;-------------------------------------------------
(defun wtxt (txt p / sty d h) ;;;Write txt on graphic screen, defaul setting
(setq
sty (getvar "textstyle")
d (tblsearch "style" sty)
h (cdr (assoc 40 d))
)
(if (= h 0) (setq h (cdr (assoc 42 d))))
(entmake
(list (cons 0 "TEXT") (cons 7 sty) (cons 1 txt) (cons 10 p) (cons 40 h) (assoc 41 d))
)
)
;;;-------------------------------------------------
(defun incN (n dn / n2 i n1) ;;;Increase number n
(setq
n2 (itoa (+ dn (atoi n)))
i (- (strlen n) (strlen n2))
)
(if (> i 0) (setq n1 (substr n 1 i)) (setq n1 ""))
(strcat n1 n2)
)
;;;-------------------------------------------------
(defun incC (c / i c1 c2) ;;;Increase character c
(setq
i (strlen c)
c1 (substr c 1 (- i 1))
c2 (chr (1+ (ascii (substr c i 1))))
)
(if (or (= c2 "{") (= c2 "["))
(progn (command "erase" (entlast) "") (alert "Over character!") (exit))
(strcat c1 c2)
)
)
;;;============================
(defun C:OD( / cn dn c n p) ;;;Make OrDinal number with any format
(setq
cn (getstring "\nBegin at <1>: " T)
dn (getint "\nIncrement <1>: ")
)
(if (not dn) (setq dn 1))
(if (= cn "") (setq cn "1"))
(setq c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn))
(setq n (vl-string-subst "" c cn))
(if (/= n "") (setq mode 1) (setq mode 0))
(while (setq p (getpoint "\nBase point : "))
(wtxt cn p)
(if (= n "")
(setq cn (incC cn))
(setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))
)
)
(princ)
)
;;;============================
(defun C:OC( / e dn p1 cn c n p2 dat) ;;;Make Ordinal number. Copy from template
(setq
e (car (entsel "\nSelect template text:"))
dn (getint "\nIncrement <1>: ")
p1 (getpoint "\nBase point:")
cn (cdr (assoc 1 (entget e)))
)
(if (not dn) (setq dn 1))
(if (= cn "") (setq cn "1"))
(setq
c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn)
n (vl-string-subst "" c cn)
)
(while (setq p2 (getpoint p1 "\nNew point : "))
(command "copy" e "" p1 p2)
(if (= n "")
(setq cn (incC cn))
(setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))
)
(setq
dat (entget (entlast))
dat (subst (cons 1 cn) (assoc 1 dat) dat)
)
(entmod dat)
)
(princ)
)
;;;============================
(defun C:OCA( / e e0 dn p1 cn c n p2 dat) ;;;Make Ordinal number. Copy from Atttribute block
(setq
e0 (car (entsel "\nSelect attribute block:"))
e (entnext e0)
)
(if (/= (etype e) "ATTRIB") (progn (alert "Object is not a Attribute Block!") (exit)))
(setq
dn (getint "\nIncrement <1>: ")
p1 (getpoint "\nBase point:")
cn (cdr (assoc 1 (entget e)))
)
(if (not dn) (setq dn 1))
(if (= cn "") (setq cn "1"))
(setq
c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn)
n (vl-string-subst "" c cn)
)
(while (setq p2 (getpoint p1 "\nNew point : "))
(command "copy" e0 "" p1 p2)
(if (= n "")
(setq cn (incC cn))
(setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))
)
(setq
dat (entget (entnext (entlast)))
dat (subst (cons 1 cn) (assoc 1 dat) dat)
)
(entmod dat)
(command "regen")
)
(princ)
)
;;;============================

thank bạn vài phát! hay wa'
  • 0
KTS không bao giờ chết đói...mà chỉ đói đến lúc chết!

#8 Phiphi-

Phiphi-

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 434 Bài viết
Điểm đánh giá: 175 (tàm tạm)

Đã gửi 06 November 2009 - 06:40 PM

LISP dưới đây (của Lee Mac, CADTutor.net) có thêm nhiều chức năng hay lém, các Bác vọc thử sẽ biết.
Vì có thêm file .dcl nên nhớ phải tạo đường dẩn cho nó nhé. Hoặc cứ giải nén vào thư mục của AutoCAD thí dụ như x:\Program Files\AutoCAD xxxx\Support
http://www.cadviet.c.../2/numinc_1.zip

;; FUNCTION: Number Increment
;; Will sequentially place numerical
;; text upon mouse click, with optional
;; prefix and suffix.
;;
;; >> Enter = Exit
;; >> Space = Rotate ACW
;; >> Shift + Space = Rotate CW
;; >> Tab = Rotate 90
;; >> Shift + Tab = Mirror Rotation
;; >> C = Curve Aligned
;; >> R = Replace Text/Attribute
;;
;; << Hit Space for no Prefix/Suffix >>


Lệnh: NumInc
  • 0

#9 bienda

bienda

    biết vẽ polygon

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

Đã gửi 28 October 2010 - 10:31 PM

lisp của bác SSG hay khủng khiếp
1- lisp copy tăng số bình thường bị lỗi khi tăng 100 sẽ thành 11
2 - lisp của bác thêm att

Chân thành cảm ơn bác
  • 0

#10 790312

790312

    biết lệnh fillet

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

Đã gửi 29 October 2010 - 06:22 AM

Bạn dùng thử lisp này. Ssg đã post lên diễn đàn lâu lắm rồi. Riêng phần Att mới bổ sung theo gợi ý của bạn:


;;;**********************************************
;;;CHUONG TRINH DANH SO THU TU VA COPY TANG DAN
;;;1. Lenh OD: danh so thu tu, tuy chon so bat dau (begin) va so gia (increment) tuy y
;;;2. Lenh OC: copy tang dan tu mot so thu tu co san
;;;3. Lenh OCA: copy tang dan voi doi tuong Attribute Block
;;;Chuong trinh chap nhan cac dinh dang bang so, chu, so va chu ket hop:
;;;1, 2... A, B..., A1, A2..., AB-01, AB-02..., AB-01-C1, AB-01-C2...
;;;Cac chu gioi han trong khoang tu A den Z. Cac so khong han che
;;;Copyright by ssg - www.cadviet.com - December 2008
;;;**********************************************
;;;-------------------------------------------------
(defun etype (e) ;;;Entity Type
(cdr (assoc 0 (entget e)))
)
;;;-------------------------------------------------
(defun wtxt (txt p / sty d h) ;;;Write txt on graphic screen, defaul setting
(setq
sty (getvar "textstyle")
d (tblsearch "style" sty)
h (cdr (assoc 40 d))
)
(if (= h 0) (setq h (cdr (assoc 42 d))))
(entmake
(list (cons 0 "TEXT") (cons 7 sty) (cons 1 txt) (cons 10 p) (cons 40 h) (assoc 41 d))
)
)
;;;-------------------------------------------------
(defun incN (n dn / n2 i n1) ;;;Increase number n
(setq
n2 (itoa (+ dn (atoi n)))
i (- (strlen n) (strlen n2))
)
(if (> i 0) (setq n1 (substr n 1 i)) (setq n1 ""))
(strcat n1 n2)
)
;;;-------------------------------------------------
(defun incC (c / i c1 c2) ;;;Increase character c
(setq
i (strlen c)
c1 (substr c 1 (- i 1))
c2 (chr (1+ (ascii (substr c i 1))))
)
(if (or (= c2 "{") (= c2 "["))
(progn (command "erase" (entlast) "") (alert "Over character!") (exit))
(strcat c1 c2)
)
)
;;;============================
(defun C:OD( / cn dn c n p) ;;;Make OrDinal number with any format
(setq
cn (getstring "\nBegin at <1>: " T)
dn (getint "\nIncrement <1>: ")
)
(if (not dn) (setq dn 1))
(if (= cn "") (setq cn "1"))
(setq c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn))
(setq n (vl-string-subst "" c cn))
(if (/= n "") (setq mode 1) (setq mode 0))
(while (setq p (getpoint "\nBase point : "))
(wtxt cn p)
(if (= n "")
(setq cn (incC cn))
(setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))
)
)
(princ)
)
;;;============================
(defun C:OC( / e dn p1 cn c n p2 dat) ;;;Make Ordinal number. Copy from template
(setq
e (car (entsel "\nSelect template text:"))
dn (getint "\nIncrement <1>: ")
p1 (getpoint "\nBase point:")
cn (cdr (assoc 1 (entget e)))
)
(if (not dn) (setq dn 1))
(if (= cn "") (setq cn "1"))
(setq
c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn)
n (vl-string-subst "" c cn)
)
(while (setq p2 (getpoint p1 "\nNew point : "))
(command "copy" e "" p1 p2)
(if (= n "")
(setq cn (incC cn))
(setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))
)
(setq
dat (entget (entlast))
dat (subst (cons 1 cn) (assoc 1 dat) dat)
)
(entmod dat)
)
(princ)
)
;;;============================
(defun C:OCA( / e e0 dn p1 cn c n p2 dat) ;;;Make Ordinal number. Copy from Atttribute block
(setq
e0 (car (entsel "\nSelect attribute block:"))
e (entnext e0)
)
(if (/= (etype e) "ATTRIB") (progn (alert "Object is not a Attribute Block!") (exit)))
(setq
dn (getint "\nIncrement <1>: ")
p1 (getpoint "\nBase point:")
cn (cdr (assoc 1 (entget e)))
)
(if (not dn) (setq dn 1))
(if (= cn "") (setq cn "1"))
(setq
c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn)
n (vl-string-subst "" c cn)
)
(while (setq p2 (getpoint p1 "\nNew point : "))
(command "copy" e0 "" p1 p2)
(if (= n "")
(setq cn (incC cn))
(setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))
)
(setq
dat (entget (entnext (entlast)))
dat (subst (cons 1 cn) (assoc 1 dat) dat)
)
(entmod dat)
(command "regen")
)
(princ)
)
;;;============================

Sao khi mình sử dụng lệnh OD thì đôi khi bị báo lỗi :Base point : ; error: too few arguments Mong bạn xe lại giúp.Thanks
  • 0

#11 thanhtranle

thanhtranle

    biết vẽ ellipse

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

Đã gửi 31 October 2011 - 11:18 AM

cảm ơn bác SSG! nhưng bác có thể chỉnh lại dc ko? hiện tại mình tạo att với 2 dòng text, mình muốn dòng đầu giữ nguyên, dòng sau thay đổi!
  • 0

#12 AGi

AGi

    biết vẽ ellipse

  • Members
  • PipPip
  • 58 Bài viết
Điểm đánh giá: 13 (tàm tạm)

Đã gửi 09 May 2013 - 11:05 AM

Bạn dùng thử lisp này. Ssg đã post lên diễn đàn lâu lắm rồi. Riêng phần Att mới bổ sung theo gợi ý của bạn:
 

;;;**********************************************;;;CHUONG TRINH DANH SO THU TU VA COPY TANG DAN;;;1. Lenh OD: danh so thu tu, tuy chon so bat dau (begin) va so gia (increment) tuy y;;;2. Lenh OC: copy tang dan tu mot so thu tu co san;;;3. Lenh OCA: copy tang dan voi doi tuong Attribute Block;;;Chuong trinh chap nhan cac dinh dang bang so, chu, so va chu ket hop:;;;1, 2... A, B..., A1, A2..., AB-01, AB-02..., AB-01-C1, AB-01-C2...;;;Cac chu gioi han trong khoang tu A den Z. Cac so khong han che;;;Copyright by ssg - www.cadviet.com - December 2008;;;**********************************************;;;-------------------------------------------------(defun etype (e) ;;;Entity Type(cdr (assoc 0 (entget e))));;;-------------------------------------------------(defun wtxt (txt p / sty d h) ;;;Write txt on graphic screen, defaul setting(setq    sty (getvar "textstyle")    d (tblsearch "style" sty)    h (cdr (assoc 40 d)))(if (= h 0) (setq h (cdr (assoc 42 d))))(entmake    (list (cons 0 "TEXT") (cons 7 sty) (cons 1 txt) (cons 10 p) (cons 40 h) (assoc 41 d))));;;-------------------------------------------------(defun incN (n dn / n2 i n1) ;;;Increase number n(setq    n2 (itoa (+ dn (atoi n)))    i (- (strlen n) (strlen n2)))(if (> i 0) (setq n1 (substr n 1 i)) (setq n1 ""))(strcat n1 n2));;;-------------------------------------------------(defun incC (c / i c1 c2) ;;;Increase character c(setq    i (strlen c)    c1 (substr c 1 (- i 1))    c2 (chr (1+ (ascii (substr c i 1)))))(if (or (= c2 "{") (= c2 "["))    (progn (command "erase" (entlast) "") (alert "Over character!") (exit))    (strcat c1 c2)));;;============================(defun C:OD( / cn dn c n p) ;;;Make OrDinal number with any format(setq    cn (getstring "\nBegin at <1>: " T)    dn (getint "\nIncrement <1>: "))(if (not dn) (setq dn 1))(if (= cn "") (setq cn "1"))(setq c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn))(setq n (vl-string-subst "" c cn))(if (/= n "") (setq mode 1) (setq mode 0))(while (setq p (getpoint "\nBase point <exit>: "))    (wtxt cn p)    (if (= n "")         (setq cn (incC cn))        (setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))            ))(princ));;;============================(defun C:OC( / e dn p1 cn c n p2 dat) ;;;Make Ordinal number. Copy from template(setq    e (car (entsel "\nSelect template text:"))    dn (getint "\nIncrement <1>: ")    p1 (getpoint "\nBase point:")    cn (cdr (assoc 1 (entget e))))(if (not dn) (setq dn 1))(if (= cn "") (setq cn "1"))(setq    c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn)    n (vl-string-subst "" c cn))(while (setq p2 (getpoint p1 "\nNew point <exit>: "))    (command "copy" e "" p1 p2)    (if (= n "")         (setq cn (incC cn))        (setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))            )    (setq        dat (entget (entlast))        dat (subst (cons 1 cn) (assoc 1 dat) dat)    )    (entmod dat)    )(princ));;;============================(defun C:OCA( / e e0 dn p1 cn c n p2 dat) ;;;Make Ordinal number. Copy from Atttribute block(setq    e0 (car (entsel "\nSelect attribute block:"))    e (entnext e0))(if (/= (etype e) "ATTRIB") (progn (alert "Object is not a Attribute Block!") (exit)))(setq    dn (getint "\nIncrement <1>: ")    p1 (getpoint "\nBase point:")    cn (cdr (assoc 1 (entget e))))(if (not dn) (setq dn 1))(if (= cn "") (setq cn "1"))(setq    c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn)    n (vl-string-subst "" c cn))(while (setq p2 (getpoint p1 "\nNew point <exit>: "))    (command "copy" e0 "" p1 p2)    (if (= n "")         (setq cn (incC cn))        (setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))            )    (setq        dat (entget (entnext (entlast)))        dat (subst (cons 1 cn) (assoc 1 dat) dat)    )    (entmod dat)    (command "regen"))(princ));;;============================

 

Sao cái lisp này mình ko chạy đc vậy pro?

Báo lỗi: 

Select attribute block:; error: no function definition: ETYPE

http://www.cadviet.c...block_att_1.dwg


  • 0