จากขนาดของ USB Flash Drive ที่เล็กกะทัดรัด สะดวกต่อการ
พกพา อีกทั้งความจุ (Capacity) ที่มากตั้งแต่ 2GB ไปจนถึง 32GB
ในราคาที่ไม่สูงเกินไปนัก จึงเป็นที่นิยมกันอย่างแพร่หลาย
แต่ถ้าวันหนึ่ง USB Flash Drive นี้ตกหล่นหายไปหรือถูกลืมทิ้งไว้
ในที่อื่น ด้วยขนาดเล็กกะทัดรัดเช่นนี้จึงเกิดขึ้นได้ง่ายมาก หรือ
แม้กระทั่งเสียบคาอยู่ในเครื่องตามร้านเน็ต หรือที่ๆเราไปใช้นอก
สถานที่ หากเป็นเพียงข้อมูลทั่วไป ด้วยราคาตัว USB Flash Drive
ที่ไม่สูง จึงอาจไม่ใช่ประเด็นสำคัญเท่าใดนัก แต่ถ้าในนั้นมีไฟล์
ข้อมูลสำคัญ หรือข้อมูลที่มีความอ่อนไหว เช่น ไฟล์งานประมูล
ไฟล์ภาพหรือวิดีโอส่วนตัว เป็นต้น กรณีเช่นนี้ย่อมอาจสร้าง
ปัญหาที่ตามมาได้
ทางออกที่ดีที่สุดสำหรับการใช้ USB Flash Drive คือป้องกันเอา
ไว้เสียตั้งแต่แรก ซึ่งทำได้หลายวิธี วิธีแรกคือหากใช้ Windows 7
Ultimate edition สามารถใช้ความสามารถ Bit Locker To Go ทำ
การเข้ารหัส (encrypt) ต่อไดรฟ์ได้
อีกวิธีที่น่าสนใจคือใช้โปรแกรม TrueCrypt ซึ่งเป็น Freeware
แบบ Opensource สร้างตู้เซฟขึ้นสำหรับเก็บข้อมูล ดูรายละเอียด
เพิ่มเติมได้ที่ www.truecrypt.org หรืออ่านเพิ่มเติมจากหนังสือ
คู่มือเซียน Windows & Internet ฉบับ ลับ ลวง พราง ที่ผู้เขียน
ได้จัดทำขึ้น ซึ่งยังมีรายละเอียดเกี่ยวกับเรื่องความปลอดภัยในการ
ใช้พีซีและอินเทอร์เน็ตอีกด้วย ค้นหารายละเอียดข้อมูลหนังสือนี้
ได้จากเว็บ www.provision.co.th หรือ www.se-ed.com หรือดูที่
http://chatchawalsupakasem.blogspot.com/2010/09/windo
ws-internet.html
นอกจากนี้หัวใจที่สำคัญที่สุดของการใช้คอมพิวเตอร์คือ ต้อง
สำรอง (Backup) ข้อมูลเอาไว้ด้วยเสมอ!!!
วันจันทร์ที่ 7 มีนาคม พ.ศ. 2554
วันอาทิตย์ที่ 6 กุมภาพันธ์ พ.ศ. 2554
AutoCAD Tips : Visual LISP / AutoLISP ถามมา-ตอบไป เส้นบอกระยะ ...
มีท่านหนึ่งอีเมลมาถาม โดยสรุปได้ใจความว่า
"เรื่องของเลเยอร์ (Layer) มีทูล Make object's Layer Current หรือคำสั่ง LAYMCUR ที่คลิกบนรูปวาดแล้ว
ให้ผลกำหนดเลเยอร์ปัจจุบัน (Current Layer) ตามรูปนั้นได้เลย แต่กับเรื่องของเส้นบอกระยะ (Dimension) กลับไม่เห็นมีคำสั่งทำนองนี้เลย ..."
"พอแก้ไขแบบเพิ่มเติม จะเขียนเส้นบอกระยะใหม่เข้าไป ที่ใช้สไตล์เดิมที่มีอยู่แล้ว ตามแบบเส้นบอกระยะที่มีอยู่ ต้องหาก่อนทุกครั้ง ว่าที่มีอยู่เดิมใช้สไตล์ชื่ออะไรก่อน แล้วค่อยไปกำหนดให้เป็นตัวปัจจุบัน (Current Dimension Style) แล้วค่อยเลือกทูลสำหรับเขียนเส้นบอกระยะตามที่ต้องการ"
ดูวิธีหาสไตล์ของเส้นบอกระยะจากรูปนี้

เป็นเรื่องปกติของงานเขียนแบบที่จะมีการแก้ไข ทั้งจากที่ทำผิดพลาดหรือปรับปรุงในเวลาต่อมา เห็นว่าเป็นคำสั่งที่น่าสนใจเลยนำมาเผยแพร่ไว้ตรงนี้ด้วยกัน
ทางออกหนึ่งที่ทำได้และได้ผลดี คือเขียนคำสั่งขึ้นใหม่เองเลย ในตัวอย่างนี้เขียนด้วย Visual LISP มีโค้ดดังนี้
;; Set the current dimension style same as the selected entity.
(defun c:dd (/ e obj dimensions *error*)
(defun *error* (msg)
(if (not (member msg (list "Function cancelled")))
(princ (strcat "DIMMC Error: " msg))
)
(setvar "cmdecho" 1)
(princ)
)
(if (setq e (entsel "Select a dimension: "))
(progn
(setq obj (vlax-ename->vla-object (car e)))
(if (wcmatch (vla-get-ObjectName obj) "*Dimension")
(progn
(setvar "cmdecho" 0)
(command ".-dimstyle"
"r"
(setq dimensions (vla-get-StyleName obj))
)
(setvar "cmdecho" 1)
(foreach msg (list "\nSet the current dimension style to "
(strcase dimensions)
"."
)
(princ msg)
)
)
(princ "\n!!!Not Dimension!!!")
)
)
(princ "\nNo object found!!!")
)
(princ)
)
การนำไปโค้ดไปใช้ให้ศึกษาเพิ่มเติมจากหนังสือ AutoCAD ในบ้านเราที่มีเป็นจำนวนไม่น้อยเลย ที่กล่าวถึงวิธีเหล่านี้ และอาจพัฒนาไปถึงการสร้างไว้เป็นทูล (Tool) ใหม่ขึ้น เพื่อเรียกถึงคำสั่ง DD นี้
"เรื่องของเลเยอร์ (Layer) มีทูล Make object's Layer Current หรือคำสั่ง LAYMCUR ที่คลิกบนรูปวาดแล้ว
ให้ผลกำหนดเลเยอร์ปัจจุบัน (Current Layer) ตามรูปนั้นได้เลย แต่กับเรื่องของเส้นบอกระยะ (Dimension) กลับไม่เห็นมีคำสั่งทำนองนี้เลย ..."
"พอแก้ไขแบบเพิ่มเติม จะเขียนเส้นบอกระยะใหม่เข้าไป ที่ใช้สไตล์เดิมที่มีอยู่แล้ว ตามแบบเส้นบอกระยะที่มีอยู่ ต้องหาก่อนทุกครั้ง ว่าที่มีอยู่เดิมใช้สไตล์ชื่ออะไรก่อน แล้วค่อยไปกำหนดให้เป็นตัวปัจจุบัน (Current Dimension Style) แล้วค่อยเลือกทูลสำหรับเขียนเส้นบอกระยะตามที่ต้องการ"
ดูวิธีหาสไตล์ของเส้นบอกระยะจากรูปนี้

เป็นเรื่องปกติของงานเขียนแบบที่จะมีการแก้ไข ทั้งจากที่ทำผิดพลาดหรือปรับปรุงในเวลาต่อมา เห็นว่าเป็นคำสั่งที่น่าสนใจเลยนำมาเผยแพร่ไว้ตรงนี้ด้วยกัน
ทางออกหนึ่งที่ทำได้และได้ผลดี คือเขียนคำสั่งขึ้นใหม่เองเลย ในตัวอย่างนี้เขียนด้วย Visual LISP มีโค้ดดังนี้
;; Set the current dimension style same as the selected entity.
(defun c:dd (/ e obj dimensions *error*)
(defun *error* (msg)
(if (not (member msg (list "Function cancelled")))
(princ (strcat "DIMMC Error: " msg))
)
(setvar "cmdecho" 1)
(princ)
)
(if (setq e (entsel "Select a dimension: "))
(progn
(setq obj (vlax-ename->vla-object (car e)))
(if (wcmatch (vla-get-ObjectName obj) "*Dimension")
(progn
(setvar "cmdecho" 0)
(command ".-dimstyle"
"r"
(setq dimensions (vla-get-StyleName obj))
)
(setvar "cmdecho" 1)
(foreach msg (list "\nSet the current dimension style to "
(strcase dimensions)
"."
)
(princ msg)
)
)
(princ "\n!!!Not Dimension!!!")
)
)
(princ "\nNo object found!!!")
)
(princ)
)
การนำไปโค้ดไปใช้ให้ศึกษาเพิ่มเติมจากหนังสือ AutoCAD ในบ้านเราที่มีเป็นจำนวนไม่น้อยเลย ที่กล่าวถึงวิธีเหล่านี้ และอาจพัฒนาไปถึงการสร้างไว้เป็นทูล (Tool) ใหม่ขึ้น เพื่อเรียกถึงคำสั่ง DD นี้
วันจันทร์ที่ 17 มกราคม พ.ศ. 2554
Windows 7 ออก Service Pack 1 RTM แล้ว

Windows 7 ออก Service Pack 1 RTM แล้ว หลังอัปเดตแล้ว ดูรายละเอียดโดยกดคีย์ Win พิมพ์ Winver กด Enter จะเห็นรายการแจ้งเป็น Microsoft Windows Version 6.1 (Build 7601: Service Pack 1)
มีข้อควรระวังตอน Update อยู่บ้าง พบว่าในบางกรณีทำให้เครื่อง Start ไม่ได้ ต้องใช้แผ่นติดตั้ง เพื่อทำการแก้ไขหรือ Repair และก็ผ่านเข้าไปใช้ได้ตามปกติ
สำหรับ Build number ดูจาก Registry Editor ได้ตามรูปนี้
วันพุธที่ 15 ธันวาคม พ.ศ. 2553
AutoCAD TIPS : AutoLISP Visual LISP ถามมา-ตอบไป วางดวงโคมรอบแนวเส้นโค้ง
มีอีเมลจากท่านหนึ่งถามมาถึงเรื่องการวางดวงโคมฟลูออเรสเซนต์แบบหลอดยาว ไม่ใช่หลอด Compact โดยวางให้มีส่วนซ้อนกันบริเวณขั้วหลอด เพื่อใช้ฝังซ่อนบนฝ้าในฝ้าหลุม หรือกล่องที่มีแผ่นกระจกฝ้ากรุอีกที แต่เพื่อไม่ให้เห็นเงาดำของขั้วหลอด แทนที่จะวางเรียงไปแบบปลายชนกัน จึงต้องเอียงเล็กน้อย ให้ส่วนขั้วหลอดเกยกัน
ขอนำมาตอบรวมไว้ในบล็อก เพื่อเป็นประโยชน์กับท่านอื่นด้วย
ขั้นตอนมีดังนี้
1. วาดแนวเส้นตามที่ต้องการ จะเป็นเส้นตรง หรือเส้นโค้งแบบเต็มวงกลม วงรี ส่วนของเส้นโค้งจากคำสั่ง ARC ก็ได้
2. สร้างบล็อก (Block definition) ของดวงโคม ให้วางแนวยาวที่มุม 0 องศา หรือขนานแกน X เช่นใช้คำสั่ง Rectang ป้อนจุดที่ 0,0 และ 1.2,0.06 สำหรับหลอดฟลูออเรสเซนต์ 36 วัตต์ หรือตามแบบที่ต้องการ ทั้งนี้ให้กำหนดจุดวาง (Insertion Point) ไว้ที่ จุดกึ่งกลางของด้านทางซ้าย ดูรูปประกอบ

3. ใช้คำสั่ง MEASURE ตามพรอมต์ดังนี้
Command: measure
Select object to measure: [คลิกเลือกรูปวาดเส้นตรงหรือเส้นโค้ง]
Specify length of segment or [Block]: [พิมพ์ B กด ENTER]
Enter name of block to insert: [ใส่ชื่อบล็อกที่ต้องการ เช่น FL36W]
Align block with object? [Yes/No]: [กด ENTER รับตัวเลือก Y]
Specify length of segment: [ใส่ระยะ กรณีเกย 10 ซม. สำหรับหลอดยาวนี้ให้ป้อนด้วยค่าที่หักระยะเกยกันแล้ว เช่น 1.1 สำหรับหลอด 36 วัตต์]
*** เคล็ดลับของเรื่องนี้ อยู่ที่ระยะในพรอมต์ ให้ป้อนด้วยค่าระยะความยาวของดวงโคมที่หักลบด้วยระยะที่จะให้ซ้อนกันแล้ว ในส่วนที่จะไม่ให้เกิดเงาดำของขั้วหลอด ***


บางกรณีอาจยังมีช่องว่าง เติมช่องว่างที่ยังเหลือ ที่คำสั่งยังไม่ใส่ไว้ให้ เนื่องจากระยะที่เหลือสั้นกว่าค่าที่ป้อนไว้ หากเติมด้วยอีกหลอดไม่ได้ ก็อาจเติมด้วยหลอดไฟแบบที่สั้นลง เช่น 18 วัตต์ จำนวนตามเหมาะสม
ขอนำมาตอบรวมไว้ในบล็อก เพื่อเป็นประโยชน์กับท่านอื่นด้วย
ขั้นตอนมีดังนี้
1. วาดแนวเส้นตามที่ต้องการ จะเป็นเส้นตรง หรือเส้นโค้งแบบเต็มวงกลม วงรี ส่วนของเส้นโค้งจากคำสั่ง ARC ก็ได้
2. สร้างบล็อก (Block definition) ของดวงโคม ให้วางแนวยาวที่มุม 0 องศา หรือขนานแกน X เช่นใช้คำสั่ง Rectang ป้อนจุดที่ 0,0 และ 1.2,0.06 สำหรับหลอดฟลูออเรสเซนต์ 36 วัตต์ หรือตามแบบที่ต้องการ ทั้งนี้ให้กำหนดจุดวาง (Insertion Point) ไว้ที่ จุดกึ่งกลางของด้านทางซ้าย ดูรูปประกอบ

3. ใช้คำสั่ง MEASURE ตามพรอมต์ดังนี้
Command: measure
Select object to measure: [คลิกเลือกรูปวาดเส้นตรงหรือเส้นโค้ง]
Specify length of segment or [Block]: [พิมพ์ B กด ENTER]
Enter name of block to insert: [ใส่ชื่อบล็อกที่ต้องการ เช่น FL36W]
Align block with object? [Yes/No]
Specify length of segment: [ใส่ระยะ กรณีเกย 10 ซม. สำหรับหลอดยาวนี้ให้ป้อนด้วยค่าที่หักระยะเกยกันแล้ว เช่น 1.1 สำหรับหลอด 36 วัตต์]
*** เคล็ดลับของเรื่องนี้ อยู่ที่ระยะในพรอมต์ ให้ป้อนด้วยค่าระยะความยาวของดวงโคมที่หักลบด้วยระยะที่จะให้ซ้อนกันแล้ว ในส่วนที่จะไม่ให้เกิดเงาดำของขั้วหลอด ***


บางกรณีอาจยังมีช่องว่าง เติมช่องว่างที่ยังเหลือ ที่คำสั่งยังไม่ใส่ไว้ให้ เนื่องจากระยะที่เหลือสั้นกว่าค่าที่ป้อนไว้ หากเติมด้วยอีกหลอดไม่ได้ ก็อาจเติมด้วยหลอดไฟแบบที่สั้นลง เช่น 18 วัตต์ จำนวนตามเหมาะสม
วันอาทิตย์ที่ 28 พฤศจิกายน พ.ศ. 2553
AutoCAD: Visual LISP, AutoLISP การนำ ID point ไปใช้
จากบทความที่แล้วที่เขียนและเผยแพร่คำสั่ง IDP ได้มีท่านหนึ่งนำไปใช้ในงานจริง และเสนอแนะสิ่งที่ควรปรับปรุง โดยนำไปใช้ในงาน CNC (Computer Numerical Control) แทนการใช้โปรแกรมเฉพาะสร้าง G-code เห็นว่าเป็นตัวอย่างประยุกต์ที่น่าสนใจดี และเจ้าของไฟล์ตัวอย่างได้อนุญาตแล้ว จึงนำภาพบางส่วนมาแสดงเอาไว้ในที่นี้


ท่านที่สนใจจะรับ IDP.VLX นี้ไปใช้งานบ้าง ส่งอีเมลมารับไปใช้กันได้ครับ ด้วยความยินดี
ข้อมูลเพิ่มเติม: สำหรับท่านที่ไม่ทราบถึงเรื่องของ CNC และ G-code อ่านตามลิงก์ข้างล่างนี้ได้
http://en.wikipedia.org/wiki/G-code
http://en.wikipedia.org/wiki/Numerical_control


ท่านที่สนใจจะรับ IDP.VLX นี้ไปใช้งานบ้าง ส่งอีเมลมารับไปใช้กันได้ครับ ด้วยความยินดี
ข้อมูลเพิ่มเติม: สำหรับท่านที่ไม่ทราบถึงเรื่องของ CNC และ G-code อ่านตามลิงก์ข้างล่างนี้ได้
http://en.wikipedia.org/wiki/G-code
http://en.wikipedia.org/wiki/Numerical_control
วันอังคารที่ 16 พฤศจิกายน พ.ศ. 2553
AutoCAD TIPS : AutoLISP Visual LISP ถามมา-ตอบไป เขียนข้อความแสดงจุดยอดหรือพิกัด


อีเมลอีกฉบับถามถึงคำสั่งเขียนข้อความ (TEXT) ที่แสดงถึงจุดยอด (vertices) หรือพิกัด (Coordinate) ของรูปวาดเส้นตรงและเส้นโค้งต่างๆแบบอัตโนมัติ
จึงพัฒนาคำสั่ง IDP ขึ้น มีพรอมต์ดังนี้
Command: idp
Developed by S.Chatchawal, schatchawal@gmail.com
Text Height: <10> พิมพ์ค่าความสูงตัวอักษรที่ต้องการ เช่น .3 แล้วกด ENTER
Select objects: เลือกรูปวาดตามวิธีมาตรฐานใน AutoCAD
เช่น พิมพ์ ALL กด ENTER สำหรับรูปวาดทั้งหมด หรือคลิกเลือกทีละเส้น หรือลากกรอบครอบ หรือ
ลากกรอบตัด เป็นต้น
Select objects: เลือกครบแล้วกด ENTER เพื่อจบคำสั่ง
คำสั่ง IDP นี้จะเขียนข้อความในรูป X,Y ให้ตามตำแหน่งจุดยอดของรูปวาดที่เลือก จำนวนตำแหน่งทศนิยมที่แสดงถูกใช้ตามค่ากำหนด UNITS หรือตัวแปรระบบ LUPREC ที่ควบคุมความละเอียดของค่าบันทึกระยะเชิงเส้น (Linear Length) ของพื้นที่วาดรูป
ท่านที่สนใจสามารถอีเมลมารับไฟล์นี้ไปใช้กันได้ครับ
AutoCAD TIPS : AutoLISP Visual LISP ถามมา-ตอบไป Profile extrude

อีเมลฉบับหนึ่งถามหา LISP ขึ้นรูป โดยดันขึ้นรูปหรือ Extrude ไปตาม Path ที่สร้างไว้ก่อนแล้ว เช่น 2D Polyline จากคำสั่ง Pline และ 3D Polyline จากคำสั่ง 3DPoly
ขอนำมาตอบตรงนี้เพื่อเป็นประโยชน์กับอีกหลายท่านด้วยแล้วกัน
โดย Profile เป็นหน้าตัดรูปสี่เหลี่ยมผืนผ้า ให้กำหนดขนาดด้านกว้างและยาวได้
จึงได้พัฒนาคำสั่ง RRR ขึ้น มีพรอมต์ดังนี้
Command: RRR
Developed by S.Chatchawal, schatchawal@gmail.com
Rectangular x size: <1> ใส่ขนาดแนว x ที่เป็น Profile หรือหน้าตัดของรูปสี่เหลี่ยม
Rectangular y size: <1> ใส่ขนาดแนว y ที่เป็น Profile หรือหน้าตัดของรูปสี่เหลี่ยม
Select path near the end side: คลิกบน path ที่มาจากคำสั่ง Pline หรือ 3DPoly ที่สร้างไว้ก่อนแล้ว
Select path near the end side: คลิก path ได้อีกเรื่อยๆ
Select path near the end side: จบคำสั่งให้กด ENTER
ท่านที่สนใจอีเมลมารับไฟล์นี้ไปลองใช้กันได้ครับ
สมัครสมาชิก:
บทความ (Atom)