Three.js: لوادر

تم إنشاؤها على ٢٨ أكتوبر ٢٠١٤  ·  66تعليقات  ·  مصدر: mrdoob/three.js

قائمة اللوادر التي سيكون من الجيد امتلاكها:

ثلاثي الأبعاد

Enhancement Loaders

التعليق الأكثر فائدة

فيما يتعلق بمحمل 3dm: لقد بدأت العمل على هذا الآن بعد أن تم تجميع مكتبة openNURBS وفقًا لـ wasm بفضل emscripten ( rhino3dm ).

أنا أعمل على هذا هنا ولدينا شبكة ، وأقواس ، وبثق ، وسحابات نقطية ، ومواد ، وطبقات ، ودعم مجموعات بدأت وتعمل.

image

ملفات متعلقة:

آمل أن أقدم عرضًا عامًا يحتوي على دعم لمزيد من أنواع الكائنات في وقت ما _ قريبًا_. يجب أن أعترف أنني لدي خبرة قليلة مع العاملين على الويب ، وأعتمد على أمثلة محمل دراكو وأساس . نأمل أن # 18234 يبسط هذا قليلاً.

ملاحظة نحن بالفعل نضيف دعم threejs مباشرة إلى مكتبة rhino3dm.js مثل هنا وهنا .

تحرير: تحديث الروابط للإشارة إلى McNeel org fork.

ال 66 كومينتر

قائمة واسعة جدا!
أقترح أيضًا أداة تحميل AMF (http://en.wikipedia.org/wiki/Additive_Manufacturing_File_Format).
(تنسيق ملف ثلاثي الأبعاد مستخدم للطباعة ثلاثية الأبعاد).
لدي بالفعل أساسيات أداة التحميل ، لذا يمكنني تعديلها قليلاً والإضافة إلى الأمثلة.

معظم أدوات التحميل هذه أكثر أهمية للحالات الخاصة مثل المحرر ، لأنه على سبيل المثال لنفترض أن الألعاب قد يكون من الأفضل التحويل إلى تنسيق three.js على الفور ، أليس كذلك؟ في هذه الحالات المحولات / المصدرون أكثر أهمية.

لقد اختبرنا glTF كبديل للتنسيقات الثلاثة كتحسين - هناك البيانات ثنائية ويمكن ضغطها بضغط geom.

Herst [email protected] kirjoitti 28 أكتوبر 2014 كيلو 5:38 مساءً:

معظم أدوات التحميل هذه أكثر أهمية للحالات الخاصة مثل المحرر ، لأنه على سبيل المثال لنفترض أن الألعاب قد يكون من الأفضل التحويل إلى تنسيق three.js على الفور ، أليس كذلك؟ في هذه الحالات المحولات / المصدرون أكثر أهمية.

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub.

@ kaosat-dev يضاف إلى القائمة!
@ هيرست نعم. إنها في الغالب للمحررين أو التطبيقات التي لا تتطلب أوقات تحميل سريعة.

أنا أبحث أيضًا عن محمل IGES. ربما سأبدأ في بناء واحدة بنفسي ولكني لست متأكدًا من أين أبدأ.

ماذا عن إضافة 3DM (المستخدمة من قبل Rhinoceros ) إلى القائمة؟

تمت إضافة nyaaao . شكرا!

حول محمل 3DS:

مرحبًا بالجميع ، منذ وقت طويل ، كنت بحاجة إلى إنشاء مُحمل 3DS لمحرك 3DzzD Web 3D ، وكان ذلك صعبًا بعض الشيء ... ليس من الصعب الحصول على بعض النتائج الأولية ، بل التعامل مع جميع الأجزاء بشكل صحيح ، ولكن بعد عدة مرات تمكنت من إنتاج محمل فعال للغاية. يصعب العثور على مواصفات تنسيق ملف 3DS ، لكني انتهيت من العثور على ملف يعمل بشكل جيد. لقد صممت أداة تحميل لـ 3DzzD باستخدام هذه الوثائق وهي تعمل بشكل أفضل من تلك الموجودة في Photoshop الحالي (التعامل بشكل أفضل مع المجموعات المحورية / السلسة / المقياس / الإطار الرئيسي / إلخ ...) ، لذلك ها هي المواصفات التي استخدمتها (كود مصدر 3DzzD مفتوح المصدر وقد يساعد لكن الكود قبيح حقًا ... مشروع عمره عشر سنوات ...)

http://dzzd.net/3DSChunkDefinitions.html

حول محمل OBJ:

لقد قمت بتعديل أداة تحميل OBJ الحالية وحصلت على ما لا يقل عن 10/15 إطارًا في الثانية على الكثير من الطرز ثلاثية الأبعاد ، لكن في الوقت الحالي لم أجد كيف يجب أن أفعل لنشر هذه التغييرات؟

ترجع المشكلة بشكل أساسي إلى حقيقة أن مُحمل OBJ الحالي ينشئ عددًا كبيرًا جدًا من الكائنات (أكثر من النموذج ثلاثي الأبعاد الأصلي ، ويتم إنشاء كائن واحد عند كل تغيير مادي) وأيضًا لم يتم تجميع واجهات ثلاثية الأبعاد مع نفس المادة معًا حتى داخل نفس الكائن ، وكان ينتج عددًا كبيرًا جدًا من مكالمات WebGL

http://dzzd.net/3DSChunkDefinitions.html

شكرا! أضيفت إلى أول وظيفة.

ترجع المشكلة بشكل أساسي إلى حقيقة أن مُحمل OBJ الحالي ينشئ عددًا كبيرًا جدًا من الكائنات (أكثر من النموذج ثلاثي الأبعاد الأصلي ، ويتم إنشاء كائن واحد عند كل تغيير مادي) وأيضًا لم يتم تجميع واجهات ثلاثية الأبعاد مع نفس المادة معًا حتى داخل نفس الكائن ، وكان ينتج عددًا كبيرًا جدًا من مكالمات WebGL

أوه! مثير للاهتمام. أنت تقصد OBJMTLLoader واحد بالرغم من ذلك. حق؟

أوه! مثير للاهتمام. أنت تقصد OBJMTLLoader بالرغم من ذلك. حق؟

نعم ، لكي نكون أكثر دقة ، فإن كتلة "if (/ ^ usemtl /.test (line))" تنشئ كائنًا / شبكة جديدة لكل تبديل مادة ، وينتهي هذا بأداء ضعيف وتسلسل هرمي خاطئ للكائنات.

سأقوم بنشر حالة اختبار بسيطة توضح الفرق بين كل من اللودر الحالي والمحمل المعدل (الفرق ملحوظ بشكل أساسي على الجهاز المحمول)

فيما يلي حالة الاختبار الخاصة باللودر الحالي والآخر المحسَّن:

http://demo.dzzd.fr/threejs/OBJMTLLoaderTest/

تعديل:
لقد حصلت على 10 إطارات في الثانية على GalaxyTab3 مع اللودر الحالي وأكثر من 60 إطارًا في الثانية مع اللودر الجديد ، قد يكون من الصعب رؤية الفرق على الأجهزة السريعة

ملاحظة: إذا كنت تتساءل من أين يأتي النموذج ثلاثي الأبعاد :)

هل يعرف أي شخص عن IGES. يمكنني حقًا استخدام محمل IGES. إذا كان شخص ما يمكن أن يوجهني في اتجاه للبدء في كيفية بناء واحد؟ أو إذا كان هناك واحد هناك في مكان ما. لقد لاحظت الأشخاص على http://www.3dfile.io/ وبعض مواقع التصور ثلاثية الأبعاد الأخرى تستخدم ThreeJS وتسمح بتحميل IGES.

يحتوي K3D.js (ترخيص MIT) على محلل لـ OBJ و 3DS و MD2 و Collada. http://k3d.ivank.net. انظر # 3843.

ماذا عن NIfTI للطبيب؟

jugl هل لديك أي معلومات حول التنسيق؟

آمل حقًا في طرازات .m2 ، في مجتمع ضخم حولها. سأقدم مساعدتي في ملفات النموذج وما إلى ذلك. يمكنك الاتصال بي بشأن هذه الحالة على سكايب: deexone. كتلميح من أحد مطوري lib يمكن استخدام http://bridge.net/ لتحويل lib الخاص به إلى js.

مرحبًا ، لدي محمل BVH يوزع من خلال ملف BVH ويخرج مقطعًا ثلاثي الأبعاد ومقطع Animation لسهولة الاستخدام مع Mixer:
https://github.com/herzig/BVHImporter
ومثال العمل: http://herzig.github.io/BVHImporter/
تم اختباره بشكل أساسي على ملفات CMU BVH وبعض الملفات الأخرى.

هل هناك أي إرشادات حول الشكل الذي يجب أن تبدو عليه واجهة API الخاصة باللودر؟

herzig الحلو! سيكون BVHLoader رائعًا! تحتوي اللوادر بشكل أساسي على .load() و .parse() . يمكنك استخدام MD2Loader كمرجع ، ولكن سأكون سعيدًا بتنظيف الكود الخاص بك إذا قمت بإجراء علاقات عامة مع ما لديك الآن (مثال + نموذج للرسوم المتحركة سيكون موضع تقدير كبير أيضًا).

أهلا،
فقط لمزامنة هذه القائمة مع أداة تحميل الملفات في الريبو ...

3MFLoader مفقود في القائمة ولكنه تم تنفيذه بالفعل.
BinaryLoader مفقود في القائمة ولكن تم تنفيذه بالفعل.
DDSLoader مفقود في القائمة ولكن تم تنفيذه بالفعل.
لم يتم تحديد FBXLoader ولكن تم تنفيذه بالفعل.
HDRCubeTextureLoader مفقود في القائمة ولكنه تم تنفيذه بالفعل.
MD2Loader غير محدد ولكنه تم تنفيذه بالفعل.
لم يتم تحديد NRRDLoader ولكن تم تنفيذه بالفعل.
PCDLLoader مفقود في القائمة ولكنه تم تنفيذه بالفعل.
برنامج PlayCanvasLoader مفقود في القائمة ولكنه تم تنفيذه بالفعل.
برنامج RGBLLoader مفقود في القائمة ولكنه تم تنفيذه بالفعل.
لم يتم تحديد SVGLoader ولكن تم تنفيذه بالفعل.
TGALoader مفقود في القائمة ولكنه تم تنفيذه بالفعل.
TTFLoader مفقود في القائمة ولكنه تم تنفيذه بالفعل.

التالي:

يجب إضافة ASCLoader إلى القائمة ، وسيتم إرسال PR في غضون أيام قليلة.
يجب إضافة LASLoader إلى القائمة ، وسيتم إرسال PR في غضون أيام قليلة.
يجب إضافة XYZLoader إلى القائمة ، وسيتم إرسال PR في غضون أيام قليلة.

مع أطيب التحيات،
تريستان

فقط لمزامنة هذه القائمة مع أداة تحميل الملفات في الريبو ...

محدث!

قد يكون OpenCTM إضافة جيدة ، نظرًا لأن Autodesk يستخدمها لملفات
الخدمات السحابية
https://en.m.wikipedia.org/wiki/OpenCTM

يوم الأحد ، 13 نوفمبر 2016 الساعة 6:33 صباحًا ، كتب السيد doob [email protected] :

فقط لمزامنة هذه القائمة مع أداة تحميل الملفات في الريبو ...

محدث!

-
أنت تتلقى هذا لأنك مشترك في هذا الموضوع.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/mrdoob/three.js/issues/5524#issuecomment -260168120 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AAkmxkkOn179ZJvqc8yScOoxnaDGzuH6ks5q9qE6gaJpZM4CzpFw
.

dlabz لدينا بالفعل CTMLoader .

أنا أعمل مع بعض مطوري iOS في مساحة AR ، فهل هناك محمل لملفات SCN الثنائية التي تستخدمها Apple في ARKit؟ أنا أعمل على الاستفادة من BinaryLoader وسنرى ما إذا كان بإمكاني الحصول على هذا العمل.

هل توجد مواصفات في مكان ما لهذا التنسيق SCN ؟

@ mrdoob آسف لقد تأخرت جدا. NIfTI هو تنسيق بيانات NMR يتم نقله من DICOM. الحل الحالي هو الحصول على شكل ثلاثي الأبعاد منه بتنسيق VTK / OBJ.

أرى. هل هناك مواصفات في مكان ما؟

ماذا عن محمل IFC. هذا التنسيق شائع جدًا في البناء لنموذج ثلاثي الأبعاد

@ mrdoob شكرا جزيلا لك.

mrdoob ما هي المبادئ التوجيهية + متطلبات المعرفة لبناء محمل Three.js؟
أريد أن أبني واحدة ، لكنها تريد التأكد من جعلها بالطريقة الصحيحة. شكرا

Aarbel ما هو الشكل الذي تريد بناء محمل له؟

looeee ملفات .ifc

سيبدو الهيكل الأساسي للودر كما يلي:

import {
    FileLoader,
    Loader,
    LoaderUtils
} from '../../../build/three.module.js';

function IFCLoader( manager ) {

    Loader.call( this, manager );

}

IFCLoader.prototype = Object.assign( Object.create( Loader.prototype ), {

    constructor: IFCLoader,

    load: function ( url, onLoad, onProgress, onError ) {

        var scope = this;

        var path = ( this.path !== undefined ) ? this.path : LoaderUtils.extractUrlBase( url );

        var loader = new FileLoader( scope.manager );

        loader.load( url, function ( text ) {

            try {

                scope.parse( text, path, onLoad, onError );

            } catch ( e ) {

                if ( onError !== undefined ) {

                    onError( e );

                } else {

                    throw e;

                }

            }

        }, onProgress, onError );

    },

    parse: function ( text, path, onLoad, onError ) {

        // parsing logic goes here

    }

} );

شكرا ، ستعمل عليها الشهر المقبل

حظا طيبا وفقك الله! 😊

هل يجب أن يكون crossOrigin الافتراضي هو Anonymous ؟

لقد أعدت استخدام النمط من GLTFLoader و ColladaLoader .

أود أن أرى محمل LWO.
تم توثيق مواصفات الملف جيدًا هنا: http://static.lightwave3d.com/sdk/2018/html/filefmts/lwo3.html

غالبًا ما أرى حجم ملف LWO يقارب 1/10 من OBJ ، ويمكن أن يحتوي التنسيق على بيانات التحويل وعدد من الميزات الأخرى التي لن يسمح بها OBJ. كما أن العديد من النماذج التي تتيحها وكالة ناسا متوفرة فقط بتنسيق LWO https://nasa3d.arc.nasa.gov/search/lwo/model

إذا كنت أعرف ما كنت أفعله ، فسأحاول الحصول على هذا التدحرج ، لكن كتابة محمل يتجاوز أي شيء قمت به من قبل.

FWIW يوجد محلل LWO هنا: https://github.com/marcbizal/lwo-parser ... من المفترض أن تكون هذه بداية جيدة لمحمل أو محول ، ولكن للأسف لا يبدو أنه يدعم الإصدار المعين من تنسيق LWO الذي تستخدمه وكالة ناسا. تتوقع LWOB (ثنائي؟) لكن سلسلة الإصدار السحري على نموذج NASA الذي جربته كانت LWO2. إذا وجدت محللًا عمليًا مكتوبًا بلغة أخرى غير JS ، فقد يكون من الأسهل كتابة محول إلى شيء يدعمه three.js ، بدلاً من محاولة كتابة محلل جديد في JS.

مرحبًا ، تغير الجدول الزمني الخاص بي كثيرًا ، لذا لم يكن هناك وقت للعمل على محمل .ifc لمدة three.js. قد يكون من الرائع جلب جهة اتصال هذا الرجل: https://github.com/mrdoob/three.js/issues/9764

أنا آسف لأنني لم أدرك

كنت أصنع محمل "LWO 2". ومع ذلك ، اعتقدت أنه لا يوجد طلب ولم أكمله.

http://adrs2002.com/sandbox/lwoLoader/lwoTest.html
https://github.com/adrs2002/threeLwoLoader

آمل أن يكون مفيدًا لشيء ما.

مرحبا جميعا،

رأيت أن M2 في القائمة.

هذا مثير للاهتمام بالنسبة لي لأنني أرغب في إدراك شخصية وكائن و NPC وعارض عناصر مع Three.

فيما يتعلق بـ M2 ، يعد BLP2 (ملف صورة Blizzard) مرادفًا لـ DDS S3 Texture Compression المستخدم.

لقد وجدت حتى الآن:

.m2 = https://github.com/vjeux/jsWoWModelViewer

.blp

أنا نفسي أحاول إضافته ، لكنني ما زلت قليل الخبرة مع الكل: د

@ adrs2002 سيكون A LWOLoader رائعًا! هل ترغب في إجراء العلاقات العامة بما لديك؟

أنا نفسي أحاول إضافته ، لكنني ما زلت قليل الخبرة مع الكل: د

خذ وقتك 👌

سيكون LWOLoader رائعًا!

لقد كتبت محمل LWO3 منذ شهرين ، أعمل في onthez.com.
اتفقنا على فترة حصرية ثم سنساهم بها هنا. نأمل في وقت ما في نهاية شهر فبراير.

أعتقد أن @ jds580s هو Justin from on the z ، وربما يمكنه تقديم فكرة أفضل عن متى يمكننا إضافته هنا.

تضمين التغريدة
أعتقد أن الالتزام LWO2 loader غير ضروري إذا تم الالتزام بـ looeee's LWO3 loader .
يرجع سبب تنسيق LWO3 إلى احتوائه على كل النجاحات لتنسيق LWO2.

لقد هبطت LWOLoader! 😁

16011

أي تحديث على محمل IFC؟ سيكون لطيفا لمناظر البناء!

لقد حاولت IFCLoader وكيف أقول ... هذا مستحيل! الكود الكامل المطلوب للتمكن من تحليل تنسيق IFC بشكل صحيح هو حوالي 650 ملف فئة. (أعلم ذلك لأنني فعلته). سيكون اللودر أكبر بخمس مرات من مكتبة Threejs.

حول المواصفات إذا كنت تريد تنفيذ المواصفات الخاصة بك: http://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/

يمكنني تحرير الكود الخاص بي ، وسيكون بعض المساعدة بشأنه رائعًا. لكن لا تأمل في رؤية هذا المحمل في ThreeJs قبل فترة ...

يمكنني تحرير الكود الخاص بي ، وسيكون بعض المساعدة بشأنه رائعًا. لكن لا تأمل في رؤية هذا المحمل في ThreeJs قبل فترة ...

ولم لا؟

راجع للشغل: لقد تحدثت مؤخرًا مع زميل وأخبرني أن مؤسسة التمويل الدولية تعتمد على تنسيق STEP المعروف جيدًا في مجتمع CAD. بشكل عام ، من الصعب تحليل STEP وستحتاج إلى كتابة محلل مخصص مشابه لـ VRMLLoader . ومع ذلك ، يمكن أيضًا التعبير عن ملفات IFC في XML (لها الامتداد .ifcxml ). سيكون من الأسهل التعامل مع هذه الملفات (راجع 3MFLoader أو ColladaLoader ) حتى يتمكن المُحمل من التركيز على بناء بيانات الهندسة الفعلية. ربما يكون من الأسهل إنشاء مُحمل يدعم .ifcxml فقط في البداية؟

mrdoob ، @ Mugen87

ولم لا؟

لأن

سيكون اللودر أكبر بخمس مرات من مكتبة Threejs.

وأستخدم Class مع أحدث ميزات جافا سكريبت.

تعتمد مؤسسة التمويل الدولية على تنسيق STEP المعروف جيدًا في مجتمع CAD.

نعم ، في يوم من الأيام سأريك ما أفعله مع Threejs ؛)

يمكن أيضًا التعبير عن ملفات IFC بتنسيق XML (لها امتداد .ifcxml).
...
ربما يكون من الأسهل إنشاء مُحمل يدعم فقط .ifcxml في البداية؟

من الواضح أن الإعراب ليس مشكلة كبيرة. لكن جيل الهندسة! لأن تنسيق ifc لا يحتوي على أي أشكال هندسية. لكن استخدم الاستيفاء / التفاعل بين الكائنات لتحديد الهندسة النهائية.

على أي حال ، إذا كنت ترغب في ذلك ، فربما يجب عليك إنشاء فرع محدد لذلك قبل اتخاذ أي قرار. فقط لرؤية الشيء الكبير.

سيكون اللودر أكبر بخمس مرات من مكتبة Threejs.

حسنًا ، نعم ، إذا لم يكن المحمل مضغوطًا مثل الآخرين ، فمن الأفضل وضع الكود في مستودع منفصل.

Itee هل هناك أي خطة لإصدار IFCLOADER في أي وقت قريبًا؟
سيكون مهتمًا برؤية الشيء الكبير

لست على علم بأي شخص يرغب في المساهمة فيه والمحافظة عليه ...

أنا أستخدم محول IFC الخاص بـ IfcOpenShell لحسن الحظ ، فهو يجعل geom والمواد لطيفة ، ويمكن أن نفعل Collada DAE (التي نستخدمها للاستيراد إلى Unity) ، و IIRC OBJ وكان هناك glTF في الوقت الحاضر أيضًا

أنا أستخدم محول IFC الخاص بـ IfcOpenShell لحسن الحظ ، فهو يجعل geom والمواد لطيفة ، ويمكن أن نفعل Collada DAE (التي نستخدمها للاستيراد إلى Unity) ، و IIRC OBJ وكان هناك glTF في الوقت الحاضر أيضًا

ولكن هل تستخدم أيًا من بيانات مؤسسة التمويل الدولية مثل Buildingstorey أو Site وما إلى ذلك؟
ليس هناك شك في أن الويب سيكون أفضل حالًا في القدرة على تحليل مؤسسة التمويل الدولية وليس هذا الشيء الغريب الذي يتعامل معه خادم العميل.

لقد أعطيت هذه فرصة مؤخرًا. لقد تمكنت من إنشاء بعض الهندسة
image

لكن يجب أن يكون هذا في الواقع:
image

الشيء الأساسي الذي حدث بشكل خاطئ هو الوضع الفعلي والدوران هنا والرياضيات ثلاثية الأبعاد الخاصة بي بجوار غير موجودة (أنا ببساطة لا أملك الصبر).

على الرغم من وجود العديد من الفئات في مخطط مؤسسة التمويل الدولية. يمكن تقليل حجم الملف النهائي باستخدام واجهات Typescript واستخدام الدوال للبحث عن وسيطات كل "STEP" في الملف وتطبيقها.

الخط السفلي ، لمحمل IFC ؛ لا أعرف ما إذا كان لدينا عبقرية في الرياضيات ثلاثية الأبعاد ، لأن ذلك سيحل الكثير من المشاكل في تحليل العلاقات الرياضية أثناء بناء الهندسة.

ولكن هل تستخدم أيًا من بيانات مؤسسة التمويل الدولية مثل Buildingstorey أو Site وما إلى ذلك؟

نعم ، عبر خدمة التحويل الخاصة بـ Tridify ، والتي تستخدم IfcOpenShell أيضًا (لقد استخدمتها أيضًا محليًا) لـ geom. أعتقد أن هذه البيانات الوصفية هي ما يسهل تحليله.

جيل الهندسة هو في الواقع غير بديهي. إذا كنت تريد القيام بذلك في المتصفح ، فربما يمكنك ترجمة IfcOpenShell إلى WebAssembly واستخدامه كمكتبة من Javascript. إنه C ++ عادي بدون واجهة مستخدم رسومية أو أي شيء ، مجرد مكتبة بها واجهة سطر أوامر بشكل منفصل ، لذلك قد يكون من السهل إنشاء الويب أيضًا. يعد تحليل IFCs ثقيلًا نوعًا ما ، لذا قد يكون الحصول على أداء WASM وبصمة ذاكرة منخفضة أمرًا رائعًا. ويقوم lib بعمل جميل في إنشاء geom.

MaartenBreeedveld يمكنني المساعدة في الرياضيات ، بالنسبة للأساس النظري ليس لدي أدنى شك ولدي بعض الخبرة مع شركة IFC ، في الواقع يمكن أن يكون هناك العديد من التحولات في السلسلة المطلوبة للإحداثيات العالمية. من أجل التنفيذ في three.js ربما يكون من الممكن تحسينه.

ولكن هل تستخدم أيًا من بيانات مؤسسة التمويل الدولية مثل Buildingstorey أو Site وما إلى ذلك؟

نعم ، عبر خدمة التحويل الخاصة بـ Tridify ، والتي تستخدم IfcOpenShell أيضًا (لقد استخدمتها أيضًا محليًا) لـ geom. أعتقد أن هذه البيانات الوصفية هي ما يسهل تحليله.

جيل الهندسة هو في الواقع غير بديهي. إذا كنت تريد القيام بذلك في المتصفح ، فربما يمكنك ترجمة IfcOpenShell إلى WebAssembly واستخدامه كمكتبة من Javascript. إنه C ++ عادي بدون واجهة مستخدم رسومية أو أي شيء ، مجرد مكتبة بها واجهة سطر أوامر بشكل منفصل ، لذلك قد يكون من السهل إنشاء الويب أيضًا. يعد تحليل IFCs ثقيلًا نوعًا ما ، لذا قد يكون الحصول على أداء WASM وبصمة ذاكرة منخفضة أمرًا رائعًا. ويقوم lib بعمل جميل في إنشاء geom.

لقد جربنا هذا في الماضي. لكن الإصدار المترجم من WASM هو تنزيل 40 ميجا بايت أعتقد أن هذا يرجع إلى جميع المكتبات المشار إليها في ifcConvert.

تضمين التغريدة حاليًا ، ليس لدي وقت للعمل في هذا المشروع. ولكن إذا كان الأمر على ما يرام ، فسأعود إليك.

مدهش! حاليًا ، ليس لدي وقت للعمل في هذا المشروع. ولكن إذا كان الأمر على ما يرام ، فسأعود إليك.

هههههههههههههههههههه

تمت إضافة VDBLoader إلى القائمة. https://www.openvdb.org/

أي فكرة عن IFCLOADER؟ تضمين التغريدة

لا

فيما يتعلق بمحمل 3dm: لقد بدأت العمل على هذا الآن بعد أن تم تجميع مكتبة openNURBS وفقًا لـ wasm بفضل emscripten ( rhino3dm ).

أنا أعمل على هذا هنا ولدينا شبكة ، وأقواس ، وبثق ، وسحابات نقطية ، ومواد ، وطبقات ، ودعم مجموعات بدأت وتعمل.

image

ملفات متعلقة:

آمل أن أقدم عرضًا عامًا يحتوي على دعم لمزيد من أنواع الكائنات في وقت ما _ قريبًا_. يجب أن أعترف أنني لدي خبرة قليلة مع العاملين على الويب ، وأعتمد على أمثلة محمل دراكو وأساس . نأمل أن # 18234 يبسط هذا قليلاً.

ملاحظة نحن بالفعل نضيف دعم threejs مباشرة إلى مكتبة rhino3dm.js مثل هنا وهنا .

تحرير: تحديث الروابط للإشارة إلى McNeel org fork.

يمكننا التحقق من هذا مرة واحدة ؛)
image

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات