
GitHub announces 3D File Diffs - adefa
https://github.com/blog/1633-3d-file-diffs
======
suhailpatel
Not sure why but from just reading the title I was expecting a new way to view
diffs of normal files in some funky 3D mode

~~~
furyofantares
As much as I don't like meta comments I'm going to have to make one finally,
because I think about it every day and just need to get it out there to at
least relieve the pressure in my head.

Why is the top voted comment so often about the title of the story? I guess
it's because it's the first thing we interact with and it frames our
expectations, but man alive, the title is probably the least interesting thing
about _any_ article posted to HN but consistently I see top rated comments
talking about the title. Maybe it's just lowest-common-denominator.

And it's not that I think the comments themselves are bad, it's just weird to
me that I consistently see them at the top of the page.

Apologies for the meta rant, it won't happen again, at least from me. (In fact
the reason we have a lot of meta comments might be the same as the reason we
have a lot of title-comments making me a bit hypocritical, but I digress.)

~~~
hardwaresofton
I think it's because people upvote most often when they share a particular
opinion -- and your first opinion is mostly about the title of the article.

For example. I saw the title, clicked through (also opened comments), gave the
page a once-over (didn't even read) -- came back here, and saw that first
post. I also agree with the guy said, I thought they came up with some amazing
new way to view regular diffs in 3D. So, I would have upvoted. Maybe it's just
me, but I'm guessing far more people do that

------
sam
This is a small step into a big open field. Collaboration in the hardware
design space is moving slowly. It's not even at the SVN/CVS level now.

Has an architect ever forked an open source building? Has an biomedical
engineer ever forked a open source prosthetic hip implant? Has a civil
engineer forked an open source bridge? They will.

~~~
jotux
Solidworks has had a svn-like system built into it for the last few years:
[http://www.solidworks.com/sw/products/product-data-
managemen...](http://www.solidworks.com/sw/products/product-data-
management/revision-and-version-control.htm)

~~~
sam
Yeah, but it's probably expensive. The pricing isn't even public:
[http://www.solidworks.com/sw/purchase/quote.htm](http://www.solidworks.com/sw/purchase/quote.htm)

~~~
samwillis
We have just got SolidWorks PDM at work and I am in the process of setting it
up. I know a little about it.

There is two different solidworks PDM products, workgroup and enterprise. We
went with workgroup which is cheaper and probably better for smaller teams.
Workgroup is about £1000 + £200pa per seat and no cost for the server.
Enterprise from memory was about 50% more per seat and you have to a few grand
for the server, plus pay someone to 'configure' it for you.

PDM workgroup is actually pretty similar to SVN, you check files out, work on
them and check them back in again. Except it understands relationships between
files and their meta data so you can check out an assembly in its 'as built'
state and it will checkout the correct old version of the parts.

Enterprise goes much further and creates work flows for you company. Documents
go through different stage gates with different people being able to make
changes and approve them. It is very much design for large teams with
rigourous QA. It also appears as a network drive with some nice shell
extensions on Windows.

Suprisingly neither of them have a Diff built in, although solidworks does
itself have that sort of tool.

As a market it is definitely ripe for disrupting, although to succeed there
would need to be tight integration with the software packages (solidworks,
creo, inventor etc)

I anyone on here is looking to do something in this area I would love to hear
from you.

~~~
triggercut
I hear you.

But as we all know it's been a ripe area for disruption since the 1970's. :)

At the moment it's less to do with software as it is to do with the way we
share the resultant information, of which there are emerging international
standards. MCAD is not my speciality but I don't think I've seen a standard
for handling parametrics. Unfortunately closed standards are hard enough to
get governments and industry to adopt let along open ones.

If you want a solid object modeller with parametrics that's open source and
you can compile yourself, check out BRL-CAD.

------
kmfrk
I would unironically love a GitHub developer's conference where they get to do
a keynote presenting all the awesome features they churn out at record pace.

I feel more people who aren't unrepentant nerds should get to see what these
guys (and gals) are doing.

\---

 _EDIT:_ They could just do something simple at a local, informal event (say a
bar) with a few dozens of people. it doesn't have to be something huge.

It'd also be a great way for everyone at GitHub to get some training in making
and delivering presentations, and it's great to have on your resumé.

I'd definitely want to try something like that out as a CEO, and I imagine
it'd make it even more fun to work at a playful place like GitHub.

~~~
steveklabnik
They did a conference a long time ago: CodeConf. It was a blast.

------
jotux
A neat feature but I wish they had support for 3d source file types instead of
exported "binary", for lack of a better term, file types. If you wanted to
truly open source your mechanical project you'd need to add an extra step to
delete the previously exported STL and export a new one every time you commit.
You also lose color/texture data when you export to STL.

~~~
steveklabnik
STL files are the source file for most 3D printers, which is probably the vast
majority of 3D files on GitHub, I'd imagine.

~~~
jotux
Yes, it's the output from a CAD tool and used for 3d printing but STL is a
binary file type and not easy to edit. Committing STL files to a repo is
analagous to commiting EXE files instead of source code or PDF files instead
of TEX.

~~~
crymer11
What about ASCII STL files? I'd say they're "pretty easy" to edit. I wouldn't
want to write an entire one, but I've tweaked values in one before.

~~~
jotux
What I mean is ease of editing in a typical CAD tool: Solidworks, AutoCad,
Sketchup, etc. STL is imported as a solid blob and you lose all the individual
features from the source model.

------
kanzure
Cool, that's one wishlist feature down.

[https://news.ycombinator.com/item?id=5519676](https://news.ycombinator.com/item?id=5519676)

(hehe "Wow. That's a stupidly large amount of work, barfed out with seeming
ignorance to the cost of implementation." Yes, well.... libffi helps out a
lot.)

~~~
angersock
Sometimes, open source actually helps mitigate the work issue.

:)

------
hardware_nick
This is nice, but, it feels like a splashy visual tool that took a lot of dev
resources and will only be used significantly by a small user base. I
personally feel that they would make a lot more users happy by spending a
little on improving their existing code diff interface. Some ideas:

\- make the context button "..." for the code diff actually do something

\- side-by-side diffs

\- syntax highlighting

~~~
pyrocat
They're doing it before a significant user base grows that precipitates a
github-for-3D startup. Building this feature also fosters growth of open
source 3D modeling and printing, which is a net positive thing.

~~~
bradtgmurray
It is a net positive, I just wish they would focus more on their core users.
Their basic code diff tool could use a lot of love to make it on par with the
diffs generated from other tools.

------
schrijver
They had diffs for typefaces at some point:
[http://i.liketightpants.net/and/how-it-has-come-about-
that-c...](http://i.liketightpants.net/and/how-it-has-come-about-that-code-
hosting-site-github-offers-visualisations-of-typeface-development)

I originally suggested it to them, and was kind of sad that they did away with
this feature—that being said, it makes sense they want to streamline their
platform.

Then, I’ve found it hard to create these kind of things myself, selfhostable
FOSS solutions like Gitorious don’t offer enough possibilites to build upon
(no real API)

------
chriskelley
I wonder if they have any plans to add support for other 3D filetypes (.ma,
fbx, obj, etc)? It would be great to use this with more organic VFX-type
models where some of the intricate detail updates are hard to discern at first
glance.

Blue sky thinking, it would even be awesome to have something like this as a
plugin in Maya where we could load in a previous version of the model and
onion-skin between them with a slider like in the demo.

Going to check out the links in the article. Very cool!

------
rafeed
This is so great! I'm always working with STL's and always asking myself,
"what's different in these models?" I'd love to see meta data and other 3D
file types like VRMLs or SolidWorks parts included in the future as well.

~~~
kanzure
SolidWorks seems really difficult to implement unless you're licensing a
Windows server + SolidWorks software licenses or running wine and hacking up
their dlls.. I would be curious to hear ideas on how to do it.

~~~
rafeed
This is true. I think it would require working directly with SolidWorks to
make it happen since everything of theirs is so proprietary.

------
asselinpaul
Wow, I love how Github is transforming into the a great tool maker for the
digital world.

------
thrillgore
This certainly makes Github a viable option compared to Thingiverse. Hopefully
we'll see OpenSCAD file support in the future!

------
fra
Meanwhile, still no side by side diffs :(

~~~
dandyhighwayman
GitHub: Doing the Work That Matters(tm)

------
thefreeman
And.... they're down.

edit: back up yay!

~~~
angersock
This is why we can't have nice things.

------
willvarfar
This is great! Historically, studios has shunned dvcs; github moving in his
direction - even if motivated by personal 3d printing projects - may open some
eyes and change some minds.

~~~
hosh
That would be great ... but I think the bigger thing is, just as open-source
software has taken over much of the Internet, this is a critical step in
helping open-source hardware take over ... well, everything else.

------
malkia
In a similar vein: [http://3drepo.org/](http://3drepo.org/)

------
scoofy
A friend and I built [http://www.bld3r.com](http://www.bld3r.com) as a vastly
more open 3d file sharing platform than thingiverse. We welcome this move, as
we prefer files to be hosted on open platforms like github. I thought I'd plug
the site for anyone who wants an alternative. We are still in beta, but are
finishing that soon.

~~~
kanzure
I wouldn't call github an open platform. Maybe you meant gitorious or cgit or
gitweb?

~~~
scoofy
I mean open in the sense that they have clear terms such that they don't
effectively own your content. In building a 3d printing social network, not
having to trust us was important to our design.

~~~
jacquesm
If github would make import/export a lot easier than it is today it would
qualify as an open platform. Right now only the 'git' part of it is open (and
git was open all along).

~~~
milkshakes
you mean besides all of the APIs they expose?

------
voodootikigod
Mike Skalnik (post author) will be at RobotsConf
[http://robotsconf.com](http://robotsconf.com) and available to talk about
this and other similar initiatives going on (make-me, etc). Still a few
tickets left. Saw a couple comments about conferences and such, figured it
would be worth mentioning.

------
Goopplesoft
I wonder what percent of Github users store 3D files, to make this worth the
effort. I imagine less than 0.5% if that?

~~~
fletchowns
With 3D printers becoming more common, I think they are positioning themselves
for the future, rather than fulfilling a strong demand that exists today.

------
jamesmiller5
I haven't seen anyone mention binary space partitioning since using quake3's
bsp toolchain a few years ago.

[http://www.mralligator.com/q3/](http://www.mralligator.com/q3/)

~~~
3rd3
I'm wondering why they ended up using BSP as a data structure for boolean mesh
operations. Is there an advantage over Octrees I'm not aware of in this case?

~~~
3rd3
Aparently, yes:
[http://onlinelibrary.wiley.com/doi/10.1111/j.1467-8659.2009....](http://onlinelibrary.wiley.com/doi/10.1111/j.1467-8659.2009.01609.x/abstract)

~~~
3rd3
Just for the record: The original paper in which they found that merging the
trees of binary space partition yields set operations:
[http://www.cse.yorku.ca/~amana/research/bsptSetOp.pdf](http://www.cse.yorku.ca/~amana/research/bsptSetOp.pdf)

------
jared314
I wonder if this feature is targeting the growing consumer 3D printing market.
Being the goto place for collaborating, and versioning, 3D designs would be a
good play for them.

------
leoh
It could be great to have something like this for SVG!

------
tibbe
Can we have side-by-side diffs of code first, please?

~~~
swang
Yes. With maybe support for viewing full files instead of just the diffs. None
of the Chrome/Browser Extensions really do this.

------
dnautics
this is great, comes just in time as I'm desiging a custom 3d scientific part.
[https://github.com/ityonemo/imsocultured/blob/master/device....](https://github.com/ityonemo/imsocultured/blob/master/device.stl)

~~~
pbhjpbhj
What's it do - presumably it's a connector, glass rod to rubber hose (ie
tubing)?

Edit: ah, found this
[https://github.com/ityonemo/imsocultured/commit/08b57107b757...](https://github.com/ityonemo/imsocultured/commit/08b57107b75761f2d8d274b6ac8d17bbf1bcd8ce)
\- "oral microbiome community culturing apparatus" \- so the complete
apparatus is for culturing whatever bacteria and such you find in your mouth
in a mini biome?

~~~
dnautics
the oral microbiome model system is an anaerobic community; this apparatus
allows you to connect a pH probe using the screw side for continuous pH
monitoring (we already have a device that does this; but it's suboptimal for
other reasons too) plus a second port that will be fitted with a septum to
draw gas, draw samples, or add to the medium.

------
snowwindwaves
Does anybody know of a 2D diff for diagrams? a lot like
[http://www.diffplug.com/](http://www.diffplug.com/)

------
marcosscriven
This is very cool. Rather obviates my own site.
([http://fabfabbers.com](http://fabfabbers.com)) Ho hum ;)

------
hosh
This is aweomse. It's a small, but critical step in making the design for
things versionable and forkable.

------
jackflintermann
Hmm, github.com is throwing a 500 error at the moment. I wonder if this is
somehow related?

------
markdunphy
In other (possibly related) news, the entire website is now throwing an error.

------
perone
And they still didn't implemented a visualization for SVG ?

------
plg
Sometimes more is less

------
itsbits
awesome addition..althgh am little confused looking for changes..but revision
wise looks quite descriptive....

------
talles
Now I'm feeling in the future

------
adamwong246
Oh Github, you're wonderful

