UltKit

STL, OBJ au 3MF: Utumie muundo gani wa faili ya 3D?

Tumia STL kwa uchapishaji wa rangi moja unaohitaji tu kuukata kwenye slicer, OBJ modeli inapobeba tekstua za kuchakata picha au injini ya michezo, na 3MF slicer yako inapoiunga mkono na unataka vipimo, rangi na sehemu kadhaa zibaki salama njiani. Muundo huamua ni metadata gani inasafiri pamoja na mesh; hauamui kamwe kama mesh yenyewe ni salama.

Jonas WeberJonas WeberMhariri wa kasi ya tovuti
Imesasishwa 12 dakika za kusoma
Printa ya 3D ya mezani ndani ya kisanduku kinachoonyesha ndani juu ya meza nyeupe, pamoja na kompyuta mpakato inayoonyesha modeli ya 3D na vipande vya rangi vilivyochapishwa, ikiwemo ramani ya ardhi na gia nyekundu

STL: orodha ya pembetatu tu, hakuna kingine

STL iliandikwa mwaka 1987 kwa mashine za kwanza za stereolithography za 3D Systems, na muundo wake unaonyesha asili hiyo. Faili ni orodha tambarare ya pembetatu, kila moja ikielezewa na normal ya uso na pointi tatu za pembe. Hakuna jedwali la vertex zinazoshirikiwa, kwa hivyo pembe inayogusa pembetatu sita huandikwa mara sita. Hakuna pia sehemu ya kipimo: kiwianishi cha 25 kinaweza kumaanisha milimita, inchi au mita, na karibu kila slicer hukisia milimita. Rangi, texture na majina ya sehemu hazina nafasi katika muundo msingi, na ndiyo sababu kila slicer, programu ya CAD na huduma ya uchapishaji bado inaisoma.

STL ina usimbaji wa aina mbili. ASCII STL huandika kila kitu kwa maandishi, kwa mistari kama facet normal, outer loop na vertex 12.5 0 3.2, kwa hivyo unaweza kuifungua kwenye kihariri cha maandishi na kusoma namba. STL ya binary huanza na kichwa cha baiti 80 na idadi ya pembetatu ya baiti 4, kisha huhifadhi kila pembetatu kama floats kumi na mbili za baiti 4 pamoja na sehemu ya attribute ya baiti 2: baiti 50 kamili kwa kila pembetatu. Kanuni hiyo hurahisisha kukadiria ukubwa. Modeli ya pembetatu milioni moja ni takriban MB 50 kama binary, na toleo la ASCII la mesh ile ile kwa kawaida ni kubwa mara nne hadi sita kwa sababu kila tarakimu inakuwa herufi.

Urahisi ni nguvu na pia mtego. STL haiwezi kukuambia ikiwa ilikusudiwa kuwa sehemu moja au tatu, ikiwa ilisafirishwa kwa inchi, au ikiwa pembetatu zake kweli zinazunguka kitu kigumu. Slicer hubaini hilo kutoka kwa viwianishi ghafi, na inapokisia vibaya unapata sehemu ndogo mara 25.4 au ukuta unaokosekana. Kwa sehemu ya rangi moja uliyoibuni mwenyewe na kuisafirisha kwa milimita, hakuna kati ya hayo linalojalisha, na STL inabaki kuwa muundo usiokataliwa kwa urahisi zaidi.

OBJ: poligoni, UV na faili ya ziada ya nyenzo

OBJ inatoka Wavefront Technologies, ambao programu yao ya Advanced Visualizer iliitumia mwishoni mwa miaka ya 1980, na ilienea katika miaka ya 1990 kama muundo wa maandishi wazi ambao karibu kila programu ya 3D ingeweza kubadilishana. Tofauti na STL, huhifadhi orodha ya vertex na kujenga nyuso kwa indices, kwa hivyo pembe inayoshirikiwa huhifadhiwa mara moja, na nyuso zinaweza kuwa pembetatu, pembenne au poligoni kubwa zaidi. Mistari inayoanza na v ina nafasi, vt viwianishi vya texture (UV), vn normals na f nyuso. Vikundi (g) na vitu (o) hutaja sehemu, kwa hivyo OBJ hudumu ikipitia Blender, Maya au ZBrush na muundo wake ukiwa salama.

Mwonekano uko nje ya faili ya .obj. Mstari wa mtllib hutaja faili ya .mtl msaidizi, na mistari ya usemtl hupangia nyuso materials. Faili ya .mtl huhifadhi rangi kama Kd (diffuse) na kuelekeza kwenye picha za texture kwa maingizo kama map_Kd wood.png. OBJ yenye texture kwa hivyo ni angalau faili tatu: jiometri, maktaba ya material na picha moja au zaidi, zote zikirejelewa kwa njia ya jamaa. Ukituma .obj pekee, mpokeaji ataona modeli ya kijivu. Utengano huo ni muhimu katika mifumo ya michezo na VFX ambapo wasanii hubadilisha textures bila kugusa jiometri, na ndio sababu moja inayojulikana zaidi kwa nini modeli iliyopakuliwa inaonekana vibaya.

OBJ ina upofu ule ule wa STL kuhusu kipimo: huhifadhi namba tupu bila kipimo. Zana nyingi za modeli huandika mita au sentimita, wakati slicer husoma milimita, kwa hivyo OBJ kutoka duka la mali za michezo inaweza kufika ikiwa na kosa la mara 10 au 1,000. Kwa uchapishaji, OBJ haiongezi kitu ambacho slicer inatumia isipokuwa rangi kwa kila vertex katika zana chache, kwa hivyo ukihitaji kuchapisha mali ya sanaa mara nyingi ni rahisi kuhifadhi textures kwa rendering na kuipa slicer mesh safi. Kwa upande mwingine, kubadilisha STL kuwa OBJ ndiyo njia fupi zaidi kutoka modeli ya uchapishaji hadi mtiririko wa rendering au mchezo.

3MF: kifurushi cha ZIP kilichoundwa kwa uchapishaji

3MF ilichapishwa mwaka 2015 na 3MF Consortium, kundi lililoanzishwa na Microsoft pamoja na kampuni za sekta ya uchapishaji na CAD. Faili ya .3mf ni kumbukumbu ya ZIP, muundo ule ule wa chombo uliojadiliwa katika ZIP vs RAR vs 7z. Ibadilishe jina iwe .zip na utapata faili ya XML ya 3D/3dmodel.model yenye mesh, faili ya aina za maudhui, faili za mahusiano na mara nyingi picha ndogo na usanidi wa slicer. Kila modeli hutangaza kipimo chake (mikroni, milimita, sentimita, inchi, futi au mita), kwa hivyo tatizo la kipimo linalosumbua STL na OBJ halitokei kabisa. Rangi, materials msingi, vitu kadhaa na uwekaji wake kwenye sahani ya uchapishaji ni sehemu ya vipimo rasmi.

Vipimo rasmi pia vinahitaji mesh ziwe manifold na zenye mwelekeo thabiti: kila ukingo ushirikiwe na pembetatu mbili kamili, zote zikielekea nje. Wasafirishaji wanaofuata kanuni hawawezi kuandika jiometri wazi, inayojikata yenyewe ambayo STL huibeba bila shida. Usaidizi ni mpana kwenye zana za sasa. PrusaSlicer, Bambu Studio, OrcaSlicer na UltiMaker Cura husoma 3MF, PrusaSlicer na Bambu Studio huhifadhi mradi wao wote kama .3mf ukiwa na mipangilio ya uchapishaji na rangi zilizopakwa ndani, na programu ya Microsoft ya 3D Builder kwenye Windows huifungua moja kwa moja. Sehemu dhaifu ni firmware za zamani, tovuti za print-farm na waingizaji wa CAD wanaotarajia STL bado; kwa hizo, badilisha 3MF kuwa STL na ukubali kwamba vitu vya ziada vitabaki nyuma.

from ↓ · to →UnitsColorTexturesSehemu nyingiMipangilio ya uchapishajiKanuni ya manifold
STL– STL to Units: no– STL to Color: no– STL to Textures: no– STL to Sehemu nyingi: no– STL to Mipangilio ya uchapishaji: no– STL to Kanuni ya manifold: no
OBJ– OBJ to Units: noOBJ to Color: yesOBJ to Textures: yesOBJ to Sehemu nyingi: yes– OBJ to Mipangilio ya uchapishaji: no– OBJ to Kanuni ya manifold: no
3MF3MF to Units: yes3MF to Color: yes3MF to Textures: yes3MF to Sehemu nyingi: yes3MF to Mipangilio ya uchapishaji: yes3MF to Kanuni ya manifold: yes
supported not offeredSafu mlalo ni miundo, safu wima ni kile ambacho faili yenyewe inaweza kubeba. Rangi na textures za OBJ zinahitaji faili tofauti ya .mtl na picha; textures za 3MF zinatoka kwenye kiendelezi chake cha materials. Zana chache huandika rangi kwenye baiti zisizotumika za STL ya binary, lakini hakuna kiwango kinachoishughulikia.
Safu ya printa za 3D zenye fremu wazi kwenye meza za mbao, iliyo karibu zaidi ikiwa na sehemu kadhaa za silinda za buluu kwenye sahani yake ya uchapishaji
Picha: Unsplash

Kuchagua muundo kulingana na kazi

Muundo unaofaa hutegemea faili inakwenda wapi baadaye, si ni upi mpya zaidi. Kama kituo kinachofuata ni slicer na sehemu ni rangi moja, STL inatosha, na bado ni muundo ambao kila jukwaa, maktaba ya modeli na huduma ya uchapishaji inaelewa. Kama kituo kinachofuata ni renderer, injini ya mchezo au zana ya modeli ya msanii mwingine, OBJ huhifadhi UV, normals na vikundi vyenye majina ambavyo STL hutupa, na umbo lake la maandishi hurahisisha kukagua matatizo.

3MF inastahili nafasi yake pale faili inapobeba zaidi ya jiometri. Uchapishaji wa rangi nyingi uliopakwa kwenye Bambu Studio, sahani ya sehemu kumi na mbili zilizopangwa kwa kazi moja, sehemu iliyoibuniwa kwa inchi, au mradi unaotaka kuufungua tena ukiwa na urefu wa tabaka na infill ile ile, vyote vinahitaji 3MF, kwa sababu hakuna muundo mwingine hapa unaoweza kushikilia taarifa hiyo. Kwa maeneo kadhaa ya kupeleka, weka toleo lenye taarifa nyingi zaidi kama nakala yako kuu na usafirishe rahisi kutoka kwake kwa kibadilishaji modeli za 3D badala ya kuunganisha ubadilishaji mwingi.

STL kwa uchapishaji wa kawaida

Sehemu moja, rangi moja, iliyosafirishwa kwa milimita. Hufunguka kwenye kila slicer, dirisha la kuingiza la CAD na fomu ya kupakia ya huduma ya uchapishaji.

OBJ kwa modeli zenye textures

UV, normals na vikundi vyenye majina kwa Blender, Maya, Unity au Unreal. Tuma faili ya .mtl na picha za texture pamoja nayo.

3MF kwa slicer za kisasa

Vipimo halisi, rangi, vitu kadhaa na mipangilio ya uchapishaji katika ZIP moja. Muundo asilia wa mradi wa PrusaSlicer na Bambu Studio.

Njia tano faili ya 3D huharibika

Uchapishaji mwingi ulioshindwa na uingizaji ulioharibika unaosingiziwa muundo kwa kweli ni matatizo ya mesh, au ya kile programu ya kupokea ilichodhania kuihusu. STL iko hatarini zaidi kwa sababu haina metadata ya kukamata makosa; OBJ ina matatizo ya kipimo na faili zinazokosekana; 3MF huyaepuka mengi kwa muundo wake, ingawa msafirishaji asiyejali bado anaweza kuandika mesh mbaya. Fungua safu zilizo hapa chini kuona kila tatizo linavyoonekana na linakotoka kwa kawaida.

Mesh isiyo manifold

Kingo zinazoshirikiwa na pembetatu moja au tatu au zaidi, mapengo kati ya nyuso, au kuta zenye unene sifuri. Slicer huonyesha tabaka zinazokosekana, mashimo ya nasibu au onyo kuhusu kingo wazi. Chanzo kiko kwenye modeli au usafirishaji, mara nyingi kutokana na kuunganisha sehemu zinazogusana tu.

Normals zilizogeuzwa

Baadhi ya pembetatu zinaelekea ndani. Renderers huonyesha madoa meusi au yanayoonekana kupitia, na slicers zinaweza kuchukulia eneo hilo kama nafasi tupu. Amri ya recalculate normals katika Blender, Meshmixer au zana ya kurekebisha ya slicer huitatua.

Kuchanganya milimita na inchi

Sehemu iliyochorwa kwa inchi hufika ndogo mara 25.4 kwenye slicer inayodhani milimita; sentimita zikisomwa kama milimita husababisha kosa la mara 10. STL na OBJ haziwezi kurekodi kipimo, kwa hivyo unakiweka wakati wa kusafirisha au kubadilisha.

Faili ya .mtl au textures zinazokosekana

OBJ inayopakia ikiwa kijivu au magenta imepoteza maktaba yake ya material au picha zake, au njia zilizo ndani ya .mtl zinaelekeza kwenye folda kwenye kompyuta ya msanii wa awali. Weka faili zote kwenye folda moja na ZIP pamoja.

Faili kubwa sana za ASCII STL

Skani yenye maelezo mengi iliyohifadhiwa kama ASCII STL inaweza kuzidi megabaiti mamia kadhaa, jambo linalopunguza kasi ya slicers na kugonga kikomo cha kupakia. Kusafirisha upya mesh ile ile kama STL ya binary huipunguza hadi karibu moja ya tano bila kubadilisha pembetatu hata moja.

Kila muundo huwa na ukubwa gani kwa kawaida

Ukubwa unatokana na muundo. STL ya binary ni baiti 50 kwa pembetatu, kwa hivyo unaweza kuukokotoa kabla ya kusafirisha. ASCII STL hurudia kila pembe kama maandishi na kwa kawaida huwa juu mara nne hadi sita ya binary. OBJ huhifadhi kila vertex inayoshirikiwa mara moja na kuirejelea kwa index, kwa hivyo kwa mesh iliyofungwa ya kawaida huwa ndogo kuliko ASCII STL na takriban katika kiwango cha binary STL, kubwa zaidi ikibeba pia UV na normals. 3MF huhifadhi XML yenye index kisha kuibana ndani ya ZIP, jambo ambalo kwa kawaida huifanya iwe ndogo zaidi kati ya tatu kwa jiometri ile ile.

Takwimu zilizo hapa chini ni za kawaida kwa mesh iliyofungwa ya takriban pembetatu 500,000, kama sanamu ndogo yenye maelezo. Faili halisi hutofautiana kulingana na usahihi wa viwianishi na msafirishaji, kwa hivyo zichukulie kama makadirio ya kiwango, yanayofaa huduma ya uchapishaji inapoweka kikomo cha kupakia au STL iliyosafirishwa kutoka 3MF inapotoka kubwa mara kadhaa.

STL ya binary (pembetatu 500,000 × baiti 50)
≈ MB 25
ASCII STL, mesh ile ile, kawaida
≈ MB 100–150
OBJ bila UV, kawaida
≈ MB 15–30
3MF baada ya ubanaji wa ZIP, kawaida
≈ MB 5–12

Kubadilisha kunarekebisha nini na nini hakitarekebisha kamwe

Ubadilishaji husoma pembetatu kutoka chombo kimoja na kuziandika kwenye kingine. Chochote ambacho muundo lengwa unaweza kueleza huja, kisichoweza kinaachwa. Ndiyo maana STL kuwa OBJ haipotezi kitu kwenye jiometri, 3MF kuwa STL hupoteza rangi, vipimo na mpangilio wa sahani, na OBJ kuwa STL hupoteza textures na majina ya sehemu. Katika zana za 3D za UltKit, maamuzi ya ziada ni wazi: Vipimo vya modeli huambia kibadilishaji chanzo kinatumia kipimo gani, Mhimili wa juu hushughulikia tofauti ya Y-up dhidi ya Z-up kati ya injini za michezo na slicers, na Unganisha kuwa mesh moja huamua kama sehemu tofauti zibaki tofauti.

Kitu ambacho hakuna ubadilishaji unaofanya ni kutengeneza mesh. Kama STL ina shimo, OBJ unayotengeneza kutoka kwake ina shimo lile lile, na msafirishaji wa 3MF ama ataikataa au kuiandika hivyo hivyo. Ukarabati ni hatua tofauti kwenye zana ya mesh au kirekebishaji kilichojengewa ndani ya slicer, na ni bora kuufanya mara moja, kwenye faili yako kuu, kabla ya kusafirisha chochote kingine. Vivyo hivyo kwa kipimo: ubadilishaji hauwezi kujua kwamba sehemu ilikusudiwa kuwa kwa inchi usipoueleza. Maelezo nayo ni hivyo: STL ya poligoni chache huwa OBJ au 3MF ya poligoni chache, kwa hivyo safirisha tena kutoka modeli chanzo ubora ukiwa muhimu.

Kile ambacho kubadilisha muundo hufanya

  • Huhamisha pembetatu zile zile kwenye chombo ambacho programu nyingine inakubali
  • Hutumia kipimo unachochagua chini ya Vipimo vya modeli, kurekebisha kosa la kipimo la mara 25.4 au 10
  • Huzungusha modeli kati ya Y-up na Z-up kwa Mhimili wa juu
  • Hupunguza ASCII STL kwa kuandika binary badala yake
  • Huweka au kuunganisha sehemu tofauti, kulingana na Unganisha kuwa mesh moja

Kile anachokiacha kama kilivyokuwa

  • Mashimo, kingo wazi na jiometri isiyo manifold
  • Normals zilizogeuzwa au zisizolingana
  • Sehemu zinazojikata zenyewe na kuta zenye unene sifuri
  • Maelezo yaliyopotea mesh ilipotolewa mara ya kwanza
  • Rangi na textures pale muundo lengwa hauna nafasi kwa ajili yake

Jedwali la uamuzi: STL, OBJ au 3MF

Miundo mingine miwili hujitokeza kila swali hili linapoulizwa. STEP (ISO 10303) huhifadhi vitu vigumu na nyuso halisi badala ya pembetatu, kwa hivyo ndio muundo wa kutumia sehemu inapohitaji kurudi kwenye Fusion 360, SolidWorks au FreeCAD kwa uhariri. GLB, umbo la binary la glTF 2.0 ya Khronos Group, hufunga mesh pamoja na materials na textures zake kwenye faili moja kwa mita na ndio muundo wa kuonyesha modeli kwenye wavuti au Android AR.

Kwa miundo mitatu ambayo makala hii inashughulikia, jedwali lililo hapa chini linafupisha uchaguzi kulingana na mahali inapokwenda. Kama safu mbili zinafaa, chagua muundo wenye taarifa zaidi na usafirishe rahisi baadaye; kutoka 3MF kwenda STL ni rahisi, wakati kujenga upya rangi au vipimo vilivyopotea ni kazi ya mikono.

Chagua kulingana na faili inakokwenda baadaye
HaliMuundo boraKwa nini
Sehemu ya rangi moja inayokwenda kwenye slicer yoyoteSTL (binary)Usaidizi wa kila mahali; slicer haihitaji kingine
Kupakia kwenye maktaba ya modeli au huduma ya uchapishajiSTL, pamoja na 3MF ikitolewaSTL hukubaliwa kila wakati; 3MF huhifadhi vipimo na rangi
Uchapishaji wa rangi nyingi au materials nyingi3MFMuundo pekee hapa unaohifadhi rangi na materials za kila sehemu kwa slicers
Sahani ya sehemu kadhaa yenye mipangilio ya uchapishaji3MFHuhifadhi uwekaji wa vitu na mipangilio ya slicer kwenye faili moja
Sehemu iliyoibuniwa kwa inchi3MFHutangaza kipimo, kwa hivyo hakuna kinachopimwa kwa 25.4
Modeli yenye textures kwa Blender, Unity au UnrealOBJ (+ .mtl na picha)Huhifadhi UV, normals na mgawanyo wa materials
Ukaguzi wa haraka kwenye kihariri cha maandishiOBJ au ASCII STLMaandishi wazi unayoweza kusoma mstari kwa mstari
Firmware au programu ya zamani inayoorodhesha STL pekeeSTLOndoa vitu vya ziada na utume mesh

Mambo muhimu

  • STL huhifadhi pembetatu tu: hakuna vipimo, hakuna rangi, na baiti 50 kwa pembetatu katika umbo lake la binary.
  • OBJ huongeza UV, normals na vikundi vyenye majina, lakini rangi na textures zake hutegemea faili tofauti ya .mtl na faili za picha.
  • 3MF ni ZIP ya XML inayorekodi vipimo, rangi, vitu kadhaa na mipangilio ya uchapishaji, na inahitaji mesh zilizofungwa.
  • Tumia STL kwa uchapishaji wa kawaida wa rangi moja, OBJ kwa modeli zenye textures katika mifumo ya sanaa na michezo, na 3MF kila wakati slicer yako inapoiunga mkono.
  • Kubadilisha hubadilisha chombo, si mesh: rekebisha mashimo na normals kwenye zana ya mesh, na weka kipimo mwenyewe.
ShirikiXFacebookWhatsAppTelegram

Maswali yanayoulizwa mara kwa mara

Je, STL inachukuliwa nafasi na 3MF?

Polepole, kwa kazi za uchapishaji. PrusaSlicer na Bambu Studio tayari huhifadhi miradi kama 3MF, lakini STL bado ni muundo ambao kila zana na maktaba ya modeli hukubali, kwa hiyo miundo hii miwili itaendelea kutumika pamoja kwa miaka mingi.

Je, STL ya binary inaweza kuhifadhi rangi?

Hapana, si kwa njia ya kawaida. Programu chache huandika rangi kwenye sehemu ya sifa ya baiti 2 ya kila pembetatu, lakini slicer nyingi huipuuza, kwa hiyo tumia 3MF au OBJ rangi zinapohitajika.

Kwa nini OBJ yangu inaonekana kijivu baada ya kuipakua?

Faili ya .mtl au picha za umbile zimeachwa nyuma, au njia zilizo ndani ya .mtl zinaelekeza kwenye folda ambazo hazipo kwenye kompyuta yako. Weka .obj, .mtl na picha kwenye folda moja kisha pakia modeli tena.

Je, STL ya ASCII au ya binary hutoa uchapishaji sahihi zaidi?

Hakuna kinachochapisha kwa usahihi zaidi kiuhalisia. Zote mbili zinaeleza pembetatu zile zile; binary huhifadhi viwianishi kama nambari za 32-bit float na ASCII kama maandishi, na faili za binary kwa kawaida huwa ndogo mara kadhaa.

Je, naweza kubadilisha OBJ kurudi kuwa STL kwa ajili ya kuchapisha?

Ndiyo. Pembetatu huhamishwa bila mabadiliko, lakini UV, nyenzo na umbile huondolewa kwa sababu STL haina mahali pa kuvihifadhi. Angalia kipimo baadaye, kwani faili za OBJ kutoka zana za uundaji mara nyingi huwa kwa mita au sentimita.

Nitumie muundo gani kushiriki modeli ili wengine waichapishe?

Toa STL kwa upatanifu mpana zaidi na, kama modeli ina sehemu kadhaa, rangi au iliundwa kwa inchi, ongeza 3MF pembeni yake ili watu wenye slicer ya kisasa wapate mpangilio kamili.

Endelea kusoma