Andy Zhuang Posted May 3, 2017 Share Posted May 3, 2017 We are planning to start a new project to create a CAD product, which like A360. But we mainly focus on 2D drawings at first step. The product would display many line segments, circles/arcs and bezier curves. Also have many interactions to manipulate these geometries, for example, edit(move the end points), drag, select, highlight. We also have shape object to group some primitive geomtries and manipulations on the shapes. And we can display the shape with many instances. The different instance have different transform, different color / line width. And hope this can be accelerated through sharing the same geometry buffers(maybe other terms). Other functions: display image or pdf (use pdf.js) as the background, can import dxf/dwg. I did some investigation in Babylon.js and Three.js. And I am hesitating which I should adopt as our product's graphics engine. The below is my some conclusions base on my google searching. Three.js is designed targeting on general purpose. And as I know, A360 adopt Three.js as the graphics engine. It seems that Three.js is more appropriate for CAD-like product. But some people said that Three.js has more bugs and bad GC (garbage collection). Bablylon.js use TypeScript (This attract me, because our team also select it as the main language), and has strong GC, and maybe higher performance. However, Babylon.js is designed targeting game engine. I am not sure it is fit for our CAD-like product. Can anyone can point pros and cons of Babylon.js and Three.js for CAD-like prodcuts more detailed. Thanks very much. Quote Link to comment Share on other sites More sharing options...
Temechon Posted May 3, 2017 Share Posted May 3, 2017 Hi, I'm using Babylon.js everyday professionnally for CAD-like products and communication applications. I can say there is absolutely no problem using the engine for this kind of apps. However, you cannot today import/export dwg/dxf (you have to go through Blender/3DSMax, or implement the importer yourself). For your 2D manipulations, you could use canvas2D (which is a 2D engine created to manipulate 2D shapes/sprites with a high performance). I don't think there is an equivalent with Three.js. Two more reason you didn't thought about: 1. you will develop much faster with Babylon.js, as several useful methods/classes are embedded directly in the engine. 2. The community is VERY reactive, and the core dev team is really dedicated to fix every bug you can find. Feel free to ask if you have any questions NasimiAsl, GameMonetize and jerome 3 Quote Link to comment Share on other sites More sharing options...
Andy Zhuang Posted May 3, 2017 Author Share Posted May 3, 2017 16 hours ago, Temechon said: I'm using Babylon.js everyday professionnally for CAD-like products and communication applications. I can say there is absolutely no problem using the engine for this kind of apps. However, you cannot today import/export dwg/dxf (you have to go through Blender/3DSMax, or implement the importer yourself). @Temechon Very appreciate your replay base on your own experience. Have your CAD-like product been online? Can you give the name or URL if I can take a look? About the dwg/dxf importer, we have other solutions. Maybe convert them to pdf/svg at the backend. 16 hours ago, Temechon said: For your 2D manipulations, you could use canvas2D (which is a 2D engine created to manipulate 2D shapes/sprites with a high performance). I don't think there is an equivalent with Three.js. Oh, that's great feature! This can save much time for me. I believe this would be higher performance than processing 2D object in 3D space. The feature may be the determining factor for our team to adopt Babylon.js. Quote Link to comment Share on other sites More sharing options...
ozRocker Posted May 3, 2017 Share Posted May 3, 2017 I use both because a lot of companies use three.js, but its very sloppy. A lot of webgl errors, warnings, deprecated functions. At lot of loose ends that need tidying up GameMonetize 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.