Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Lisp đánh số thứ tự vào phần text của các block attribute


  • Please log in to reply
11 replies to this topic

#1 dauquangminh

dauquangminh

    biết vẽ arc

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

Đã gửi 01 August 2011 - 04:19 PM

Lisp em muốn yêu cầu có nguyên lý hơi giống với lisp trong topic cũ của em:” [Yêu cầu]1 Lisp vẽ đường polyline nối basepoint của các block”

Yêu cầu của lisp này:
- Có phần nhập tên block attribute(viết tắt ba) để không nhầm lẫn với block khác khi chẳng may chọn nhầm
- Trong text của ba có 1 phần sẽ thay đổi và 1 phần giữ nguyên. Ví dụ: text cũ “D2.T1.01” thì “01” sẽ thay đổi, còn “D2.T1.” giữ nguyên, text cũ “D2.T1.01” sẽ thay đổi thành” D2.T1.05, D2.T1.06, D2.T1.07…”)
- Có phần nhập số bắt đầu: ví dụ: nếu text là” D2.T1.01” và số bắt đầu là 5 thì nó sẽ thành ” D2.T1.05”
- Có phần chọn ba đầu: nếu em chọn bên trái thì nó sẽ tăng dần từ trái sang phải, nếu em chọn bên phải thì nó sẽ tăng dần từ phải sang trái (lấy theo trục X)
- Có phần chọn gia số
- Có phần chọn số chữ số: ví dụ là 3 thì text sẽ là 001,002… thay vì 1,2…
- Chiều cao text giữ nguyên như text cũ, không thay đổi

Ví dụ : ta có 3 ba có text giống nhau là “D2.T1.01”
Sau khi dùng lisp với các thông số đầu vào:
- Số bắt đầu:5
- Chọn ba đầu: chọn ba bên phải ngoài cùng
- Gia số: 1
Thì kết quả các ba sẽ có nội dung:
- Ba bên phải ngoài cùng: D2.T1.05
- Ba ở giữa: D2.T1.06
- Ba bên trái: D2.T1.07
Em không biết cách up ảnh lên diễn đàn nên chỉ tải lên mediafire : http://www.mediafire...fwoc5vgriq4e2ih
Mong các anh chị thông cảm. hix :unsure:
  • 0

#2 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 01 August 2011 - 07:44 PM

Lisp em muốn yêu cầu có nguyên lý hơi giống với lisp trong topic cũ của em:” [Yêu cầu]1 Lisp vẽ đường polyline nối basepoint của các block”

Yêu cầu của lisp này:
- Có phần nhập tên block attribute(viết tắt ba) để không nhầm lẫn với block khác khi chẳng may chọn nhầm
- Trong text của ba có 1 phần sẽ thay đổi và 1 phần giữ nguyên. Ví dụ: text cũ “D2.T1.01” thì “01” sẽ thay đổi, còn “D2.T1.” giữ nguyên, text cũ “D2.T1.01” sẽ thay đổi thành” D2.T1.05, D2.T1.06, D2.T1.07…”)
- Có phần nhập số bắt đầu: ví dụ: nếu text là” D2.T1.01” và số bắt đầu là 5 thì nó sẽ thành ” D2.T1.05”
- Có phần chọn ba đầu: nếu em chọn bên trái thì nó sẽ tăng dần từ trái sang phải, nếu em chọn bên phải thì nó sẽ tăng dần từ phải sang trái (lấy theo trục X)
- Có phần chọn gia số
- Có phần chọn số chữ số: ví dụ là 3 thì text sẽ là 001,002… thay vì 1,2…
- Chiều cao text giữ nguyên như text cũ, không thay đổi

Ví dụ : ta có 3 ba có text giống nhau là “D2.T1.01”
Sau khi dùng lisp với các thông số đầu vào:
- Số bắt đầu:5
- Chọn ba đầu: chọn ba bên phải ngoài cùng
- Gia số: 1
Thì kết quả các ba sẽ có nội dung:
- Ba bên phải ngoài cùng: D2.T1.05
- Ba ở giữa: D2.T1.06
- Ba bên trái: D2.T1.07
Em không biết cách up ảnh lên diễn đàn nên chỉ tải lên mediafire : http://www.mediafire...fwoc5vgriq4e2ih
Mong các anh chị thông cảm. hix :unsure:

Hề hề hề,
Bạn dùng thử cái này coi có ưng ý không nhé:

(defun c:chatt (/ oldos bln ssbl atn n k i a j att atlst atv pre num)
(vl-load-com)
(command "undo" "be")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setq bln (getstring t "\n Nhap ten block: "))
(setq ssbl (acet-ss-to-list (ssget (list (cons 0 "insert") (cons 2 bln) (cons 66 1)))))
(if ssbl
(progn
(setq atn (getstring t "\n Nhap ten thuoc tinh: ")
n (getint "\n Nhap so ky tu can giu cua gia tri thuoc tinh: ")
k (getint "\n Nhap so ky tu bieu dien so: ")
i (getint "\n Nhap so bat dau danh so: ")
a (getreal "\n Nhap gia so: ")
j 0 )
(if (> k 4) (setq k 4))
(if (= atn "") (setq atn bln))
(setq ans (getstring t "\n Ban muon danh so theo chieu thuan <y or n>: "))
(if (= (strcase ans) "Y")
(setq ssbl (vl-sort ssbl '(lambda (x y) (< (cadr (assoc 10 (entget x))) (cadr (assoc 10 (entget y)))))))
(setq ssbl (vl-sort ssbl '(lambda (x y) (> (cadr (assoc 10 (entget x))) (cadr (assoc 10 (entget y)))))))
)
(foreach bl ssbl
(setq att (entnext bl))
(while (/= (cdr (assoc 0 (entget att))) "SEQEND")
(setq atlst (entget att))
(if (= (cdr (assoc 2 atlst)) (strcase atn))
(progn
(setq atv (cdr (assoc 1 atlst))
pre (substr atv 1 n)
num (rtos (+ i (* j a)) 2 0))
(if (and (= (strlen num) 1) (= k 4)) (setq num (strcat "000" num)))
(if (and (= (strlen num) 2) (= k 4)) (setq num (strcat "00" num)))
(if (and (= (strlen num) 3) (= k 4)) (setq num (strcat "0" num)))
(if (and (= (strlen num) 1) (= k 3)) (setq num (strcat "00" num)))
(if (and (= (strlen num) 2) (= k 3)) (setq num (strcat "0" num)))
(if (and (= (strlen num) 1) (= k 2)) (setq num (strcat "0" num)))
(setq atlst (subst (cons 1 (strcat pre num)) (assoc 1 atlst) atlst))
(entmod atlst)

(setq j (1+ j))
)
)
(setq att (entnext att))
)
)
)
)
(command "regenall")
(setvar "osmode" oldos)
(command "undo" "e")
(princ)
)


Hề hề hề,
Do cái sự biết chưa đến nơi đến chốn nên lisp này mới chỉ giải quyết cho bạn được đến số chữ số tối đa là 4. Nếu bạn muốn hơn thì phải bổ sung thêm vào lisp.
Phần chọn chiều đánh số mình chưa làm mà mới chỉ đánh số theo thứ tự hiện hành của các block trong tập chọn. Mình sẽ bổ xung sau nhé.

Hề hề hê, minh đã bổ sung phần chọn chiều đánh số váo lisp. Thay vì chọn ba đầu như bạn nói mình cho chọn chiều đánh số là thuận (từ trái qua phải) và nghịch (từ phải qua trái). Khi lisp hỏi " Ban muon danh so theo chieu thuan <y or n>: " nếu bạn nhập y vào dòng command lisp sẽ đánh số theo chiều thuận. Còn nếu bạn không nhập gì hoặc nhập bất cứ ký tự nào thì lisp sẽ đánh số theo chiều nghịch.

Chúc bạn vui.

Bài viết đã được chỉnh sửa nội dung bởi phamthanhbinh: 01 August 2011 - 08:05 PM
Bổ sung phần chọn hướng đánh số vào lisp

  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 01 August 2011 - 09:03 PM

@Bạn dauquangminh : về bản chất mình thấy lisp bạn yêu cầu không khác là mấy với lisp đánh stt bản vẽ bằng ATT, và cách thao tác bạn đưa ra vẫn thiếu hiệu quả :)

@bác Bình : mục chọn số ký tự thể hiện số, bác có thể làm 1 hàm con để triệt để hơn, đại loại như :

(defun test (k num / rt num_len) ;k : so ky tu quy dinh, num : Int
(cond
((>= (setq num_len (strlen (setq num (rtos num 2 0)))) k)(setq rt num))
((< num_len k)(setq rt(repeat (- k num_len)(setq num (strcat "0" num)))))
)
rt
)

Và theo em, bác có thể thay ý của bạn ấy là user nhập tên block bằng cách chọn block trong 1 list, hoặc pick block mẫu, hoặc lấy tên thằng block đầu tiên trong tập chọn làm chuẩn....v..v
Vì việc phải nhớ tên Block thật là khó khăn ^^
CŨng như vậy với ATT tag, vì block chỉ có duy nhất 1 em thôi
  • 1

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


#4 dauquangminh

dauquangminh

    biết vẽ arc

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

Đã gửi 01 August 2011 - 09:46 PM

Hề hề hề,
Bạn dùng thử cái này coi có ưng ý không nhé:


(defun c:chatt (/ oldos bln ssbl atn n k i a j att atlst atv pre num)
(vl-load-com)
(command "undo" "be")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setq bln (getstring t "\n Nhap ten block: "))
(setq ssbl (acet-ss-to-list (ssget (list (cons 0 "insert") (cons 2 bln) (cons 66 1)))))
(if ssbl
(progn
(setq atn (getstring t "\n Nhap ten thuoc tinh: ")
n (getint "\n Nhap so ky tu can giu cua gia tri thuoc tinh: ")
k (getint "\n Nhap so ky tu bieu dien so: ")
i (getint "\n Nhap so bat dau danh so: ")
a (getreal "\n Nhap gia so: ")
j 0 )
(if (> k 4) (setq k 4))
(if (= atn "") (setq atn bln))
(setq ans (getstring t "\n Ban muon danh so theo chieu thuan <y or n>: "))
(if (= (strcase ans) "Y")
(setq ssbl (vl-sort ssbl '(lambda (x y) (< (cadr (assoc 10 (entget x))) (cadr (assoc 10 (entget y)))))))
(setq ssbl (vl-sort ssbl '(lambda (x y) (> (cadr (assoc 10 (entget x))) (cadr (assoc 10 (entget y)))))))
)
(foreach bl ssbl
(setq att (entnext bl))
(while (/= (cdr (assoc 0 (entget att))) "SEQEND")
(setq atlst (entget att))
(if (= (cdr (assoc 2 atlst)) (strcase atn))
(progn
(setq atv (cdr (assoc 1 atlst))
pre (substr atv 1 n)
num (rtos (+ i (* j a)) 2 0))
(if (and (= (strlen num) 1) (= k 4)) (setq num (strcat "000" num)))
(if (and (= (strlen num) 2) (= k 4)) (setq num (strcat "00" num)))
(if (and (= (strlen num) 3) (= k 4)) (setq num (strcat "0" num)))
(if (and (= (strlen num) 1) (= k 3)) (setq num (strcat "00" num)))
(if (and (= (strlen num) 2) (= k 3)) (setq num (strcat "0" num)))
(if (and (= (strlen num) 1) (= k 2)) (setq num (strcat "0" num)))
(setq atlst (subst (cons 1 (strcat pre num)) (assoc 1 atlst) atlst))
(entmod atlst)

(setq j (1+ j))
)
)
(setq att (entnext att))
)
)
)
)
(command "regenall")
(setvar "osmode" oldos)
(command "undo" "e")
(princ)
)


Hề hề hề,
Do cái sự biết chưa đến nơi đến chốn nên lisp này mới chỉ giải quyết cho bạn được đến số chữ số tối đa là 4. Nếu bạn muốn hơn thì phải bổ sung thêm vào lisp.
Phần chọn chiều đánh số mình chưa làm mà mới chỉ đánh số theo thứ tự hiện hành của các block trong tập chọn. Mình sẽ bổ xung sau nhé.

Hề hề hê, minh đã bổ sung phần chọn chiều đánh số váo lisp. Thay vì chọn ba đầu như bạn nói mình cho chọn chiều đánh số là thuận (từ trái qua phải) và nghịch (từ phải qua trái). Khi lisp hỏi " Ban muon danh so theo chieu thuan <y or n>: " nếu bạn nhập y vào dòng command lisp sẽ đánh số theo chiều thuận. Còn nếu bạn không nhập gì hoặc nhập bất cứ ký tự nào thì lisp sẽ đánh số theo chiều nghịch.

Chúc bạn vui.

Mình chưa hiểu "tên thuộc tính", "số ký tự cần giữ của giá trị thuộc tính" trong lisp của bạn nghĩa là gì? Bạn giải đáp giúp mình nhé. :D
  • 0

#5 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 01 August 2011 - 10:20 PM

Mình chưa hiểu "tên thuộc tính", "số ký tự cần giữ của giá trị thuộc tính" trong lisp của bạn nghĩa là gì? Bạn giải đáp giúp mình nhé. :D

Hề hề hề,
Ten thuoc tinh chính là cái tên của thuộc tính (attribute) mà bạn muốn nó thay đổi giá trị, tỷ như trong một block có thể có nhiều attribute, bạn cần thay thằng nào thì nhặt thằng đó thôi. Trong cái bản vẽ bạn gửi thì tên block trùng tên của thuộc tính và đều là HOGA cả. cái block của bạn cũng chỉ có duy nhất một thuộc tính mà thôi.
So ky tu can giu cua gia tri thuoc tinh là số ký tự trong chuỗi giá trị của cái thuộc tính mà bạn không muốn thay đổi. Tỷ như ở cái bản vẽ bạn gửi thì cái thuộc tính HOGA có giá trị là "D2.T1.01", bạn muốn giữ lại "D2.T1." tức là giữ lại 6 ký tự.

Hề hề hề, hãy chịu khó mò vào trong Help của CAD để đọc thêm về các thuộc tính của các block bạn nhé. Còn nhiều điều cần biết về nó lắm.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#6 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 01 August 2011 - 10:23 PM

@Bạn dauquangminh : về bản chất mình thấy lisp bạn yêu cầu không khác là mấy với lisp đánh stt bản vẽ bằng ATT, và cách thao tác bạn đưa ra vẫn thiếu hiệu quả :)

@bác Bình : mục chọn số ký tự thể hiện số, bác có thể làm 1 hàm con để triệt để hơn, đại loại như :

Và theo em, bác có thể thay ý của bạn ấy là user nhập tên block bằng cách chọn block trong 1 list, hoặc pick block mẫu, hoặc lấy tên thằng block đầu tiên trong tập chọn làm chuẩn....v..v
Vì việc phải nhớ tên Block thật là khó khăn ^^
CŨng như vậy với ATT tag, vì block chỉ có duy nhất 1 em thôi

Hề hề hề,
Đồng ý với ý kiến của bác, song bác cho mình một ít thời gian để sửa nhé. Rất cám ơn về món quà bác biếu....
Hề hề hề,..

Và nó dây ạ:

(defun c:chatt (/ oldos bln ssbl atn n k i a j ans att atlst atv pre num)
(vl-load-com)
(command "undo" "be")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setq bln (cdr (assoc 2 (entget (car (entsel "\n Chon block mau can thay doi gia tri thuoc tinh"))))))
(setq ssbl (acet-ss-to-list (ssget (list (cons 0 "insert") (cons 2 bln) (cons 66 1)))))
(if ssbl
(progn
(setq atn (cdr (assoc 2 (entget (car (nentsel "\n Chon thuoc tinh can thay doi gia tri ")))))
n (getint "\n Nhap so ky tu can giu cua gia tri thuoc tinh: ")
k (getint "\n Nhap so ky tu bieu dien so: ")
i (getint "\n Nhap so bat dau danh so: ")
a (getreal "\n Nhap gia so: ")
j 0 )
;;;;(if (> k 4) (setq k 4))
(if (= atn "") (setq atn bln))
(setq ans (getstring t "\n Ban muon danh so theo chieu thuan <y or n>: "))
(if (= (strcase ans) "Y")
(setq ssbl (vl-sort ssbl '(lambda (x y) (< (cadr (assoc 10 (entget x))) (cadr (assoc 10 (entget y)))))))
(setq ssbl (vl-sort ssbl '(lambda (x y) (> (cadr (assoc 10 (entget x))) (cadr (assoc 10 (entget y)))))))
)
(foreach bl ssbl
(setq att (entnext bl))
(while (/= (cdr (assoc 0 (entget att))) "SEQEND")
(setq atlst (entget att))
(if (= (cdr (assoc 2 atlst)) (strcase atn))
(progn
(setq atv (cdr (assoc 1 atlst))
pre (substr atv 1 n)
num (rtos (+ i (* j a)) 2 0))
;;;(if (and (= (strlen num) 1) (= k 4)) (setq num (strcat "000" num)))
;;;(if (and (= (strlen num) 2) (= k 4)) (setq num (strcat "00" num)))
;;;(if (and (= (strlen num) 3) (= k 4)) (setq num (strcat "0" num)))
;;;(if (and (= (strlen num) 1) (= k 3)) (setq num (strcat "00" num)))
;;;(if (and (= (strlen num) 2) (= k 3)) (setq num (strcat "0" num)))
;;;(if (and (= (strlen num) 1) (= k 2)) (setq num (strcat "0" num)))
(if (< (strlen num) k)
(setq num (repeat (- k (strlen num)) (setq num (strcat "0" num))))
)
(setq atlst (subst (cons 1 (strcat pre num)) (assoc 1 atlst) atlst))
(entmod atlst)

(setq j (1+ j))
)
)
(setq att (entnext att))
)
)
)
)
(command "regenall")
(setvar "osmode" oldos)
(command "undo" "e")
(princ)
)

Bài viết đã được chỉnh sửa nội dung bởi phamthanhbinh: 01 August 2011 - 11:03 PM
Bổ sung lisp đã sửa

  • 2
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#7 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 22 July 2013 - 11:05 PM

Hề hề hề,
Đồng ý với ý kiến của bác, song bác cho mình một ít thời gian để sửa nhé. Rất cám ơn về món quà bác biếu....
Hề hề hề,..

Và nó dây ạ:

(defun c:chatt (/ oldos bln ssbl atn n k i a j  ans att atlst atv pre num)(vl-load-com)(command "undo" "be")(setq oldos (getvar "osmode"))(setvar "osmode" 0)(setq bln (cdr (assoc 2 (entget (car (entsel "\n Chon block mau can thay doi gia tri thuoc tinh"))))))(setq ssbl (acet-ss-to-list (ssget (list (cons 0 "insert") (cons 2 bln) (cons 66 1)))))(if ssbl       (progn              (setq atn (cdr (assoc 2 (entget (car (nentsel "\n Chon thuoc tinh can thay doi gia tri ")))))                      n (getint "\n Nhap so ky tu can giu cua gia tri thuoc tinh: ")                                          k (getint "\n Nhap so ky tu bieu dien so: ")                      i (getint "\n Nhap so bat dau danh so: ")                      a (getreal "\n Nhap gia so: ")                      j 0 )              ;;;;(if (> k 4) (setq k 4))                   (if (= atn "") (setq atn bln))              (setq ans (getstring t "\n Ban muon danh so theo chieu thuan <y or n>: "))              (if (= (strcase ans) "Y")                  (setq ssbl (vl-sort ssbl '(lambda (x y) (< (cadr (assoc 10 (entget x))) (cadr (assoc 10 (entget y)))))))                  (setq ssbl (vl-sort ssbl '(lambda (x y) (> (cadr (assoc 10 (entget x))) (cadr (assoc 10 (entget y)))))))              )              (foreach bl ssbl                      (setq att (entnext bl))                      (while (/= (cdr (assoc 0 (entget att))) "SEQEND")                               (setq atlst (entget att))                               (if (= (cdr (assoc 2 atlst)) (strcase atn))                                   (progn                                          (setq atv (cdr (assoc 1 atlst))                                                  pre (substr atv 1 n)                                                  num (rtos (+ i (* j a)) 2 0))                                          ;;;(if (and (= (strlen num) 1) (= k 4)) (setq num (strcat "000" num)))                                          ;;;(if (and (= (strlen num) 2) (= k 4)) (setq num (strcat "00" num)))                                          ;;;(if (and (= (strlen num) 3) (= k 4)) (setq num (strcat "0" num)))                                          ;;;(if (and (= (strlen num) 1) (= k 3)) (setq num (strcat "00" num)))                                          ;;;(if (and (= (strlen num) 2) (= k 3)) (setq num (strcat "0" num)))                                          ;;;(if (and (= (strlen num) 1) (= k 2)) (setq num (strcat "0" num)))                                          (if (< (strlen num) k)                                              (setq num (repeat (- k (strlen num)) (setq num (strcat "0" num))))                                          )                                          (setq atlst (subst (cons 1 (strcat pre num)) (assoc 1 atlst) atlst))                                          (entmod atlst)                                                                                    (setq j (1+ j))                                    )                                 )                                 (setq att (entnext att))                      )              )         ))(command "regenall")(setvar "osmode" oldos)(command "undo" "e")(princ))

sao mình down về mà ko dùng được nhỉ, nó báo lỗi là "Command: nil

Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 

<1>: END"

rồi sau đó gõ lệnh thì nó báo là không có lệnh đó, bạn xem lại cái


  • 0

#8 sonvaquynh

sonvaquynh

    biết vẽ line

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

Đã gửi 13 September 2013 - 10:26 PM

Các bác đóng topic sớm thế, đang hay mà.Lisp này rất tiện,cám ơn các bác trước. Nhưng nếu như có thể tăng cả tẽt nữa thì quá tốt. VD A1A, A1B, A1C......


  • 0

#9 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 14 September 2013 - 02:06 PM

sao mình down về mà ko dùng được nhỉ, nó báo lỗi là "Command: nil

Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 

<1>: END"

rồi sau đó gõ lệnh thì nó báo là không có lệnh đó, bạn xem lại cái

Hề hề hề,

Có nhẽ codebox của diễn đàn có vấn đề gì đó rồi.

Bạn download lại cái mình mới sửa lại này cói sao nhé.

http://www.cadviet.c.../5194_chatt.lsp


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#10 engineer0405

engineer0405

    biết vẽ polygon

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

Đã gửi 01 November 2013 - 03:33 PM

Hề hề hề,

Có nhẽ codebox của diễn đàn có vấn đề gì đó rồi.

Bạn download lại cái mình mới sửa lại này cói sao nhé.

http://www.cadviet.c.../5194_chatt.lsp

Link hỏng rồi anh bình ơi

Anh xem lại em với ạ


  • 0

#11 tandai1102

tandai1102

    biết zoom

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

Đã gửi 31 October 2014 - 04:06 PM

Lisp của anh Bình rất hay nhưng có cái này e thắc mắc : em làm bên block att thuần tuý thì được nhưng block att có dynamic(nghĩa là block động có att ) thì không được. nếu anh Bình hay anh em nào điều chỉnh được thì giúp e với.

em xin cảm ơn!

chúc diễn đàn ngày càng vững mạnh!


  • 0

#12 hainguyen2014

hainguyen2014

    biết vẽ arc

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

Đã gửi 02 April 2016 - 05:08 PM

Lisp của Pham Thanh Binh rất hay. Nhưng trong trường hợp Block Att không được copy theo thứ tự thì dẫn đến Lisp làm việc Sai yêu cầu. Bạn kiểm tra lại nhé. Tks :)


  • 0