Do designers/3d modelers use version control?

625 views
Skip to first unread message

Wil Chung

unread,
Jul 15, 2011, 1:06:52 PM7/15/11
to MakerBot Operators
I was just wondering, of the makerbot ops that also design their own
stuff out there, do you use version control? If so, what do you use,
and have you got recommendations? Do you just use the undo history in
sketchup/blender or do you actually use something like git/svn/
mercurial?

Wil

Andrew Plumb

unread,
Jul 15, 2011, 1:18:04 PM7/15/11
to make...@googlegroups.com
Lack of revision control is the "dirty little secret" of CAD/EDA tools. Most UI-based tools store the design data in proprietary and/or binary data formats that may or may not contain a few levels of undo. More often than not the "undo" capability is session-specific (close the tool and it's gone) or unsaved-edit based (saving your work sets the undo point to the saved version).

Personally, I code in OpenSCAD and use git to manage revisions.

Andrew.

> --
> You received this message because you are subscribed to the Google Groups "MakerBot Operators" group.
> To post to this group, send email to make...@googlegroups.com.
> To unsubscribe from this group, send email to makerbot+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/makerbot?hl=en.
>

--

"The future is already here. It's just not very evenly distributed" -- William Gibson

Me: http://clothbot.com/wiki/


James McCracken

unread,
Jul 15, 2011, 1:20:49 PM7/15/11
to make...@googlegroups.com
OpenSCAD + svn/git or OpenSCAD + TFS for me...

I know, I know, TFS isn't free / open. I don't care. I have a
million dollar hammer and I intend to use it. I really only use svn
or git for stuff I intend to share with my local hackerspace...

Garth Kidd

unread,
Jul 15, 2011, 7:17:45 PM7/15/11
to make...@googlegroups.com
I have my Skeinforge settings under version control. I'm using
Mercurial out of habit.

Yours,
Garth.

Wil Chung

unread,
Jul 24, 2011, 5:05:12 PM7/24/11
to MakerBot Operators
It sounds like people just use the undo history in their tool of
choice. How are 3d designs shared and iterated upon then? I'm guessing
part of the reason was there was no need to since most people didn't
have access to their own manufacturing machines.

But now that we do, do people just make a copy of the blender/cad file
and just edit that? Isn't that a pain? Or it's not really?

Wil

On Jul 15, 10:18 am, Andrew Plumb <and...@plumb.org> wrote:
> Lack of revision control is the "dirty little secret" of CAD/EDA tools.  Most UI-based tools store the design data in proprietary and/or binary data formats that may or may not contain a few levels of undo.  More often than not the "undo" capability is session-specific (close the tool and it's gone) or unsaved-edit based (saving your work sets the undo point to the saved version).
>
> Personally, I code in OpenSCAD and use git to manage revisions.
>
> Andrew.
>
> On 2011-07-15, at 1:06 PM,WilChungwrote:
>
> > I was just wondering, of the makerbot ops that also design their own
> > stuff out there, do you use version control? If so, what do you use,
> > and have you got recommendations? Do you just use the undo history in
> > sketchup/blender or do you actually use something like git/svn/
> > mercurial?
>
> >Wil
>
> > --
> > You received this message because you are subscribed to the Google Groups "MakerBot Operators" group.
> > To post to this group, send email to make...@googlegroups.com.
> > To unsubscribe from this group, send email to makerbot+u...@googlegroups.com.
> > For more options, visit this group athttp://groups.google.com/group/makerbot?hl=en.

Bryan Bishop

unread,
Jul 24, 2011, 5:10:13 PM7/24/11
to make...@googlegroups.com, Bryan Bishop
On Sun, Jul 24, 2011 at 4:05 PM, Wil Chung <iam...@gmail.com> wrote:
But now that we do, do people just make a copy of the blender/cad file
and just edit that? Isn't that a pain? Or it's not really?

it is a pain; blender files aren't parametric and it's like editing a binary executable rather than source code.

--
- Bryan
http://heybryan.org/
1 512 203 0507

The Ruttmeister

unread,
Jul 24, 2011, 6:25:55 PM7/24/11
to MakerBot Operators


On Jul 24, 2:05 pm, Wil Chung <iam...@gmail.com> wrote:
> It sounds like people just use the undo history in their tool of
> choice.

Yep.

>How are 3d designs shared and iterated upon then? I'm guessing
> part of the reason was there was no need to since most people didn't
> have access to their own manufacturing machines.

With difficulty outside of something like OpenSCAD.
There is generally limited collaboration just due to the limits of the
tools. But that I think is because the free tools are lagging behind
demand.

>
> But now that we do, do people just make a copy of the blender/cad file
> and just edit that? Isn't that a pain? Or it's not really?
>
I generally do something along those lines. So I generally have by the
end of a design a bunch of files from v.0.1 to v.whatever. That cover
the major changes in the design. As for how much trouble that is,
depends on the CAD program.

Z LeHericy

unread,
Jul 24, 2011, 6:49:20 PM7/24/11
to make...@googlegroups.com
Autodesk Inventor has built in version control, as well as a collaboration platform, but it's not designed for hobby use, so the collaboration system is limited to a few users on the same network, unless you do really crazy configuration work
-Zeno LeHericy

//((=:Z:=))\\
INVENTIONS
Technologies
zinventions.com


Wil Chung

unread,
Jul 24, 2011, 8:15:31 PM7/24/11
to MakerBot Operators

> >How are 3d designs shared and iterated upon then? I'm guessing
> > part of the reason was there was no need to since most people didn't
> > have access to their own manufacturing machines.
>
> With difficulty outside of something like OpenSCAD.
> There is generally limited collaboration just due to the limits of the
> tools. But that I think is because the free tools are lagging behind
> demand.

I was picturing that for the text-based 3d modeling file formats, one
could generate a visual diff of the 3D models, so you can see a commit
history of what changed. But apparently, for many of the different
file formats, the 3D modeling software might reorder large sections of
the file for optimization, and editing STL files isn't good because
it's all triangle meshes.

OpenSCAD seems like the only file format that you can actually use
source control with. It seems like most people don't use OpenSCAD, and
any tools and file formats outside of that aren't very conducive to
sharing and collaboration since it's like having to email around a
microsoft document in the 90's.

I can see how it's useful for thingiverse and makerbot ops. Do a lot
of 3d modelers do collaborations?

Thanks. This is interesting

Wil

Bryan Bishop

unread,
Jul 24, 2011, 8:18:59 PM7/24/11
to make...@googlegroups.com, Bryan Bishop, Open Manufacturing
On Sun, Jul 24, 2011 at 7:15 PM, Wil Chung <iam...@gmail.com> wrote:
OpenSCAD seems like the only file format that you can actually use
source control with. It seems like most people don't use OpenSCAD, and
any tools and file formats outside of that aren't very conducive to
sharing and collaboration since it's like having to email around a
microsoft document in the 90's.

OpenSCAD isn't the best for sharing, either, since STL is mostly useless except for end-of-life for a design. (And a custom CAD file format (.scad) is just as useless in terms of cross-platform compatibility, etc.).

Michael Shiloh

unread,
Jul 24, 2011, 8:32:18 PM7/24/11
to make...@googlegroups.com
one of the things i like about xcircuit is that the source is saved as
postscript, which is ascii text. sure, it's bigger, but i can diff
versions and even make repairs using vi.

> --
> You received this message because you are subscribed to the Google
> Groups "MakerBot Operators" group.
> To post to this group, send email to make...@googlegroups.com.
> To unsubscribe from this group, send email to
> makerbot+u...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/makerbot?hl=en.

--
Michael Shiloh
KA6RCQ
www.teachmetomake.com
teachmetomake.wordpress.com
Interested in classes? Join http://groups.google.com/group/teach-me-to-make

Bryan Bishop

unread,
Jul 24, 2011, 11:36:22 PM7/24/11
to Triffid Hunter, Bryan Bishop, openmanu...@googlegroups.com, make...@googlegroups.com
On Sun, Jul 24, 2011 at 10:28 PM, Triffid Hunter wrote:
On Mon, Jul 25, 2011 at 10:18 AM, Bryan Bishop wrote:
> And a custom CAD file format (.scad)
> is just as useless in terms of cross-platform compatibility, etc.

It sounds like you're making an argument for cadmium, or some other
similar solution with programming-style CSG operations but without the
renderer/viewer tied to the compiler.

Cadmium suffers from all of the inherited problems of pythonOCC. However, it does follow the advantages you've outlined in comparison to dotscad- in particular, it's diffable, it uses a standard language, is "theoretically" infinitely precise (due to boundary representation), and is more like a design than compiled binary file. After spending two years wrestling with OCC/pythonOCC, I shifted my opinion to that of a simpler library designed by less than 20 people would have a better chance at being practical or useful. Unfortunately it's a wee bit longer than a weekend project, so far.

Mike Payson

unread,
Jul 26, 2011, 3:23:08 AM7/26/11
to make...@googlegroups.com, Triffid Hunter, Bryan Bishop, openmanu...@googlegroups.com
FreeCAD lets you build models fully scripted in Python, or you can
build them with the GUI. It is quite powerful, but a bit lacking in
usability at present. That said, once you figure out the API, it is
FAR more powerful than OpenSCAD as far as programmability.

http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Main_Page

Mike Payson

unread,
Jul 26, 2011, 3:30:50 AM7/26/11
to make...@googlegroups.com
OpenSCAD IS cross platform. I suspect what you mean that it's file format is not compatible with other CAD programs. That is true, but of course none of the other CAD programs use compatible formats either. Even DXF is not actually standard, Autodesk changes the details of the format everytime they upgrade AutoCAD.

OpenSCAD is ideal for sharing, since it makes it trivial to modify the design, within the limits of the original designers ideas of what should be easy to modify. FreeCAD (as mentioned in my last message) has the same benefits, plus the added usability of a GUI for people who are not coders (though there are limits to the changes you can make to scripted objects in the GUI).

Bryan Bishop

unread,
Jul 26, 2011, 6:30:13 AM7/26/11
to Mike Payson, Bryan Bishop, make...@googlegroups.com, Triffid Hunter, openmanu...@googlegroups.com
On Tue, Jul 26, 2011 at 2:23 AM, Mike Payson <mi...@dawgdayz.com> wrote:
FreeCAD lets you build models fully scripted in Python, or you can
build them with the GUI. It is quite powerful, but a bit lacking in
usability at present. That said, once you figure out the API, it is
FAR more powerful than OpenSCAD as far as programmability.

It's just an API on top of OpenCASCADE. Same as HeeksCAD or pythonOCC.

Bryan Bishop

unread,
Jul 26, 2011, 6:32:37 AM7/26/11
to make...@googlegroups.com, Open Manufacturing, Mike Payson, Bryan Bishop
On Tue, Jul 26, 2011 at 2:30 AM, Mike Payson <mi...@dawgdayz.com> wrote:
OpenSCAD is ideal for sharing, since it makes it trivial to modify the design, within the limits of the original designers ideas of what should be easy to modify. FreeCAD (as mentioned in my last message) has the same benefits, plus the added usability of a GUI for people who are not coders (though there are limits to the changes you can make to scripted objects in the GUI).

I would agree with FreeCAD, but again because of the dependency on OCC it's really not maintainable. Have you ever tried to rewrite large portions of OCC? Yeeeaaahhhh...

OpenSCAD has a custom file format for input, and a non-parametric output format. How is that ideal for sharing? *runs* :)

Mathieu - Syvwlch

unread,
Jul 26, 2011, 7:27:54 AM7/26/11
to MakerBot Operators
I use Git (SmartGit on the laptop and git-hub as the server) to
version control openSCAD scripts, which are just ASCII text files. It
works quite well, actually, and I think it could even be used to
support collaboration.

It is the freezes, crashes, disappearing gear teeth and other weird
bugs that have me very frustrated with OpenSCAD at the moment... and
looking at the commercial/closed alternatives.

Mike Payson

unread,
Jul 26, 2011, 1:47:05 PM7/26/11
to Bryan Bishop, make...@googlegroups.com
On Tue, Jul 26, 2011 at 3:32 AM, Bryan Bishop <kan...@gmail.com> wrote:
On Tue, Jul 26, 2011 at 2:30 AM, Mike Payson <mi...@dawgdayz.com> wrote:
OpenSCAD is ideal for sharing, since it makes it trivial to modify the design, within the limits of the original designers ideas of what should be easy to modify. FreeCAD (as mentioned in my last message) has the same benefits, plus the added usability of a GUI for people who are not coders (though there are limits to the changes you can make to scripted objects in the GUI).

I would agree with FreeCAD, but again because of the dependency on OCC it's really not maintainable. Have you ever tried to rewrite large portions of OCC? Yeeeaaahhhh...

I am sorry to hear about these difficulties. My work with FreeCAD is fairly limited, but so far I have liked what I have seen (though the GUI needs a lot of work). You obviously have a lot more experience with the underlying code, can you share more about why it is is difficult? Is OpenCASCADE itself badly written? 
Reply all
Reply to author
Forward
0 new messages