Thứ Bảy, 13 tháng 8, 2011

Lisp offset về hai phía.

Trước đây mình có lisp VT dùng offset line về hai bên nay nâng nó lên cho Pline, line, spline, circle, ellipse.

-Tên lệnh O2.

Bạn copy nội dung và tạo file lisp hay tải file về cũng được!



(Defun c:o2 ()

(vl-load-com)

(command "undo" "be")



(if (= droff nil)

(setq droff1 2.00)

(setq droff1 droff)

)

(setq

droff (GETREAL (strcat "\nNhap do rong offset: <" (rtos droff1 2 2) ">"))

)

(if (= droff nil)

(setq droff droff1)

)







(setq SS (ssget (list (cons 0 "ellipse,lwpolyline,spline,line,circle"))))

(setq i 0)

(setq N (sslength ss))

(while (< i N)

(setq TEXTENT (ssname SS i))

(setq luubatdiem (getvar "osmode"))

(setvar "osmode" 0)



(setq diemchuan (vlax-curve-getPointAtDist TEXTENT 0))

(setq diemdinhhuong (vlax-curve-getPointAtDist TEXTENT 0.01))

(setq goc (angle diemchuan diemdinhhuong))

(setq diembentrai (polar diemchuan (- goc (/ pi 2)) droff))

(setq diembenphai (polar diemchuan (+ goc (/ pi 2)) droff))



(command ".offset" droff textent diembentrai textent diembenphai "")



(setq i (1+ i))

(setvar "osmode" luubatdiem)

)



(command "undo" "end")

(princ)

)




Thứ Sáu, 12 tháng 8, 2011

Lập lờ.

1.

-Là 1 thèn đàn ông trí nhớ kém lại ko quen trả giá nhưng nhiều lúc cần mua vài món đồ lựa chọn của mình là siêu thị lúc này mình có thể yên tâm cả đám người đang di chuyển, bốc, xách quanh mình kia cũng chịu cùng chung mức giá với mình chứ ko cá nhân nào tài năng trả giá được trong siêu thị cả.

-Đi ngang hàng gì gì đó đang kiếm chai mắm và ko rỏ cái nào ngon dở thì ô là la có 1 chai in hàng chử "nước mắm nhỉ" to tổ nái thế là mua (nước mắm nhỉ mà ko ngon mới lạ). Đem em về nhà ăn gần quá nửa chai mới phát hiện phía trên dòng chử to vật vã kia là dòng bé xíu "thơm ngon như" khà khà cái tội mắt mũi kèm nhèm ăn trúng hàng điểu nó đã bảo tao là đồ nhái còn bưng về.



2.

-Cơ quan mình ở ngã năm nhìn ra ngoài bằng 1 mảng kính tầm 6m X 3m, nói chung ngày nào cũng thấy tai nạn ngoài đó nhưng may toàn a quyệt nhẹ.

-Sáng ra đùng 1 cái bên kia đường trưng cái biển quảng cáo cửa hàng mới mở mua điện thoại tặng đến 2 triệu. Bà con bàn tán chắc nó dụ chứ khi đến mua lại đưa đều kiện là phải mua điện thoại gì thì mới tặng hai triệu chứ. Nhưng hoá ra anh em đa nghi cứ mua điện thoại là tặng ... nhưng do anh em ko chịu đọc cái dòng nhỏ xíu bên dưới chứ hai triệu đây là hai triệu phiếu quà tặng khứa khứa.

Thứ Ba, 2 tháng 8, 2011

Sưu tầm ý nghĩa từ SEO

-Lâu nay thấy cụm từ SEO xuất hiện kha khá trên net hỏi bé yêu (rành ngoại ngữ hơn mình) thì bé chỉ biết CEO về lĩnh vực kinh doanh hay ngân hàng gì gì đó.
-Nay vào Đây thì chộp được như sau:
"SEO: Viết tắt của cụm từ Search Engine Optimization, thường được dịch là tối ưu hoá công cụ tìm kiếm, tạo ra các nội dung trên một web/blog về một chủ đề nào đó sao cho khi có người dùng các công cụ tìm kiếm (Google, Bing, Yahoo Search…) về chủ đề ấy thì trong phần kết quả hiện ra, web/blog đấy ở ngay những trang đầu."


Thứ Năm, 28 tháng 7, 2011

Đẹp.

-Sáng sau khi thức gần nguyên đêm để hoàn thành hồ sơ kịp sáng nay giao mình quay về lịch làm thường ngày: Ấy là dậy sớm, ấy là linh tinh cá nhân, ấy là tưới cây quét nhà. À khoe thêm chương trình hành động sáng của mình dạo này có 1 chút âm nhạc.
-Chả là mới bưng đầu DVD ở quê vào và 1 con radio cũ có chức năng như cái nhận và phát âm thanh (con này lụm ở de chai tiết kiệm khoảng vài trăm mua âmly và loa). Với cái lổ tai âm nhạc của mình thì thế là ổn. Sáng muốn nhí nhố thì nghe FM nhạc thì ko mấy chủ yếu nghe 2 MC chí choé, muốn nhẹ nhàng thì lôi Tuấn Ngọc và Quang Dũng cho rên rỉ.
-Âm nhạc sáng còn là 1 bài mà thường xuất hiện tầm 7h20 ấy là bé yêu của mình gọi, mình để bé chuông riêng hà hà.
-Mấy nay công việc khá nhiều nói chung làm đầu tắt mặt tối nhưng ko biết do trời thỉnh thoảng mưa không khí mát mẻ, hay có âm nhạc sáng nhất là nhạc chuông đt mà mình ít trổ quáu khi bị hối.
-Dạo này quanh mình thấy cái gì cũng thật đẹp.

* Vừa mới xoi phần thống kê blog của mình thì:
-Trong tuần này có 406 lượt truy cập từ Bỉ trong khi chỉ có 384 lượt từ Việt Nam. Xem tổng thể toàn thời gian thì Bỉ 5.609 lượt và Việt Nam 33.639 lượt. Vậy là có bạn nào bên ấy đang quan tâm đến blog mình trong thời gian này. Mong rằng bạn ấy cảm thấy không thất vọng khi ghé qua!
-Trong các từ khoá tìm kiếm dẩn đến đây có 1 đoạn từ dung tục chắc bạn này cảm thấy bực khi được dẩn đến đây. Xin lổi bạn vậy do trùng hợp tiêu đề "chú ơi" mà bạn bất đắc dĩ phải ghé qua.
-Các chủ đề quan tam nhiều nhất theo thống kê là cân bằng giữa các bài viết về kỹ thuật và các bài kể lể của mình. Hoá ra mình gỏ cũng tạm tạm. Nhỉ?

Thứ Năm, 14 tháng 7, 2011

Lisp vẽ pline mũi tên 2 đầu

Nhân dịp có người nhờ chỉnh lisp của người khác nhưng đọc lisp lòi mắt mệt quá nên mình banh ra viết lại tuốt nên giới thiệu luôn đây.
-Tên lệnh: 2MT.
-Chọn điểm thứ nhất, chọn các điểm tiếp theo kết thúc thì enter.
-Điểm đầu và điểm cuối sẽ có dấu mũi tên hình tam giác (giá trị mặc định là 250, có thể nhập giá trị khác).
-Các điểm bên trong xét cặp 3 điểm liền kề nếu thẳng hàng thì vẽ hình tròn vào điểm thứ 3 và thứ 2 (bán kính mặc định 50, có thể nhập giá trị khác)
Bạn copy nội dung và tạo file lisp hay tải file về cũng được!


(defun c:2mt(/ tinhtrangtron)
(command "undo" "be")

(vl-load-com)

(if (null dlmt)(setq dlmt "250"))
(if (null dlvt)(setq dlvt "50"))
(Setq temp T)
(While temp
(setq po1 (strcat "\ndo lon Mui ten la(" dlmt ")/ Do lon Vong tron (" dlvt "): "))
(Initget "m M v V")
(setq str (getpoint po1))
(Cond
((= str "m") (setq dlmt (getstring (strcat"\nDo lon mui ten <" dlmt "> :"))))
((= str "M") (setq dlmt (getstring (strcat"\nDo lon mui ten <" dlmt "> :"))))
((= str "V") (setq dlvt (getstring (strcat"\nDo lon vong tron <" dlvt "> :"))))
((= str "v") (setq dlvt (getstring (strcat"\nDo lon vong tron <" dlvt "> :"))))
(Progn
(Setq po1 str)
(setq temp nil)
)
)
)

(setq dlmtt (atof dlmt))

(setq po2 (getpoint po1"\n Chon diem tiep theo :"))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(command "pline" po1 "w" 0 (/ dlmtt 2) (polar po1 (angle po1 po2) dlmtt) "w" 0 0 po2 "")
(setvar "osmode" luubatdiem)
(setq La (entlast))
(setq sht 0)

(while (setq po3 (getpoint po2"\nChon diem tiep theo : "))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(command "pline" po2 po3 "")
(setvar "osmode" luubatdiem)
(command "pedit" "m" "L" La "" "j" "0" "")
(setq La (entlast))
(cond
((/= (angle po1 po2) (angle po2 po3))
(setq tinhtrangtron "ko")
(if (/= sht 0)(command "erase" vtr ""))
(setq sht 0))
((= (angle po1 po2) (angle po2 po3))
(setq sht (+ 1 sht))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(command ".circle" po3 dlvt)
(setq vtr (entlast))
(if (= sht 1)(command ".circle" po2 dlvt))
(setq tinhtrangtron "co")
(setvar "osmode" luubatdiem)
)
)
(setq po1 po2)
(setq po2 po3)
)

(if (= tinhtrangtron "co")(command "erase" vtr ""))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(command "pline" po2 "w" 0 (/ dlmtt 2) (polar po2 (angle po2 po1) dlmtt) "")
(setvar "osmode" luubatdiem)
(command "pedit" "m" "L" La "" "j" "0" "")
(command "undo" "end")
(princ)
)




Thứ Ba, 5 tháng 7, 2011

Nhân dịp thi.

*Chả liên quan chi tới việc các bạn thí sinh hiện nay đang thi ĐH mà là chuyện thi hồi đại học của mình.
1. Mấy năm đầu đại học mình được ở miễn phí nhà của 1 anh cùng lớp (.. và 1 ngày kia anh này cưới) anh này đi làm thời gian rồi mới lại đi học nên kiến thức cũng trôi đi ít, rủ mình ở miễn phí để hỗ trợ lôi kéo lại đám kiến thức này. Nói chung mình cũng hoàn thành được nhiệm vụ này trong khả năng bản thân.

2. Môn gì quên rồi nổi tiếng là diệt sinh viên.
-Giảng viên cho trước 21 đề trong vòng 1 tuần và cam đoan là thi trong 21 đề ấy thôi. Đám sinh viên mừng như bắt được vàng.
-Nội bộ hình thành khoảng 4 nhóm giải đề nói nhóm cho oai chứ là bốn ông giỏi nhất ngồi giải toàn bộ 21 đề mà ko thèm hợp tác nhau, kèm theo là các ông ko có khả năng giải mà lại muốn có bản photo bảng giải (để làm gì thì ko đào sâu thêm nhớ) chăm lo trà nước ca hát, mỗi nhóm có 1 ông đi hát dạo về tiến độ và dìm hàng nhóm kia. Nói chung không khí sôi xục như báo lá cải hiện nay.
-Ông Duy782006 ko nằm trong 4 ông giỏi nhất nên ko giải đề mà bỏ ra 1 ngày đầu cùng anh chủ nhà đi chơi và hát dạo với bè lũ 4 ông. Sau đó bỏ 1 ngày ngồi dòm bộ đề phân tích tổng hợp, chung quy 21 đề này phân ra có các dạng được chỉnh sửa, xáo trộn. Giử quả đầu tỉnh táo phân xong 4 dạng và đưa ra cách giải từng dạng.
-Phần ông Duy đã xong nhiệm vụ hướng dẩn anh chủ nhà nhận biết các dạng và cách giải từng dạng xong cũng chỉ mất 5 ngày. Còn 2 ngày lại đi hát dạo, xoi thì thấy bè lũ 4 ông giải từng đề cụ thể có ghi số đề rỏ ràng và cái tôi của ông nào cũng to nên ko thèm dòm nhau mà tự giải, phần các ông là người chứ kông phải tiên nên có ông sai bài này có ông sai bài kia. Duy782006 cũng ko dám ý kiến chỉ quán triệt với anh chủ nhà là lập trường phải vững vào phòng thi cứ tự giải theo sườn mình đã chỉ chứ ko thèm chép bài giải tụi nó.
-Vào thi đúng như lời hứa giảng viên phát toàn bộ 21 đề để tránh tình trạng dòm nhau, phòng thi thì yên tâm nhớn vì đã có bộ đề do 4 ông giải cụ thể chỉ phải lén lút chép lại thôi ông nào tinh mắt lẹ tay thì đc. Nhưng ô hô cứ ông nào hô cái số đề lên thì được ném cho 1 đống bài giải, mỗi bài mổi vẻ đếch có giống nhau chỉ có cách bốc đại 1 bài mà chép cố mạng.
-Kết quả thi rớt hàng loạt vì có nhiều cá nhân kiệt sức bốc trúng bài giải sai. Tập đoàn này đc thi lại và cũng vẫn 21 đề ấy. Tập đoàn này mới đi lấy số liệu điều tra từ tầng lớp thi qua là: đề số mấy; bài giải của ai đúng. Nói thật trong lúc bốc mà thèn nào nhớ đc là bài giải của ai thì Duy782006 là tui đi đầu xuống đất. Thế là kịch bản cũ lại tiếp diển thi lần 2 vẩn rụng như sung.
-Tất nhiên Duy782006 và anh chủ nhà đương nhiên qua từ vòng chính thức kèm vài vết bầm do chúng ném bài giải cho mà ko chụp nên coi như bị chọi đá.

3. Thi môn vật liệu xây dựng toàn lớp có mỗi thèn được 10 điểm là Duy782006 lý do đề ra là so sánh 2 loại vật liệu các thành phần khác cũng thuộc nhưng nêu thành danh sách tính năng từng loại xong thôi. Còn mình kẻ thành bảng và sau khi liệt kê có so sánh tính năng này thì cái nào hơn.
-Bác bác kia rút ra bài học. Sau lại thi môn máy xây dựng đề yêu cầu nêu tính năng các loại máy thế là các bác quất cho bảng so sánh lại bị trừ điểm vì tội tào lao.

4. Kinh nghiệm đúc kết:
-Trước khi thi vài ngày thì ko thèm dòm sách vở (vài thôi nhớ trước đó thì phải dòm 1 cách khoa học), nếu được trong thời gian này đi chơi và trưng bày cái sự rãnh của mình cho đối thủ thấy thì càng tốt.
-Không học kiểu thuộc lòng mà tổng hợp ra cái sườn nắm cho vững.
-Dòm ngó và hiểu cái đề cho kỹ họ biểu làm gì thì làm nấy chứ ko có sáng tác ngẫu hứng.

Chủ Nhật, 3 tháng 7, 2011

Thêm chức năng thay đổi giá trị text cho lisp rải đt theo đường dẩn

Đã chỉnh lại lisp thêm chức năng rải text thay đổi giá trị.
-Tên lệnh: RT.
-Hỏi chọn đối tượng ko phải text thì hỏi miết đến khi nào chọn đúng text thì hỏi tiếp điểm chuẩn, trong dòng hỏi điểm chuần có lồng giá trị thay đổi text mặc định là 1 (nghĩa là giá trị text thay đổi theo kiểu cộng 1 giá trị) nếu muốn thay đổi giá trị này thì đừng chọn điểm chuần vội mà gỏ d enter lisp hỏi giá trị cộng thêm bạn nhập vào (nhận cả giá trị âm nhé). Nhập xong lisp tiếp tục hỏi chọn điểm chuẩn.
-Hỏi chọn các đối tượng muốn rải theo (các đối tượng này là bất cứ cái gì bạn muốn) lisp sẽ rải nhóm đối tượng này và cái text bạn chọn ban đầu (giá trị cái text sẽ thay đổi còn các đối tượng chép theo giữ nguyên) nếu không chép theo cái gì thì enter.
-Các bước tiếp theo giống như cũ.
*Trong này có lệnh chính:
-RTD: rải từ điểm đã trình bày hôm trước.
-RDT: rải đồi tượng đã trình bày hôm trước.
-RT: rải text trình bày hôm nay.
*Và 1 lệnh khuyến mại:
-DTD: đo từ điểm, dùng đo độ dài đối tượng giữa 2 điểm trên đối tượng đó.
Bạn copy nội dung và tạo file lisp hay tải file về cũng được!




(Defun c:rdt (/ ss doituong dsl dc ddd chondd chieudaicuver diemdau diemcuoi krai chieudaidoan slc sl index d2 p2 d5 p5 d3 p3 dt l m)
(vl-load-com)
(command "undo" "be")
(command "ucs" "")
(chonnhomdoituong)
(choncuver)

(setq diemchuan (vlax-curve-getPointAtDist chondd 0))
(setq diemdinhhuong (vlax-curve-getPointAtDist chondd chieudaicuver))

(setq chieudaitinh chieudaicuver)
(setq dautinh +)

(setq thuchienrai raikieukhongtext)
(hoikieuraicd)
(command "ucs" "p")
(command "undo" "end")
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun c:dtd (/ ss doituong dsl dc ddd chondd chieudaicuver diemdau diemcuoi krai chieudaidoan slc sl index d2 p2 d5 p5 d3 p3 dt l m daidendiem)
(vl-load-com)
(command "undo" "be")
(command "ucs" "")
(choncuver)
(cdxuatphatdo)
(cdketthucdo)
(Cond
((< daidendiemdo daidenhuongdo) (setq chieudaidoan (- daidenhuongdo daidendiemdo)))
((> daidendiemdo daidenhuongdo) (setq chieudaidoan (- daidendiemdo daidenhuongdo)))
)
(command "undo" "end")
(princ (strcat "\nChieu dai doan do la: " (rtos chieudaidoan 2 4)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun c:rt (/ ss doituong dsl dc ddd chondd chieudaicuver diemdau diemcuoi krai chieudaidoan slc sl index d2 p2 d5 p5 d3 p3 dt l m daidendiem)
(vl-load-com)
(command "undo" "be")
(command "ucs" "")
(chonnhomdoituongtext)

(princ "\nChon doi tuong rai kem theo text :")
(setq ss (ssget))
(cond
((= ss nil) (setq thuchienrai raikieutextkokem))
((/= ss nil) (setq thuchienrai raikieutextcokem)))

(choncuver)
(chondiemxuatphat)
;(setq thuchienrai raikieutext)
(hoikieuraicd)
(command "ucs" "p")
(command "undo" "end")
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun c:rtd (/ ss doituong dsl dc ddd chondd chieudaicuver diemdau diemcuoi krai chieudaidoan slc sl index d2 p2 d5 p5 d3 p3 dt l m daidendiem)
(vl-load-com)
(command "undo" "be")
(command "ucs" "")
(chonnhomdoituong)
(choncuver)
(chondiemxuatphat)
(setq thuchienrai raikieukhongtext)
(hoikieuraicd)
(command "ucs" "p")
(command "undo" "end")
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun chondiemchuandoituong ()
(setq dc (getpoint "\nChon diem goc: "))
(cond
((= dc nil) (princ "\nChua chon duoc diem goc:") (chondiemchuandoituong))
((/= ss nil)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun chonnhomdoituongtext ()
(if (null congthem)(setq congthem "1"))
(setq ddd (entsel "\nChon text mau"))
(while
(or
(null ddd)
(/= "TEXT" (cdr (assoc 0 (entget (car ddd)))))
)
(princ "\nDoi tuong khong phai la text! Chon lai")
(setq ddd (entsel "\nChon text mau"))
)
(setq sst (car ddd))
(setq DTTT (entget sst))
(setq NDTTT (cdr (assoc 1 DTTT)))
(Setq temp T)
(While temp
(setq dc (strcat "\nDon vi cong them la(" congthem "): "))
(Initget "D")
(setq str (getpoint dc))
(Cond
((= str "D") (setq congthem (getstring (strcat"\nDon vi cong them la <" congthem "> :"))))
(Progn
(Setq dc str)
(setq temp nil)
)
)
)
(princ)
)

;;;;;;;;;;;;;;;;;
(Defun dotructiep ()
(cdxuatphatdo)
(cdketthucdo)
(Cond
((< daidendiemdo daidenhuongdo) (setq chieudaidoan (- daidenhuongdo daidendiemdo)))
((> daidendiemdo daidenhuongdo) (setq chieudaidoan (- daidendiemdo daidenhuongdo)))
)
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun cdxuatphatdo ()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 545)
(setq diemchuando (getpoint "\nTu diem :"))
(setvar "osmode" 0)
(setq daidendiemdo (vlax-curve-getDistAtPoint chondd diemchuando))
(setvar "osmode"luubatdiem)
(cond
((= daidendiemdo nil) (princ "\nDiem vua chon khong nam tren duong dan, chon lai:") (cdxuatphatdo))
((/= daidendiemdo nil)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun cdketthucdo ()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 545)
(setq diemdinhhuongdo (getpoint diemchuando"\nDen diem :"))
(setvar "osmode" 0)
(setq daidenhuongdo (vlax-curve-getDistAtPoint chondd diemdinhhuongdo))
(setvar "osmode"luubatdiem)
(cond
((= daidenhuongdo nil) (princ "\nDiem vua chon khong nam tren duong dan, chon lai:") (cdketthucdo))
((/= daidenhuongdo nil)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun cdxuatphat ()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 545)
(setq diemchuan (getpoint "\nDiem bat dau rai tren duong dan:"))
(setvar "osmode" 0)
(setq daidendiem (vlax-curve-getDistAtPoint chondd diemchuan))
(setvar "osmode"luubatdiem)
(cond
((= daidendiem nil) (princ "\nDiem vua chon khong nam tren duong dan, chon lai:") (cdxuatphat))
((/= daidendiem nil)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun cdketthuc ()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 545)
(setq diemdinhhuong (getpoint diemchuan"\nDiem ket thuc rai tren duong dan:"))
(setvar "osmode" 0)
(setq daidenhuong (vlax-curve-getDistAtPoint chondd diemdinhhuong))
(setvar "osmode"luubatdiem)
(cond
((= daidenhuong nil) (princ "\nDiem vua chon khong nam tren duong dan, chon lai:") (cdketthuc))
((/= daidenhuong nil)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun thongbaoketqua ()
(princ (strcat "\nChieu dai doan la: " (rtos chieudaitinh 2 4) doanhienthinoidung))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun chondiemxuatphat ()
(cdxuatphat)
(cdketthuc)
(Cond
((< daidendiem daidenhuong) (setq chieudaitinh (- daidenhuong daidendiem)) (setq dautinh +))
((> daidendiem daidenhuong) (setq chieudaitinh (- daidendiem daidenhuong)) (setq dautinh -))
)
(setq doanxuatphat daidendiem)
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun hoikieuraicd ()
(setq kraicd (strcase (getstring "\nKieu rai theo: Tinh /So luong/")))

(Cond
((= kraicd "T") (raisoluongtinh))
((/= kraicd "T")
(Cond
((= kraicd "S") (raisoluongcd))
((/= kraicd "S") (raikhoangcachcd))
)
)
)
(princ)
)
;;;;;;;;;;;;;;
(Defun raisoluongtinh ()
(setq slrai (getreal "\nRai them may lan khong tinh doi tuong tai diem bat dau rai:"))
(setq chieudaidoan (GETDIST "\nKhoang cach 1 lan rai: "))
(Cond
((= chieudaidoan 0) (dotructiep)))

(setq tongdoan (* slrai chieudaidoan))
(Cond
((> tongdoan chieudaitinh)
(princ (strcat "\nChieu dai doan la: " (rtos chieudaitinh 2 4) ", Yeu cau la: " (rtos chieudaidoan 2 4) "x" (rtos slrai 2 0) "=" (rtos tongdoan 2 4)))
(princ "\nVuot qua chieu dai cho phep, nhap lai:")
(raisoluongtinh))
((< tongdoan chieudaitinh)
(setq sl (fix (+ slrai 1)))
(setq sl (fix sl))
(setq doanhienthinoidung (strcat "\nDa thuc hien rai: " (rtos slrai 2 0) " lan voi khoang cach " (rtos chieudaidoan 2 4)))
(thuchienrai)
)
)
(princ)
)
;;;;;;;;;;;;;;
(Defun raikhoangcachcd ()
(setq chieudaidoan (GETDIST "\nKhoang cach 1 lan rai: "))
(Cond
((= chieudaidoan 0) (dotructiep)))
(Cond
((> chieudaidoan chieudaitinh)
(princ (strcat "\nChieu dai doan la: " (rtos chieudaitinh 2 4) ", Yeu cau la: " (rtos chieudaidoan 2 4)))
(princ "\nVuot qua chieu dai cho phep, nhap lai:")
(raikhoangcachcd))
((< chieudaidoan chieudaitinh)
(setq sol (+ (/ chieudaitinh chieudaidoan) 1))
(setq sl (fix sol))
(setq sl (fix sl))
(setq doanhienthinoidung (strcat "\nDa thuc hien rai: " (rtos sol 2 0) " lan voi khoang cach " (rtos chieudaidoan 2 4)))
(thuchienrai)
)
)
(princ)
)
;;;;;;;;;;;;;;
(Defun raisoluongcd ()
(setq slc (getreal "\nChia duong dan thanh may lan:"))
(setq chieudaidoan (/ chieudaitinh slc))
(setq sl (fix (+ 1 slc)))
(setq doanhienthinoidung (strcat "\nDa thuc hien rai: " (rtos slc 2 0) " lan voi khoang cach " (rtos chieudaidoan 2 4)))
(thuchienrai)
(princ)
)
;;;;;;;;;;;;;;
(Defun chonnhomdoituong ()
(princ "\nChon doi tuong rai:")
(setq ss (ssget))

(cond
((= ss nil) (princ "\nChua chon duoc doi tuong nao:") (chonnhomdoituong))
((/= ss nil)
(setq dsl (sslength ss))
(cond
((= dsl 1)
(setq doituong (ssname SS 0))
(setq doituong (entget doituong))
(setq KIEUDOITUONG (cdr (assoc 0 doituong)))
(cond
((= KIEUDOITUONG "INSERT") (setq dc (cdr (assoc 10 doituong))))
((/= KIEUDOITUONG "INSERT") (chondiemchuandoituong))
);ketthuccondxemblock
);kethucdsl1
((/= dsl 1) (chondiemchuandoituong))
);ketthuccondnho

);ketthucsetqdsl
);ketthuccondtong
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun chondiemchuandoituong ()
(setq dc (getpoint "\nChon diem goc: "))
(cond
((= dc nil) (princ "\nChua chon duoc diem goc:") (chondiemchuandoituong))
((/= ss nil)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun choncuver ()

(setq ddd (entsel "\nChon duong dan:"))
(while
(or
(null ddd)
(or (= "TEXT" (cdr (assoc 0 (entget (car ddd))))) (= "MTEXT" (cdr (assoc 0 (entget (car ddd))))) (= "HATCH" (cdr (assoc 0 (entget (car ddd))))) (= "INSERT" (cdr (assoc 0 (entget (car ddd))))) (= "REGION" (cdr (assoc 0 (entget (car ddd))))) (= "DIMENSION" (cdr (assoc 0 (entget (car ddd)))))
)
)
(setq ddd (entsel "\nDoi tuong khong the lam duong dan! Chon lai"))
)

(setq chondd (car ddd))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq chieudaicuver (vlax-curve-getDistAtParam chondd (vlax-curve-getEndParam chondd)))
(setq doanxuatphat 0)
(setvar "osmode"luubatdiem)
(princ)
)
;;;;;;;;;;;;;;
(Defun raikieukhongtext (/ quaykhong)

(setq quaykhong (strcase (getstring "\nCo quay doi tuong vuong goc voi duong dan khong: Khong/")))
(Cond
((= quaykhong "K") (setq copygiua copykoquay))
((/= quaykhong "K")(setq copygiua copyquay))
)

(setq index -1)

(repeat sl
(setq index (1+ index))
(setq d2 (dautinh doanxuatphat (* chieudaidoan index)))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq p2 (vlax-curve-getPointAtDist chondd d2))
(setvar "osmode"luubatdiem)
(copygiua)
)
(thongbaoketqua)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
(defun copycuoiquay()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq d5 (- (dautinh doanxuatphat (* chieudaidoan index)) 0.01))
(setq p5 (vlax-curve-getPointAtDist chondd d5))
(setq L 0)
(setq M (sslength ss))
(while (< L M)
(setq DT (ssname ss L))
(command ".copy" DT "" dc p2)
(command ".rotate" "last" "" p2 p5)
(command ".rotate" "last" "" p2 180)
(setq L (1+ L))
)
(setvar "osmode"luubatdiem)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
(defun COPYQUAY(/ p3)
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq d3 (+ (dautinh doanxuatphat (* chieudaidoan index)) 0.001))
(setq p3 (vlax-curve-getPointAtDist chondd d3))
(setvar "osmode"luubatdiem)
(Cond
((= p3 nil) (copycuoiquay))
((/= p3 nil)
(setq L 0)
(setq M (sslength ss))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(while (< L M)
(setq DT (ssname ss L))
(command ".copy" DT "" dc p2)
(command ".rotate" "last" "" p2 p3)
(setq L (1+ L))
)
(setvar "osmode"luubatdiem)
)
)


(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;
(Defun raikieutextcokem (/ quaykhong)

(setq quaykhong (strcase (getstring "\nCo quay doi tuong vuong goc voi duong dan khong: Khong/")))
(Cond
((= quaykhong "K") (setq copygiuatext copykoquaytext) (setq copygiua copykoquay))
((/= quaykhong "K")(setq copygiuatext copyquaytext) (setq copygiua copyquay))
)

(setq index -1)

(repeat sl
(setq index (1+ index))
(setq d2 (dautinh doanxuatphat (* chieudaidoan index)))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq p2 (vlax-curve-getPointAtDist chondd d2))
(setvar "osmode"luubatdiem)
(copygiuatext)
(copygiua)
)
(thongbaoketqua)
(princ)
)
;;;;;;;;;;;;;;
(Defun raikieutextkokem (/ quaykhong)

(setq quaykhong (strcase (getstring "\nCo quay doi tuong vuong goc voi duong dan khong: Khong/")))
(Cond
((= quaykhong "K") (setq copygiuatext copykoquaytext))
((/= quaykhong "K")(setq copygiuatext copyquaytext))
)

(setq index -1)

(repeat sl
(setq index (1+ index))
(setq d2 (dautinh doanxuatphat (* chieudaidoan index)))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq p2 (vlax-curve-getPointAtDist chondd d2))
(setvar "osmode"luubatdiem)
(copygiuatext)
)
(thongbaoketqua)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
(defun copycuoiquaytext ()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq d5 (- (dautinh doanxuatphat (* chieudaidoan index)) 0.01))
(setq p5 (vlax-curve-getPointAtDist chondd d5))
(command ".copy" sst "" dc p2)
(command ".rotate" "last" "" p2 p5)
(command ".rotate" "last" "" p2 180)
(setq congthems (atoi congthem))
(setq DTDM (entlast))

(if (and (>= (ascii NDTTT) 48) (<= (ascii NDTTT) 57))
(setq NDTTT (itoa (+ (atoi NDTTT) congthems)))
(setq NDTTT (chr (+ (ascii NDTTT) congthems)))
)

(setq Elist (entget DTDM))
(setq Oldlist (assoc 1 Elist))
(setq Oldtext (cdr Oldlist))
(setq Oldtext (strcase Oldtext nil))
(setq Newlist (cons '1 NDTTT))
(setq Elist (subst Newlist Oldlist Elist))
(entmod Elist)
(setvar "osmode"luubatdiem)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
(defun COPYQUAYtext (/ p3)
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq d3 (+ (dautinh doanxuatphat (* chieudaidoan index)) 0.001))
(setq p3 (vlax-curve-getPointAtDist chondd d3))
(setvar "osmode"luubatdiem)
(Cond
((= p3 nil) (copycuoiquaytext))
((/= p3 nil)
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(command ".copy" sst "" dc p2)
(command ".rotate" "last" "" p2 p3)


(setq congthems (atoi congthem))
(setq DTDM (entlast))

(if (and (>= (ascii NDTTT) 48) (<= (ascii NDTTT) 57))
(setq NDTTT (itoa (+ (atoi NDTTT) congthems)))
(setq NDTTT (chr (+ (ascii NDTTT) congthems)))
)

(setq Elist (entget DTDM))
(setq Oldlist (assoc 1 Elist))
(setq Oldtext (cdr Oldlist))
(setq Oldtext (strcase Oldtext nil))
(setq Newlist (cons '1 NDTTT))
(setq Elist (subst Newlist Oldlist Elist))
(entmod Elist)
(setvar "osmode"luubatdiem)
)
)


(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
(defun COPYKOQUAYtext ()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(command ".copy" sst "" dc p2 "")
(setq congthems (atoi congthem))
(setq DTDM (entlast))

(if (and (>= (ascii NDTTT) 48) (<= (ascii NDTTT) 57))
(setq NDTTT (itoa (+ (atoi NDTTT) congthems)))
(setq NDTTT (chr (+ (ascii NDTTT) congthems)))
)

(setq Elist (entget DTDM))
(setq Oldlist (assoc 1 Elist))
(setq Oldtext (cdr Oldlist))
(setq Oldtext (strcase Oldtext nil))
(setq Newlist (cons '1 NDTTT))
(setq Elist (subst Newlist Oldlist Elist))
(entmod Elist)
(setvar "osmode"luubatdiem)
(princ)
)
;;;;;;;;;;;;;;


Thứ Tư, 22 tháng 6, 2011

Nhảm nhí, linh tinh






-Lưu ý bài này không dành cho người đang bực.
-Mà nói trước là rất linh tinh và tào lao đừng có dòm làm gì.
. ..........
. . .
. . . .
. . . . .
. . . . .
. . . . .
. . . ... ...
. .... . . . .........
. . . . . . .
. . . . . . ......
. . . . . . .
. . . . . . .
........ .................... . . ...............
-Vẩn cứ dòm à? Thì đấy dòm đi bảo đừng mà cứ cố xong thì đừng có mà chửi nhé!
Đang thiết kế cái "các vi dít" cho mình.
-Tính đưa luôn số tài khoảng ATM vào để tiện việc ai đó muốn lén đưa tiền cho mình.
-Nghỉ lại làm đếch gì có chuyện đó (đòi mòn mép mà ko đưa nửa là) nên thôi.
-Thấy dở hơi quá ha YOU?.
-Ừ thì đã nói là dở hơi mà ai biểu ngó làm gì.
-Xả xì trét tí ....................... đừng bực. Khứa khứa!

Thứ Hai, 20 tháng 6, 2011

Hoàn thiện lisp rải đối tượng theo đường dẩn.

-Tên lệnh: RTD (rải từ điểm)
-Hỏi chọn đối tượng muốn rải: Bạn chọn thoải mái bằng các kiểu (đối tượng gì cũng được) kết thúc chọn bằng enter.
+Nếu bạn chọn hơn 1 đối tượng thì sẽ hỏi bạn chọn điểm chuẩn cho nhóm đối tượng này (dùng để làm điểm đặt trên đường dẩn í).
+Nếu bạn chọn 1 đối tượng thì sẽ xem nếu đối tượng không phải là block thì vẩn hỏi chọn điểm chuẩn, Nếu đối tượng là block thì bỏ qua phần hỏi chọn điểm chuẩn mà lấy điểm chèn của block đó làm điểm chuẩn.
-Hỏi chọn đường dẩn dùng để rải.
-Hỏi điểm đầu và điểm cuối đoạn rải (2 điểm này phải nằm trên đường dẩn nếu kông thì lisp sẽ hỏi lại. Sẽ thực hiện rải trong khoảng từ điểm thứ nhất đến điểm thứ 2 nếu bạn muốn rải nguyên đường thì chọn 2 điểm đầu mút)
-Hỏi “Kieu rai theo: Tinh/So luong/(khoang)” :
+Rải theo số lượng thì nhập S enter.
+Rải theo cách tính toán thì nhập T enter.
+Rải theo khoảng cách thì nhập K enter hoặc enter không (thực chất cứ nhập vào khác S thì nhận là khoảng cách).
-Lựa chọn rải theo số lượng thì hỏi số lượng dùng chia điều đoạn rải cho số lượng.
-Lựa chọn Khoảng cách thì hỏi khoảng cách (Khoảng cách này nhập số bằng bàn pím hoặc chọn 2 điểm bất kỳ trên màn hình và lấy ra khoảng cách theo đường chom bay giữa 2 điểm). Nếu bạn muốn lấy khảng cách giữa 2 điểm trên đường dẩn (khoảng cách tính men theo đường dẩn giửa 2 điểm) thì nhập 0 (số không) lisp sẽ hỏi điểm đầu và điểm cuối đoạn đo (2 điểm này phải nằm trên đường dẩn nếu kông thì lisp sẽ hỏi lại).
-Lựa chọn tính thì sẽ hỏi khoảng cách và số lượng rải. Nếu số lượng nhân khoảng cách nhập vào dài hơn đoạn rải thì lisp yêu cầu nhập lại. Đoạn nhập khoảng cách tương tự như trên. Bắt đầu rải từ điểm thứ nhất.
-Hỏi “Co quay doi tuong vuong goc voi duong dan khong: Khong/(Co)") :
+Không quay đối tượng cho vuông góc với đường dẩn thì nhập K enter.
+Có quay thì nhập C en ter hoặc enter không (thực chất cứ nhập vào khác K thì nhận là có).
Bạn copy nội dung và tạo file lisp hay tải file về cũng được!



(Defun c:rdt (/ ss doituong dsl dc ddd chondd chieudaicuver diemdau diemcuoi krai chieudaidoan slc sl index d2 p2 d5 p5 d3 p3 dt l m)
(vl-load-com)
(command "undo" "be")
(command "ucs" "")
(chonnhomdoituong)
(choncuver)
(hoikieurai)
(command "ucs" "p")
(command "undo" "end")
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun c:dtd (/ ss doituong dsl dc ddd chondd chieudaicuver diemdau diemcuoi krai chieudaidoan slc sl index d2 p2 d5 p5 d3 p3 dt l m daidendiem)
(vl-load-com)
(command "undo" "be")
(command "ucs" "")
(choncuver)
(cdxuatphatdo)
(cdketthucdo)
(Cond
((< daidendiemdo daidenhuongdo) (setq chieudaidoan (- daidenhuongdo daidendiemdo)))
((> daidendiemdo daidenhuongdo) (setq chieudaidoan (- daidendiemdo daidenhuongdo)))
)
(command "undo" "end")
(princ (strcat "\nChieu dai doan do la: " (rtos chieudaidoan 2 4)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun c:rtd (/ ss doituong dsl dc ddd chondd chieudaicuver diemdau diemcuoi krai chieudaidoan slc sl index d2 p2 d5 p5 d3 p3 dt l m daidendiem)
(vl-load-com)
(command "undo" "be")
(command "ucs" "")
(chonnhomdoituong)
(choncuver)
(chondiemxuatphat)
(hoikieuraicd)
(command "ucs" "p")
(command "undo" "end")
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun dotructiep ()
(cdxuatphatdo)
(cdketthucdo)
(Cond
((< daidendiemdo daidenhuongdo) (setq chieudaidoan (- daidenhuongdo daidendiemdo)))
((> daidendiemdo daidenhuongdo) (setq chieudaidoan (- daidendiemdo daidenhuongdo)))
)
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun cdxuatphatdo ()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 545)
(setq diemchuando (getpoint "\nTu diem :"))
(setvar "osmode" 0)
(setq daidendiemdo (vlax-curve-getDistAtPoint chondd diemchuando))
(setvar "osmode"luubatdiem)
(cond
((= daidendiemdo nil) (princ "\nDiem vua chon khong nam tren duong dan, chon lai:") (cdxuatphatdo))
((/= daidendiemdo nil)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun cdketthucdo ()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 545)
(setq diemdinhhuongdo (getpoint diemchuando"\nDen diem :"))
(setvar "osmode" 0)
(setq daidenhuongdo (vlax-curve-getDistAtPoint chondd diemdinhhuongdo))
(setvar "osmode"luubatdiem)
(cond
((= daidenhuongdo nil) (princ "\nDiem vua chon khong nam tren duong dan, chon lai:") (cdketthucdo))
((/= daidenhuongdo nil)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun cdxuatphat ()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 545)
(setq diemchuan (getpoint "\nDiem bat dau rai tren duong dan:"))
(setvar "osmode" 0)
(setq daidendiem (vlax-curve-getDistAtPoint chondd diemchuan))
(setvar "osmode"luubatdiem)
(cond
((= daidendiem nil) (princ "\nDiem vua chon khong nam tren duong dan, chon lai:") (cdxuatphat))
((/= daidendiem nil)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun cdketthuc ()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 545)
(setq diemdinhhuong (getpoint diemchuan"\nDiem ket thuc rai tren duong dan:"))
(setvar "osmode" 0)
(setq daidenhuong (vlax-curve-getDistAtPoint chondd diemdinhhuong))
(setvar "osmode"luubatdiem)
(cond
((= daidenhuong nil) (princ "\nDiem vua chon khong nam tren duong dan, chon lai:") (cdketthuc))
((/= daidenhuong nil)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun thongbaoketqua ()
(princ (strcat "\nChieu dai doan la: " (rtos chieudaitinh 2 4) doanhienthinoidung))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun chondiemxuatphat ()
(cdxuatphat)
(cdketthuc)
(Cond
((< daidendiem daidenhuong) (setq chieudaitinh (- daidenhuong daidendiem)) (setq dautinh +))
((> daidendiem daidenhuong) (setq chieudaitinh (- daidendiem daidenhuong)) (setq dautinh -))
)
(setq doanxuatphat daidendiem)
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun hoikieuraicd ()
(setq kraicd (strcase (getstring "\nKieu rai theo: Tinh /So luong/")))

(Cond
((= kraicd "T") (raisoluongtinh))
((/= kraicd "T")
(Cond
((= kraicd "S") (raisoluongcd))
((/= kraicd "S") (raikhoangcachcd))
)
)
)
(princ)
)
;;;;;;;;;;;;;;
(Defun raisoluongtinh ()
(setq slrai (getreal "\nRai them may lan khong tinh doi tuong tai diem bat dau rai:"))
(setq chieudaidoan (GETDIST "\nKhoang cach 1 lan rai: "))
(Cond
((= chieudaidoan 0) (dotructiep)))

(setq tongdoan (* slrai chieudaidoan))
(Cond
((> tongdoan chieudaitinh)
(princ (strcat "\nChieu dai doan la: " (rtos chieudaitinh 2 4) ", Yeu cau la: " (rtos chieudaidoan 2 4) "x" (rtos slrai 2 0) "=" (rtos tongdoan 2 4)))
(princ "\nVuot qua chieu dai cho phep, nhap lai:")
(raisoluongtinh))
((< tongdoan chieudaitinh)
(setq sl (fix (+ slrai 1)))
(setq sl (fix sl))
(setq doanhienthinoidung (strcat "\nDa thuc hien rai: " (rtos slrai 2 0) " lan voi khoang cach " (rtos chieudaidoan 2 4)))
(thuchienrai)
)
)
(princ)
)
;;;;;;;;;;;;;;
(Defun raikhoangcachcd ()
(setq chieudaidoan (GETDIST "\nKhoang cach 1 lan rai: "))
(Cond
((= chieudaidoan 0) (dotructiep)))
(Cond
((> chieudaidoan chieudaitinh)
(princ (strcat "\nChieu dai doan la: " (rtos chieudaitinh 2 4) ", Yeu cau la: " (rtos chieudaidoan 2 4)))
(princ "\nVuot qua chieu dai cho phep, nhap lai:")
(raikhoangcachcd))
((< chieudaidoan chieudaitinh)
(setq sol (+ (/ chieudaitinh chieudaidoan) 1))
(setq sl (fix sol))
(setq sl (fix sl))
(setq doanhienthinoidung (strcat "\nDa thuc hien rai: " (rtos sol 2 0) " lan voi khoang cach " (rtos chieudaidoan 2 4)))
(thuchienrai)
)
)
(princ)
)
;;;;;;;;;;;;;;
(Defun raisoluongcd ()
(setq slc (getreal "\nChia duong dan thanh may lan:"))
(setq chieudaidoan (/ chieudaitinh slc))
(setq sl (fix (+ 1 slc)))
(setq doanhienthinoidung (strcat "\nDa thuc hien rai: " (rtos slc 2 0) " lan voi khoang cach " (rtos chieudaidoan 2 4)))
(thuchienrai)
(princ)
)
;;;;;;;;;;;;;;
(Defun chonnhomdoituong ()
(princ "\nChon doi tuong rai:")
(setq ss (ssget))

(cond
((= ss nil) (princ "\nChua chon duoc doi tuong nao:") (chonnhomdoituong))
((/= ss nil)
(setq dsl (sslength ss))
(cond
((= dsl 1)
(setq doituong (ssname SS 0))
(setq doituong (entget doituong))
(setq KIEUDOITUONG (cdr (assoc 0 doituong)))
(cond
((= KIEUDOITUONG "INSERT") (setq dc (cdr (assoc 10 doituong))))
((/= KIEUDOITUONG "INSERT") (chondiemchuandoituong))
);ketthuccondxemblock
);kethucdsl1
((/= dsl 1) (chondiemchuandoituong))
);ketthuccondnho

);ketthucsetqdsl
);ketthuccondtong
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun chondiemchuandoituong ()
(setq dc (getpoint "\nChon diem goc: "))
(cond
((= dc nil) (princ "\nChua chon duoc diem goc:") (chondiemchuandoituong))
((/= ss nil)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun choncuver ()

(setq ddd (entsel "\nChon duong dan:"))
(while
(or
(null ddd)
(or (= "TEXT" (cdr (assoc 0 (entget (car ddd))))) (= "MTEXT" (cdr (assoc 0 (entget (car ddd))))) (= "HATCH" (cdr (assoc 0 (entget (car ddd))))) (= "INSERT" (cdr (assoc 0 (entget (car ddd))))) (= "REGION" (cdr (assoc 0 (entget (car ddd))))) (= "DIMENSION" (cdr (assoc 0 (entget (car ddd)))))
)
)
(setq ddd (entsel "\nDoi tuong khong the lam duong dan! Chon lai"))
)

(setq chondd (car ddd))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq chieudaicuver (vlax-curve-getDistAtParam chondd (vlax-curve-getEndParam chondd)))
(setq doanxuatphat 0)
(setvar "osmode"luubatdiem)
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun hoikieurai ()
(setq dautinh +)
(setq krai (strcase (getstring "\nKieu rai theo: So luong/")))
(Cond
((= krai "S") (raisoluong))
((/= krai "S")(raikhoangcach))
)

(princ)
)
;;;;;;;;;;;;;;
(Defun raikhoangcach ()
(setq chieudaidoan (GETDIST "\nKhoang cach doan chia: "))
(setq sol (+ (/ chieudaicuver chieudaidoan) 1))
(setq sl (fix sol))
(setq sl (fix sl))
(thuchienrai)
(princ)
)
;;;;;;;;;;;;;;
(Defun raisoluong ()
(setq slc (getreal "\nChia duong dan thanh may lan:"))
(setq chieudaidoan (/ chieudaicuver slc))
(setq sl (fix (+ 1 slc)))
(thuchienrai)
(princ)
)
;;;;;;;;;;;;;;
(Defun thuchienrai (/ quaykhong)

(setq quaykhong (strcase (getstring "\nCo quay doi tuong vuong goc voi duong dan khong: Khong/")))
(Cond
((= quaykhong "K") (setq copygiua copykoquay))
((/= quaykhong "K")(setq copygiua copyquay))
)

(setq index -1)

(repeat sl
(setq index (1+ index))
(setq d2 (dautinh doanxuatphat (* chieudaidoan index)))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq p2 (vlax-curve-getPointAtDist chondd d2))
(setvar "osmode"luubatdiem)
(copygiua)
)
(thongbaoketqua)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
(defun copycuoiquay()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq d5 (- (dautinh doanxuatphat (* chieudaidoan index)) 0.01))
(setq p5 (vlax-curve-getPointAtDist chondd d5))
(setq L 0)
(setq M (sslength ss))
(while (< L M)
(setq DT (ssname ss L))
(command ".copy" DT "" dc p2)
(command ".rotate" "last" "" p2 p5)
(command ".rotate" "last" "" p2 180)
(setq L (1+ L))
)
(setvar "osmode"luubatdiem)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
(defun COPYQUAY(/ p3)
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq d3 (+ (dautinh doanxuatphat (* chieudaidoan index)) 0.001))
(setq p3 (vlax-curve-getPointAtDist chondd d3))
(setvar "osmode"luubatdiem)
(Cond
((= p3 nil) (copycuoiquay))
((/= p3 nil)
(setq L 0)
(setq M (sslength ss))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(while (< L M)
(setq DT (ssname ss L))
(command ".copy" DT "" dc p2)
(command ".rotate" "last" "" p2 p3)
(setq L (1+ L))
)
(setvar "osmode"luubatdiem)
)
)


(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
(defun COPYKOQUAY()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(command ".copy" ss "" dc p2 "")
(setvar "osmode"luubatdiem)
(princ)
)
;;;;;;;;;;;;;;
(Defun c:vdd ()

(setq ddd (entsel "\nChon duong dan:"))
(while
(or
(null ddd)
(or (= "TEXT" (cdr (assoc 0 (entget (car ddd))))) (= "MTEXT" (cdr (assoc 0 (entget (car ddd))))) (= "HATCH" (cdr (assoc 0 (entget (car ddd))))) (= "INSERT" (cdr (assoc 0 (entget (car ddd))))) (= "REGION" (cdr (assoc 0 (entget (car ddd))))) (= "DIMENSION" (cdr (assoc 0 (entget (car ddd)))))
)
)
(setq ddd (entsel "\nDoi tuong khong the lam duong dan! Chon lai"))
)

(setq chondd (car ddd))
(setq L (vlax-curve-getDistAtParam chondd (vlax-curve-getEndParam chondd)))
(setq diemdau (vlax-curve-getPointAtDist chondd 0))
(setq diemcuoi (vlax-curve-getPointAtDist chondd l))
(setq dc (getpoint "\nChon diem goc: "))
(command ".line" dc diemcuoi "")
(command ".line" dc diemdau "")

(princ)
)

Thứ Ba, 14 tháng 6, 2011

Lisp tạo và chỉnh sửa menu.

*Thấy yêu cầu làm menu bằng lisp cũng hay hay mình làm 1 cái như này.
-Load cái bên dưới về giải nén ra thư mục MENU chép vào ổ C.
-AP file themmenu.lsp lên sẽ được menu như này.

-Mình chuẩn bị sẳn 4 lệnh:
+Tạo mục mới. Lệnh sẽ hỏi chuổi hiển thị ở menu và tên lệnh thực hiện lisp sẽ tạo ra mục mới trong menu.
+Tạo đường phân cách.
+Chèn 1 dòng mờ dùng làm tiêu để hay chju1 thích.
+Xóa nội dung menu.
Chúc các bạn vui với ứng dụng này. Hạn chế là mình chưa tìm cách tạo menu sếp lớp và xóa từng mục menu được.

Thứ Sáu, 3 tháng 6, 2011

Lisp rải đối tượng theo đường dẩn bổ sung điểm xuất phát.

Theo chương trình hành động nay mình thêm phần chọn điểm bắt đầu rải và hướng rải cho lisp rải đối tượng theo đường dẩn.
*Lệnh rải cho toàn bộ đường dẩn thì vẩn như cũ.
*Lệnh rải từ điểm:
-Tên lệnh RTD.
-Chọn đối tượng cần rải như cũ.
-Chọn đường dẩn như cũ.
-Chọn điểm bắt đầu rải (nằm trên đường dẩn).
-Chọn điểm chỉ hướng rải (nằm trên đường dẩn).
-Lúc này các phần sau giống lisp cũ chỉ có điều đối tượng rải từ điểm bắt đầu do mình chọn và rải về phía mình chọn.
*Dự kiến là sau khi chọn 2 điểm sẽ hỏi các lựa chọn:
-Theo số lượng trên toàn bộ đoạn từ điểm bắt đầu rải theo hướng chỉ và đi hết đường dẩn. (cái này đã có)
-Theo khoảng cách trên toàn bộ đoạn từ điểm bắt đầu rải theo hướng chỉ và đi hết đường dẩn. (cái này đã có)
-Từ điểm bắt đầu rải theo hướng chỉ và đi hết đường dẩn hỏi số lần rải và khoảng cách rải (nhân với nhau không nhất thiết rải đến hết).
-Theo số lượng trên đoạn từ điểm bắt đầu rải đến điểm chỉ hướng.
-Theo khoảng cách trên đoạn từ điểm bắt đầu rải đến điểm chỉ hướng.
Đang nghỉ cách nào gộp vào 1 câu hỏi cho nó ngắn nên tạm thời dùng như trên đã.


Bạn copy nội dung và tạo file lisp hay tải file về cũng được!


(Defun c:rdt (/ ss doituong dsl dc ddd chondd chieudaicuver diemdau diemcuoi krai chieudaidoan slc sl index d2 p2 d5 p5 d3 p3 dt l m)
(vl-load-com)
(command "undo" "be")
(command "ucs" "")
(chonnhomdoituong)
(choncuver)
(hoikieurai)
(command "ucs" "p")
(command "undo" "end")
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun c:rtd (/ ss doituong dsl dc ddd chondd chieudaicuver diemdau diemcuoi krai chieudaidoan slc sl index d2 p2 d5 p5 d3 p3 dt l m)
(vl-load-com)
(command "undo" "be")
(command "ucs" "")
(chonnhomdoituong)
(choncuver)
(chondiemxuatphat)
(hoikieuraicd)
(command "ucs" "p")
(command "undo" "end")
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun chondiemxuatphat ()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 545)
(setq diemchuan (getpoint "\nDiem bat dau rai tren duong dan:"))
(setq diemdinhhuong (getpoint diemchuan"\nHuong rai so voi diem chuan:"))
(setvar "osmode" 0)
(setq daidendiem (vlax-curve-getDistAtPoint chondd diemchuan))
(setq daidenhuong (vlax-curve-getDistAtPoint chondd diemdinhhuong))
(setvar "osmode"luubatdiem)
(Cond
((< daidendiem daidenhuong) (setq chieudaitinh (- chieudaicuver daidendiem)) (setq dautinh +))
((> daidendiem daidenhuong) (setq chieudaitinh daidendiem) (setq dautinh -))
)
(setq doanxuatphat daidendiem)
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun hoikieuraicd ()
(setq kraicd (strcase (getstring "\nKieu rai theo: So luong/")))
(Cond
((= kraicd "S") (raisoluongcd))
((/= kraicd "S")(raikhoangcachcd))
)
(princ)
)
;;;;;;;;;;;;;;
(Defun raikhoangcachcd ()
(setq chieudaidoan (GETDIST "\nKhoang cach doan chia: "))
(setq sol (+ (/ chieudaitinh chieudaidoan) 1))
(setq sl (fix sol))
(setq sl (fix sl))
(thuchienrai)
(princ)
)
;;;;;;;;;;;;;;
(Defun raisoluongcd ()
(setq slc (getreal "\nChia duong dan thanh may lan:"))
(setq chieudaidoan (/ chieudaitinh slc))
(setq sl (fix (+ 1 slc)))
(thuchienrai)
(princ)
)
;;;;;;;;;;;;;;
(Defun chonnhomdoituong ()
(princ "\nChon doi tuong rai:")
(setq ss (ssget))

(cond
((= ss nil) (princ "\nChua chon duoc doi tuong nao:") (chonnhomdoituong))
((/= ss nil)
(setq dsl (sslength ss))
(cond
((= dsl 1)
(setq doituong (ssname SS 0))
(setq doituong (entget doituong))
(setq KIEUDOITUONG (cdr (assoc 0 doituong)))
(cond
((= KIEUDOITUONG "INSERT") (setq dc (cdr (assoc 10 doituong))))
((/= KIEUDOITUONG "INSERT") (chondiemchuandoituong))
);ketthuccondxemblock
);kethucdsl1
((/= dsl 1) (chondiemchuandoituong))
);ketthuccondnho

);ketthucsetqdsl
);ketthuccondtong
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun chondiemchuandoituong ()
(setq dc (getpoint "\nChon diem goc: "))
(cond
((= dc nil) (princ "\nChua chon duoc diem goc:") (chondiemchuandoituong))
((/= ss nil)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun choncuver ()

(setq ddd (entsel "\nChon duong dan:"))
(while
(or
(null ddd)
(or (= "TEXT" (cdr (assoc 0 (entget (car ddd))))) (= "MTEXT" (cdr (assoc 0 (entget (car ddd))))) (= "HATCH" (cdr (assoc 0 (entget (car ddd))))) (= "INSERT" (cdr (assoc 0 (entget (car ddd))))) (= "REGION" (cdr (assoc 0 (entget (car ddd))))) (= "DIMENSION" (cdr (assoc 0 (entget (car ddd)))))
)
)
(setq ddd (entsel "\nDoi tuong khong the lam duong dan! Chon lai"))
)

(setq chondd (car ddd))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq chieudaicuver (vlax-curve-getDistAtParam chondd (vlax-curve-getEndParam chondd)))
(setq doanxuatphat 0)
(setvar "osmode"luubatdiem)
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun hoikieurai ()
(setq dautinh +)
(setq krai (strcase (getstring "\nKieu rai theo: So luong/")))
(Cond
((= krai "S") (raisoluong))
((/= krai "S")(raikhoangcach))
)

(princ)
)
;;;;;;;;;;;;;;
(Defun raikhoangcach ()
(setq chieudaidoan (GETDIST "\nKhoang cach doan chia: "))
(setq sol (+ (/ chieudaicuver chieudaidoan) 1))
(setq sl (fix sol))
(setq sl (fix sl))
(thuchienrai)
(princ)
)
;;;;;;;;;;;;;;
(Defun raisoluong ()
(setq slc (getreal "\nChia duong dan thanh may lan:"))
(setq chieudaidoan (/ chieudaicuver slc))
(setq sl (fix (+ 1 slc)))
(thuchienrai)
(princ)
)
;;;;;;;;;;;;;;
(Defun thuchienrai (/ quaykhong)

(setq quaykhong (strcase (getstring "\nCo quay doi tuong vuong goc voi duong dan khong: Khong/")))
(Cond
((= quaykhong "K") (setq copygiua copykoquay))
((/= quaykhong "K")(setq copygiua copyquay))
)

(setq index -1)

(repeat sl
(setq index (1+ index))
(setq d2 (dautinh doanxuatphat (* chieudaidoan index)))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq p2 (vlax-curve-getPointAtDist chondd d2))
(setvar "osmode"luubatdiem)
(copygiua)
)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
(defun copycuoiquay()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq d5 (- (dautinh doanxuatphat (* chieudaidoan index)) 0.01))
(setq p5 (vlax-curve-getPointAtDist chondd d5))
(setq L 0)
(setq M (sslength ss))
(while (< L M)
(setq DT (ssname ss L))
(command ".copy" DT "" dc p2)
(command ".rotate" "last" "" p2 p5)
(command ".rotate" "last" "" p2 180)
(setq L (1+ L))
)
(setvar "osmode"luubatdiem)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
(defun COPYQUAY(/ p3)
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq d3 (+ (dautinh doanxuatphat (* chieudaidoan index)) 0.001))
(setq p3 (vlax-curve-getPointAtDist chondd d3))
(setvar "osmode"luubatdiem)
(Cond
((= p3 nil) (copycuoiquay))
((/= p3 nil)
(setq L 0)
(setq M (sslength ss))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(while (< L M)
(setq DT (ssname ss L))
(command ".copy" DT "" dc p2)
(command ".rotate" "last" "" p2 p3)
(setq L (1+ L))
)
(setvar "osmode"luubatdiem)
)
)


(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
(defun COPYKOQUAY()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(command ".copy" ss "" dc p2 "")
(setvar "osmode"luubatdiem)
(princ)
)
;;;;;;;;;;;;;;

Thứ Tư, 25 tháng 5, 2011

Cây

1_Ở tp Quảng Ngãi mình rất hay đi trên đường Trần Hưng Đạo (đường đi làm của mình mà). Đường này rất mát do hai bên vỉa hè trồng toàn cây Đuôi công. Cá nhân mình rất thích trồng cây này và khi thiết kế cây xanh vỉa hè mình rất hay trồng cây này. Nhưng sau này các bác "đầy tớ to" của tỉnh mình bảo nó giống cây chổi chà quá và cứ thấy thiết kế cây này là các bác lắc tịa thế là cây này mặc nhiên ko đc trồng ở tỉnh mình nửa.

2_Trước sở giáo dục có 2 cây phượng vĩ cứ hè là nở bông một cây đỏ tươi, một cây nhạt hơn. Cá nhân mình thích cây đỏ tươi hơn (màu hoa í). Một dạo tỉnh mình nổi lên phong trào trồng cây Lộc Vừng (do tên nó na ná lộc vàng) thực chất theo cái sự hiểu biết của mình thì đây là cây cơm nguội (nghe gúm chết, mình ghét cây này cực chả thấy đẹp gì cả). Một hôm đi ngang qua thay vì 2 cây phượng thì trong sân sở chiễm chệ 2 cây lộc vừng to vật vã. Tụi xấu mồm bảo do sếp mới hạp với cây Lộc Vừng nên thay quách 2 cây phượng. Nhưng mà hông phải đâu là không phải đâu "do bão làm 2 cây phượng bị gãy sợ nguy hiểm cho mọi người" nên sếp mới bứng dụt đi và thay cây khác vào đấy chứ. Em đảm bảo tin em nghe ngóng là hoàn toàn sự thiệt.

3_Lúc xưa em thấy công viên có trồng cây leo rất hay: nếu bảo cây thật thì giống giả quá, mà nếu bảo giả thì giống cây thật quá (hình bên trái đấy ạ)
Photobucket
, em mơ có ngày mình trồng lấy mớ. Hôm đi mua cây về trồng thấy có loại này em mua 1 nhánh dài khoảng 3 gang tay (hết mừ ngàn). Trồng đâu chừng 1 năm nó leo um xùm vách rào mà lá to vật xấu kinh (hình như cây này còi thì mới đẹp), em bỏ 1 buổi lôi đầu nó xuống đem bỏ rác được 1 đống (tầm cở 2 xe ba gác chở thì hết). Tụi chở rác ko chịu chở thế là phải lót tay tụi nó ít gọi là tiền xăng nó mới chịu chở đi. Em tính đống này mà chặt khúc bán được giá như hồi mua chắc em phải có nhiều triệu chứ chẳng chơi.

4_Trên đường đi nghiệm thu về bác chủ đầu tư nhanh mắt thấy bên đường có cây Quăng (Chớ không phải Quen nhớ) đang ra trái đỏ cây nên đem ra bình luận. Trên xe có 6 người thì chỉ 4 người biết cây này. Trong số 2 người ko biết thì 1 người hơn mình 7 tuổi còn 1 người cũ xì, hơn mình chắc cũng 20 tuổi. Mình ngạc nhiên thời mình tụi con nít vẩn hái trái chín này về ngâm muối để ăn (trái này mủ độc ác mủ tươi dính lưỡi thì nứt ra rát khiếp) tụi mình ăn nó như quà vặt í. hai bác này cũ lại gốc ở quê thế mà ko biết, chưa kể gổ cũng là loaị hay dùng trong đóng tủ kiểng nhà quê.

5_Trước UBND tỉnh trồng 1 hàng cây Hoàng Nam trông giống như cây cột màu xanh.
Photobucket
Cây này đặc điểm là từ gốc tới ngọn điều thấy lá phủ và mặt cắt ngang tán cây gần như nhau, cao đuồng đuỗng em rất thích tạo dáng của cây này. Hôm thiết kế sân vườn cho UNBD huyện Tư Nghĩa em quất cho 2 hàng dọc theo lối vào và hình dung rất đẹp nhưng khi bảo vệ phương án các bác hội đồng dè bỉu bảo là cây xanh mà không có bóng mát thì trồng làm qué gì. Thế là bắt em thay bằng cụm 3 cây cau bẹ trắng bảo thế cho vững (như kiềng 3 chân) Thế mà vững thật bác chủ tịch này sau lên vù vù. Nhưng bác mà lên thêm chút nửa thể nào cũng sẽ ngày ngày thấy 1 hàng cây (dô diên theo ý bác) trước cơ quan làm việc của mình. Chắc vì bác ko ưa dòm mặt cái cây này nên ko thèm lên nửa chỉ dừng lại ở cấp Sở thôi.

6_"Hoa sữa vẩn nồng nàn đường phố đêm đêm, có lẽ nào anh lại quên em" Hị hị nghe lãng mạn quá nhỉ. Các bác gật và lắc cũng nghe theo kiểu lãng mạn thế là hàng loạt con đường ở TP mình được trồng hoa Sửa. Đúng là "nồng nàn" thật nhà nào gần cây hoa sữa mà tới mùa hoa thì thôi rồi, hên chút nửa mà ở trúng đường trồng toàn bộ hoa sữa thì có thở vào mắt. Tới mùa hoa Sữa thì về Quảng Ngãi mà coi bà con nhà ta mang sào ra đánh cây hoa Sữa cho rớt bông xuống thiệt là chiện loạ.

Thứ Hai, 23 tháng 5, 2011

Lisp rải đối tượng theo đường dẩn.

*Lâu nay dùng cái MEASUREDIVIDE của cad thấy có vài hạn chế:
-Chỉ rải được pointblock.
-Block thỉ phải gỏ tên và được chèn ra với tỉ lệ 1/1.
-Bỏ qua không chèn vào vị trí xuất phát của đường dẩn.
*Dựa trên cái lisp xác định điểm của bác SSG cho mình cải tạo và nhập chung thành 1 lệnh tác dụng tương đương và cải thiện các nhược điểm mình nêu trên: (à nghe bảo cad12 đã kết hợp array theo đường dẩn nhưng mình chưa tiếp xúc nên ko biết có bị dẩm lên đó ko nhưng đây là thử nghiệm vì mình tính cho xác định điểm bắt đầu và hướng rải nửa nhưng chưa nghỉ ra kịch bản vì có quá nhiều thường hợp muốn)
-Tên lệnh: RDT (rải đối tượng)
-Hỏi chọn đối tượng muốn rải: Bạn chọn thoải mái bằng các kiểu (đối tượng gì cũng được) kết thúc chọn bằng enter.
+Nếu bạn chọn hơn 1 đối tượng thì sẽ hỏi bạn chọn điểm chuẩn cho nhóm đối tượng này (dùng để làm điểm đặt trên đường dẩn í).
+Nếu bạn chọn 1 đối tượng thì sẽ xem nếu đối tượng không phải là block thì vẩn hỏi chọn điểm chuẩn, Nếu đối tượng là block thì bỏ qua phần hỏi chọn điểm chuẩn mà lấy điểm chèn của block đó làm điểm chuẩn.
-Hỏi chọn đường dẩn dùng để rải.
-Hỏi “Kieu rai theo: So luong/(khoang)” :
+Rải theo số lượng thì nhập S enter.
+Rải theo khoảng cách thì nhập K enter hoặc enter không (thực chất cứ nhập vào khác S thì nhận là khoảng cách).
-Tùy theo lựa chọn mà hỏi khoảng cách rải hay số lượng rải.
-Hỏi “Co quay doi tuong vuong goc voi duong dan khong: Khong/(Co)") :
+Không quay đối tượng cho vuông góc với đường dẩn thì nhập K enter.
+Có quay thì nhập C en ter hoặc enter không (thực chất cứ nhập vào khác K thì nhận là có).
*Xong rồi. Bác nào có nhu cầu thì dùng không có thì dòm. Mong không ném đá hoặc dè bỉu.

Bạn copy nội dung và tạo file lisp hay tải file về cũng được!


(Defun c:rdt (/ ss doituong dsl dc ddd chondd chieudaicuver diemdau diemcuoi krai chieudaidoan slc sl index d2 p2 d5 p5 d3 p3 dt l m)
(vl-load-com)
(command "undo" "be")
(command "ucs" "")
(chonnhomdoituong)
(choncuver)
(hoikieurai)
(command "ucs" "p")
(command "undo" "end")
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun chonnhomdoituong ()
(princ "\nChon doi tuong rai:")
(setq ss (ssget))

(cond
((= ss nil) (princ "\nChua chon duoc doi tuong nao:") (chonnhomdoituong))
((/= ss nil)
(setq dsl (sslength ss))
(cond
((= dsl 1)
(setq doituong (ssname SS 0))
(setq doituong (entget doituong))
(setq KIEUDOITUONG (cdr (assoc 0 doituong)))
(cond
((= KIEUDOITUONG "INSERT") (setq dc (cdr (assoc 10 doituong))))
((/= KIEUDOITUONG "INSERT") (chondiemchuandoituong))
);ketthuccondxemblock
);kethucdsl1
((/= dsl 1) (chondiemchuandoituong))
);ketthuccondnho

);ketthucsetqdsl
);ketthuccondtong
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun chondiemchuandoituong ()
(setq dc (getpoint "\nChon diem goc: "))
(cond
((= dc nil) (princ "\nChua chon duoc diem goc:") (chondiemchuandoituong))
((/= ss nil)))
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun choncuver ()

(setq ddd (entsel "\nChon duong dan:"))
(while
(or
(null ddd)
(or (= "TEXT" (cdr (assoc 0 (entget (car ddd))))) (= "MTEXT" (cdr (assoc 0 (entget (car ddd))))) (= "HATCH" (cdr (assoc 0 (entget (car ddd))))) (= "INSERT" (cdr (assoc 0 (entget (car ddd))))) (= "REGION" (cdr (assoc 0 (entget (car ddd))))) (= "DIMENSION" (cdr (assoc 0 (entget (car ddd)))))
)
)
(setq ddd (entsel "\nDoi tuong khong the lam duong dan! Chon lai"))
)

(setq chondd (car ddd))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq chieudaicuver (vlax-curve-getDistAtParam chondd (vlax-curve-getEndParam chondd)))
(setq diemdau (vlax-curve-getPointAtDist chondd 0))
(setvar "osmode"luubatdiem)
(princ)
)
;;;;;;;;;;;;;;;;;
(Defun hoikieurai ()
(setq krai (strcase (getstring "\nKieu rai theo: So luong/")))
(Cond
((= krai "S") (raisoluong))
((/= krai "S")(raikhoangcach))
)
(princ)
)
;;;;;;;;;;;;;;
(Defun raikhoangcach ()
(setq chieudaidoan (GETDIST "\nKhoang cach doan chia: "))
(setq sol (+ (/ chieudaicuver chieudaidoan) 1))
(setq sl (fix sol))
(setq sl (fix sl))
(thuchienrai)
(princ)
)
;;;;;;;;;;;;;;
(Defun raisoluong ()
(setq slc (getreal "\nChia duong dan thanh may lan:"))
(setq chieudaidoan (/ chieudaicuver slc))
(setq sl (fix (+ 1 slc)))
(thuchienrai)
(princ)
)
;;;;;;;;;;;;;;
(Defun thuchienrai (/ quaykhong)

(setq quaykhong (strcase (getstring "\nCo quay doi tuong vuong goc voi duong dan khong: Khong/")))
(Cond
((= quaykhong "K") (setq copygiua copykoquay))
((/= quaykhong "K")(setq copygiua copyquay))
)

(setq index -1)

(repeat sl
(setq index (1+ index))
(setq d2 (* chieudaidoan index))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq p2 (vlax-curve-getPointAtDist chondd d2))
(setvar "osmode"luubatdiem)
(copygiua)
)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
(defun copycuoiquay()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq d5 (- chieudaicuver 0.001))
(setq p5 (vlax-curve-getPointAtDist chondd d5))
(setq L 0)
(setq M (sslength ss))
(while (< L M)
(setq DT (ssname ss L))
(command ".copy" DT "" dc p2)
(command ".rotate" "last" "" p2 p5)
(command ".rotate" "last" "" p2 180)
(setq L (1+ L))
)
(setvar "osmode"luubatdiem)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;
(defun COPYQUAY(/ p3)
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(setq d3 (+ (* chieudaidoan index) 0.001))
(setq p3 (vlax-curve-getPointAtDist chondd d3))
(setvar "osmode"luubatdiem)
(Cond
((= p3 nil) (copycuoiquay))
((/= p3 nil)
(setq L 0)
(setq M (sslength ss))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(while (< L M)
(setq DT (ssname ss L))
(command ".copy" DT "" dc p2)
(command ".rotate" "last" "" p2 p3)
(setq L (1+ L))
)
(setvar "osmode"luubatdiem)
)
)


(princ)
)
;;;;;;;;;;;;;;




Hình ảnh minh họa kết quả

Thứ Sáu, 6 tháng 5, 2011

Ngược Nguyên tắc.

Photobucket
1/ Bước vào bàn làm việc nóng muốn chết, với tay giật cái quạt và ngồi chờ .... chả thấy mát gì cả. Liếc ngang thì cái quạt vẩn đang quay ầm ầm nhưng cánh và lồng bảo vệ nằm dưới đất, "chậc" thèn nào giởn mình giữa trới nóng thế này, thôi cứ gắn lại cho mát rồi điều tra sau. Vặn vặn vặn ... hoài không thấy cứng gì cả nhìn lại cái nắp vặn cánh thì ko còn cái nào gọi là gai hay ren gì cả.

2/Thường mày râu thì anh nào cũng đã trải qua cái vụ sửa (hoặc phá) đồ đạc và vặn ốc (bulon) và chắc anh nào cũng nghe ngóng và thuộc nguyên tắc vặn cùng chiều kim đồng hồ là vặn vào còn ngược chiều kim đồng hồ là vặn ra. Nhưng nguyên tắc này mà đem áp dụng cho vị trí cái chụp nhựa vặn để giữ cánh quạt là ăn mày ngay. Vốn cái cánh quạt này quay theo chiều kim đồng hồ nên cái núm này mà cũng vặn theo chiều đó thì càng ngày liên kết sẽ càng lỏng và 1 ngày kia nó có nguy cơ hạ xuống ngay chổ mình ngồi hoặc rớt ra mà còn dính trong lồng gây kẹt cháy thì mang vạ nên người ta mới sản xuất "thèn" này gai ngược.

3/ Phần 2 giải thích vì sao cái núm mình đang cầm ko còn cái gai nào: Là vì 1 ông nông dân nào đó ko biết lý do gì mà muốn mở cái quạt của mình ra, ông này cũng có chút hiểu biết nhưng mà biết ko tới nơi cộng thêm tứ chi phát triển nên nghiến răng mà vặn ra (thực chất là vặn vào) và ... 1 thời điểm kia bựt đi mía hết đoạn gai của cái núm quách.

4/ Chiều sẽ làm việc với cha bảo vệ về vụ này. Chỉ là nhân tiện lưu ý cánh mày râu và mày ko râu ko phải cái gì cũng theo nguyên tắc mình đã biết. Nếu theo đúng nguyên tắc mà thấy hông ổn thì đề nghị nghe ngóng lại, có đôi lúc ngược thì mới đúng.

Thứ Tư, 6 tháng 4, 2011

Giành


Photobucket
*Lúc trước nc với người bạn nhân dịp người này lên kế hoạch làm 1 chuyến đi Đà Nẳng:
Theo cái sự hiểu biết của mình thì Quảng Ngãi – Đà Nẳng mổi ngày chỉ có chuyến Mai Linh là đi đúng giờ và không nhồi nhét, nên anh này gọi và được trả lời phải đến bến vào lúc ... trước khi xe chạy khoảng 10 phút và phải mua vé kẻo thì hết.

Anh này cho như thế là ko ổn vì đi chơi thì anh muốn đi lúc nào thì đi ko được ra điều kiện với anh í và anh chọn giải pháp bắt xe trên đường, Đúng là việc này đúng ý anh là muốn đi bắt xe lúc nào thi đi nhưng bù lại là ko biết khi nào thì có xe cho mà bắt và ngồi thì nhồi nhét. Anh cho rằng việc nhồi nhét là nhỏ như con thỏ đi có 3 tiếng chứ nhiêu đâu mà lo. Ấy là anh này ko quan trọng chuyện gò bó về thể xác chỉ muốn tâm hồn thoải mái.

-Mình thì quan điểm ngược lại, đi phải đúng kế hoạch giờ giấc khi nào đi, ngồi phải thoải mái (đúng thiết kế của xe), vậy là mình ko quan trọng bị gò bó về tâm hồn, thậm chí có phần thích vì mình quan niệm nó là kỹ luật và thể hiện sự văn minh (bởi thế mình thường xuyên ngồi 1 mình ở các cuộc đám cưới dù biết thiên hạ chắc chắn đi sau đó từ 1 đến vài tiếng đồng hồ).

-Có 1 điều lạ mình ko chịu được chật. Nếu ngủ hơn 1 người trên giường chỉ có 1 bên thoáng thì mình cố giành bằng được bên này. Có 1 lần thằng bạn cùng phòng giận mình mấy ngày khi đã thoi thẳng vào mặt thằng này vì nó ôm chặt 2 tay mình ko cho cử động trong vòng 1 phút. Đấy là thói quen xấu nhưng cứ ko cử động thoải mái được mình nổi khùng lên ngay.

-Quay lại chuyện cái giường chỉ có 1 bên thoáng. Do dân mình đất và tiền điều thiếu nên các giường hầu như kê xát vách, như vậy là ko văn minh (có 1 lần đọc đâu đó thấy 1 tên nước ngoài rất ngạc nhiên về chuyện này, nó hỏi chúng mày phải trèo qua nhau khi xuống gường à). Biết thế, mình lại là kiến trúc sư nhưng đến giờ giường mình vẩn chỉ có 1 mặt thoáng (lí do như trên) vậy là phải tiếp tục làm người xấu tính là đi giành phía nằm với người ngủ cùng. May là chưa phải làm việc này với người phụ nữ yêu thương của mình.

Thứ Bảy, 26 tháng 2, 2011

Gia đình Duy782006 tết 2011.

Nhân dịp tết tập trung đông đủ đại gia d9nh2 mình làm vài tấm kỹ niệm.
Trong các ảnh thì Duy782006 đóng vai trò chú các bạn ko nhầm với ông nhé :-)















Gia đình 1



Gia đình 2



Ông cháu



Ông, bà, chú, cháu

Thứ Bảy, 5 tháng 2, 2011

Bánh tráng xông khói.

Hình ảnh lụm từ net chỉnh màu bởi duy782006 mang tính minh họa không phải ảnh của chủ chòm

Hôm 28 âm lịch đi TP Quảng Ngãi đón anh hai từ SG về tranh thủ ghé quán quen làm tô cháo lòng. Được thưởng thức 1 cái bánh tráng nướng khét mù mùi khói hầu hết mọi người than phiền vụ này nhưng mình thì không vì mình hiểu cái bánh tráng khét mù này là cố gắng trong mùa mưa dầm dề chứ chả ai muốn làm ra cái sản phẩm như thế, chủ yếu là mình cũng đã trải qua 1 đoạn thơ ấu tham gia vào việc làm bánh tráng này.
-Lúc đó nhà mình sống gần bờ sông trong căn nhà nhỏ tí lợp tôn dựng trên khoảnh đất được người bà con cho ở ké. Nhà ngoại gần đó và ngoại lúc này đã có tuổi không lái xe lam nửa mà về dựng lò làm bánh tráng, nhà ngoại to lại có gác nên mình thường xách vở qua leo lên gác: học thì ít mà hay lon ton phụ ngoại trong khâu phơi bánh (trên mái nhà).
-Mình nhớ khi đó các vỉ phơi được đan bằng tre chứ ko phải bằng lưới như bây giờ. Khâu chọn, ngâm gạo xay bột, tráng bánh thì mình xin phép bỏ qua vì không hiểu lắm nhưng cái vỉ thì mình có hiểu. Nếu để nguyên vỉ tre thế mà trải bánh tráng lên phơi thì khi khô bánh và vỉ rất chi là đoàn kết một cái bánh khi gở ra cho được thì kết quả là rất nhiều bánh mổi tội nhìn nó giống i như cái ......... bánh tráng bể :-) và tất nhiên bán chẳng ai mua. Thế nên có cái quét lên vỉ để tạo cái tách liên kết kia ra cho dể gở và theo kết quả truyền đời của dân gian thì cái này là nước vo gạo, không phải vo ra rồi lấy quét liền mà được nha, đựng trong hủ sành khoảng 2 ngày cho nó lên men chua lè lên thì mới đem quét lên vỉ để cho khô thì sẽ có 1 lớp phấn mỏng tên vỉ là đạt.
-Nói nghe đơn giản thế nhưng mà quét quá tay thì lớp phấn này nhiều quá thì bánh vừa héo có xu hướng thun lại và nó trượt trên vỉ co lại dày lên và bé tí như cái bánh xèo cũng hông ai thèm mua nên cái khâu quét này phải dựa vào mắt kinh nghiệm chứ hông có định lượng chi hết. Mổi lần ngoại làm đoạn này vì nó chua lè nên mình hông có dòm thành ra thất truyền kinh nghiệm này (cho mình).
-Thuận lợi thì trời nắng đẹp đẹp phơi xong gở bánh khỏi vỉ và bỏ mối cho người ta. Gặp khi mưa kéo dài bánh dự trữ hết ko có bỏ mối thì phải làm mọi cách nào than nào lửa để hơ bánh cho khô nhưng giá thành ko đc tăng (giữ mối mà) nên cái đoạn hơ này tận dụng tất tật các thứ đốt được thường là củi (than mắc chịu hông nổi) mùa mưa thì củi cũng ẩm nên sản phẩm thường khét mù khói là vì vậy.
-Hôm đó thèn khó tính là mình ko hề phàn nàn lấy 1 tiếng mà lại còn có cảm giác rưng rưng nhớ đến ngoại nay đã mất cả (ông bà).

Thứ Tư, 2 tháng 2, 2011

Khai phím đầu năm.

Hình ảnh lụm từ net chỉnh màu bởi duy782006 mang tính minh họa.


Thường mọi người khai bút đầu năm, còn mình khai phím đầu năm.


-Khi mình học lớp 1 bắt đầu tập viết (không như bây giờ con nít tập viết từ mẫu giáo) thì còn sống ở thời viết bút lá tre mà thời đó đúng là cái ngòi bút i như cái lá tre bị xẻ 1 rãnh ở giữa là xong, cứ chấm 1 phát thì viết được 1 chử đã hết mực lại chấm nên lúc đó đi học mổi đứa cầm theo bình mực và kết quả khi về bình mực thường vơi đi kha khá nhưng được cái nó không mất đi đâu cả mà nó ngự trên quần áo tay chân của các ông tướng cả.
-Lan man qua chuyện mực tí ha: Mực lúc đó ai khá khá thì mua mực pha sẳn đựng trong bình về chỉ việc chấm và viết nhưng cái thời thiếu thốn thì chủ yếu kím cái chai không (miệng chai phải to để đút lọt cây bút vào ko thì pha xong có mà uống cho hết) có chai rồi thì mua mực khô (không phải khô mực nướng en đâu ha) mực này nó trông giống viên than đá đập vụn í đem về ngâm với nước thì được mực viết nhưng cặn kinh khủng thường xuyên tắc ngòi và thỉnh thoảng xòa ra phát tèm lem cả vở, anh nào siêng (như mình) thì ngâm xong lấy vải lọc cho đở cặn.
-Bàn học sinh lúc ấy có khoét 1 lổ tròn và 1 lổ dài thì cái lổ tròn í là chổ để bình mực vào. Tất nhiên ko phải ai cũng chịu khó lo khoảng mực như mình nên lên lớp hết thì thì các ông tướng chuyển qua chấm trộm trong giờ học và đổ trộm trong giờ ra chơi. Lúc đó thiếu thốn quần áo vải cũng ko ra gì nên cảm giác lạnh lúc đó kinh khủng hơn bây giờ nhiều lại ko có nước nóng mà tắm nên nhiều khi các cô (giáo í) lấy mực quẹt lên cổ các ông làm biếng để các ông về bắt buộc phải tắm cho sạch vết mực nên mực còn có tác dụng mới là bắt tắm cưỡng bức :-).
-Quay lại cây viết: Sau một thời gian thì cây viết lá tre cải tiến 1 chút là thiết kế thêm 1 cái lá tre nhỏ hơn úp ngược vào lá tre lớn tạo thành bọc chứa mực từ đó chấm 1 phát thì viết được 1 hàng và thỉnh thoảng lại xòa cho phát hoành tráng hơi lá cũ nhiều (bị nhiều mực hơn mà). Rồi lên bút máy lúc này có phần chứa mực trong cây viết lun thiệt hiện đại hết sức từ đó hành trang đi học bớt đc bình mực. Lúc này ai đi học quên bơm mực thì xin đứa bên cạnh nhỏ cho mấy giọt. Chứ ko trộm đc nửa.
-Lúc xưa thì viết bằng bút nên đầu năm khai bút, chử của mình thì hoài cổ thường xuyên ngả ngửa nay cứu cánh xuất hiện toàn làm bằng còm píu tờ cả viết cả vẽ cái chi cũng phím với cả chuột nên nay mùng 1 mình làm phát khai phím cho hắn hên cả năm. Chúc bà con năm mới phát tài. Ưng gì được nấy!

Thứ Năm, 27 tháng 1, 2011

Nhiều chuyện.

*Dạo này giờ ăn tối đang coi phim sóng tình. Sao thấy cánh đàn ông mình tệ quá: ông thì toàn tiêu tiền của chị em, ông thì suốt ngày rủ bạn gái về ở chung rồi đóng vai hờn giận lung tung.
-Thời sinh viên mình cũng đã từng chứng kiến cảnh tương tự. Hồi đó tụi mình thuê nguyên 1 tầng nhà trong đó 2 cô nử ở phòng nhỏ, 5 ông nam ở phòng lớn chung khu wc và cầu thang.
-Ban đầu thì tới bửa ăn bên này mời bên kia, rồi bên kia mời lại (ăn quán đi chung cho vui). Nhưng lực lượng không cân bằng nên cái đoạn tài chính hắn lấn cấn nghẹt cái toàn dân trí thức không ai tiện cân đo đong đếm, được đâu 1 tuần thì thèn duy782006 là em quyết định làm người nhỏ mọn. Em đưa ra đề nghị gom hết tiền ăn lại đưa em giữ sau đó thì đi ăn em chi. May quá các trí thức trẻ đồng ý và từ đó em có 1 cuốn sổ (ai ko en thì làm dấu cuối tháng trả lại tiền) đầu tháng đi thu từng vị kiên quyết tới cuối tháng mới trả lại phần mấy hôm không en từ đó bị cả nhóm không ưa nhưng ko ai giám phản đối và có biệt danh ông già.
-Có trả lại thì đương nhiên có thu thêm nguyên nhân không phải nhóm trí thức nào cũng có lẩn vào 1 ông nhỏ mọn nên kết quả là có khi chi tiêu quá tay dẫn đến hết tiền en mà tháng thì chưa có hết nên hay đi thăm bạn vào cái thời điểm nhạy cảm này. Mà hay lắm nghen người mà ko có tiền nhất là tiền en thì dòm cái mặt biết ngay. Trên cái bước đường đi thăm đó thì có lúc thăm trúng nhóm của em và cánh trí thức trẻ kia hào phóng mời đi en chung đâu được khoảng vài lần đến tháng sau ai mời thì em tính vào cho hắn và thông báo hắn hết tiền en trước thời hạn từ đó ko ai còn dám hào phóng nửa và từ đó biệt danh ông già lưu hành bộ giờ được quảng bá rộng rãi cho toàn lớp.
-Duy782006 mặc nhiên được gạch khỏi danh sách tìm bạn trai của các nàng em cũng ko lấy điều đó làm buồn. Cứ ngó quanh mà xem mấy chàng galăng có bạn gái (nói bình dân thì kiu là bồ) không biết vui sướng ở đâu chứ làm 1 lần 2 cái đồ án thì chỉ có hoá điên (đó là nói em chứ tụi hắn chưa thấy ai điên cả lúc nào cũng chành miệng ra cười ra vẻ hạnh phúc lắm).
-Quay lại chuyện ve vãn của các chàng và nàng. Trong nhóm em có 1 nàng đẹp gái và 1 chàng to con đẹp trai cộng thêm có tài, đồ án mà chàng thể hiện thì cứ gọi là mê. Theo đúng quy luật thì chàng thích nàng còn nàng thì vẩn đong đưa chưa thích hẳn, chàng làm đủ trò để nàng hết đong đưa và khi cái độ đong đưa của nàng ít lại thì ... BÙM.... xuất hiện 1 doanh nhân thành đạt.
-Anh cu cùng tầng nhảy đứng nảy ngồi còn anh thành đạt thì rất hay lui tới và đưa nàng đi các địa chỉ mà cánh trí thức ko đủ khả năng đi. Và nàng về líu lo kể um cả tầng còn chàng thì mặt có phần hơi khó dòm. Hôm đó sinh nhật nàng anh đẹp trai bóp bụng chi ra 1 khoảng kha khá tổ chức sinh nhật nàng để gở điểm, cuối buổi "tối" doanh nhân lại xuất hiện rủ nàng đi chơi, nàng đồng ý ngay, thưa thật với các bác nàng của em mà thế thì em mua lấy triệu quả bóng bay tặng cho nàng lên mây phức cho khuất mắt (bởi thế nên nay vẩn còn dưới đất 1 mình đây này), Anh đẹp trai tất nhiên ko phải là em nên chơi cú liều nắm tay nàng cứng ngắc.
-Xin phép các bác em xoi mói đời tư anh đẹp trai tí. Anh này tập tạ từ nhỏ và rất thích ở trần, nói thế các bác biết trông anh í đô con như nào rồi. À có lần lớp đang vẽ mẫu nam giữa chừng anh "ngừ mẩu" mệt đứng hông nổi xin thôi cuối cùng thầy bốc nóng anh đẹp trai đứng mẫu và bù anh í 9 điểm môn này.
-Quay lại đoạn nắm tay các bác tưởng tượng mừ thèn lôi cũng hông ra chứ nói chi anh thành đạt, với cả anh thành đạt có gan bằng trời cũng ko dám lôi vì kèm theo màn nắm tay anh đẹp trai còn khuyến mại thêm bài thảm ngồi khóc tu tu. À e chưa thưa với các bác là buổi sinh nhật diển ra ở phòng to nên em chứng kiến cả chứ em không phải "thèn nhìu chiện". Anh thành đạt bỏ cuộc, các trí thức khác biết ý lánh đi còn mổi thèn em ngu lâu ko lánh đi mà ngang nhiên trải chăn ra nằm lên và đắp phần còn lại. Em ngủ thôi các bác ạ. Đám trí thức lánh đi lâu lắm em giật mình dậy nghe chừng khuya thế mà vẩn nắm tay ngồi đó. Điên người em mới bảo con bé đó mày đi về phòng đi thế là nó về mà thèn kia vẩn còn nắm tay nên đi theo cả thèn đấy, nào đã yên ko biết tụi nó qua đó làm gì mà em nghe đùng đùng khoảng 5' sau đó thì yên tới sáng (hay em ngủ quên ko nghe ko biết nửa). Sáng dậy thì hai đứa nó thành 1 cặp thỉnh thoảng em thấy cỏng nhau đi chơi nhìn đau cả mắt nhưng em cũng ko dám dạy lời nào.
-Bây giờ thì rã rồi tốt nghiệp xong phần ai nấy tếch em cũng mất liên lạc cả nhưng thấy rằng phải dày mặt như thế chứ như cái thân em thấy ai cũng hơn mình nên cứ có xuất hiện đối tượng thứ 3 là em bấm nút biến mất hút nên thỉ thoảng gặp vẩn có người chửi em bảo tại em ko hết mình.

Thứ Tư, 12 tháng 1, 2011

Tệ.

1. Mấy nay hơi rãnh dạo lên net nghía blog thiên hạ (Đoạn này quyết định xóa vì đối tượng mình đề cập đến ko hài lòng) Xóa...................

2. Hầu hết các bạn tuổi sinh viên thì chủ đề của họ là tình yêu, nó choáng 80% nội dung trên blog và không dưới 2 "đối tác" khác nhau trong khoảng 20 bài viết. Lại thấy mình thật tệ 365 ngày rồi mà vẫn còn là "có quen".

3. Hôm ngồi cafe với 1 bưu điện, 1 công an, 1 giáo viên nghe họ bàn chuyện mua bán đất nào là chổ này phát triển, nơi kia tương lai, mặt bằng giá cả. Con lạy thánh mớ bái con làm xây dựng có biết chút ít về các quy hoạch đã đang và sẽ thực hiện nhưng ko dám mở miệng lấy 1 câu cuối cùng xin phép về trước vì quá choáng. Con tệ thật. */o_o\*

4.....MÌnh tệ thật........