Skip to content

Prajuab Riabroy's Blog

Survey Application – GNSS – UAV – Programing – Python – Dart&Flutter – Rust

Menu
  • Home
  • About Us
  • Survey Application
    • Surveyor Pocket Tools
    • Traverse Pro
    • XSection Plot
    • Geoid Height Pro
    • Spot Fire
    • โปรแกรมงานสำรวจสำหรับเครื่องคิดเลข Casio fx-5800P
    • โปรแกรมงานสำรวจสำหรับเครื่องคิดเลข Casio fx-9860G II SD
  • Download
  • Privacy Policy
Menu

ก้าวที่ใกล้กับโปรแกรมเขียนรูปตัดตามขวาง XSection Plot รุ่นใหม่

Posted on 08/03/2015

ก้าวที่ผ่านมา

  • ผ่านมาครึ่งปีกว่าแล้วก็ยังไม่เสร็จตามสัญญา แต่โปรแกรมก็คืบหน้าไปพอสมควรครับ ขอเท้าถึงความหลังหน่อยว่าโปรแกรมรุ่นเดิมเขียนด้วย VB ที่นับอายุอานามแล้วจะใกล้ๆ 20 ปีเข้าไปแล้ว ผมนำโปรแกรมมาพัฒนาใหม่ด้วยของฟรีดีมีคุณภาพ Python3 + Qt5 แรกก็ตะกุกตะกักพอสมควรเนื่องจากยังใหม่กับ Python และเป็นครั้งแรกที่ใช้  Qt สำหรับ Python ที่ว่ากันว่าเรียนง่ายเขียนง่าย แต่สำหรับผมที่เขียนด้วยภาษาอื่นมานมนานก็ต้องบอกว่า Python มีสไตล์ของตัวเอง ที่สั้น กระชับ ฉับไวที่คาดไม่ถึงเลยก็หลายๆอย่าง แต่ด้วยความที่สมองคิดแบบภาษาอื่นมานาน พอมาลอง Python ก็ยอมรับว่าตอนใหม่ๆไปอย่างฝืด Learning Curve  ชันไปนิดสำหรับผม แต่ผ่านไปปีกว่าๆ สไตล์ของ Python เริ่มเข้าหัว ทุกสิ่งทุกอย่างจะลื่นไหลออกมาเอง ลองมาดูว่าโปรแกรมสามารถทำอะไรได้บ้างเมื่อเทียบกับรุ่นเก่าที่พัฒนาด้วย VB 6

XSection_41_showcase

1) ป้อนและแก้ไขข้อมูลโครงการ (Project Information)

  • ก็ยังเหมือนเดิมครับ ที่ข้อมูลของรูปตัดจะต้องมีข้อมูลโครงการเป็นตัวกำกับว่า งานอะไร ใครเป็นเจ้าของงาน ผู้รับจ้างเป็นใคร ช่วงวันและเวลา ข้อมูลนี้จะถูกเขียนเข้าไปในไฟล์ข้อมูลตามปกติ ตอนนี้ในส่วนติดต่อผู้ใช้ ผมออกแบบเป็นภาษาอังกฤษทั้งหมด ภาษาไทยจะมีรุ่นจริงที่ออกมาภายหลัง

XSectionPlot_41_Projinfo

  • บางครั้งผู้ใชอาจต้อง Titleblock เป็นภาษาไทย ในส่วนรูปแบบ Titleblock ที่ออกแบบไว้ในโปรแกรมเป็นภาษาอังกฤษ ถ้าจะใช้ภาษาไทยต้องมาป้อนคำเทียบกับภาษาอังกฤษเอง หรือจะใช้ที่ผมใส่ไว้เป็น default ก็ได้

XSectionPlot_41_Maptb

2) ตั้งขนาดกระดาษ (Page Setup)

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

XSectionPlot_PageSetup

3) ตั้งค่ารูปตัดตามขวาง (Section Settings)

  • การตั้งค่ารูปตัดตามขวางเช่นการตั้งมาตราส่วนทางราบ (Horizontal scale) และมาตราส่วนทางดิ่ง (Vertical scale) ให้เหมาะสมหรือตามแต่เจ้าของงานจะกำหนด อย่างอื่นได้แก่ ตั้งจำนวนทศนิยมตัวเลข รูปแบบของเส้นกริด

XSection_41_gensettings

  • รูปแบบตัวเลขค่าระดับ และระยะทาง offset เลือกตั้งได้ 3 รูปแบบ

XSectionPlot_41_elevdisttxt

  • รูปแบบค่าระดับข้างตารางกริด สามารถตั้งตัวอักษรเป็นตัวย่อนำหน้าเพื่อระบุว่าเป็นค่าระดับที่ใช้อ้างอิงกับหลักฐานทางดิ่ง (Datum) อะไรเช่น รทก (MSL) หรือไม่ก็ LAT (Low Astronomical Tide) หรือบางครั้ง CD (Chart Datum)

XSectionPlot_41_gridelevtxt

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

XSectionPlot_41_topgridelev

4) การจัดรูปตัดตามขวางบนกระดาษ (Page Layout)

  • โมดูลตัวนี้เพิ่งเขียนเสร็จสดๆร้อนๆ การจัดรูปตัดบนกระดาษ โดยที่ผู้ใช้เพียงแต่บอกว่าต้องการรูปตัดในแนวราบ (คอลัมน์) และในแนวดิ่ง (แถว) เท่าไหร่ โปรแกรมก็จะจัดให้ตามต้องการ แต่ที่สำคัญคือความกว้างของรูปตัดจะขึ้นอยู่กับลักษณะงานด้วย เช่นงานถนนอาจความกว้างรูปตัดอาจจะ 100 เมตร ก็แบ่งไปข้างซ้าย 5o เมตร ข้างขวา 50 เมตร ในทางดิ่งก็เหมือนกันสามารถตั้งความสูงในแนวดิ่งได้เช่นกัน นอกจากนี้ระยะระหว่างเส้นกริดในแนวราบและแนวนอนก็ยังสามารถตั้งได้ เช่นบางงานอาจต้องการระยะความห่างเส้นกริดทางราบ 5 เมตร หรือ 10 เมตร ทั้งนี้ขึ้นอยู่กับมาตราส่วนด้วย และความสวยงาม เส้นกริดไม่ถี่มากดูแล้วสบายตา

XSectionPlot_41_sectionlayout2

  • หรือในบางกรณีรูปตัดไม่เต็มหน้า โปรแกรมก็จัดให้ได้

XSectionPlot_41_sectionlayout3

  • บางครั้งผู้ใช้กำหนดระยะห่างไปข้างซ้ายและข้างขวามากเกินและสุดท้ายรูปตัดทับกัน โปรแกรมก็แจ้งเตือนให้ทราบ

XSectionPlot_41_sectionlayout4

สิ่งที่ต้องทำต่อ

1) แสดงรูปตัด (Section Viewer)

  • การแสดงรูปตัดให้ผู้ใช้ได้ดูก่อนเป็นสิ่งที่สำคัญมาก เพราะผู้ใช้จะได้ทราบว่ารูปตัดที่ออกมานั้นหน้าตาเป็นอย่างไร มีส่วนไหนต้องแก้ไขไหม ในส่วนนี้คาดว่าใช้เวลาเขียนโปรแกรมอีกพอสมควร ด้านล่างเป็น Section Viewer ของโปรแกรมรุ่นเก่า เอามาใส่ให้เห็นว่า ที่ออกมาจะประมาณนี้

XSectionPlot_32_SectionViewer1

XSectionPlot_32_SectionViewer2

2) เขียนไฟล์รูปตัดรูปแบบ DXF

  • ส่วนนี้เป็นส่วนที่สำคัญมาก เพราะผู้ใช้ต้องการผลงานในรูปแผนที่แสดงรูปตัดตามขวาง ที่สามารถนำไปเปิดด้วยโปรแกรมด้าน CAD อื่นๆได้เช่น Autocad, Microstation เพื่อสามารถนำไปแก้ไขจนเป็นแผนที่รูปตัดที่พร้อมจะส่งงาน ในส่วนนี้ผมคาดว่าคงใช้เวลาในการโปรแกรมมิ่งไม่มากนัก

XSectionPlot_42_icon_sectionviewer

ก่อนจากกัน

  • สำหรับ Python + Qt เป็นจัดเป็นคู่หู ที่ทรงประสิทธิภาพมาก เป็น Cross-platform ผมใช้ Eclipse ผ่านปลั๊กอิน Pydev เป็นสภาวะแวดล้อมในการพัฒนาโปรแกรม การดีบักหาข้อผิดพลาดของโปรแกรม เนื่องจากคำสั่ง print  ของ Python เก่งมากก็ใช้คำสั่ง print นี้ครับสะดวก รวดเร็ว
  • เมื่อนำไปพัฒนาบน Ubuntu Gnome ก็ออกมาดังที่เห็น

XSectionPlot_41_ubuntugnome

  • หรือนำไปพัฒนาบนแมค ที่ติดเรื่อง font จากปัญหาสระลอย จนต้องมาบังคับฟอนต์ ตามที่อ.จักรนันท์แนะนำ ก็แก้ปัญหานี้ไปได้

XSectionPlot_41_mac

  • พบกันใหม่ครับ

Related

8 thoughts on “ก้าวที่ใกล้กับโปรแกรมเขียนรูปตัดตามขวาง XSection Plot รุ่นใหม่”

  1. Krissada says:
    11/03/2015 at 09:13

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

    Reply
    1. prajuab riabroy says:
      11/03/2015 at 11:20

      ขอบคุณ​ครับซี​ เฟสบุ๊ค​ยิ่งแล้วใหญ่​รกร้างหญ้าคาท่วมหัว

      Reply
      1. Prayyy (@spywinecoolerrr) says:
        09/12/2015 at 19:20

        ขอโทษนะคะ หนูโหลดโปรเเกรม XSection Plot ไม่ได้คะ มีให้ดาวน์โหลดอีกมั้ยคะ มันขึ้นแบบ Sorry, the file link that you requested is not valid. Sign error. หนูต้องหาดาวน์โหลดจากไหนได้บ้างคะ

        Reply
        1. prajuab riabroy says:
          12/12/2015 at 13:37

          ดูลิ๊งค์ตรงคอลัมน์ด้านขวานะครับ จะอัพเดท เมื่อดาวน์โหลดแล้ว ตอนติดตั้งถ้ามีข้อความขึ้นมา Abort, Ignore, Cancel ให้คลิกไปที่ Ignore โปรแกรมจะติดตั้งต่อไปและใช้โปรแกรมได้ตามปกติ

          Reply
  2. Krissada says:
    11/03/2015 at 09:36

    ใส่ความเห็นแล้วไม่ไปสองรอบเลยพี่ เอาสั้นๆ ง่ายๆ ขอเป็นกำลังใจให้สำหรับเวอร์ชันเต็มนะครับ

    Reply
  3. Prayyy (@spywinecoolerrr) says:
    09/12/2015 at 19:20

    ขอโทษนะคะ หนูโหลดโปรเเกรม XSection Plot ไม่ได้คะ มีให้ดาวน์โหลดอีกมั้ยคะ มันขึ้นแบบ Sorry, the file link that you requested is not valid. Sign error. หนูต้องหาดาวน์โหลดจากไหนได้บ้างคะ

    Reply
  4. tony says:
    24/12/2017 at 19:16

    สวัสดีครับ ผมรบกวนสอบถามคับ พอทำถึงตอน import ข้อมูลเข้า แล้วกดเลือกปลายทาง จากนั้นกด copy ข้อความไม่ลงมาแสดงยังตารางด้านล่างคับ ต้องทำยังไงคับ
    ขอบคุณคับ

    Reply
    1. priabroy says:
      25/12/2017 at 23:00

      เวอร์ชั่นเก่ามีบั๊กครับ ลองดาวน์โหลดเวอร์ชั่่นล่าสุด ได้ผลเป็นไงลองบอกด้วย

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

October 2026
M T W T F S S
 1234
567891011
12131415161718
19202122232425
262728293031  
« Sep    

Blog Stats

There was an issue retrieving stats. Please try again later.

Recent Posts

  • เร็วแรงทะลุนรกกับ POCUT (POint Cloud UTils)
  • อัพเดทแอพ “SurveyStar LDP Thailand” เพื่อรับกับยกร่างมาตรฐาน “TH-LDP”
  • ออกแอพใหม่ SurveyStar Traverse Pro สืบสานงานคำนวณวงรอบ ตอนที่ 2
  • ออกแอพใหม่ SurveyStar Traverse Pro สืบสานงานคำนวณวงรอบ ตอนที่ 1
  • โปรแกรมอรรถประโยชน์ Pocut (POint Cloud Utils)
  • โปรแกรมแปลงไฟล์แคดข้ามระบบพิกัด (Drawing Transformer)
  • มาตรฐานระบบพิกัดแผนที่แบบแอลดีพีของประเทศไทยสำหรับงานวิศวกรรมและการก่อสร้าง (Thailand Low Distortion Map Coordinate System for Engineering and Construction)
  • ประสบการณ์ใช้งาน Kimi K3 Code เขมือบแบบสยอง
  • สร้างแพลตฟอร์มดู Point Cloud บนเว็บด้วย Potree + CesiumJS — เรื่องเล่าจากสนามบินอู่ตะเภา
  • เมื่อวิศวกรสำรวจคำนวณเรื่องน้ำ – วิเคราะห์ระบบระบายน้ำบริเวณ RESA
  • แนะนำหนังสือ “จีออเดซี” ที่ยอดเยี่ยมของดร.พุทธิพล
  • ESPrtk ทำให้ ESP32 ใช้ไม่ได้? วิธีกู้คืน
  • กรณีศึกษา – คืนชีพ SDL30 ปี 2000 ด้วย ESP32 และแอพทำเอง SDL30 Collector
  • DIY RTK Base Station (survey-grade) รุ่น V3.21 ด้วย Raspberry Pi 2B + UM980 เมื่อคุณปู่กลับมาเป็นฮีโร่ ตอนที่ 4
  • รีวิวกูปรี (CoPre2) โปรแกรมประมวลผลไลดาร์จากค่าย CHCNav
  • DIY RTK Base Station (survey-grade) รุ่น V3.2 ด้วย Orange Pi 3 Zero + UM980 ตอนที่ 3
  • DIY RTK Base Station (survey-grade) รุ่น V3 ด้วย Orange Pi 3 Zero + UM980 ตอนที่ 2
  • เส้นทางและไทม์ไลน์ของใบรับรองความรู้ความชำนาญในการประกอบอาชีพวิศวกรรม(สำรวจ)ระดับวิศวกรวิชาชีพ
  • มัดแหนมรวมสามโปรแกรมไปใช้บนสโตร์ Snap ฝั่งลีนุกซ์
  • ปัดฝุ่น Traverse Pro เพิ่มรายละเอียดรายการคำนวณใหม่แบบแนวนอน (Landscape) และธีมมืด
  • DIY RTK Base Station (Survey-Grade) ด้วยชิป UM980 และบอร์ด ESP32 ตอนที่ 1
  • สร้าง NTRIP Caster ด้วย BNC บนคลาวด์แบบ DIY สำหรับ RTK Base Station ใช้ CHCNav P5
  • จับ AI มาไตรกรีฬา สร้างตัวติดตั้ง Snap สำหรับ Surveyor Pocket Tools กับประเด็นแฝงเร้นความเป็นส่วนตัวของผู้ใช้
  • ทดสอบรีด QGIS แบบโหดสัสด้วยชุดข้อมูล Open Building V3 โพลีกอน 74 ล้านหลัง
  • เมื่อ AI เป็นพิษชักจูงผู้ใช้ด้วยข้อมูลผิดๆ

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 122 other subscribers

Archives

  • October 2026
  • September 2026
  • August 2026
  • July 2026
  • May 2026
  • April 2026
  • March 2026
  • January 2026
  • December 2025
  • November 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • July 2024
  • May 2024
  • April 2024
  • January 2024
  • November 2023
  • October 2023
  • September 2023
  • July 2023
  • June 2023
  • May 2023
  • March 2023
  • February 2023
  • January 2023
  • November 2022
  • October 2022
  • September 2022
  • July 2022
  • May 2022
  • December 2021
  • October 2021
  • September 2021
  • August 2021
  • May 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • September 2019
  • August 2019
  • July 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • January 2018
  • November 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • August 2016
  • November 2015
  • March 2015
  • August 2014
  • March 2014
  • January 2014
  • December 2013
  • February 2012
  • January 2012
  • November 2011
  • October 2011
  • August 2011
  • April 2011
  • February 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • June 2010
  • April 2010
  • March 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009

Recent Comments

  • priabroy on ออกแอพใหม่ SurveyStar Traverse Pro สืบสานงานคำนวณวงรอบ ตอนที่ 1
  • Konexana Yomleuangsa on ออกแอพใหม่ SurveyStar Traverse Pro สืบสานงานคำนวณวงรอบ ตอนที่ 1
  • เฟือง เถา on DIY RTK Base Station (survey-grade) รุ่น V3.21 ด้วย Raspberry Pi 2B + UM980 เมื่อคุณปู่กลับมาเป็นฮีโร่ ตอนที่ 4
  • priabroy on DIY RTK Base Station (survey-grade) รุ่น V3.21 ด้วย Raspberry Pi 2B + UM980 เมื่อคุณปู่กลับมาเป็นฮีโร่ ตอนที่ 4
  • ตรันฟองนาม on DIY RTK Base Station (survey-grade) รุ่น V3.21 ด้วย Raspberry Pi 2B + UM980 เมื่อคุณปู่กลับมาเป็นฮีโร่ ตอนที่ 4
©2026 Prajuab Riabroy's Blog | Design: Newspaperly WordPress Theme