Đến nội dung


Hình ảnh
* - - - - 1 Bình chọn

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


  • Please log in to reply
35 replies to this topic

#21 loiphong

loiphong

    biết vẽ circle

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

Đã gửi 08 April 2012 - 09:01 AM

File đính kèm!
  • 0

#22 minhphuong_humg

minhphuong_humg

    biết lệnh offset

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

Đã gửi 08 April 2012 - 01:02 PM

Tue_NV viết thêm cho bạn đây :



(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)))
(command "polygon" "360" po "I" (* 1.15 cao)
"wipeout" "p" "L" "y")
(wtxt (strcat (itoa dau) cuoi) po cao r)
(setq eL (entlast))

(command "DRAWORDER" el "" "F")

(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 "polygon" "360" po1 "I" (* 1.15 cao)
"wipeout" "p" "L" "y")
(command "DRAWORDER" el "" "F")

(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) )))
(command "polygon" "360" po "I" (* 1.15 cao)
"wipeout" "p" "L" "y")
(wtxt (strcat dau (itoa cuoi)) po cao r)
(setq eL (entlast))

(command "DRAWORDER" el "" "F")

(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 "polygon" "360" po1 "I" (* 1.15 cao)
"wipeout" "p" "L" "y")
(command "DRAWORDER" el "" "F")

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

Cảm ơn bác Tue_NV rất nhiều ạ. Em thấy rất tuyệt bác ạ. Nhưng em có một điều xin được hỏi bác là em đang đánh số, nếu em cứ thay đối Zoom liên tục (lúc to, lúc nhỏ) thì số em đang đánh sẽ bị "bật" khỏi vòng tròn bác ạ. Còn nếu cứ để cùng một chế độ Zoom thì ok. Xin bác chỉ dẫn cho em với ạ. Trân trọng cảm ơn bác.
  • 0

#23 loiphong

loiphong

    biết vẽ circle

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

Đã gửi 08 April 2012 - 06:22 PM

Hi các bạn, nhân tien với slip đánh số tăng dần. Các bạn có thể viết giúp mình slip chèn leader đánh số tự động tăng dần với. Mình cần để đánh số mối hàn trên bản vẽ đường ống.
Yêu cầu:
- Chọn được chiều cao text
- Điểm thứ nhất là vị trí chèn leader(truy bắt điểm là endpoint và nearest, đầu mũi tên của leader co dạng dotmall)
- Điểm thừ hai là vị trí cúa điểm chèn text( text đặt trong vong tròn của circle-leader)
- Lệnh được thực hiện liên tục với các text được đánh theo thứ tự tang dần.(vd: số đầu tiên được chèn vào là 2 thì các số kế tiếp sẽ được chọn tăng dần)
File đính kèm:
http://www.cadviet.c...01_file_mau.dwg

Co ai giup minh voi!
  • 0

#24 loiphong

loiphong

    biết vẽ circle

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

Đã gửi 09 April 2012 - 10:24 PM

Hi các bạn, nhân tien với slip đánh số tăng dần. Các bạn có thể viết giúp mình slip chèn leader đánh số tự động tăng dần với. Mình cần để đánh số mối hàn trên bản vẽ đường ống.
Yêu cầu:
- Chọn được chiều cao text
- Điểm thứ nhất là vị trí chèn leader(truy bắt điểm là endpoint và nearest, đầu mũi tên của leader co dạng dotmall)
- Điểm thừ hai là vị trí cúa điểm chèn text( text đặt trong vong tròn của circle-leader)
- Lệnh được thực hiện liên tục với các text được đánh theo thứ tự tang dần.(vd: số đầu tiên được chèn vào là 2 thì các số kế tiếp sẽ được chọn tăng dần)
File đính kèm:
http://www.cadviet.c...01_file_mau.dwg

Bạn Tue_NV giúp mình với. Công việc mình đang rất cần :blush: :blush: !
  • 0

#25 quickandfine

quickandfine

    biết lệnh copy

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

Đã gửi 04 July 2012 - 12:03 PM


;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=51710
;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=34029
;; free lisp from cadviet.com
;;;**********************************************
;;;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
(command "undo" "be")
(setq
e (car (entsel "\nSelect template text:"))
dn (getint "\nIncrement <1>: ")
p1 (getpoint "\nBase point:")
cn (cdr (assoc 1 (entget e)))
k (strlen cn)
i (getint "\n Nhap so ky tu can giu trong suffix: ")
cn0 (substr cn 1 (- k i))
cn1 (substr cn (1+ (- k i)))
)
(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" cn0)
n (vl-string-subst "" c cn0)
)
(while (setq p2 (getpoint p1 "\nNew point <exit>: "))
(command "copy" e "" p1 p2)
(if (= n "")
(setq cn0 (incC cn0))
(setq cn0 (strcat c (incN (vl-string-subst "" c cn0) dn)))
)
(setq
dat (entget (entlast))
dat (subst (cons 1 (strcat cn0 cn1)) (assoc 1 dat) dat)
)
(entmod dat)
)
(command "undo" "e")
(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)
)
;;;============================

Mình góp vui tí nhé. Trên diễn đàn đã có lisp này có thể đáp ứng được yêu cầu copy tăng dần của bạn nè.
Lệnh: OC


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.c...10072_reinf.dwg
  • 0

#26 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 04 July 2012 - 02:45 PM

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.c...10072_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ì?????
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#27 quickandfine

quickandfine

    biết lệnh copy

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

Đã gửi 04 July 2012 - 03:15 PM

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

#28 quickandfine

quickandfine

    biết lệnh copy

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

Đã gửi 05 July 2012 - 08:20 AM

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

#29 quickandfine

quickandfine

    biết lệnh copy

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

Đã gửi 06 July 2012 - 11:40 AM

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 đỡ!
  • 0

#30 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 06 July 2012 - 11:51 AM

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ố
  • 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


#31 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 06 July 2012 - 12:15 PM

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????
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#32 quickandfine

quickandfine

    biết lệnh copy

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

Đã gửi 06 July 2012 - 01:58 PM

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.c...py_array_ca.lsp
  • 0

#33 quickandfine

quickandfine

    biết lệnh copy

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

Đã gửi 06 July 2012 - 02:06 PM

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

#34 Leolis

Leolis

    Chưa sử dụng CAD

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

Đã gửi 22 March 2013 - 04:35 PM

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 !


  • 0

#35 levantuan225

levantuan225

    Chưa sử dụng CAD

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

Đã gửi 15 August 2014 - 01:01 PM

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! 


  • 0

#36 nguyenloc_eng

nguyenloc_eng

    Chưa sử dụng CAD

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

Đã gửi 11 September 2016 - 09:20 AM

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


  • 0