งาน Earthwork หรืองานดินตัดดินถมนั้นคงขาดรูปตัดตามขวางและรูปตัดตามยาวไม่ได้ และเป็นทราบดีกันว่า Civil3D นั้นเก่งกาจในเรื่องพวกนี้อยู่แล้ว ทำอะไรที่ยากๆได้เช่นสร้าง Grading Object สำหรับงาน Earthwork ที่มีความซับซ้อนได้ แต่ก็แลกกับความยากของการศึกษาโปรแกรมนี้มาเช่นเดียวกัน ข้อเสียของ Civil3D นั้นคือความใหญ่โตของมัน กินทรัพยากรเครื่องคอมพิวเตอร์ของผู้ใช้สูงมากทีเดียวและอีกอย่างคือราคาค่อนข้างจะสูง เหมาะกับองค์กรมากกว่า แต่ถ้าผู้ใช้ตามบ้านๆมีกำลังซื้อก็ไม่ว่ากันครับ ดังนั้นการสร้างแผนที่รูปตัดตามขวางใน Civil3D ก็สามารถทำได้ การเปลี่ยนแปลง Alignment หรือปรับ Grading Object จะไปปรับให้ในแผนที่รูปตัดทันทีนับเป็นความสะดวกมาก สำหรับโปรแกรมช่วยเขียนแบบรูปตัดตามขวาง XSection Plot ที่ผมพัฒนาขึ้นมานี้ก็เป็นโปรแกรมเล็กๆ…
Category: CAD
โปรแกรมมิ่ง: เขียนโค้ดไพทอนสร้างเส้นชั้นความสูง (contours) ด้วยไลบรารี matplotlib
เป็นความฝันของผมอันหนึ่งตั้งแต่สมัยจบใหม่ๆที่จะเขียนโปรแกรมสร้างชั้นความสูงจากข้อมูลจุดงานสำรวจ x, y, z แต่จนแล้วจนเล่าโครงการนี้ไม่เคยเกิดสักที เนื่องจากความรู้ความสามารถและทักษะไม่เพียงพอ ด้วยความยากในการคิดอัลกอริทึมที่จะสร้างสามเหลี่ยมด้านที่สั้นที่สุดจากจุด (point) งานสำรวจ จนกระทั่งเลยวัยแห่งความฝันอันนั้นมาไกลมากแล้ว ปัจจุบันในยุค open source มีไลบรารีด้านนี้ที่มีโมดูลส่วนหนึ่งที่มีความสามารถใกล้เคียงที่สามารถนำมาสร้างเส้นชั้นความสูงได้คือ matplotlib ไลบรารี matplotlib ตัว matplotlib เองถูกนำไปใช้ร่วมกับ numpy, pandas สุดยอดของไลบรารีไพทอนที่นำไปประมวลผลงานด้าน Data Science & Data Analysis ตลอดจน Machine Learning ทะลุไปถึง…
พอร์ท:โปรแกรมเขียนแบบรูปตัด (XSection Plot) มาใช้บนแมคโอเอส
โปรแกรมเขียนแบบรูปตัด (XSection Plot) นับว่าเป็นโปรแกรมลำดับที่สามที่ผมพอร์ทมาใช้บนแมคโอเอส ถัดจาก Traverse Pro และ Surveyor Pocket Tools ติดตามบทความเดิมได้ด้านล่าง XSection Plot พัฒนาด้วยภาษาไพทอน (Python) กราฟฟิคติดต่อผู้ใช้ใช้ PySide2 (Qt for Python) บนแมคโอเอส ผมใช้ PyCharm (Community Edition) เป็นตัว IDE ในการพัฒนา ใช้ PyInstaller สำหรับการทำไฟล์…
แนะนำโปรแกรมงานคำนวณภาพถ่ายทางอากาศ(โดรน) ด้วย OpenDroneMap (ฟรี) ตอนที่ 2
ตอนที่ 1 ผมได้แนะแนววิธีการติดตั้ง OpenDroneMap ไปอย่างย่อและได้แนะนำลิ๊งค์ให้ไปดูกันต่อที่ละเอียดมาก มาในตอนนี้มาทดสอบวิธีการคำนวณจากชุดภาพตัวอย่าง ODMData ตามไปที่ลิ๊งค์นี้ จะเห็นข้อมูลภาพชุดตัวอย่าง (Dataset) ในฐานะที่ผมเป็นช่างสำรวจ ผมสนใจชุดภาพที่มี GCPs (Ground Control Points) และชุดภาพที่มีค่าพิกัดจาก RTK ติดมาที่แท็กหรือ Exif ของภาพ แต่น่าเสียดายที่ผมลองข้อมูลชุดนี้ไม่น่าพอใจ ชุดข้อมูลชื่อ “bellus” มี GCPs ให้ลองแต่เมื่อผมลองคำนวณโดยการเลือกใช้ GCPs กลับพบว่าโมเดล 3D พลิกกลับบนล่าง ผมลองต่อด้วยข้อมูลตัวอย่าง…
การออกแบบเส้นโครงแผนที่ความเพี้ยนต่ำ (Low Distortion Projection) ตอนที่ 2 (กรณีศึกษาออกแบบเส้นโครงแผนที่ความเพี้ยนต่ำสำหรับกรุงเทพมหานครและปริมณฑล)
ผมทิ้งช่วงเรื่องการออกแบบและประยุกต์ใช้เส้นโครงแผนที่ความเพี้ยนต่ำเป็นระยะเวลาเนิ่นนานพอสมควรเนื่องจากติดภารกิจไปทำงานต่างประเทศที่หาเวลาว่างนานๆได้ยาก ถ้าผู้อ่านไม่ได้ติดตามเรื่องนี้ตั้งแต่ต้นขอให้กลับไปอ่านหรือศึกษาได้ตามลิ๊งค์ตังต่อไปนี้ แนะนำการใช้เส้นโครงแผนที่ความเพี้ยนต่ำ (Low Distortion Projection) และ การออกแบบเส้นโครงแผนที่ความเพี้ยนต่ำ (Low Distortion Projection) ตอนที่ 1 เรื่องเส้นโครงแผนที่ความเพี้ยนต่ำเป็นเรื่องใหม่สำหรับประเทศไทย แต่ในต่างประเทศบางประเทศได้ประยุกต์ใช้งานมานานแล้ว ประโยชน์ของเส้นโครงแผนที่ความเพี้ยนต่ำเมื่อประยุกต์ใช้แล้วคือ ความต่างระหว่าง Ground Distance และ Grid Distance จะน้อยมากจนสามารถละเลยไปได้ ไม่เหมือนกับการใช้แผนที่ระบบพิกัดยูทีเอ็ม (UTM) ที่ค่าระยะทางบนพื้นโลกกับระยะทางบนแผนที่ต่างกันมาก (ตัวอย่างระยะทางประมาณ 1 กม. สองระยะทางนี้อาจจะต่างกันประมาณ 40-80 ซม.แล้วแต่พื้นที่)…
ก้าวไปอีกหนึ่งก้าวกับ XSection Plot
สวมวิญญานใหม่ด้วย PySide2 หลังจากผมคอมไพล์ XSection Plot ใหม่ด้วยสภาวะแวดล้อมพัฒนาของ Qt5 platform ด้วย PySide2 ผมเปลี่ยนลิขสิทธิ์ของโปรแกรมเดิมที่กำกวมออกมาฟรีสมบูรณ์แบบเหมือนกันกับ Surveyor Pocket Tools สามารถนำไปทำซ้ำแจกจ่ายได้ตามอัธยาศัย แต่ห้ามดัดแปลง ห้ามนำไปจำหน่ายหรือให้เช่า แก้ไข bugs นอกจากย้ายโค้ดมาใช้ PySide2 แล้ว ผมเลยถือโอกาสแก้บั๊กเล็กน้อยไปหลายอย่าง เช่น เวลาคลิกขวาเพื่อเรียกเมนูในช่องป้อนข้อมูล โปรแกรมจะ terminate ทันที ใน Section Layout ตรง Horizontal…
Surveyor Pocket Tools – คำนวณพื้นที่ เรื่องธรรมดาที่ไม่ธรรมดา (ตอนที่ 1)
Surveyor Pocket Tools เป็นโปรแกรมที่รวบรวมเครื่องมือเล็กเครื่องมือน้อยสำหรับช่างสำรวจ ตอนนี้เพิ่มการคำนวณหาพื้นที่ หลากหลายประเด็นที่จะมาคุยกันว่ามันควรจะง่ายธรรมดาแต่มันไม่ธรรมดาอย่างไร ย้อนรอยสูตรคำนวณหาพื้นที่ Surveyor Pocket Tools รุ่นก่อนหน้านี้ส่วนใหญ่จะเป็นงานคำนวณในงานเซอร์เวย์เรื่อง Advance เช่นงานคำนวณหาระยะทางบน Ellipsoid งานคำนวณหาความสูงของจีออยด์ การแปลงพิกัด ตอนนี้จะกลับมาเรื่องพื้นฐานคือการคำนวณหาพื้นที่ การคำนวณหาพื้นที่ ปกติที่เราคุ้นหูคุ้นตาคือ การเอาค่าพิกัด X,Y ในระบบพิกัดฉากมาวางเรียงกันในแนวนอนหรือแนวตั้งแล้วจัดการเอาค่า X คูนค่า Y สลับแบบผูกเชือกรองเท้า คูนขึ้นเป็นบวก คูนลงเป็นลบ เรียกสูตรนี้ว่า สูตรเชือกผูกรองเท้า (Shoelace’s formula)…
The Return of Spot Fire ก้าวกลับมาอีกครั้งของ Spot Fire รุ่น 2.10 (ล่าสุด)
Spot Fire V2.10 รุ่นล่าสุด และแล้วก็ได้เวลา upgrade โปรแกรมอีกตัว ซึ่งโปรแกรมเขียนตัวเลขค่าระดับส่งเข้า Autocad โดยตรง เป็นโปรแกรมเล็กมากๆ เรียกว่าเป็นทูลส์ (tools) ก็ได้ครับ ขนาดไฟล์ติดตั้ง 1.5 MB แค่นั้นเอง เดิมทีโปรแกรมพัฒนาด้วย Delphi ซึ่งติดเรื่องลิขสิทธิ์ ผมพอร์ทโปรแกรมมา Lazarus ซึ่งใช้ Free pascal compiler เป็นคอมไพเลอร์ ที่ฟรีและ opensource เนื่องจากโค๊ดของ Dephi…
สิ้นสุดการรอคอย XSection Plot รุ่น 4.10 มาแล้ว ตอนที่ 3 (จบ)
10.การจัดเรียงรูปตัดบนกระดาษเขียนแบบ (Page Layout) การจัดเรียงรูปตัด เลือกทูลบาร์และคลิกที่ “Page layout” ได้ดังรูป ความยาวของรูปตัดแต่ละรูปตัด ความกว้างในแนวดิ่ง มาตราส่วน จะมีผลต่อขนาดของรูปตัดแต่ละรูป ที่่จะวางบนกระดาษเขียนแบบ การจัดเรียงรูปตัดให้เหมาะสม ผู้ใช้สามารถเลือกจำนวนรูปตัดในแนวดิ่ง จำนวนรูปตัดในแนวนอน ลองตั้งค่าตามรูปด้านล่าง เนื่องจากข้อมูลที่เรากำลังทดลองใช้งานอยู่มี 4 รูปตัดและความกว้างของรูปตัดประมาณ 1300 เมตร จึงยาวจรดกระดาษซ้ายขวา จำนวนรูปตัดในแนวดิ่งจึงเลือกเป็น 1 ส่วนจำนวนรูปตัดในแนวนอนเลือกเป็น 4 มาดูตั้งค่าให้กริดทางราบ จัดระยะราบจาก CL (ค่าที่ X…
สิ้นสุดการรอคอย XSection Plot รุ่น 4.10 มาแล้ว ตอนที่ 2
6.เปิดไฟล์ข้อมูล (Open file) ขั้นตอนต่อไปจะมาเปิดไฟล์ข้อมูล เริ่มจากไฟล์ Typical section ที่จัดเก็บไว้ใน Documents ขั้นตอนตามรูปด้านล่าง ขั้นตอนที่ 3 เลือกประเภทของไฟล์เป็น .txml โปรแกรมจะอ่านข้อมูล และแสดงผลบนตารางในแท็บ “Typical section” ต่อไปเช่นเดียวกันเปิดไฟล์ Existing Ground section 7.ป้อนข้อมูลโครงการ ตอนนี้ข้อมูลของเราที่ได้จาก import จาก text file มีแต่รูปตัดในตารางเท่านั้น เราจะทำการบันทึกข้อมูลโครงการของงาน นอกจากบันทึกเพื่อจำแล้วยังสามารถนำไปเขียนเป็น Titleblock…