Open theo-armour opened 8 years ago
Hi Theo,
Good shout moving this conversation to here.
Yes, DXF is widely used - but mostly just as a translation format to help designs go from one app to another - from Sketch to Blender - or whatever.
I don't think anybody actually 'works' in DF. ;-)
So at Opendesk we export all our 2D drawings in DXF, this is because this is the most portable format. While we might work in .dwg or 3D formats, communicating in DXF is, we've found the easiest way to transfer information in our CNC based world. Given all modelling programs can export in dxf and it's text based readability, it makes it a good candidate to base any work on here from.
Of course it would be great to work straight from proprietary models, but this is a much bigger kettle of fish. The best flow we can hope for at the moment is I think;
proprietary format >> DXF >> three.js JSON.
@harrykeen18
Dang! I thought I had sent you a long reply to your latest message, but now I can't find it. ;-(
I guess, I never pushed the send button. But if you did happen to get an update to this message, please send me a link to it.
Some thoughts:
The DXF standard has a number of revisions. For example, here are links to three.Opendesk DXF files and they are each based on different revisions of the standard
rev 10.09 https://github.com/opendesk/design-playground/blob/gh-pages/OD-51380-Desk-1.1.0/Desk.Cutting-Files-Sheet-1.dxf rev10.18 https://github.com/opendesk/design-playground/blob/gh-pages/OD-51380-Desk-1.1.0/Desk.Cutting-Files-Sheet-1.dxf rev 10.15 https://github.com/opendesk/design-playground/blob/gh-pages/OD-51937-Standing-Desk-1.1.0/Standing-Desk.Cutting-Files-Sheet-3.dxf
I think it would be a good thing to decide on a subset of the standards and support just those - at least until you have a good user base.
If the goal is to go to Three.js JSON format, then you can choose to ignore masses of issues.
Forget paper spaces, xrefs, anything to do with text or dimensions.
Arcs, circles, line and polylines all 2D - and that's it - may be good enough to get going.
A good thing to do would be to assemble a good number of drawings - at least a dozen or more - in each revision you want to support. And then build routines that run through all the drawings and produces results - results that you can judge by looking at them.
Also, an interesting project to tackle might be to try and convert these DXF files to 3D
http://www.flexiblestream.org/project/50-digital-wood-joints
proprietary format >> DXF >> three.js JSON.
I understand
But I want to go from box in some app with length, width and height to box in Three.js with length, width and height.
Receiving eight vertices and six faces is not the same. And going from center and radius of sphere to 50 * 25 = 1250 faces and ??? vertices is not the future.
But not to worry. The main thing is thinking in 3D and getting stuff going out there. ;-)
@harrykeen18
Hi Harry
I am replying to your email as a GitHub issue, so that more people can follow the discussion.
All good thoughts.
Yes, DXF is widely used - but mostly just as a translation format to help designs go from one app to another - from Sketch to Blender - or whatever.
I don't think anybody actually 'works' in DF. ;-)
Let's talk about what tools people are using to design. So, for example, if peeps are using SketchUp then can we make an app that gets designs out from SketchUp and into Three.js? Or ate you an Inventor user?
And, could we do this in real time even?
So my first question is: what app or apps are you desirous of getting data out from - at least from the get go?
Some designers will and some won't. But what we are talking about here is helping a good design morph into thousands of designs. Not easy to do with a pencil. ;-)
Now for some thoughts:
WebGL and Three.js are very different things, WebGL is very low level code library and has not idea about file formats.
The Three,js JSON was invented by Mr.doob. See https://github.com/mrdoob/three.js/wiki
So I find the title 'DXF to webgl translator' cold improved to, for example, 'DXF to Three.js JSON 4' for example
It's nice to see what things look like. So everything I do is in the gh-pages branch is available to the world every time I do a push to GitHub.
This is a very nice file, so make it easy for visitors to see. No need to hide things under rocks.
Speaking of hiding things, I'm wondering why you did not start building this on https://github.com/opendesk ?
It would be a lot more visible and you might get a lot more collaborators
And using issues on GitHub is way better than email by itself
I have a ton more thoughts but enough for now,
BTW, do you have any interest in shade and shadows?
Theo