โมเดล Stereolithography STL (.stl)
3D มาตรฐานStandard Triangle Language (STL หรือที่รู้จักในชื่อ Stereolithography) คือรูปแบบมาตรฐานสากลที่ขาดไม่ได้ของอุตสาหกรรมการพิมพ์ 3 มิติและการสร้างต้นแบบอย่างรวดเร็ว โดยอธิบายเรขาคณิตพื้นผิวของวัตถุ 3 มิติที่เป็นของแข็งโดยใช้หน้าแบนรูปสามเหลี่ยมดิบ
แปลง OBJ เป็น STL
ตัวแปลงจาก OBJ เป็น STL ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ
ตรวจสอบไฟล์และข้อมูลเมตา
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ STL โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวระดับไบต์
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ STL โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
73 6F 6C 69 64การแสดงผลรูปแบบ ASCII: solid
มาตรฐาน: 3D Systems Stereolithography Specification
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | รูปแบบ ASCII (เริ่มด้วย 'solid') หรือรูปแบบไบนารี (ส่วนหัว 80 ไบต์ + จำนวนสามเหลี่ยม 32 บิต + ระเบียน facet ขนาด 50 ไบต์) |
| การบีบอัด | facet สามเหลี่ยมดิบแบบไม่บีบอัด |
| การจัดลำดับไบต์ | ใช้ Little-Endian (Intel x86) สำหรับ STL แบบไบนารี |
| พื้นที่สี | ไม่มี (เรขาคณิตขาวดำ; มีวิธีใส่สีแบบเฉพาะของ VisCAM/Magics) |
| ช่องสัญญาณและโครงสร้าง | facet สามเหลี่ยม: เวกเตอร์ตั้งฉากพื้นผิว (I, J, K) และพิกัดจุดยอดสามจุด (X, Y, Z) |
| ขนาดสูงสุด | พิกัดกายภาพ 3D ไม่จำกัด (โดยทั่วไปวัดเป็นมิลลิเมตร) |
| ความโปร่งใส | ไม่มี (วัตถุจริงแบบทึบ) |
| การสตรีมและแบบโปรเกรสซีฟ | การสตรีม facet ตามลำดับช่วยแบ่งชิ้นงานได้อย่างต่อเนื่องทีละชั้น |
ตารางเปรียบเทียบทางเทคนิค: STL กับคู่แข่ง
| คุณลักษณะทางเทคนิค | STL (ปัจจุบัน) | OBJ | 3MF | STEP |
|---|---|---|---|---|
| การยอมรับของซอฟต์แวร์สไลเซอร์พิมพ์ 3 มิติ | Widely used by 3D printing slicers; support varies | รองรับทั่วโลก | มาตรฐานสืบทอดสมัยใหม่ | มาตรฐานวิศวกรรม CAD |
| การรองรับสีและพื้นผิว | ไม่มี (เรขาคณิตพื้นผิวบริสุทธิ์) | การแมปพื้นผิว UV แบบเต็มรูปแบบ | สีเต็มรูปแบบ วัสดุ และหัวฉีดหลายหัว | สีทึบแบบพารามิเตอร์ |
| โครงสร้าง facet | facet สามเหลี่ยมแยกจากกัน | เมชที่ใช้จุดยอดร่วมกันและเชื่อมต่อกัน | เมชแบบใช้อินเด็กซ์และแชร์จุดยอด | เส้นโค้งพารามิเตอร์ที่แน่นอน (NURBS) |
| คำจำกัดความของหน่วย | ไม่มีหน่วย (ถือว่าเป็นมิลลิเมตร) | ไม่มีหน่วย (ถือว่าเป็นเมตร/มม.) | หน่วยที่ชัดเจน (มม., ซม., นิ้ว) | หน่วยวิศวกรรมที่ชัดเจน |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
ซอฟต์แวร์สไลเซอร์ 3 มิติแสดงข้อความ 'Model is not manifold / Contains non-manifold edges'
สาเหตุหลัก: มีรูในเมชสามเหลี่ยม สามเหลี่ยมตัดกันเอง หรือเวกเตอร์ปกติของพื้นผิวกลับด้าน
การกู้คืน: ทำให้เมชปิดสนิทโดยใช้ File2File.app 3D Mesh Repair Tool หรือ Netfabb
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
ตัวแยกวิเคราะห์ STL ไบนารีประเมินจำนวนสามเหลี่ยมแบบ 32 บิต ซึ่งจำนวนเต็มล้นอาจทำให้จัดสรรหน่วยความจำฮีปน้อยเกินไปและเขียนข้อมูลนอกขอบเขต
เวกเตอร์การโจมตีที่ทราบ
- จำนวนเต็มล้นระหว่างจัดสรรหน่วยความจำขนาด triangle_count * 50 ไบต์
- การอ่านบัฟเฟอร์เกินขอบเขตเมื่อขนาดไฟล์จริงเล็กกว่าจำนวนสามเหลี่ยมที่ประกาศไว้
- การปฏิเสธการให้บริการ (Denial of Service) ผ่านการจัดสรรสามเหลี่ยมขนาดหลายกิกะไบต์
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ตรวจสอบก่อนอ่านว่าจำนวนสามเหลี่ยมที่ประกาศไว้เท่ากับ (file_size - 84) / 50 พอดี
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- STL รองรับอย่างแพร่หลายในโปรแกรม slicing สำหรับพิมพ์ 3 มิติและเครื่องมือ CAM แต่ฟีเจอร์และเวิร์กโฟลว์ที่รองรับแตกต่างกัน
- รูปแบบไบนารีเรียบง่ายและกะทัดรัด: ส่วนหัวมีขนาด 84 ไบต์พอดี ตามด้วยข้อมูล facet รูปสามเหลี่ยมขนาด 50 ไบต์ต่อหน้า
- แสดงขอบเขตพื้นผิวแบบปิดสนิทได้โดยตรง ซึ่งจำเป็นต่อการสร้างเส้นทางเครื่องมือสำหรับการผลิตแบบเพิ่มเนื้อวัสดุ
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- The STL standard has no interoperable fields for color, materials, or textures; some incompatible extensions add color data.
- พื้นผิวโค้งต้องประมาณค่าด้วยสามเหลี่ยมระนาบแบนหลายพันรูป ส่งผลให้มีจำนวนโพลีกอนสูงมาก
- ไม่ได้ระบุหน่วยการวัดทางกายภาพ (ซอฟต์แวร์สไลเซอร์ต้องสมมติว่าเป็นมิลลิเมตรหรือนิ้ว)
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- Chuck Hull จดสิทธิบัตรการพิมพ์ 3 มิติในปี 1986 และสร้างรูปแบบ STL ในปี 1987 เพื่อป้อนโมเดล 3 มิติให้กับเครื่องพิมพ์ SLA-1 ของเขา
- ไฟล์ STL ไม่มีข้อมูลเมตาเกี่ยวกับหน่วย: ลูกบาศก์ที่มีมิติ '10' อาจหมายถึง 10 มิลลิเมตร 10 เมตร หรือ 10 นิ้ว ขึ้นอยู่กับการตั้งค่าซอฟต์แวร์สไลเซอร์ของคุณ
- ไฟล์ STL แบบไบนารีมีส่วนหัว 80 ไบต์ที่สามารถบรรจุข้อความใดก็ได้ แต่ต้องไม่ขึ้นต้นด้วยคำว่า 'solid' มิฉะนั้นตัวถอดรหัสบางตัวจะเข้าใจผิดว่าเป็นไฟล์ ASCII
คำถามทางเทคนิคที่พบบ่อย
โปรแกรมใดที่ใช้เปิดไฟล์ STL
คุณสามารถเปิดไฟล์ STL ด้วยโปรแกรมสไลซ์สำหรับพิมพ์ 3 มิติ เช่น Cura, PrusaSlicer และ Bambu Studio หรือใช้โปรแกรม CAD เช่น Fusion 360 และ Blender รวมทั้งดูไฟล์ออนไลน์ได้ทันทีใน File2File.app
ความแตกต่างระหว่าง ASCII STL และ Binary STL คืออะไร
Binary STL stores each triangle as numeric records, while ASCII STL writes the coordinates as text. Binary is usually smaller; ASCII can be inspected directly, but neither variant carries standard color or material fields.
ฉันจะแปลงไฟล์ STL เป็น OBJ หรือ GLB ได้อย่างไร
คุณสามารถแปลงไฟล์ STL เป็นโมเดล OBJ ที่มีพื้นผิวหรือไฟล์ GLB ที่พร้อมใช้งานบนเว็บได้โดยตรงในเบราว์เซอร์ของคุณโดยใช้ File2File.app
คู่การแปลงไฟล์ STL ที่เกี่ยวข้อง
การแปลงไฟล์ Wavefront OBJ เป็นรูปแบบ Stereolithography STL จะเปลี่ยนโมเดลออกแบบสีสันสดใสให้เป็นเมชสามเหลี่ยมดิบที่พร้อมสำหรับการพิมพ์ 3 มิติ
การแปลงไฟล์ Stereolithography STL เป็นรูปแบบ Wavefront OBJ จะเปลี่ยนเมชพื้นผิวสามเหลี่ยมดิบให้เป็นคำจำกัดความทางเรขาคณิตที่ยืดหยุ่นและรองรับพื้นผิวกับวัสดุ