วันอังคารที่ 4 มิถุนายน พ.ศ. 2556
วันอาทิตย์ที่ 12 พฤษภาคม พ.ศ. 2556
วันเสาร์ที่ 11 พฤษภาคม พ.ศ. 2556
วันพฤหัสบดีที่ 9 พฤษภาคม พ.ศ. 2556
วันจันทร์ที่ 19 พฤศจิกายน พ.ศ. 2555
Tadpole (Slope) Marker
เว้นว่างการบันทึกบล็อกไปนานเหมือนกัน สัปดาห์ที่ผ่านมามีฝรั่งถามหา Tadpole (Slope) Marker ที่เป็นสัญลักษณ์คล้ายตัวลูกอ๊อด ที่เคยโพสต์ไว้ในฟอร์รั่มของ autodesk หมวด Visual LISP / AutoLISP / Customization หลังจากตอบอีเมลไป เลยคิดว่าน่าจะบันทึกไว้ในบล็อกเพื่อเตือนความจำด้วยอีกที่
วันพฤหัสบดีที่ 14 มิถุนายน พ.ศ. 2555
วันอังคารที่ 8 พฤษภาคม พ.ศ. 2555
Windows 8 คีย์ลัด Shortcut key
ช่วงวันหยุดที่ผ่านมาได้มีโอกาสใช้ Windows 8 Consumer Preview และได้พบเอกสารเกี่ยวกับคีย์ลัด จึงนำมาบันทึกไว้ ณ ที่นี้
วันศุกร์ที่ 13 เมษายน พ.ศ. 2555
AutoCAD : PA2013AEC เพิ่มคำสั่งใหม่สำหรับช่วยเขียนงานโครงสร้าง
PA2013AEC เพิ่มคำสั่งใหม่สำหรับช่วยเขียนงานโครงสร้าง ประกอบด้วยคำสั่ง COL, BA และ SSSS สำหรับเขียนเสา คานแบบแนบหน้าตัดเสา และสัญลักษณ์พื้น โดยวางบนเลเยอร์ S-COLUMN, S-BEAM และ S-SLAB-SYMBOL / S-SLAB-ANNO
จะบรรจุโปรแกรมของคำสั่งเหล่านี้อยู่ใน CD ของหนังสือเล่มใหม่
ดูตัวอย่างการทำงานของคำสั่งได้จากวิดีโอนี้
วันอาทิตย์ที่ 11 มีนาคม พ.ศ. 2555
AutoCAD : เรขาคณิต เส้นตรง - วงกลม
จากเส้นตรงของรูปหลายเหลี่ยมด้านเท่า เมื่อนำมาวางซ้อนกันหลายรูป โดยให้หมุนไปรูปละองศาเท่าๆกัน จะสามารถให้ผลสร้างเป็นวงกลมได้

ลองใช้คำสั่ง PNN จากโค้ดถัดไปนี้เพื่อสร้างรูปหลายเหลี่ยมซ้อนกันดังกล่าว
(defun c:pnn (/ osmode n sides r p ang ang1)
(setq osmode (getvar "osmode"))
(initget 7)
(setq n (getint "\nCopies = "))
(initget 7)
(setq sides (getint "\nSides = "))
(initget 7)
(setq r (getdist "\nRadius of circumscribe = "))
(initget 1)
(setq p (getpoint "\nCenter = "))
(setq ang (/ 180. n)
ang1 0.
)
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(repeat n
(command "polygon"
sides
p
"I"
(strcat "@"
(rtos r 2 8)
"<"
(rtos (setq ang1 (+ ang1 ang)) 2 8)
)
)
)
(setvar "cmdecho" 1)
(setvar "osmode" osmode)
(princ)
)
พรอมต์ของคำสั่ง
Command: pnn
Copies = จำนวนสำเนา เช่น 12
Sides = จำนวนด้านของรูปหลายเหลี่ยม เช่น 3
Radius of circumscribe = ค่ารัศมีของวงกลมล้อมรูปหลายเหลี่ยม เช่น 50
Center = กำหนดตำแหน่งจุดศูนย์กลาง
ลองใช้คำสั่ง PNN จากโค้ดถัดไปนี้เพื่อสร้างรูปหลายเหลี่ยมซ้อนกันดังกล่าว
(defun c:pnn (/ osmode n sides r p ang ang1)
(setq osmode (getvar "osmode"))
(initget 7)
(setq n (getint "\nCopies = "))
(initget 7)
(setq sides (getint "\nSides = "))
(initget 7)
(setq r (getdist "\nRadius of circumscribe = "))
(initget 1)
(setq p (getpoint "\nCenter = "))
(setq ang (/ 180. n)
ang1 0.
)
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(repeat n
(command "polygon"
sides
p
"I"
(strcat "@"
(rtos r 2 8)
"<"
(rtos (setq ang1 (+ ang1 ang)) 2 8)
)
)
)
(setvar "cmdecho" 1)
(setvar "osmode" osmode)
(princ)
)
พรอมต์ของคำสั่ง
Command: pnn
Copies = จำนวนสำเนา เช่น 12
Sides = จำนวนด้านของรูปหลายเหลี่ยม เช่น 3
Radius of circumscribe = ค่ารัศมีของวงกลมล้อมรูปหลายเหลี่ยม เช่น 50
Center = กำหนดตำแหน่งจุดศูนย์กลาง
วันศุกร์ที่ 30 ธันวาคม พ.ศ. 2554
AutoCAD Tips : Visual LISP Tip เขียนสัญลักษณ์ Slab งานโครงสร้าง
ส่งท้ายปีเก่า 2554 ด้วยคำสั่งเขียนสัญลักษณ์ Slab งานโครงสร้าง ตามที่ท่านหนึ่งได้อีเมลมาถาม อยากได้คำสั่งช่วยลงสัญลักษณ์นี้ที่เป็นเส้นทแยงมุมในพื้นที่ พร้อมกับวงกลมบอกหมายเลขอ้างอิง ตามรูป

ได้พัฒนาเป็น 2 คำสั่งคือ sss และ ssss โดยคำสั่งหนึ่งใช้เขียน และอีกคำสั่งใช้สำหรับกำหนดค่าเริ่มต้น
Command: SSSS
Letter: พิมพ์ข้อความที่ต้องการ เช่น S1
Text Height: พิมพ์ค่าความสูงตัวอักษรที่ต้องการ เช่น 0.25
Bubble Radius: พิมพ์ค่ารัศมีของวงกลมล้อมตัวอักษร เช่น 0.3
Command: SSS
Developed by S.Chatchawal, schatchawal@gmail.com
Point in boundary: เลือกจุดในพื้นที่ที่จะเขียน และคำสั่งจะแสดงพรอมต์ Point in boundary: นี้ให้เลือกจุดเขียนได้อีกเรื่อยๆ จบคำสั่งโดยกด ENTER ต่อพรอมต์นี้

ท่านที่สนใจสามารถอีเมลมารับไปใช้กันได้ครับ
สวัสดีส่งท้ายปี 2554
ได้พัฒนาเป็น 2 คำสั่งคือ sss และ ssss โดยคำสั่งหนึ่งใช้เขียน และอีกคำสั่งใช้สำหรับกำหนดค่าเริ่มต้น
Command: SSSS
Letter: พิมพ์ข้อความที่ต้องการ เช่น S1
Text Height: พิมพ์ค่าความสูงตัวอักษรที่ต้องการ เช่น 0.25
Bubble Radius: พิมพ์ค่ารัศมีของวงกลมล้อมตัวอักษร เช่น 0.3
Command: SSS
Developed by S.Chatchawal, schatchawal@gmail.com
Point in boundary: เลือกจุดในพื้นที่ที่จะเขียน และคำสั่งจะแสดงพรอมต์ Point in boundary: นี้ให้เลือกจุดเขียนได้อีกเรื่อยๆ จบคำสั่งโดยกด ENTER ต่อพรอมต์นี้
ท่านที่สนใจสามารถอีเมลมารับไปใช้กันได้ครับ
สวัสดีส่งท้ายปี 2554
วันจันทร์ที่ 10 ตุลาคม พ.ศ. 2554
AutoCAD Tips: ถามมา ตอบไป ข้อความบอกความยาวเส้น Closed Polyline
มีอีเมลจากท่านหนึ่งถามถึง กรณีมีผังที่ดินที่ถูกแบ่งสำหรับสร้างบ้านจัดสรร และต้องการให้เขียนข้อความกำกับไว้ที่แต่ละด้านของเส้นรอบรูปของผังหนึ่งๆที่ถูกสร้างไว้ด้วยเส้น Closed Polyline มีวิธีทำเร็วๆได้อย่างไร?
กรณีที่ไม่ได้พึ่งพาการเขียนโปรแกรม AutoLISP/Visual LISP เลย วิธีทางตรงคือ 1. ใช้คำสั่ง Dist หรือ Measuregeom วัดความยาวของ 2 จุดยอดคู่หนึ่งๆและจดบันทึกค่าไว้ 3. เขียนข้อความด้วยคำสั่ง Mtext หรือ Text โดยกำหนดมุมหมุนข้อความตามทิศทางของเส้นนั้นๆ และกรอกค่าด้วยตัวเลขจากข้อ 1
หรืออีกวิธีใช้ DimAlign เขียนเส้นบอกระยะตามแนวความยาว
งานที่มีจำนวนน้อย สิ่งนี้ทำได้ไม่ยากเลย แต่ถ้าเป็นงานประจำวันและมีจำนวนมากๆทางออกหนึ่งที่จะช่วยเพิ่มผลผลิตได้คือการเขียนโปรแกรมเข้าช่วย
จึงได้พัฒนาคำสั่ง BLI ขึ้น ซึ่งมีพรอมต์ดังนี้
Command: BLI
Developed by S.Chatchawal, schatchawal@gmail.com
Offset distance: <0.90> ระยะออฟเซ็ต
Text height: <0.60> ความสูงตัวอักษร
Select closed polyline: คลิกเลือกรูป Closed Polyline
จะให้ผลเขียนข้อความบอกขนาดของแต่ละท่อนของเส้น Closed polyline พร้อมกับแสดงค่าคำนวณขนาดพื้นที่ในหน่วย ไร่-งาน-ตารางวา ให้ด้วย และยังคงวนแสดงพรอมต์ Select closed polyline: ให้คลิกเลือกได้อีก หากครบแล้วให้กด ENTER เพื่อจบคำสั่งนี้ สังเกตว่าคำสั่งนี้จัดแนวข้อความตามแต่ละช่วงของ Closed Polyline ให้ด้วย
นอกจากนี้ยังได้เขียนคำสั่ง BLo สำหรับการเขียนข้อความไว้ที่รอบนอกด้วย
วันอังคารที่ 13 กันยายน พ.ศ. 2554
AutoCAD Tips: ถามมา ตอบไป เขียน RAMP วงกลม
มีอีเมลมาสอบถามถึง LISP ที่ช่วยเขียนเส้นลูกศรบน Ramp ขึ้น-ลงอาคาร
กรณีเป็นแนวตรงสามารถใช้รูปวาดแบบ hatch ได้โดยตรง โดยเลือกกำหนดระยะห่างของเส้นที่เป็น Pattern และมุมตามที่ต้องการ
กรณีเป็นแนวเส้นโค้งของวงกลมนั้น วิธีทางตรง จะประกอบด้วย 1. เขียนวงกลมที่มีจุดศูนย์กลางร่วมกันทั้ง 3 วง 2. หาความยาวเส้นรอบวงของวงกลมที่จะใช้เป็นตัวอ้างอิงในการกำหนดระยะระหว่างขั้น ซึ่งปกติจะใช้ Properties โดยดูที่รายการ Perimeter 3. คำนวณจำนวน โดยใช้ระยะ Perimeter หารด้วย ระยะห่างที่ต้องการ แล้วปัดเศษเป็นจำนวนเต็ม (N) 4. วาดเส้นลูกศรตัวแรก อาจเลือกวาดไว้ที่ตำแหน่ง 3 นาฬิกา 5. ทำซ้ำด้วยคำสั่ง array แบบ Polar และกำหนดจำนวนสำเนาตามข้อ 3 แบบเต็มวง (360 องศา)
สำหรับ LISP ที่ได้พัฒนาขึ้น เพื่อลดขั้นตอนการทำงานนั้น มีพรอมต์ดังนี้

Command: rc
Developed by S.Chatchawal, schatchawal@gmail.com
Direction [CW/CCW]: กำหนดทิศตาม-ทวนเข็มนาฬิกา
Center: กำหนดจุดศูนย์กลาง
Outer Radius: <6> รัศมีวงนอก
Inner Radius: <4>รัศมีวงใน
Outer ladder distance: <0.3> ระยะขั้น
Delete 3 circles? [Yes/No] ลบวงกลมหรือไม่>
กรณีเป็นแนวตรงสามารถใช้รูปวาดแบบ hatch ได้โดยตรง โดยเลือกกำหนดระยะห่างของเส้นที่เป็น Pattern และมุมตามที่ต้องการ
กรณีเป็นแนวเส้นโค้งของวงกลมนั้น วิธีทางตรง จะประกอบด้วย 1. เขียนวงกลมที่มีจุดศูนย์กลางร่วมกันทั้ง 3 วง 2. หาความยาวเส้นรอบวงของวงกลมที่จะใช้เป็นตัวอ้างอิงในการกำหนดระยะระหว่างขั้น ซึ่งปกติจะใช้ Properties โดยดูที่รายการ Perimeter 3. คำนวณจำนวน โดยใช้ระยะ Perimeter หารด้วย ระยะห่างที่ต้องการ แล้วปัดเศษเป็นจำนวนเต็ม (N) 4. วาดเส้นลูกศรตัวแรก อาจเลือกวาดไว้ที่ตำแหน่ง 3 นาฬิกา 5. ทำซ้ำด้วยคำสั่ง array แบบ Polar และกำหนดจำนวนสำเนาตามข้อ 3 แบบเต็มวง (360 องศา)
สำหรับ LISP ที่ได้พัฒนาขึ้น เพื่อลดขั้นตอนการทำงานนั้น มีพรอมต์ดังนี้

Command: rc
Developed by S.Chatchawal, schatchawal@gmail.com
Direction [CW/CCW]:
Center: กำหนดจุดศูนย์กลาง
Outer Radius: <6> รัศมีวงนอก
Inner Radius: <4>รัศมีวงใน
Outer ladder distance: <0.3> ระยะขั้น
Delete 3 circles? [Yes/No]
วันศุกร์ที่ 2 กันยายน พ.ศ. 2554
AutoCAD Tips: ถามมา ตอบไป เปลี่ยนขนาดบล็อกแบบอัตโนมัติ
มีอีเมลจากท่านหนึ่งเขียนมาถามถึงวิธีการเปลี่ยนขนาด Block Reference ที่มีชื่อเดียวทั้งหมดในคราวเดียว โดยเป็นสัดส่วน เช่น เดิมมีขนาดยาว 2 หน่วย ต่อมาต้องการเปลี่ยนให้เป็น 1 หน่วย วิธีปกติคือใช้คำสั่ง Scale โดยใช้ค่าสเกลเท่ากับ ขนาดใหม่ / ขนาดเก่า ในตัวอย่างนี้คือค่าสเกลเท่ากับ 1/2 = 0.5
สำหรับแบบที่มีบล็อกที่จะต้องแก้ไขเรื่องทำนองนี้จำนวนมากๆทำได้ยากพอสมควรทีเดียว เนื่องจากแต่ละครั้งจะต้องกำหนดจุดอ้างอิง (Base point) ให้กับคำสั่ง Scale นี้ทีละหนึ่งตัวเลือก เพื่อให้งานเช่นนี้ง่ายยิ่งขึ้น จึงได้พัฒนา LISP ที่ใช้จัดการกับบล็อกชื่อเดียวกัน โดยให้กำหนดค่าสเกลที่ต้องการ จากนั้นคำสั่งจะหาจุดอ้างอิงเอง และสเกลปรับขนาดให้ตรงกับที่ต้องการ มีพรอมต์ดังนี้
Command: QSIZE
Developed by S.Chatchawal, schatchawal@gmail.com
Scale: <0.5000> ใส่ค่าสเกล
Select sample: คลิกเลือกรูปวาดเป็นหนึ่งตัวอย่าง
Quick change size 14 objects. (คำสั่งแจ้งจำนวนวัตถุที่ได้ดำเนินการเปลี่ยนขนาดให้)ผู้สนใจอีเมลมารับคำสั่งนี้ไปใช้กันได้
ก่อนปรับขนาด
หลังปรับขนาดด้วยค่าสเกล 0.5
สำหรับแบบที่มีบล็อกที่จะต้องแก้ไขเรื่องทำนองนี้จำนวนมากๆทำได้ยากพอสมควรทีเดียว เนื่องจากแต่ละครั้งจะต้องกำหนดจุดอ้างอิง (Base point) ให้กับคำสั่ง Scale นี้ทีละหนึ่งตัวเลือก เพื่อให้งานเช่นนี้ง่ายยิ่งขึ้น จึงได้พัฒนา LISP ที่ใช้จัดการกับบล็อกชื่อเดียวกัน โดยให้กำหนดค่าสเกลที่ต้องการ จากนั้นคำสั่งจะหาจุดอ้างอิงเอง และสเกลปรับขนาดให้ตรงกับที่ต้องการ มีพรอมต์ดังนี้
Command: QSIZE
Developed by S.Chatchawal, schatchawal@gmail.com
Scale: <0.5000> ใส่ค่าสเกล
Select sample: คลิกเลือกรูปวาดเป็นหนึ่งตัวอย่าง
Quick change size 14 objects. (คำสั่งแจ้งจำนวนวัตถุที่ได้ดำเนินการเปลี่ยนขนาดให้)ผู้สนใจอีเมลมารับคำสั่งนี้ไปใช้กันได้
ก่อนปรับขนาด
หลังปรับขนาดด้วยค่าสเกล 0.5
วันจันทร์ที่ 22 สิงหาคม พ.ศ. 2554
AutoCAD TIP: ถามมา ตอบไป คัดลอกเลย์เอาต์จำนวนมากในคราวเดียว
มีอีเมลของท่านหนึ่งเขียนมาถามถึงการทำสำเนาเลย์เอาต์ตัวปัจจุบัน (Current Layout) ที่เลือกไว้ เพิ่มอีกจำนวนหนึ่งแบบเร็วๆ ทำได้อย่างไร?
ทางออกที่เร็วที่สุดของงานนี้คือการเขียนโปรแกรม LISP เข้าช่วย เช่นคำสั่ง CPL ที่ผู้สนใจสามารถอีเมลมารับไปใช้กันได้ครับ มีพรอมต์ดังนี้
Command: cpl
Developed by S.Chatchawal, schatchawal@gmail.com
Number of copies: ป้อนค่าจำนวนสำเนาที่ต้องการ เช่น 20 แล้วกด ENTER
ตัวอย่างผลลัพธ์ดูตามรูปข้างต้น
วันพุธที่ 10 สิงหาคม พ.ศ. 2554
AutoCAD Tips: ถามมา-ตอบไป แบ่งระยะบนวงกลม
มีอีเมลมาถามถึงวิธีสร้างรอยแบ่งบนวงกลมด้วยระยะคงที่หนึ่งใน AutoCAD DWG มีวิธีทำอย่างไรได้บ้าง?
สร้างรอยแบ่งด้วยระยะบนส่วนโค้งของวงกลม คำตอบคือทำได้ด้วยการใช้คำสั่ง Measure ซึ่งรูปย่อของคำสั่งคือ ME
โดยรอยแบ่งที่ทำเป็นเครื่องหมายกำกับเอาไว้นี้ จะใช้เป็นรูปวาดแบบบล็อกหรือจุดก็ได้ ในที่นี้แสดงการใช้จุด ดังนั้นเพื่อให้เห็นได้ชัดเจน จึงควรกำหนดรูปแบบของจุดก่อน ทำได้ด้วยการใช้คำสั่ง PDMODE เช่นกำหนดที่ค่า 34 เป็นรูปเครื่องหมายบวกและวงกลม
Command: pdmode
Enter new value for PDMODE <0>: พิมพ์ 34 กด ENTER
สำหรับการกำหนดรูปแบบของจุดจากคำสั่งในรูปไดอะล็อกให้ใช้คำสั่ง DDPTYPE
จากนั้นใช้คำสั่ง MEASURE โดยทำดังนี้
Command: พิมพ์ ME กด ENTER
Select object to measure: คลิกรูปวาด
Specify length of segment or [Block]: พิมพ์ค่าความยาวของช่วงแบ่งที่ต้องการ
ได้ผลลัพธ์ตามรูปข้างต้นนี้ สังเกตว่า การแบ่งเริ่มต้นช่วงแรกโดยวัดออกจากตำแหน่ง 0 องศา หรือตำแหน่ง 3 นาฬิกา วัดวนออกไปในทิศทวนเข็มนาฬิกา (CCW)
ส่วนการแบ่งด้วยความยาวของคอร์ด (Chord) ทางออกหนึ่งคือเขียนโปรแกรม LISP ซึ่งในการนี้ได้พัฒนาคำสั่งชื่อ DIVC ขึ้น (ผู้สนใจสามารถอีเมลมารับไปได้)
หลังจากโหลดไฟล์ DIVC.VLX แล้วทำดังนี้
Command: พิมพ์ DIVC กด ENTER
Dividing with Chord on Circle.
Developed by S.Chatchawal, schatchawal@gmail.com
Select a circle: คลิกเลือกวงกลม
Chord length: <250> พิมพ์ความยาวคอร์ดที่จะใช้แบ่ง
ผลลัพธ์แจ้งจำนวนคอร์ดที่แบ่งได้ เช่น 7 chords. เป็นต้น
โดยเริ่มต้นแบ่งจากตำแหน่ง 3 นาฬิกาหมุนในทิศทวนเข็มนาฬิกา
สร้างรอยแบ่งด้วยระยะบนส่วนโค้งของวงกลม คำตอบคือทำได้ด้วยการใช้คำสั่ง Measure ซึ่งรูปย่อของคำสั่งคือ ME
โดยรอยแบ่งที่ทำเป็นเครื่องหมายกำกับเอาไว้นี้ จะใช้เป็นรูปวาดแบบบล็อกหรือจุดก็ได้ ในที่นี้แสดงการใช้จุด ดังนั้นเพื่อให้เห็นได้ชัดเจน จึงควรกำหนดรูปแบบของจุดก่อน ทำได้ด้วยการใช้คำสั่ง PDMODE เช่นกำหนดที่ค่า 34 เป็นรูปเครื่องหมายบวกและวงกลม
Command: pdmode
Enter new value for PDMODE <0>: พิมพ์ 34 กด ENTER
สำหรับการกำหนดรูปแบบของจุดจากคำสั่งในรูปไดอะล็อกให้ใช้คำสั่ง DDPTYPE
จากนั้นใช้คำสั่ง MEASURE โดยทำดังนี้
Command: พิมพ์ ME กด ENTER
Select object to measure: คลิกรูปวาด
Specify length of segment or [Block]: พิมพ์ค่าความยาวของช่วงแบ่งที่ต้องการ
ได้ผลลัพธ์ตามรูปข้างต้นนี้ สังเกตว่า การแบ่งเริ่มต้นช่วงแรกโดยวัดออกจากตำแหน่ง 0 องศา หรือตำแหน่ง 3 นาฬิกา วัดวนออกไปในทิศทวนเข็มนาฬิกา (CCW)
ส่วนการแบ่งด้วยความยาวของคอร์ด (Chord) ทางออกหนึ่งคือเขียนโปรแกรม LISP ซึ่งในการนี้ได้พัฒนาคำสั่งชื่อ DIVC ขึ้น (ผู้สนใจสามารถอีเมลมารับไปได้)
หลังจากโหลดไฟล์ DIVC.VLX แล้วทำดังนี้
Command: พิมพ์ DIVC กด ENTER
Dividing with Chord on Circle.
Developed by S.Chatchawal, schatchawal@gmail.com
Select a circle: คลิกเลือกวงกลม
Chord length: <250> พิมพ์ความยาวคอร์ดที่จะใช้แบ่ง
ผลลัพธ์แจ้งจำนวนคอร์ดที่แบ่งได้ เช่น 7 chords. เป็นต้น
โดยเริ่มต้นแบ่งจากตำแหน่ง 3 นาฬิกาหมุนในทิศทวนเข็มนาฬิกา
วันศุกร์ที่ 22 กรกฎาคม พ.ศ. 2554
AutoCAD TIP: ถามมา ตอบไป MTEXT COLOR
เมื่อสัปดาห์ที่แล้วมีอีเมลถามถึงการเปลี่ยนคุณสมบัติสีของ MTEXT (Multiline Text) ใน AutoCAD ที่ถูกกำหนดค่าโดยตรงจากส่วนของ Mtext Editor โดยตรง ทำให้ไม่สามารถแปลงเป็นสีแบบ ByLayer ได้

DWG ที่มีปัญหา ตรงส่วน MTEXT ถูกกำหนดโดยตรงเป็นสี Magenta

ขณะที่สีของเลเยอร์ L1 ที่วาง Mtext นี้อยู่คือสี Green

วิธีแก้ไขสีใหม่ทางตรงคือดับเบิลคลิกบน MTEXT เลือกข้อความที่ต้องการและเลือกสีเป็น ByLayer

วิธีนี้สำหรับข้อความจำนวนไม่มากนักก็ไม่ใช่เรื่องยากเลย แต่จากไฟล์ DWG ที่ผู้ถามแนบมาคือข้อความเกือบ 100 รายการทีเดียว และถ้ามี DWG ทำนองนี้เป็นจำนวนมากๆหลายๆไฟล์ คงเป็นงานที่ไม่น่าสุนทรีย์เลย
จึงได้ลองเขียน LISP เพื่อแทนส่วนแท็กค่าสีของแต่ละ mtext เพื่อให้ทำการเปลี่ยนเป็น ByLayer โดยอัตโนมัติ เพียงแต่พิมพ์คำสั่งชื่อ MTXCOLOR เท่านั้น ตัวอย่างพรอมต์ที่แสดง
Command: MTXColor
Convert MTEXT to Real Color Bylayer.
Developed by S.Chatchawal, schatchawal@gmail.com
Set 97 MTEXT objects to Bylayer color.
Convert individually explicit color 82 objects.
รูปผลลัพธ์หลังใช้คำสั่ง MTXCOLOR ที่แปลงสี Mtext เป็น ByLayer ในรูปนี้คือสีเขียวตามเลเยอร์ L1 หรือเป็นแบบ ByLayer แล้ว สังเกตว่าฟอนต์ของข้อความคงเดิม มีเพียงสีที่เปลี่ยนไป

ผู้สนใจอีเมลมารับไปใช้ได้
DWG ที่มีปัญหา ตรงส่วน MTEXT ถูกกำหนดโดยตรงเป็นสี Magenta
ขณะที่สีของเลเยอร์ L1 ที่วาง Mtext นี้อยู่คือสี Green
วิธีแก้ไขสีใหม่ทางตรงคือดับเบิลคลิกบน MTEXT เลือกข้อความที่ต้องการและเลือกสีเป็น ByLayer
วิธีนี้สำหรับข้อความจำนวนไม่มากนักก็ไม่ใช่เรื่องยากเลย แต่จากไฟล์ DWG ที่ผู้ถามแนบมาคือข้อความเกือบ 100 รายการทีเดียว และถ้ามี DWG ทำนองนี้เป็นจำนวนมากๆหลายๆไฟล์ คงเป็นงานที่ไม่น่าสุนทรีย์เลย
จึงได้ลองเขียน LISP เพื่อแทนส่วนแท็กค่าสีของแต่ละ mtext เพื่อให้ทำการเปลี่ยนเป็น ByLayer โดยอัตโนมัติ เพียงแต่พิมพ์คำสั่งชื่อ MTXCOLOR เท่านั้น ตัวอย่างพรอมต์ที่แสดง
Command: MTXColor
Convert MTEXT to Real Color Bylayer.
Developed by S.Chatchawal, schatchawal@gmail.com
Set 97 MTEXT objects to Bylayer color.
Convert individually explicit color 82 objects.
รูปผลลัพธ์หลังใช้คำสั่ง MTXCOLOR ที่แปลงสี Mtext เป็น ByLayer ในรูปนี้คือสีเขียวตามเลเยอร์ L1 หรือเป็นแบบ ByLayer แล้ว สังเกตว่าฟอนต์ของข้อความคงเดิม มีเพียงสีที่เปลี่ยนไป
ผู้สนใจอีเมลมารับไปใช้ได้
AutoCAD TIP: ถามมา ตอบไป : เส้นโพลีไลน์บนระนาบ ISOMETRIC
บ่ายวันนี้มีอีเมลถามถึงการเขียนเส้นโพลีไลน์ที่มีความหนาบนระนาบไอโซเมตริก ซึ่งปกติเมื่อเขียนด้วยคำสั่ง Polyline เมื่อเป็นเส้นแบบมีความหนาจะได้ปลายเส้นส่วนความหนาทำมุมไม่ถูกต้อง
ทางออกของเรื่องนี้วิธีหนึ่งคือ เขียนเส้นโพลีไลน์ที่มีความหนาเป็นศูนย์ แทนถึงขอบเขตของเส้นแบบมีความหนาก่อน โดยให้เส้นทั้งสี่นี้ทำมุมให้ถูกต้อง แล้วจึงค่อยลง Hatch ที่ pattern=SOLID ลงไป

การป้อนจุดยอดของ Polyline ที่เป็นกรอบนี้ เป็นเรื่องยุ่งยากพอสมควรทีเดียว
คลิกจุดแรก | @Lมุม30 | @Wมุม150 | @Lมุม210 | Close
เพื่อลดขั้นตอนงานเช่นนี้จึงได้พัฒนา LISP ชื่อ LISO ช่วยเขียนเส้นลักษณะนี้ โดยคำสั่งจะตรวจจับระนาบ ISOMETRIC ขณะนั้น และคำนวณค่ามุมป้อนให้เอง มีพรอมต์เป็น
Command: LISO
Developed by S.Chatchawal, schatchawal@gmail.com
Line width: <0.3> <ความกว้างเส้น>
First point: <จุดแรก>
Second point: <จุดสอง>
First point: <วนถามจุดแรกของเส้นถัดไป ถ้าต้องการจบกด ENTER>

ผู้สนใจสามารถอีเมลมารับไปใช้ได้
ทางออกของเรื่องนี้วิธีหนึ่งคือ เขียนเส้นโพลีไลน์ที่มีความหนาเป็นศูนย์ แทนถึงขอบเขตของเส้นแบบมีความหนาก่อน โดยให้เส้นทั้งสี่นี้ทำมุมให้ถูกต้อง แล้วจึงค่อยลง Hatch ที่ pattern=SOLID ลงไป
การป้อนจุดยอดของ Polyline ที่เป็นกรอบนี้ เป็นเรื่องยุ่งยากพอสมควรทีเดียว
คลิกจุดแรก | @Lมุม30 | @Wมุม150 | @Lมุม210 | Close
เพื่อลดขั้นตอนงานเช่นนี้จึงได้พัฒนา LISP ชื่อ LISO ช่วยเขียนเส้นลักษณะนี้ โดยคำสั่งจะตรวจจับระนาบ ISOMETRIC ขณะนั้น และคำนวณค่ามุมป้อนให้เอง มีพรอมต์เป็น
Command: LISO
Developed by S.Chatchawal, schatchawal@gmail.com
Line width: <0.3> <ความกว้างเส้น>
First point: <จุดแรก>
Second point: <จุดสอง>
First point: <วนถามจุดแรกของเส้นถัดไป ถ้าต้องการจบกด ENTER>
ผู้สนใจสามารถอีเมลมารับไปใช้ได้
วันศุกร์ที่ 17 มิถุนายน พ.ศ. 2554
AutoCAD Tips: ตัวแปรระบบ (System variables)
มีผู้ใช้ AutoCAD หลายรายที่ได้อีเมลมาถามปัญหา เช่น
1.ตอนนี้คลิกเลือกรูปวาดได้เพียงทีละรูป ทั้งที่เคยคลิกเลือกเพิ่มได้ แต่ตอนนี้ทำไม่ได้แล้ว
2.เส้นโพลีไลน์แบบมีความหนา ที่เป็นเส้นระบายทึบ ตอนนี้แสดงเฉพาะขอบด้านนอกไม่มีระบายทึบ
3.เคยเลือกรูปวาดก่อนใช้คำสั่ง Move, Copy, Rotate ได้แต่ตอนนี้ทำไม่ได้แล้ว
4.ใช้คำสั่ง Mirror เพื่อทำสำเนารูปวาดแบบสะท้อนตามแนวแกนสมมาตร ปกติตัวหนังสือไม่กลับด้าน แต่คราวนี้กลับด้านไปหมดเลย
5.อื่นๆอีกมากมาย
ประเด็นเหล่านี้ใน AutoCAD ควบคุมด้วยสิ่งที่เรียกว่า ตัวแปรระบบ (System Variables) จากปัญหาข้างต้น มาดูคำตอบว่าจะทำได้อย่างไร?
1. พิมพ์ PICKADD {ENTER} ตอบค่า 1 {ENTER}
2. พิมพ์ FILLMODE {ENTER} ตอบค่า 1 {ENTER}
3. พิมพ์ PICKFIRST {ENTER} ตอบค่า 1 {ENTER}
4. พิมพ์ MIRRTEXT {ENTER} ตอบค่า 0 {ENTER}
บางตัวแปรระบบเหล่านี้มีแสดงเป็นตัวเลือกอยู่ในไดอะล็อก Options ซึ่งเปิดไดอะล็อกนี้ได้โดยคลิกขวาบนพื้นที่วาดรูปและเลือก Options จากปัญหาข้างต้น ตำแหน่งกำหนดค่าบนไดอะล็อก Options เป็นดังนี้
1. แท็บ Selection เอาเครื่องหมายถูกออกจากรายการ Use Shift to add the selection
2. แท็บ Display คลิกกาถูกรายการ Apply solid fill
3. แท็บ Selection คลิกกาถูกรายการ Noun / Verb selection
4. ไม่มีตัวเลือกบน Options
ตัวอย่างตัวแปรระบบเพิ่มเติม
- PDMODE กำหนดรูปร่างของจุดจากคำสั่ง Point เช่น ค่า 3 เป็นรูปกากบาท
- SAVETIME กำหนดช่วงระยะเวลาที่จะดำเนินการบันทึกอัตโนมัติ (หน่วยนาที)
- MBUTTONPAN ค่า 1 เพื่อใช้ล้อของเมาส์สำหรับ Pan และ Zoom
รายละเอียดความหมายทั้งหมดของตัวแปรระบบดูได้จาก AutoCAD Help ที่หัวข้อ Command Reference รายการ System Variables
1.ตอนนี้คลิกเลือกรูปวาดได้เพียงทีละรูป ทั้งที่เคยคลิกเลือกเพิ่มได้ แต่ตอนนี้ทำไม่ได้แล้ว
2.เส้นโพลีไลน์แบบมีความหนา ที่เป็นเส้นระบายทึบ ตอนนี้แสดงเฉพาะขอบด้านนอกไม่มีระบายทึบ
3.เคยเลือกรูปวาดก่อนใช้คำสั่ง Move, Copy, Rotate ได้แต่ตอนนี้ทำไม่ได้แล้ว
4.ใช้คำสั่ง Mirror เพื่อทำสำเนารูปวาดแบบสะท้อนตามแนวแกนสมมาตร ปกติตัวหนังสือไม่กลับด้าน แต่คราวนี้กลับด้านไปหมดเลย
5.อื่นๆอีกมากมาย
ประเด็นเหล่านี้ใน AutoCAD ควบคุมด้วยสิ่งที่เรียกว่า ตัวแปรระบบ (System Variables) จากปัญหาข้างต้น มาดูคำตอบว่าจะทำได้อย่างไร?
1. พิมพ์ PICKADD {ENTER} ตอบค่า 1 {ENTER}
2. พิมพ์ FILLMODE {ENTER} ตอบค่า 1 {ENTER}
3. พิมพ์ PICKFIRST {ENTER} ตอบค่า 1 {ENTER}
4. พิมพ์ MIRRTEXT {ENTER} ตอบค่า 0 {ENTER}
บางตัวแปรระบบเหล่านี้มีแสดงเป็นตัวเลือกอยู่ในไดอะล็อก Options ซึ่งเปิดไดอะล็อกนี้ได้โดยคลิกขวาบนพื้นที่วาดรูปและเลือก Options จากปัญหาข้างต้น ตำแหน่งกำหนดค่าบนไดอะล็อก Options เป็นดังนี้
1. แท็บ Selection เอาเครื่องหมายถูกออกจากรายการ Use Shift to add the selection
2. แท็บ Display คลิกกาถูกรายการ Apply solid fill
3. แท็บ Selection คลิกกาถูกรายการ Noun / Verb selection
4. ไม่มีตัวเลือกบน Options
ตัวอย่างตัวแปรระบบเพิ่มเติม
- PDMODE กำหนดรูปร่างของจุดจากคำสั่ง Point เช่น ค่า 3 เป็นรูปกากบาท
- SAVETIME กำหนดช่วงระยะเวลาที่จะดำเนินการบันทึกอัตโนมัติ (หน่วยนาที)
- MBUTTONPAN ค่า 1 เพื่อใช้ล้อของเมาส์สำหรับ Pan และ Zoom
รายละเอียดความหมายทั้งหมดของตัวแปรระบบดูได้จาก AutoCAD Help ที่หัวข้อ Command Reference รายการ System Variables
วันอังคารที่ 12 เมษายน พ.ศ. 2554
AutoCAD Tips : Visual LISP พิกัด X,Y พร้อมหมุด
เช้านี้มีท่านหนึ่งอีเมล์มาถามถึง IDP นำไปใช้กับงานสำรวจ และแจ้งให้ทราบว่าปกติในตำแหน่งของพิกัดจะถูกแสดงด้วยเครื่องหมายวงกลม และตัด (trim) เส้นภายในออกไป
จึงได้พัฒนาเป็น IDP เวอร์ชันต่อมา
ที่ให้ทำงานตามที่แจ้งมา ดูรูปประกอบ
สำหรับท่านที่สนใจอีเมลมารับไปใช้งานได้
มีอยู่ 2 คำสั่งด้วยกันคือ
1. IDPC สำหรับเขียนพิกัดให้กับเส้น Polyline
จะเลือกกี่เส้นก็ได้ แล้วคำสั่งจะเขียนพิกัดพร้อมวางวงกลมหรือหมุดในตำแหน่งทุกจุดยอด (vertices)
2. CX สำหรับเขียนพิกัดและวางเครื่องหมายวงกลมหรือหมุด
ในจุดที่เลือก CX ไม่ขึ้นกับชนิดรูปวาด ทำงานจากจุดที่เลือก
ทั้ง IDPC และ CX จะตัดเส้นที่มีอยู่ในวงกลมออกไปให้ด้วย
วันจันทร์ที่ 7 มีนาคม พ.ศ. 2554
ถ้า USB Flash Drive ตกหล่นไป ข้อมูลจะ ... (เป็นเช่นไร)
จากขนาดของ 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) ข้อมูลเอาไว้ด้วยเสมอ!!!
พกพา อีกทั้งความจุ (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) ข้อมูลเอาไว้ด้วยเสมอ!!!
สมัครสมาชิก:
บทความ (Atom)








