วันศุกร์ที่ 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 แล้ว สังเกตว่าฟอนต์ของข้อความคงเดิม มีเพียงสีที่เปลี่ยนไป


ผู้สนใจอีเมลมารับไปใช้ได้

9 ความคิดเห็น:

  1. รบกวน ขอ lisp ตัวนี้หน่อยค่ะ น่าใช้ดี
    ganesha-p@hotmail.com

    ตอบลบ
  2. จัดส่งให้แล้วครับ ด้วยความยินดีครับ

    ตอบลบ
  3. ขอบคุณค่ะ Lisp นี้ช่วยในการทำงานได้เยอะ

    ตอบลบ
  4. สนใจครับ..ขอไฟล์หน่อยครับ
    supakij_t@hotmail.com

    ตอบลบ
  5. ขอด้วยครับ กำลังหาพอดี
    joethawatchai1966@gmail.com

    ตอบลบ
  6. สนใจครับ ขอด้วยใช้ด้วยครับ ขอบคุณมากครับ
    oud.thakham@gmail.com

    ตอบลบ
  7. รบกวน ขอ lisp ตัวนี้หน่อยคับ น่าใช้ดี

    ตอบลบ
  8. รบกวน ขอ lisp ตัวนี้หน่อยคับ

    ตอบลบ