วันพุธที่ 14 ตุลาคม พ.ศ. 2552

การสร้างและเพิ่มไลบารีให้ xfig

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

แต่ก็มีสิ่งหนึ่งที่สร้างความไม่สะดวกมาตลอด ก็คือสัญลักษณ์ทางไฟฟ้าและอิเล็กทรอนิกส์ที่มีให้มากับ xfig นั้นมันจัดขนาด โดยเฉพาะขั้วต่อภายนอกไม่ตรงกับ Snap และ Grid คือมันจะเหลื่อมกันทำให้ต้องวาดสัญลักษณ์สำหรับไดอะแกรมใหม่เสมอ (ผมทำ Copy & Paste ข้ามไฟล์ใน xfig ไม่เป็น T_T)

จนบัดนี้จึงได้มาพบกับวิธีสร้างและเพิ่มไลบารีให้กับ xfig จาก http://www.xsteve.at/prg/xfig/

เว็บไซต์ของสตีฟระบุขั้นตอนไว้อย่างนี้ครับ
  1. สร้างสัญลักษณ์ที่จะใช้ขึ้นมา Save ในชื่อสัญลักษณ์นั้น ๆ เอง เช่นสร้าง NPN BJT ขึ้นมาก็อาจ Save ในชื่อ npn_bjt.fig ก็ได้
  2. สร้างสัญลักษณ์อื่น ๆ ที่สามารถจัดเข้าอยู่ในกลุ่มเดียวกันขึ้นมา และเก็บไว้ในไดเร็คตอรีเดียวกัน เช่นในกรณีตัวอย่างเป็นสัญลักษณ์ในวงจรอิเล็กทรอนิกส์ อาจเก็บไว้ใน ~/myxfiglib/electronic ก็ได้
  3. สร้าง Symbolic Link ในไดเร็คตอรีไลบรารีของ xfig ลิงก์มาที่ไลบราลีของเรา (ผมเข้าใจถูกไหมนะ) โดยใช้คำสั่ง

    ln -s ~/myxfig/library/electronic / /usr/X11R6/lib/X11/xfig/Libraries/nlogic

  4. เมื่อเรียก xfig ขึ้นมาและเปิดไลบรารีควรจะเห็นไลบรารี electronic ของเราอยู่ในรายการด้วย
แต่สิ่งที่สตีฟบอกไว้มันใช้กับระบบของผมไม่ได้โดยตรงแฮะ ทั้ง ๆ ที่ใช้ Debian 5.0 ตอนที่เป็น Stable Release แล้วและไม่เคยเข้าไปแก้ไขอะไร แต่พอเข้าไปใน /usr/X11R6 แล้วมันไม่เจอ lib มันมีแต่ bin ก็เลยเดาเอาว่าสงสัยเป็นเพราะโครงสร้างของ X11 ว่ามันเปลี่ยนไปนานแล้ว เคยได้ยินใครในอินเตอร์เนตนี่แหละ เล่าให้ฟัง ก็เลยค้นหาดูในระบบแฟ้ม ว่ามีอะไรที่คล้าย ๆ อย่างนี้ไหม ปรากฏว่าเจออยู่ที่

/usr/share/xfig/Libraries

ก็เลยลองทำสร้างลิงก์ไว้ในไดเร็คตอรีนั้นแหละ โดยใช้คำสั่ง

ln -s ~/myxfiglib/electronic /usr/share/xfig/Libraries/electronic

เมื่อเสร็จแล้ว หากไป ls ดูใน /usr/share/xfig/Libraries ก็เจอลิงก์มาที่ ~/myxifglib/electronic แล้วก็ลองเรียก xfig และเปิดไลบรารีดู ก็พบผลงานของตัวเองอยู่ในไลบรารีเรียบร้อยพร้อมใช้งาน :)

หมายเหตุ: มีข้อควรระวังนิดหน่อยว่าไม่ควรตั้งชื่อไลบรารีของตัวเองซ้ำกับไลบรารีที่ติดมากับ xfig อยู่แล้ว ผมไม่รู้หรอกว่าจะเกิดอะไรขึ้น แต่คิดว่าคงจะมีปัญหาแหง ๆ

ไม่มีความคิดเห็น: