กลับไปยังบล็อก BIM และ IFC
แก้ไขการส่งออก · 2026-06-03 · 9 นาที
ทำไมการส่งออก IFC จาก Revit จึงมีปัญหา และวิธีแก้ไขทีละสาเหตุ
สัปดาห์ที่แล้วเรขาคณิตยังส่งออกได้ปกติ แต่สัปดาห์นี้องค์ประกอบไปอยู่ผิดชั้น ผนังหายไป และทั้งโมเดลไปอยู่ผิดตำแหน่ง การส่งออก IFC จาก Revit มีปัญหาด้วยสาเหตุเพียงไม่กี่ข้อที่คาดเดาได้ บทความนี้อธิบายวิธีระบุว่าคุณเจอสาเหตุใด และแก้ไขอย่างไร
ทำไมการส่งออก IFC จาก Revit จึงมีปัญหา และวิธีแก้ไขทีละสาเหตุ — IFC Viewer Online article cover
“ส่งออก IFC จาก Revit แล้วพัง” คือคำบ่นที่พบบ่อยที่สุดในฟอรัม BIM และที่น่าหงุดหงิดก็เพราะมันคลุมเครือ คำว่า “พัง” อาจหมายถึงเรขาคณิตอยู่ผิด Level องค์ประกอบหายไป รูปทรงบิดเบี้ยว หรือโมเดลไปอยู่ห่างจากตำแหน่งที่ควรเป็นหลายกิโลเมตร แต่ละอาการมีสาเหตุที่ต่างกันและระบุได้ บทความนี้จะอธิบายวิธีแยกแยะอาการเหล่านี้ เพื่อให้คุณแก้ได้ตรงจุดแทนการเดาสุ่ม
เริ่มจากยืนยันก่อนว่าอะไรพังจริง ๆ เปิดไฟล์ IFC ที่ส่งออกแล้วดูว่าเรขาคณิตบิดเบี้ยว หรือแค่อยู่ผิดตำแหน่ง องค์ประกอบหายไปจริง หรือแค่ไปอยู่ในชั้นที่ไม่คาดคิด คำตอบจะชี้ไปที่สาเหตุโดยตรง
ดูว่าการส่งออกที่สมบูรณ์เป็นอย่างไร
เปิดโมเดลบ้านแฝด (duplex) ของ buildingSMART เพื่อดูเรขาคณิตและลำดับชั้นเชิงพื้นที่ที่ถูกต้อง จากนั้นเปิดไฟล์ที่ส่งออกแล้วมีปัญหาของคุณมาเทียบ ความแตกต่างมักทำให้เห็นสาเหตุได้ชัดเจน
IFC2x3 · 2.4 MB
เปิดโปรแกรมดู IFC แบบอินเทอร์แอกทีฟ
สาเหตุที่ 1: เรขาคณิตไปอยู่ผิด Level
หากองค์ประกอบอยู่บน Level ของ Revit ที่ไม่ได้กำหนดเป็น Building Story ตัวส่งออกจะดันองค์ประกอบนั้นลงไปอยู่ในชั้นถัดไปด้านล่าง นี่คือเหตุผลที่องค์ประกอบไปโผล่ในชั้นที่ไม่คาดคิด Revit ถือว่าเฉพาะ Level ที่ตั้งค่าเป็น Building Story เท่านั้นเป็นชั้นจริงในลำดับชั้นเชิงพื้นที่ของ IFC
สาเหตุที่ 2: คุณเปิดไฟล์ IFC แทนที่จะลิงก์
เมื่อคุณเปิด (Open) ไฟล์ IFC ใน Revit โปรแกรมจะพยายามสร้างองค์ประกอบแบบเนทีฟของ Revit ขึ้นใหม่จากเรขาคณิตของ IFC วิธีนี้ใช้ได้กับผนังที่เรียบง่าย แต่จะพังอย่างรวดเร็วเมื่อเจอเรขาคณิตที่ซับซ้อน พื้นผิวโค้ง Family ที่ซับซ้อน หรืออะไรก็ตามที่ไม่ธรรมดาจะผิดเพี้ยนไปหมด แต่เมื่อคุณลิงก์ (Link) ไฟล์ IFC แทน Revit จะใช้เฟรมเวิร์กการแปลง (translation framework) สร้างโมเดลอ้างอิงที่สะอาด และคุณอัปเดตลิงก์ได้เมื่อมีไฟล์ใหม่เข้ามา
- Open (Import): ใช้เฉพาะเมื่อคุณจำเป็นต้องได้องค์ประกอบเนทีฟของ Revit ที่แก้ไขได้จริง ๆ และเรขาคณิตไม่ซับซ้อน
- Link: ใช้สำหรับการประสานงานและการทบทวน เรขาคณิตจะยังสะอาด และอัปเดตได้โดยไม่ทำลายข้อมูลเดิม
สาเหตุที่ 3: ทั้งโมเดลไปอยู่ผิดตำแหน่ง
หากโมเดลที่ส่งออกไปอยู่ห่างจากจุดกำเนิด (origin) หรือเรขาคณิตดูบิดเบี้ยวเล็กน้อย นั่นคือปัญหาเรื่องพิกัด ไฟล์ IFC จะถูกนำเข้าตาม Internal Origin ของ Revit โดยไม่ขึ้นกับ Project Base Point และ Survey Point และเรขาคณิตที่วางไว้ห่างจากจุดกำเนิดของพิกัดโลกมาก ๆ อาจบิดเบี้ยวได้เนื่องจากความแม่นยำของเลขทศนิยมแบบ floating-point เรื่องนี้เป็นหัวข้อเชิงลึกในตัวเอง แต่สรุปสั้น ๆ คือ ให้ส่งออกด้วย Shared Coordinates และเก็บโมเดลไว้ใกล้จุดกำเนิด
ดูคำอธิบายฉบับเต็มเรื่อง Survey Point, Base Point และการอ้างอิงพิกัดทางภูมิศาสตร์ (georeferencing) ได้ในบทความพิกัด IFC ผิดตำแหน่ง ของบล็อกนี้
สาเหตุที่ 4: องค์ประกอบหายไปหรือกลายเป็น Proxy
นี่คือความล้มเหลวสองแบบที่เกี่ยวข้องกัน แบบแรก องค์ประกอบอาจหายไปหากสูญเสียชั้นที่เป็นโฮสต์ (host storey) ระหว่างการส่งออก จนกลายเป็นองค์ประกอบกำพร้า (orphan element) ที่โปรแกรมดูส่วนใหญ่ข้ามไป แบบที่สอง Family ของ Revit ที่ไม่ได้แมปกับคลาส IFC จะถูกส่งออกเป็น IfcBuildingElementProxy ในทางเทคนิคองค์ประกอบยังอยู่ แต่ไม่มีประเภท เครื่องมือปลายทางจึงมองว่าเป็นเพียงก้อนวัตถุทั่วไป หาก IfcBuildingElementProxy มีสัดส่วนเกินกว่าไม่กี่เปอร์เซ็นต์ของโมเดล ตารางการแมปสำหรับการส่งออกของคุณต้องได้รับการแก้ไข
สาเหตุที่ 5: คุณสมบัติหรือ GUID ผิดพลาดหลังส่งออก
หากเรขาคณิตไม่มีปัญหาแต่ข้อมูลผิด แสดงว่าคุณเจอความล้มเหลวคลาสสิกอีกสองแบบของการส่งออก คือชุดคุณสมบัติ (property set) หายไป และ GlobalId ถูกสร้างขึ้นใหม่ ทั้งสองกรณีพบบ่อยจนมีคู่มือแยกของตัวเอง ดูบทความคุณสมบัติ IFC หายไปหลังส่งออก และทำไม GUID ของ IFC จึงเปลี่ยนทุกครั้งที่ส่งออก ในบล็อกนี้
ขั้นตอนการวินิจฉัยปัญหา
- ส่งออกไปยังโฟลเดอร์ในเครื่อง อย่าส่งตรงเข้าสภาพแวดล้อมข้อมูลร่วม (CDE)
- เปิดไฟล์ IFC ในเครื่องมือตรวจสอบ แล้วดูผลลัพธ์ 3 มิติก่อนที่คนอื่นจะเห็น
- หากองค์ประกอบอยู่ผิดชั้น ให้แก้การตั้งค่า Building Story (สาเหตุที่ 1)
- หากเรขาคณิตผิดเพี้ยนเมื่อนำเข้า ให้ใช้ Link แทน Open (สาเหตุที่ 2)
- หากโมเดลอยู่ไกลหรือบิดเบี้ยว ให้ใช้ Shared Coordinates และวางโมเดลใกล้จุดกำเนิด (สาเหตุที่ 3)
- หากองค์ประกอบหายไปหรือมี Proxy มากเกินไป ให้แก้ตารางการแมป IFC (สาเหตุที่ 4)
- รันการตรวจสอบ ตั้งเป้า Health Score (คะแนนคุณภาพโมเดล) ≥ 80 แล้วจึงส่งงาน
ทำไมการส่งออก IFC จาก Revit จึงมีปัญหา และวิธีแก้ไขทีละสาเหตุ