Đến nội dung


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

Viết Lisp theo yêu cầu


  • Chủ đề bị khóa Chủ đề bị khóa
2780 replies to this topic

#201 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 04 September 2007 - 11:37 PM

Tìm lisp gán layer cho các đối tượng rời rạc có nội dung như sau:
VD: trên màn hình là 3 đối tượng rởi như :pline, box, rectang
khi chọn các đối tượng trên thì chương trình tự động gán cho mỗi đối tượng
rời trên 1 layer (không quan trọng thứ tự)
khi nhìn vào bảng layer thấy:
pline thuộc lớp tên là layer1
box thuộc lớp tên là layer2
rectang thuộc lớp tên là layer3
có bác nào biết không ạ?


Lệnh là GAN:
tìm LWPOLYLINE có số đỉnh khác 4 gán vào layer1
tìm POLYLINE (là box) gán vào layer2
tìm LWPOLYLINE có số đỉnh bằng 4 (là rectangle) gán vào layer3

(defun c:gan()
(command ".chprop" (ssget "X" '((0 . "LWPOLYLINE")(-4 . "/=")(90 . 4))) "" "La" "LAYER1" "")
(command ".chprop" (ssget "X" '((0 . "POLYLINE"))) "" "La" "LAYER2" "")
(command ".chprop" (ssget "X" '((0 . "LWPOLYLINE") (90 . 4))) "" "La" "LAYER3" "")
)
  • 0

#202 xaydung

xaydung

    biết lệnh trim

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

Đã gửi 05 September 2007 - 01:58 PM

Thanks bác Hoanh.
Em đang tìm 1 lisp nữa có nội dung như sau:
gọi là lisp vẽ đường giao giữa các khối solid
khi chạy lisp hỏi chọn các đối tượng solid, chương trình sẽ nhận ra được
các đường giao giữa các khối solid và tự động vẽ (bằng arc, line hoặc thậm chí là Spline)
các đường giao đó.
(tức là em không muốn hợp 2 khối dạng union mà là 2 khối riêng biệt nhưng vẫn
nhìn thấy được các đường giao)
ví dụ: trên màn hình là 2 solid: 1 box nằm ngang, 1 box đứng( box đứng ở giữa, nằm gọn trong box ngang)
chạy lisp chọn 2 solid trên thì chương trình tự động vẽ 4 đường giao của 2 box (giống như 1 hình chữ nhật ấy)
(bình thương thì phải hợp union mới nhìn thấy được)
thanks các bác trước?!
  • 0

#203 songphao101

songphao101

    Chưa sử dụng CAD

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

Đã gửi 07 September 2007 - 01:00 PM

Hình như là chỉ đúng với Cad 2005 thôi. Con Cad 2007 giao diện khác hẳn, không làm thế được. Mà theo cách cua a Hoanh hướng dẫn thì vẫn chưa làm cho nó thành lệnh con của tất cả các lệnh. Ví dụ như mình muốn copy đến một phần bản vẽ không nhìn thấy, sau đây dùng lệnh tắt Alt + D mà vẫn không ra khỏi lệnh copy, thì thực hiện vẫn không được . Nho các cao thủ tiếp tục chỉ giúp.


Mình thấy nó cũng giống cad 2005 nhưng nó ưu điểm hơn.
bạn vào tool /customize /interface. Trong tab customize chon keyboard / shot key /
dưới dòng comand list. bạn chọn cái lệnh nào mà có dấu "'" đằng trước. ví dụ lệnh zoom window. Sau đó kéo thả vào mục keyboard shotkey.
chọn lại vào dòng lệnh zoom window. phía bên phải xuất hiện một dòng properti . bạn chọn tab key. nhấp đôi chuột sau đó đánh phím tắt vào. Lưu ý phim tắt không được trùng với các phím tắt mặc định. sau đó ok.
Khi bạn đang thực hiện bất cứ lệnh nào. bạn vẫn có thể dùng thêm lệnh zoom window vô tư (chẳng hạn phong tỏ một điểm nào đó để truy bắt điểm).
giống y như "'z" nhưng nhanh hơn.

Mình không biết chèn hình anh vào bài viết nên viết hơi khó hình dung . nhưng làm rồi thấy đơn giản lắm
  • 0

#204 xaydung

xaydung

    biết lệnh trim

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

Đã gửi 07 September 2007 - 04:29 PM

Tìm lisp gần giống lisp ẩn hiện đối tượng chọn đã có trên diễn đàn là vis, invis nhưng hơi khác 1 chút:
như sau:
khi chạy lisp hỏi chọn đối tượng cần giữ lại
sau đó nó sẽ giữ lại đối tượng chọn và ẩn đi tất cả các đối tượng khác không được chọn
(với invis thì lại là ẩn đi các đối tượng chọn, giữ lại các đối tượng không được chọn)
  • 0

#205 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1359 (rất tốt)

Đã gửi 07 September 2007 - 04:51 PM

Nhờ bác Hoành chỉnh giúp đoạn lisp này với:
Chức năng vẽ nét cắt lững bằng cách chọn điểm đầu và điểm cuối.
Đả mặc định hình dáng và độ lớn cho dấu cắt.
Muốn thay đổi độ lớn dấu cắt thì gỏ D sau đó nhập độ lớn mới vào.
Nếu không nhập độ lớn mới mà bấm Enter thì bị lổi. Bcác có cách nào chỉ giúp với.
(Nếu nhập giá trị mới thì chạy bình thường)

Xin lổi vì chưa gửi được code theo bài hỏi trên.
không hiểu sao gửi co de thì cứ báo là phải gỏ tiếng việt có dấu.
Có cách nào khắc phục không các bác ??????????
  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#206 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 07 September 2007 - 06:13 PM

Bạn thử post lại đi!
  • 0

#207 binladen_mrp

binladen_mrp

    biết vẽ arc

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

Đã gửi 08 September 2007 - 06:50 AM

cho tớ lisp tính tổng chiều daì các đoạn thẳng nhé.hì
  • 0
Tư duy === > Tồn Tại

#208 vndesperados

vndesperados

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 547 Bài viết
Điểm đánh giá: 253 (khá)

Đã gửi 08 September 2007 - 07:07 AM

cho tớ lisp tính tổng chiều daì các đoạn thẳng nhé.hì



http://www.cadviet.com/forum/index.php?showtopic=763
  • 0

#209 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1359 (rất tốt)

Đã gửi 08 September 2007 - 07:27 AM

Bạn thử post lại đi!

May quá hôm nay gửi được rồi nhờ bác xem giúp cái !!!!!!!!!

(defun C:dcl ( )
(setvar "MODEMACRO" "VE NAT CAT LUNG")
(princ "\nPHAM QUOC DUY Binh Son - Quang ngai")
(if (null kieudau)(setq kieudau "Z"))
(if (null dolondaucatt)(setq dolondaucatt "100"))
(Setq temp T)
(While temp
(setq a (strcat "\nKieu dau hien hanh la("kieudau")/ Do lon dau cat (" dolondaucatt ") <Diem chen dau tien>: "))
(Initget "k K d D")
(setq str (getpoint a))
(Cond
((= str "K") (setq kieudau (strcase (getstring 5"\nKieu dau cat < Z hay S hay N > : "))))
((= str "k") (setq kieudau (strcase (getstring 5"\nKieu dau cat < Z hay S hay N > : "))))
((= str "d") (setq dolondaucatt (getstring (strcat"\nDo lon mui ten <" dolondaucatt "> :"))))
((= str "D") (setq dolondaucatt (getstring (strcat"\nDo lon mui ten <" dolondaucatt "> :"))))
(Progn
(Setq a str)
(setq temp nil)
)
)
)
(setq b (getpoint a"\nDiem thu hai: "))


(luuos)
(setvar "osmode" 0)

(setq dolondaucat (atof dolondaucatt))
(setq daitong (distance a :unsure:)
(setq daitru (- daitong dolondaucat))
(setq dainua (/ daitru 2))
(setq daicong (+ dainua dolondaucat))
(setq goc(angle a :unsure:)
(setq c (polar a goc dainua))
(setq d (polar a goc daicong))
(setq ngannua (/ dolondaucat 2))
(setq nganmot (/ dolondaucat 4))
(setq nganba (* nganmot 3))
(setq gocp (- goc (/ pi 2)))
(setq e (polar c gocp ngannua))
(setq goct (+ goc (/ pi 2)))
(setq f (polar d goct ngannua))
(setq g (polar a goc (/ daitong 2)))
(setq h (polar g goct dolondaucat))
(setq i (polar g gocp dolondaucat))
(setq k (polar c goc nganmot))
(setq l (polar k goct ngannua))
(setq m (polar c goc nganba))
(setq n (polar m gocp ngannua))


(Cond
((= "Z" kieudau)
(command ".Pline" a c e f d b "")
(COMMAND ".PEDIT" "last" "W" "0" "")
)
((= "N" kieudau)
(command ".Pline" a c h i d b "")
(COMMAND ".PEDIT" "last" "W" "0" "")
)
((= "S" kieudau)
(command ".Pline" a c "a" "s" l g "s" n d "l" b "")
(COMMAND ".PEDIT" "last" "W" "0" "")
)
)


(setvar "MODEMACRO" "**CHUC BAN LAM VIEC HIEU QUA** PHAM QUOC DUY - BINH SON - QUANG NGAI")
(traos)



(Prin I)
)

  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#210 congtrinh5

congtrinh5

    biết vẽ line

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

Đã gửi 10 September 2007 - 02:48 PM

em đang cần 1 lisp lọc đối tượng theo màu có nội dung như sau:
khi chạy lisp hỏi chọn đối tượng bất kỳ
chương trình sẽ tự độg lọc tất cả các đối tượng có cùng màu với
đối tượng vừa chọn, sau đó ẩn các đối tượng khác không cùng màu đó đi.
lisp thứ hai là hiện tất cả các đối tượng.
Thanks các bác truoc !
  • 0

#211 interwar1283

interwar1283

    biết dimcontinue

  • Vip
  • PipPipPipPipPip
  • 374 Bài viết
Điểm đánh giá: 211 (khá)

Đã gửi 10 September 2007 - 03:01 PM

em đang cần 1 lisp lọc đối tượng theo màu có nội dung như sau:
khi chạy lisp hỏi chọn đối tượng bất kỳ
chương trình sẽ tự độg lọc tất cả các đối tượng có cùng màu với
đối tượng vừa chọn, sau đó ẩn các đối tượng khác không cùng màu đó đi.
lisp thứ hai là hiện tất cả các đối tượng.
Thanks các bác truoc !

Mình không dành về Lisp nhiều nhưng với trường hợp của bạn thì có thể dùng lệnh Fi (Filters), lọc đối tượng theo yêu cầu của bạn sau đó dùng lệnh invis của lisp hideshow đã được đề cập trong diễn đàn. Còn muốn hiện chúng ra dùng lệnh vis.
http://www.cadviet.com/forum/index.php?sho...amp;hl=hideshow
  • 0

#212 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 10 September 2007 - 04:08 PM

Lệnh CINVIS dưới đây giống lệnh INVIS ở trên nhưng ẩn đối tượng theo màu.


(defun c:CInVis (/ SSet Count Elem)
(defun Dxf (Id Obj)
(cdr (assoc Id (entget Obj)))
) ;end Dxf
(cond
((setq SSet
(ssget
"X"
(filterchondttheomau
(maucuadoituong
(car (entsel "\nHay pick vao doi tuong de chon mau: ")
)
)
)
)
)
(repeat (setq Count (sslength SSet))
(setq Count (1- COunt)
Elem (ssname SSet Count)
)
(if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem)))))
(if (Dxf 60 Elem)
(entmod
(subst '(60 . 1) (assoc 60 (entget Elem)) (entget Elem))
)
(entmod (append (entget Elem) (list '(60 . 1))))
)
(prompt
"\nEntity on a locked layer. Cannot hide this entity. "
)
) ;end if
) ;end repeat
)
) ;end cond
(princ)
) ;end c:InVis
(defun maucuadoituong (ent)
(setq tt (entget ent)
chon (assoc 62 tt)
)
(cond
(chon (cdr chon))
(t (cdr (assoc 62 (tblsearch "layer" (cdr (assoc 8 tt))))))
)
)
(defun filterchondttheomau (mau)
(defun chonlayertheomau (mau / kq)
(setq curlay (tblnext "LAYER" t))
(while curlay
(if (= mau (cdr (assoc 62 curlay)))
(setq kq (append kq (list (cdr (assoc 2 curlay)))))
)
(setq curlay (tblnext "LAYER"))
)
kq
)
(setq filterlist
nil
taplayer (chonlayertheomau mau)
)
(foreach pp taplayer
(setq filterlist
(append filterlist
(list (cons -4 " (cons 62 256)
(cons 8 pp)
(cons -4 "AND>")
)
)
)
)
(setq filterlist
(append (list (cons -4 " filterlist
(list (cons -4 "OR>"))
)
)
)

  • 0

#213 xaydung

xaydung

    biết lệnh trim

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

Đã gửi 10 September 2007 - 04:49 PM

Xin lisp gán layer cho đối tượng có nội dung như sau:
khi chọn đối tượng trên màn hình thì chương trình tự động gán đối tượng đó vào lớp hiện thời,
nhưng không làm thay đôit màu đối tượng (lớp current ở góc trên bên trái)
Và 1 lisp nữa gọi là lisp tạo lớp:
tên lệnh là: taolop khi chạy lisp hỏi
-gõ tên lớp mới (vd: cua)
thì góc trên bên trái xuất hiện lớp cua (là lớp hiện thời luôn)
màu lấy mặc định là trắng.
Nếu tên lớp bị trùng thì không tạo mà đưa lớp có tên đó lên là lớp hiện thời
thanks!
  • 0

#214 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 10 September 2007 - 05:05 PM

Xin lisp gán layer cho đối tượng có nội dung như sau:
khi chọn đối tượng trên màn hình thì chương trình tự động gán đối tượng đó vào lớp hiện thời,
nhưng không làm thay đôit màu đối tượng (lớp current ở góc trên bên trái)
Và 1 lisp nữa gọi là lisp tạo lớp:
tên lệnh là: taolop khi chạy lisp hỏi
-gõ tên lớp mới (vd: cua)
thì góc trên bên trái xuất hiện lớp cua (là lớp hiện thời luôn)
màu lấy mặc định là trắng.
Nếu tên lớp bị trùng thì không tạo mà đưa lớp có tên đó lên là lớp hiện thời
thanks!

Tên lệnh là LL và SS

(defun c:LL (/ tenlayer dt )
(command ".chprop" (ssget) "" "LA" (getvar "CLAYER") "")
(princ)
)

(defun c:ss()
(command ".layer" "m" (getstring t "\nTen layer moi: ") "")
(princ)
)

  • 1

#215 congtrinh5

congtrinh5

    biết vẽ line

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

Đã gửi 11 September 2007 - 09:49 AM

Em đang cần lisp có nội dung như sau:
Tải lisp gõ:
sh là cảnh nhìn khi vào view->Shade->hidden
s2 là cảnh nhìn khi vào view->Shade->2D wirerame
s3 là cảnh nhìn khi vào view->Shade->3D wirerame
em cám ơn nhiều !
  • 0

#216 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 11 September 2007 - 10:19 AM

Em đang cần lisp có nội dung như sau:
Tải lisp gõ:
sh là cảnh nhìn khi vào view->Shade->hidden
s2 là cảnh nhìn khi vào view->Shade->2D wirerame
s3 là cảnh nhìn khi vào view->Shade->3D wirerame
em cám ơn nhiều !

Bạn tự viết đi, tôi sẽ sửa.

Bạn nhớ nhìn xem ACAD sử dụng lệnh gì cho menu, thì mình sử dụng lệnh đó!
  • 0

#217 congtrinh5

congtrinh5

    biết vẽ line

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

Đã gửi 11 September 2007 - 12:13 PM

Bạn tự viết đi, tôi sẽ sửa.

Bạn nhớ nhìn xem ACAD sử dụng lệnh gì cho menu, thì mình sử dụng lệnh đó!

Em viết như sau, anh xem giúp:
(defun c:sh()
(command ".view" "_hidden")
)
(defun c:s2()
(command ".view" "_2D wireframe")
)
(defun c:s3()
(command ".view" "_3D wireframe")
)
  • 0

#218 xaydung

xaydung

    biết lệnh trim

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

Đã gửi 11 September 2007 - 12:40 PM

Xin lisp có nội dung như sau:
khi chạy lisp hỏi :
chọn 1 line
nhập bán kính đường tròn (có thể pick 2 điểm trên màn hình nếu không nhập số)
Chương trình sẽ vẽ 1 circle bán kính như vừa nhập vuông góc với line
(line đâm xuyên qua tâm đường tròn và vuông góc với mặt phẳng circle)
(line là bất kỳ trong không gian)
thanks !
  • 0

#219 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 11 September 2007 - 01:37 PM

Em viết như sau, anh xem giúp:
(defun c:sh()
(command ".view" "_hidden")
)
(defun c:s2()
(command ".view" "_2D wireframe")
)
(defun c:s3()
(command ".view" "_3D wireframe")
)

Cách làm của bạn là đúng rồi. Tuy nhiên cụ thể thì chưa đúng.

Sau khi bạn dùng lệnh bằng cách chọn menu, bạn hãy nhấn F2 để xem toàn bộ các lệnh mà AutoCAD đã dùng chứ không theo những gì được viết trên menu. Ví dụ: sau khi ta vào: View > Visual Styles > 2D Wire frame, ACAD2008 sẽ thông báo như sau:

Command: _vscurrent
Enter an option [2dwireframe/3dwireframe/3dHidden/Realistic/Conceptual/Other]
<2dwireframe>: _2


Như vậy, chúng ta sẽ viết mã lisp khi chuyển về 2D wireframe là:
(defun c:s2() (command "_vscurrent" "_2"))

  • 0

#220 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1359 (rất tốt)

Đã gửi 11 September 2007 - 01:44 PM


(defun C:dcl ( )
(setvar "MODEMACRO" "VE NAT CAT LUNG")
(princ "\nPHAM QUOC DUY Binh Son - Quang ngai")
(if (null kieudau)(setq kieudau "Z"))
(if (null dolondaucatt)(setq dolondaucatt "100"))
(Setq temp T)
(While temp
(setq a (strcat "\nKieu dau hien hanh la("kieudau")/ Do lon dau cat (" dolondaucatt ") <Diem chen dau tien>: "))
(Initget "k K d D")
(setq str (getpoint a))
(Cond
((= str "K") (setq kieudau (strcase (getstring 5"\nKieu dau cat < Z hay S hay N > : "))))
((= str "k") (setq kieudau (strcase (getstring 5"\nKieu dau cat < Z hay S hay N > : "))))
((= str "d") (setq dolondaucatt (getstring (strcat"\nDo lon mui ten <" dolondaucatt "> :"))))
((= str "D") (setq dolondaucatt (getstring (strcat"\nDo lon mui ten <" dolondaucatt "> :"))))
(Progn
(Setq a str)
(setq temp nil)
)
)
)
(setq b (getpoint a"\nDiem thu hai: "))
(luuos)
(setvar "osmode" 0)

(setq dolondaucat (atof dolondaucatt))
(setq daitong (distance a :unsure:)
(setq daitru (- daitong dolondaucat))
(setq dainua (/ daitru 2))
(setq daicong (+ dainua dolondaucat))
(setq goc(angle a :unsure:)
(setq c (polar a goc dainua))
(setq d (polar a goc daicong))
(setq ngannua (/ dolondaucat 2))
(setq nganmot (/ dolondaucat 4))
(setq nganba (* nganmot 3))
(setq gocp (- goc (/ pi 2)))
(setq e (polar c gocp ngannua))
(setq goct (+ goc (/ pi 2)))
(setq f (polar d goct ngannua))
(setq g (polar a goc (/ daitong 2)))
(setq h (polar g goct dolondaucat))
(setq i (polar g gocp dolondaucat))
(setq k (polar c goc nganmot))
(setq l (polar k goct ngannua))
(setq m (polar c goc nganba))
(setq n (polar m gocp ngannua))
(Cond
((= "Z" kieudau)
(command ".Pline" a c e f d b "")
(COMMAND ".PEDIT" "last" "W" "0" "")
)
((= "N" kieudau)
(command ".Pline" a c h i d b "")
(COMMAND ".PEDIT" "last" "W" "0" "")
)
((= "S" kieudau)
(command ".Pline" a c "a" "s" l g "s" n d "l" b "")
(COMMAND ".PEDIT" "last" "W" "0" "")
)
)
(setvar "MODEMACRO" "**CHUC BAN LAM VIEC HIEU QUA** PHAM QUOC DUY - BINH SON - QUANG NGAI")
(traos)

(Prin I)
)



Có vẻ bác Hoành bận rộn quá! Cao thu nào giúp mình chỉnh đoạn lisp nay với. cám ơn
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D