วันเสาร์ที่ 6 กุมภาพันธ์ พ.ศ. 2553

AutoCAD Tips: Visual LISP Tips คำนวณค่าแปลงหน่วยด้วยนิพจน์ LISP

คำนวณค่าแปลงหน่วยด้วยนิพจน์ LISP

ถามว่า 12 ไมล์เท่ากับกี่กิโลเมตร???
ถามว่า 15 ปอนด์เท่ากับกี่กิโลกรัม???

คำถามเหล่านี้ ถ้าถูกถามในสมัยที่แต่ละท่านยังอยู่ในวัยศึกษา
อย่างมัธยม อย่างตอนเรียนสายวิชาชีพ จนกระทั่งในรั้วมหาวิทยาลัย

ก็คงอมยิ้ม กับคำถามง่ายๆ เหล่านี้
และตอบกลับไปได้อย่างรวดเร็ว

แต่ถ้าก้าวสู่ชีวิตที่ละเลยเรื่องนี้ไปแสนนานจะตอบกลับทันทีได้หรือเปล่า?

บางท่านอาจค้นในลิ้นชักโต๊ะทำงานสักพัก
พอเจอตารางค่าแปลงหน่วย ก็กดเครื่องคิดเลขอีกเล็กน้อย เพื่อตอบคำถาม

แต่ถ้าระหว่างนั้น เราอยู่ที่หน้าจอ AutoCAD อยู่แล้ว
ก็เพียงแต่ใช้ฟังก์ชัน CVUNIT ที่มีคนกล่าวถึงน้อยมากๆ ช่วยคำนวณได้เลย

รูปแบบคือ (CVUNIT ค่าตัวเลข "หน่วยเดิม" "หน่วยใหม่")

เช่น
ข้อแรก พิมพ์ (CVUNIT 12 "mile" "kilometer") แล้วกด Enter

Command: (CVUNIT 12 "mile" "kilometer")
19.3121

ข้อสอง พิมพ์ (CVUNIT 15 "pound" "kilogram") แล้วกด Enter

Command: (CVUNIT 15 "pound" "kilogram")
6.80389

แล้วเราจะทราบหน่วยวัดที่มีให้ใช้ว่ามีอะไรบ้างได้อย่างไร
คำตอบคืออยู่ในไฟล์ acad.unt

วิธีที่จะเปิดไฟล์นี้มาอ่านได้อย่างรวดเร็วที่สุดก็คือพิมพ์
(command "notepad" (findfile "acad.unt")) แล้วกด Enter

ซึ่งเป็นดังรายการถัดไปนี้ คัดลอกมาเฉพาะส่วนชื่อหน่วยและคำ Prefix

*meter(s),metre(s),m
*kilogram(s),kg
*second(s),sec
*ampere(s),amp(s)
*kelvin,k
*candela,cd

; Derived SI units
*celsius,centigrade,c
*rankine
*fahrenheit
*gram(s),gm,g
*newton(s),n
*pascal,pa
*joule(s)

; Exponent synonyms
*square,sq
*cubic,cu

; Units of time
*centur(y.ies)
*day(s)
*decade(s)
*fortnight(s)
*hour(s),hr
*milleni(um.a)
*minute(s),min
*sidereal_year(s)
*tropical_year(s)
*week(s),wk
*year(s),yr

; Units of length
*Angstrom(s)
*astronomical_unit(s),au
*bolt(s)
*cable(s) ; U.S. cable length
*caliber
*centimeter(s),centimetre(s),cm(s)
*chain(s) ; Gunther's chain length
*cubit(s)
*decimeter(s),decimetre(s),dm
*dekameter(s),dekametre(s),dam
*fathom(s),fath
*f(oot.eet),ft,'
*furlong(s),fur
*gigameter(s),gigametre(s)
*hand(s)
*hectometer(s),hectometre(s),hm
*inch(es),in(s),"
*kilometer(s),kilometre(s),km
*league_nautical
*league_statute
*light_year(s)
*link(s) ; Gunther's link length
*microinch(es)
*micron(s)
*mil(s)
*mile_nautical,inm ; International Nautical Mile
*mile_statute,mile(s),mi
*millimeter(s),millimetre(s),mm(s)
*millimicron(s),nanometer(s),nanometre(s),nm(s)
*pace(s)
*palm(s)
*parsec(s)
*perch(es)
*pica(s)
*point(s)
*rod(s),pole(s)
*rope(s)
*skein(s)
*span(s)
*survey_f(oot.eet)
*yard(s),yd

; Units of area
*acre(s)
*are(s)
*barn(s)
*centare(s)
*hectare(s)
*rood(s)
*section(s)
*sq(uare)_centimeter(s),sq(uare)_centimetre(s),sq(uare)_cm(s)
*sq(uare)_f(oot.eet),sq(uare)_ft
*sq(uare)_inch(es),sq(uare)_in(s)
*sq(uare)_kilometer(s),sq(uare)_kilometre(s),sq(uare)_km
*sq(uare)_meter(s),sq(uare)_metre(s),sq(uare)_m
*sq(uare)_millimeter(s),sq(uare)_millimetre(s),sq(uare)_mm(s)
*sq(uare)_yard(s),sq(uare)_yd(s)
*township(s)

; Units of volume
*barrel(s),bbl ; International Petroleum barrel
*board_f(oot.eet),fbm
*bushel(s),bu ; U.S. dry bushel
*centiliter(s),cl
*cord(s)
*cc
*cu(bic)_centimeter(s),cu(bic)_centimetre(s),cu(bic)_cm(s)
*cu(bic)_f(oot.eet),cu(bic)_ft
*cu(bic)_inch(es),cu(bic)_in(s)
*cu(bic)_kilometer(s),cu(bic)_kilometre(s),cu(bic)_km
*cu(bic)_meter(s),cu(bic)_metre(s),cu(bic)_m
*cu(bic)_millimeter(s),cu(bic)_millimetre(s),cu(bic)_mm(s)
*cu(bic)_yard(s),cu(bic)_yd(s)
*decistere(s)
*dekaliter(s),dal
*dekastere(s)
*dram(s) ; U.S. fluid dram
*dry_pint(s)
*dry_quart(s)
*firkin(s)
*gallon(s),gal ; U.S. fluid gallon
*gill(s)
*hectoliter(s)
*hogshead(s),hhd
*kilderkin(s)
*kiloliter(s)
*liter(s)
*milliliter(s),ml
*minim(s)
*fluid_ounce(s)
*peck(s)
*pint(s),fluid_pint(s)
*pottle(s)
*puncheon(s)
*quart(s),qt,fluid_quart(s)
*register_ton(s)
*seam(s)
*stere(s)
*tun(s)

; Units of mass
*dalton(s)
*dyne(s)
*grain(s)
*hundredweight(s),cwt
*long_ton(s)
*ounce_weight,ounce(s),oz
*ounce_troy
*pennyweight(s),dwt,pwt
*poundal(s)
*pound(s),lb
*scruple(s)
*slug(s)
*stone
*ton(s)
*tonn(e.es)

; Units of frequency
*hertz,hz

; Electromagnetic units
*coulomb(s)
*farad(s)
*henr(y.ies)
*ohm(s)
*siemens
*tesla(s)
*volt(s),v
*watt(s),w
*weber(s)

วันอาทิตย์ที่ 31 มกราคม พ.ศ. 2553

AutoCAD Tips: Visual LISP เปลี่ยนขนาดโดนัทแบบระบายทึบ

วันนี้เข้าเว็บ Support ของ Autodesk ห้อง Visual LISP ที่เคยเข้าไปตอบอยู่
มีท่านหนึ่งตั้งโจทย์ จะเปลี่ยนขนาดเส้นผ่านศูนย์กลางของโดนัทแบบระบายทึบ
ที่วาดเอาไว้แล้วได้อย่างไร โดยยังคงตำแหน่งไว้อย่างเดิม

เลยลองนำมาเขียนโค้ดและนำไปโพสต์ตอบเอาไว้

หลักๆ ก็คือเลือกรูปวาด LWPOLINE
เช็ค Group code 90 จำนวน vertices เท่ากับ 2
เช็ค Group code 70 ค่า 1 หมายถึง Closed Polyline
แล้วคำนวณหาจุดศูนย์กลางจาก Group code 10
ที่เป็นจุดยอดทั้งสอง นำมาค่าเฉลี่ย

ใช้คำสั่ง SCALE เพื่อปรับขนาดด้วยค่าขนาดใหม่หารด้วยขนาดเส้นผ่านศูนย์กลางเดิม

เส้นผ่านศูนย์กลางเดิมมีค่าเท่ากับ
Group code 40, 41 นำมาคูณสองเท่า

;; Donut center
(defun donutcenter (a / pts p q)
(foreach l a
(if (= (car l) 10)
(setq pts (append pts (list (cdr l))))
)
)
(setq p (car pts)
q (cadr pts)
)
(mapcar '/ (mapcar '+ p q) (list 2.0 2.0 2.0))
)
;; Donut diameter
(defun donutdiameter (a)
(* 2.0 (cdr (assoc 40 a)))
)
;; Change donut diameter
(defun changedonutsize (a newdia)
(command ".scale"
(cdr (assoc -1 a))
""
(donutcenter a)
(/ newdia (donutdiameter a))
)
)
;;; Main
(defun c:redonut (/ s e a j oldosmode *error*)
(if (not #newdia)
(setq #newdia 2.0)
)
(setq oldosmode (getvar "osmode"))
(setvar "cmdecho" 0)
(command ".undo" "begin")
(defun *error* (msg)
(if (not (member msg (list "Function cancelled")))
(princ (strcat "REDONUT Error: " msg))
)
(command ".undo" "end")
(setvar "osmode" oldosmode)
(setvar "cmdecho" 1)
(princ)
)
(foreach msg (list "\nEnter new diamter of donut:<" #newdia "> ")
(princ msg)
)
(if (setq tmp (getdist))
(setq #newdia tmp)
)
(if (setq
s (ssget (list (cons 0 "LWPOLYLINE") (cons 90 2) (cons 70 1)))
)
(progn
(setvar "osmode" 0)
(setq j -1)
(repeat (sslength s)
(setq e (ssname s (setq j (1+ j)))
a (entget e)
)
(changedonutsize a #newdia)
)
(command ".undo" "end")
(setvar "osmode" oldosmode)
(setvar "cmdecho" 1)
)
(princ "\nNo object found!!!")
)
(princ)
)

วันเสาร์ที่ 9 มกราคม พ.ศ. 2553

Windows 7 Tips เคล็ดลับ เพิ่มเติมจาก GodMode

ข้อมูลเพิ่มเติมจากกรณี GodModes
จริงๆ แล้วก็คือการทำงานของ shell

ยังมีส่วนเรียก shell อื่นๆ อีกมากมาย ได้แก่

Default Location - {00C6D95F-329C-409a-81D7-C46C66EA7F33}
Biometrics - {0142e4d0-fb7a-11dc-ba4a-000ffe7ab428}
Power Settings - {025A5937-A6BE-4686-A844-36FE4BEC8B6D}
Notification Area - {05d7b0f4-2121-4eff-bf6b-ed3f69b894d9}
Manage Credentials - {1206F5F1-0569-412C-8FEC-3204630DFB70}
Get New Programs - {15eae92e-f17a-4431-9f28-805e482dafd4}
Default Programs - {17cd9488-1228-4b2f-88ce-4298e93e0966}
NET Framework Assemblies - {1D2680C9-0E2A-469d-B787-065558BC7D43}
Wireless Networks - {1FA9085F-25A2-489B-85D4-86326EEDCD87}
Network Neighborhood - {208D2C60-3AEA-1069-A2D7-08002B30309D}
My Computer - {20D04FE0-3AEA-1069-A2D8-08002B30309D}
Printers - {2227A280-3AEA-1069-A2DE-08002B30309D}
RemoteApp and Desktop - {241D7C96-F8BF-4F85-B01F-E2B043341A4B}
Windows Firewall - {4026492F-2F69-46B8-B9BF-5654FC07E423}
Performance - {78F3955E-3B90-4184-BD14-5397C15F1EFC}
GodMode - {ED7BA470-8E54-465E-825C-99712043E01C}

สรุปวิธีใช้งาน

1.พิมพ์ในแอดเดรสบาร์บน Explorer เช่น

shell:::{ED7BA470-8E54-465E-825C-99712043E01C}

2.สร้างเป็นชอร์ตคัตของ explorer.exe ในรูป

explorer.exe shell:::{ED7BA470-8E54-465E-825C-99712043E01C}

3.สร้างโฟลเดอร์ใหม่ในรูป ชื่อใดๆ.{Key} เช่น

SuperMan.{ED7BA470-8E54-465E-825C-99712043E01C}

วันอังคารที่ 5 มกราคม พ.ศ. 2553

Windows 7 Tip เคล็ดลับ ศูนย์รวมคำสั่งปรับแต่ง

เคล็ดลับนี้ Search พบจากเว็บต่างๆ มากมาย
ที่กำหนดให้เราสร้างโฟลเดอร์ใหม่ โดยตั้งชื่อเป็น

GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}

และเมื่อดับเบิลคลิกบนไอคอนนี้ จะให้ผลแสดงรายการที่เป็นชุดคำสั่งปรับแต่งต่างๆ มากมาย
บางรายการใกล้เคียงกับที่มีใน Control Panel แต่ข้อดีคือลดจำนวนคลิกที่จะเข้าถึงคำสั่งนั้นๆ ได้
อีกทั้งยังนำมารวมไว้ในจุดเดียว ทำให้สะดวกกับการเรียกใช้งานได้อย่างดีทีเดียว

ตรงชื่อ GodMode จะใส่ชื่ออะไรก็ได้
ในรูปข้างล่างได้ใส่ชื่อ chatchawal ก็ยังพบว่าทำงานได้เช่นเดียวกัน

chatchawal.{ED7BA470-8E54-465E-825C-99712043E01C}





หรือจะเข้าใช้จากบน Explorer ก็ได้ โดยให้พิมพ์ข้อความต่อไปนี้บนแอดเดรสบาร์แล้วกด Enter

shell:::{ED7BA470-8E54-465E-825C-99712043E01C}

วันอาทิตย์ที่ 3 มกราคม พ.ศ. 2553

Windows 7 Tips เคล็ดลับ Resource monitor บอกคุณได้

เคยสงสัยบ้างไหมว่า
คอมพิวเตอร์ของคุณกำลังทำอะไรอยู่บ้าง

ต่อเน็ตเวิร์กไปที่ใดบ้าง
ไฟฮาร์ดดิสก์ที่กำลังกะพริบอยู่นั้น
จริงๆ แล้วเป็นการทำงานของโปรแกรมตัวไหน
หรือเป็น Malware ?

ลำพัง Windows Task Manager ที่แสดงผล
เมื่อเรากด Ctrl+Alt+Esc (ไม่ใช่ Ctrl+Alt+Del)
ไม่ได้บอกเราในรายละเอียดเลย



หากเราต้องการทราบรายละเอียดของสิ่งเหล่านี้
ใน Windows 7 ให้เข้าดูได้ด้วย Resource Monitor
โดยคลิก Resoucre monitor ในแท็บ Performance ของ Windows Task Manager


วันพุธที่ 18 พฤศจิกายน พ.ศ. 2552

Hardware Tips คำแนะนำ สิ่งที่ควรทราบเกี่ยวกับ CPU i5 และ i7

FAQ หรือคำถามที่ถูกถามบ่อยเกี่ยวกับ CPU Intel i5 และ i7
สามารถอ่านเพิ่มเติมได้ที่

http://www.intel.com/support/th/processors/sb/CS-029913.htm

มีข้อน่าสนใจมากที่ถูกกล่าวไว้คือ

ข้อจำกัดด้านแรงดันไฟฟ้าของหน่วยความจำ DDR3 สำหรับหน่วยประมวลผลกลาง Intel® Core™ i7 และหน่วยประมวลผลกลาง Intel® Core™ i5 คืออะไร?

Intel® ขอแนะนำให้ใช้หน่วยความจำที่เป็นไปตามข้อกำหนด Jedec โดยข้อกำหนดจำเพาะสำหรับหน่วยความจำ DDR3 คือ 1.5 โวลต์ บวกลบ 5% หน่วยความจำอื่นใดที่ใช้แรงดันไฟฟ้ามากกว่า 1.65 โวลต์อาจทำให้หน่วยประมวลผลกลางเสียหายหรือลดอายุการใช้งานของหน่วยประมวลผล กลางลง

วันศุกร์ที่ 23 ตุลาคม พ.ศ. 2552

Windows 7 Tips เคล็ดลับ Official Themes เพิ่มเติมและ Windows XP Mode Final

Microsoft ส่ง Theme ล่าสุด ให้ติดตั้งเพิ่มเติมกันได้
หลังจากดาวน์โหลดมาจะได้ไฟล์ .themepack
ให้ดับเบิลคลิกเพื่อติดตั้ง และจะถูกกำหนดเป็น theme ปัจจุบัน
http://windows.microsoft.com/en-US/windows/downloads/personalize

รวมถึง Windows XP Mode ก็สามารถดาวน์โหลดตัว Final ได้แล้ว
http://www.microsoft.com/windows/virtual-pc/download.aspx