Managing Variations and Revisions

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Managing Variations and Revisions

fouroh-llc
Greetings all, my first post.

I use OpenSCAD to create assemblies from 3D printed PLA plastic,
off-the-shelf steel screws, pipes, plates (see images). The basic idea is to
print everything in plastic, but design so they are ready for CNC, mold,
punch-press. The aluminum extrusion in the bottom image is one example,
printed in white plastic now but ready to be replaced with the real thing.

These are reference designs and I script everything with ASTM standard
values - then I fine-tune the model both in OpenSCAD and in Cura during
slicing, to make them fit together. A lot of parts are not standard - Nylon
6/6 hex heads come in all sizes, and even when they are standard - 1/2 inch
PVC pipe and a 1/2 inch metal conduit are not the same inner and outer dia.

While the ASMT values (the actual CAD data) must be preserved, the tweaked
values also must be preserved as I need to reprint damaged and broken parts.

Question: If this is familiar to you - how do you deal with all these
complexities?

OpenSCAD and 3D printing is something I started doing recently, and I have
some basic skills but I never really had to deal with revision control. I am
thinking to use git - but no idea if that's the right tool, or even if I
need it for this.

All I did so far is experiments. I love OpenSCAD, I think I understand
"parametric" design, and I was able to build some sophisticated stuff very
close to the way I expected them to work. But I need to find a way to deal
with those complexities.

Thanks for any feedback!
(If this is off-topic I apologize).
<http://forum.openscad.org/file/t3101/FourOh-LUG-Banner_%281%29.jpg>
<http://forum.openscad.org/file/t3101/InitRails_%281%29.jpg>



-----
Cheers!
Mr. Sandor Kunyik
Founder, Technology Evangelist
Factory 4.0 Open Initiative, LLC.
https://hubzilla.factoryfouroh.net/channel/fouroh-llc
--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Cheers!
Mr. Sandor Kunyik
Founder, Technology Evangelist
Factory 4.0 Open Initiative, LLC.
https://hubzilla.factoryfouroh.net/channel/fouroh-llc
Reply | Threaded
Open this post in threaded view
|

Managing Variations and Revisions

CasaDelGato
On Fri Jan 22 16:07:14 PST 2021 [hidden email] said:
>While the ASMT values (the actual CAD data) must be preserved, the tweaked
>values also must be preserved as I need to reprint damaged and broken parts.
>
>Question: If this is familiar to you - how do you deal with all these
>complexities?

I use a standard Revision Control system like Perforce or Git.


--

Bobcats and Cougars, oh my!  http://john.casadelgato.com/Pets
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Managing Variations and Revisions

adrianv
In reply to this post by fouroh-llc
You can manage this particular complexity by having your part modules accept
a "slop" argument or arguments that specify how to vary the part size.  So
for example, you have a module that makes pipe and maybe it has

module pipe(nominal_size, id_delta, od_delta)

and the id_delta and od_delta are changes from the basic nominal size.  The
nominal size preserves your standard dimensions.  


fouroh-llc wrote
> While the ASMT values (the actual CAD data) must be preserved, the tweaked
> values also must be preserved as I need to reprint damaged and broken
> parts.
>
> Question: If this is familiar to you - how do you deal with all these
> complexities?





--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Managing Variations and Revisions

nophead
I model everything the size I want it to be and calibrate my printers to print it accurately. I don't have any slop parameters but I do add clearances when parts need to mate easily unless I want a press fit.

On Sat, 23 Jan 2021 at 00:40, adrianv <[hidden email]> wrote:
You can manage this particular complexity by having your part modules accept
a "slop" argument or arguments that specify how to vary the part size.  So
for example, you have a module that makes pipe and maybe it has

module pipe(nominal_size, id_delta, od_delta)

and the id_delta and od_delta are changes from the basic nominal size.  The
nominal size preserves your standard dimensions. 


fouroh-llc wrote
> While the ASMT values (the actual CAD data) must be preserved, the tweaked
> values also must be preserved as I need to reprint damaged and broken
> parts.
>
> Question: If this is familiar to you - how do you deal with all these
> complexities?





--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Managing Variations and Revisions

fouroh-llc
One issue I did not include to keep my post brief:

The dovetails are central to most of what I do, and they are CNC candidates.
I print them on Ender 5 with the build plate lowering (vertical), and the
dimensions are going to differ from the CAD data one particular way.. when I
print them horizontal the dimensions and the deviation from CAD data going
to differ another way.

1.) Deployment: To give the printed plastic the best chance of survival (so
it wont peel to pieces during testing), the dovetail should be printed
according to deployment - surface, wall and ceiling mount - so the dovetail
angle changes. This is by the way going to be the same in steel, a dovetail
mounted horizontal is different from the one mounted to the ceiling.

2.) Print: to allow the dovetail to work, the layers must be aligned -
mating surfaces with creases from the layers are sticking and noisy, but
after sanding them smooth the dimension also changes.

I have a really difficult time to find and use the same values, with the
same deployment and print parameters on top of all the other complexities.
Its something I need to share with others so I am working on this, and this
post is just to share more details,.

Thanks for the responses.





-----
Cheers!
Mr. Sandor Kunyik
Founder, Technology Evangelist
Factory 4.0 Open Initiative, LLC.
https://hubzilla.factoryfouroh.net/channel/fouroh-llc
--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Cheers!
Mr. Sandor Kunyik
Founder, Technology Evangelist
Factory 4.0 Open Initiative, LLC.
https://hubzilla.factoryfouroh.net/channel/fouroh-llc
Reply | Threaded
Open this post in threaded view
|

Re: Managing Variations and Revisions

JordanBrown
In reply to this post by fouroh-llc
It seems to me that you have two largely-orthogonal problems.

First, revisions.  You made a design yesterday.  You want to update it today, but you want to keep track of the changes so that you can back them out if they don't work, or so you can remember what you tried (and discarded) yesterday.  That's what source management tools like git are for.  They will mostly just work, though you might want to find a slicer that likes to keep its "projects" in a textual form.  (I don't know if any do.)  Source management tools can often deal with binary files, but usually poorly.

Second, variations.  You have two parts that are based on the same model, but differ in some way.  It isn't that one is newer than the other... they're just different.  There I would think in terms of parametric design - writing one program that will generate both results, when fed different inputs.  One good trick for that is the Customizer; you can have one OpenSCAD program and several JSON sets of values to drive it.  (You can do the same thing in pure OpenSCAD using inclusion, but it's a bit more awkward.)

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Managing Variations and Revisions

fouroh-llc
At this point I am thinking of the people who are going to inherit my
designs, and the responsibilities that comes with advancing them.

I am seriously considering a wiki, where each page going to show the picture
of the part (or the animation of the assembly) to make it clearly
recognizable, then just post the entire OpenSCAD script and link the STL or
STEP or whatever to build it. To me this looks really appealing. The text in
the wiki would keep the whole thing updated. Versions and variations would
be separate wiki pages.

Until of course a real pro comes along pointing out the obvious, the effort
it would take to place the whole thing under version control done right.
Then I am going to kick myself for not doing the right thing and learn to do
it the right way when I still had a blank slate.

Now as I am writing this, management and ownership also going to prefer wiki
pages with some rich media to text-only version control.

Just brainstorming here.



-----
Cheers!
Mr. Sandor Kunyik
Founder, Technology Evangelist
Factory 4.0 Open Initiative, LLC.
https://hubzilla.factoryfouroh.net/channel/fouroh-llc
--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Cheers!
Mr. Sandor Kunyik
Founder, Technology Evangelist
Factory 4.0 Open Initiative, LLC.
https://hubzilla.factoryfouroh.net/channel/fouroh-llc
Reply | Threaded
Open this post in threaded view
|

Re: Managing Variations and Revisions

JordanBrown
Look at github.  They have wiki, source control, issue tracking, et cetera.  Users can fork their own copies and develop on them, then feed back to you for merging.


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Managing Variations and Revisions

fouroh-llc
Gitea on YunoHost it is then. I suspected git was the candidate, but now
git+wiki+fork+unlimited accounts on self-hosting do make more sense, thanks!



-----
Cheers!
Mr. Sandor Kunyik
Founder, Technology Evangelist
Factory 4.0 Open Initiative, LLC.
https://hubzilla.factoryfouroh.net/channel/fouroh-llc
--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Cheers!
Mr. Sandor Kunyik
Founder, Technology Evangelist
Factory 4.0 Open Initiative, LLC.
https://hubzilla.factoryfouroh.net/channel/fouroh-llc
Reply | Threaded
Open this post in threaded view
|

Re: Managing Variations and Revisions

thehans
For small designs which don't require a whole source tree of scripts, I often just put the script on gist.github.com, which is their simplified pastebin-like interface (but with revisioning).  What's also nice is that it supports upload and 3D view of STL files.
So if you are thinking about having a separate page for each part, that could be one way to go.

-Hans


On Fri, Jan 22, 2021 at 10:44 PM fouroh-llc <[hidden email]> wrote:
Gitea on YunoHost it is then. I suspected git was the candidate, but now
git+wiki+fork+unlimited accounts on self-hosting do make more sense, thanks!



-----
Cheers!
Mr. Sandor Kunyik
Founder, Technology Evangelist
Factory 4.0 Open Initiative, LLC.
https://hubzilla.factoryfouroh.net/channel/fouroh-llc
--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Managing Variations and Revisions

Vigardo
In reply to this post by fouroh-llc
fouroh-llc wrote
> ...the dimensions are going to differ from the CAD data one particular
> way.. when I print them horizontal the dimensions and the deviation from
> CAD data going
> to differ another way.
> [...]
> the dovetail should be printed according to deployment - surface, wall and
> ceiling mount - so the dovetail
> angle changes.

I think you would try to use and customize different tolerances for x/y axis
and for z-axis.

You already may have figured it out but in 3D printing z-axis errors differ
from those in x/y axis. The issue may be a bit complex since despite z-axis
positioning precision is typically higher, the surface of the dovetail would
be quite rough. To minimize this latter effect, you can reduce layer height
and/or use surface ironing:
https://blog.prusaprinters.org/make-top-surfaces-super-smooth-ironing-prusaslicer-2-3-beta_41506/



--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: !![SPAM]!! Re: Managing Variations and Revisions

mondo
In reply to this post by fouroh-llc
On 23/01/2021 01:22, fouroh-llc wrote:
> 2.) Print: to allow the dovetail to work, the layers must be aligned -
> mating surfaces with creases from the layers are sticking and noisy, but
> after sanding them smooth the dimension also changes.

That's why dovetails have adjustable gibs.        \\    ///

Maybe you need to tune the printer/slicer to match the filament, and
keep to those settings, and the same filament of course. Petg is easier
to machine cf pla, but is usually more flexible. For lightweight
mechanisms filled petg is available, and the ender 5 can handle that,
but best with  a hardened nozzle. If the idea is that others can
replicate the plastic parts, then as well as the stl file, you will need
to supply the source/type of the filament, and all the slicer/printer
settings, and mention the details of the finishing, and even then they
may not get it to work. Of course, an item designed for plastic often
needs to be different than one designed for metal, something to be aware
of if trying to prototype a working metal apparatus in plastic.

Best wishes,

Ray


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Managing Variations and Revisions

Troberg
In reply to this post by adrianv
adrianv wrote
> You can manage this particular complexity by having your part modules
> accept
> a "slop" argument or arguments that specify how to vary the part size.

Yep, that's how I do it, but for another purpose. I design the parts as I
want them to come out, then I have a slim argument, which makes them
slightly smaller if true, so I can see where one part ends and another
begins on screen.



--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org