ali1234 has quit [Remote host closed the connection]
ali1234 has joined #openscad
Andy-pants has quit [Ping timeout: 255 seconds]
Andy-pants has joined #openscad
epony has joined #openscad
<gimzmoe>
I've had a printer for about a year, didn't start building my own models till last month when I stumbled on someone's .scad for a gear I wanted to modify. Been quite hooked on it since, I especially like being able to design compound things that are parametrically dynamic. All that geometry finally becomes useful :)
<buZz>
its so great :)
<buZz>
i learned openscad during initial calibration of my first printer build :P
<buZz>
needed to wait for a part so decided to learn to model a better testprint than a 20mm cube
<gimzmoe>
I'm mentoring a robotics team, we needed some gears by finding your specific need on thingiverse is rare in this case. I did find a similar project that included a .scad
guerd871 has joined #openscad
guerd87 has quit [Read error: Connection reset by peer]
<buZz>
:)
<gimzmoe>
Oh that reminds me is there a way to automatically creates individual stls or do you just suppress the others manually?
<buZz>
there's nearly endless gear libraries made for openscad nowadays
<buZz>
gimzmoe: not from the gui, really
<buZz>
i'm not sure if you could set openscad variables from commandline? if so you could do it with a Makefile
<buZz>
i usually just plonk a lot of if (0) {} around my code ;)
<gimzmoe>
I haven't even thought about cmdline fun
<gimzmoe>
What does that syntax do?
<buZz>
if (0) {} is always false
<buZz>
it's like commenting out code
<buZz>
you could use variables, if (renderthispart) {} etc
<gimzmoe>
If be used the *
<gimzmoe>
I have used the *
<buZz>
the * ?
<gimzmoe>
Putting *union()...
<buZz>
oh, like that, right
<buZz>
there's also % and ! i think
<buZz>
hmm
<buZz>
but sometimes those */%/! act different between F5 and F6 render
<gimzmoe>
Yeah, still learning, probably doing many sins
<buZz>
sin() :P
<buZz>
ah, you -can- set openscad vars from commandline
<Scopeuk>
that's been done, I've also been known to create shell files which include the file with the main model and then instantiate only the module I'm interested in
<gimzmoe>
I will have to look into that, might be a way to generate the parts in parallel
<Scopeuk>
most of those scad files are dummies with one part from a larger model
<buZz>
yeah figured
<buZz>
i just design multiple parts in a single .scad
<Scopeuk>
the parts are in one, those include the one and then instantiate and instance of the module
<buZz>
normally i use if (0) {} to disable parts of it while rendering out , but with makefile and -D var=bla i could do it from cli with just a single command
<buZz>
without dummy files
<buZz>
sounds like a nice workflow, i'll try it soonish
<buZz>
> As the convention from the last example is to create the .stl files from .scad files of the same base name, for each of these files, an .scad file must be generated.
<buZz>
oh yes it is :(
Andy-pants has quit [Ping timeout: 252 seconds]
<Scopeuk>
it should be fairly easy to change the names around, there is an example somewhere that does a switch using children
<buZz>
-o /tmp/bla.stl -D object=gear1
<buZz>
and then mv /tmp/bla.stl ./gear1.stl
<Scopeuk>
it should be possible to tell make that "-o $@.stl -D object=$@ master.scad" is the recipe to make the stl. not tried in a while. I think that target script fudges it by generating and intermediate scad file
<buZz>
which target script?
<Scopeuk>
the "automatic targets" script above, it creates a scad file with use <master>\r\n module();
<Scopeuk>
for each stl
<buZz>
ah yeah i dont know if i like that, its not needed with -D var=bla
<Scopeuk>
I think it is setup so you put a code comment in to mark the things that should be exported with no other change to it, but -D would let you work around it
<Scopeuk>
I guess bonus points if you set -D item=0 output a count of items to export I guess
<Scopeuk>
all fun and games
<buZz>
to render a .stl multiple times?
<buZz>
or like a single .stl with multiple objects inside?
<Scopeuk>
single scad file, have it print with echo the count if you run with item=0, then you can just loop over it to get all your stl's out, wouldn't do names though
<buZz>
oh like that
<buZz>
maybe item=list , and have it output all the objectnames
Andy-pants has joined #openscad
<Scopeuk>
the advantage of the method I linked is it can "automatically" find the module names for the stl. plenty of ways and means I guess
<buZz>
hmhm
Andy-pants has quit [Ping timeout: 268 seconds]
Andy-pants has joined #openscad
<Scopeuk>
it would be nice to get some more export support backed into openscad, we have bug reports for it but it's not decided yet
<lf94>
Well, I have git cloned openscad
<lf94>
The first step to adding libfive to it
<gimzmoe>
I have some free time coming up, I'll have to play with auto-stl automation
<lf94>
Unfortunately I've got to do my day job but just the clone has made my little neurons fire joyfully
<Scopeuk>
I think the main discussion around it was how to mark it up in syntax, although I guess dump all modules to stl would be a start
<lf94>
InPhase: (or other OpenSCADers) have you ever been approached to do code CAD stuff for money
<lf94>
My guess is no
<lf94>
I'm hoping to be wrong though lmao
<buZz>
i've done some openscad for money, why?
<buZz>
they didnt really care about openscad, just about a printed item in the end
<teepee>
export support?
<buZz>
teepee: this discussion started with a question from gimzmoe on how to get multiple .stl out of a single .scad 'automatically'
<buZz>
so for multiple parts of a design
<teepee>
ah, i see
kintel has joined #openscad
Petar has joined #openscad
<buZz>
which made my mind go to 'how short could i make a makefile which uses -D var=bla for rendering different parts'
<buZz>
:)
qeed_ has joined #openscad
qeed has quit [Ping timeout: 255 seconds]
<teepee>
what is decided would be that there's not going to be an export() function or module
<teepee>
but instead some sort of declaration of parts
<Petar>
I'm trying to define an import in a module and then run a loop on it for exporting layers as svg:
<Petar>
WARNING: Ignoring unknown variable 'Y_max' in file , line 17
<Petar>
WARNING: undefined operation (undefined * number) in file , line 17
<Petar>
WARNING: Unable to convert translate([0, undef, 0]) parameter to a vec3 or vec2 of numbers in file , line 18
<Petar>
WARNING: Ignoring unknown variable 'Y_max' in file , line 17
<Petar>
WARNING: undefined operation (undefined * number) in file , line 17
<Petar>
have put import statement within loop and seems to be running now
<buZz>
teepee: i was thinking -D item=list , and have it just 'echo' a list of objects to the Makefile
<buZz>
and then iterate over them and do -D item=item1 -o item1.stl
<buZz>
or something like that
<Andy-pants>
Petar, variable names are case sensitive. You have `y_max` defined at line 10, but you're referencing `Y_max` at line 17. The rest of the warnings stem from that root cause.
<Petar>
oh, I see
<Andy-pants>
So, you need to change `Y_max` at line 17 to `y_max`
<Petar>
the dangers of blindly copy pasting
<Petar>
thanks
<Andy-pants>
NP!
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<JordanBrown[m]>
gimzmoe: buZz I have a library that is rigged to cooperate with a shell script to generate multiple STLs or PNGs, and also allows interactive selection using the customizer.
Petar has quit [Quit: Client closed]
<buZz>
JordanBrown[m]: public?
<buZz>
teepee: ah yes exactly! -Dlist_icons=true
<buZz>
:)
<buZz>
this is great
<JordanBrown[m]>
I am happy to give it out but am not in a position right now to do it.
<buZz>
np JordanBrown[m] , any time you feel like it
<InPhase>
gimzmoe: A very simply model selection demo file: https://bpa.st/LEKIQ
<lf94>
nice
<lf94>
is that new
<buZz>
-D is new, it used to be -d
<lf94>
I feel like I had to do something different to achieve this
<lf94>
in the past
<buZz>
but the functionality was in openscad a while now, at least 4 years
<InPhase>
-D has been around for a pretty long time.
<lf94>
makes sense, I havent really used it in 4 years lol.
<InPhase>
I see it in 15.03
<InPhase>
I didn't use the program before then, so I don't have any older executables around.
<teepee>
-d is for makefile dependency generation -D is for defining variables
<teepee>
according to the manual both are already in 2011.09.30 :)
Andy-pants has quit [Ping timeout: 255 seconds]
<InPhase>
Using it to select in-place requires that indirection of a SelectFrom module. You need a spare module to assign children to.
<InPhase>
The syntax for children() changed at some point, but I forget which release that was in. But this was also a while ago.
<InPhase>
That example actually fails before the 2019 release though because is_undef was missing. :)
<buZz>
teepee: oh? that wikidoc i linked says -d prior to 2019
<InPhase>
buZz, lf94: It's worth noting that -D is more flexible in practice than the documented usage: openscad -D'$fa=1; $fs=0.4; cube(10); cylinder(r=6, h=12);' /dev/null -o test.png
<buZz>
lol wow
<InPhase>
But it's best to not consider that "supported" behavior.
<InPhase>
Just in case. ;)
<teepee>
true, but that may bite at some point :)
epony has quit [Remote host closed the connection]
Andy-pants has joined #openscad
epony has joined #openscad
<teepee>
especially as this could be now "echo <script> | openscad -"
<InPhase>
JordanBrown[m]: Now we know why you have a very old computer. All your money has gone into a very nice San Jose area house.
<JordanBrown[m]>
Los Angeles
<InPhase>
Oh.
<JordanBrown[m]>
So not nearly as expensive as SJ
<InPhase>
Well then, time for a new computer. ;)
<InPhase>
I forgot you were down in that part. You had said that before.
<JordanBrown[m]>
I could get one but (a) would need to figure out what (b) current one works ok (c) round tuits.
<JordanBrown[m]>
I should say current ones since I have an old desktop and an old laptop :-)
<JordanBrown[m]>
I do have a newer laptop that I inherited from my daughter that I use sometimes. It’s the fastest of the three.
Andy-pants has quit [Ping timeout: 255 seconds]
<teepee>
I got a new one from the work project I'm on and uff, that's a beast :)
Andy-pants has joined #openscad
<InPhase>
JordanBrown[m]: I got my mother a reasonably cheap $500 Acer laptop over Christmas to replace her Windows computer from a few years back, and tossed xubuntu on there, and it turned out to be quite speedy. I'm partial to buying a little higher end myself, but it really doesn't take a lot to beat out the older ones.
Andy-pants has quit [Ping timeout: 252 seconds]
Andy-pants has joined #openscad
varmadatla07 has joined #openscad
Andy-pants has quit [Ping timeout: 252 seconds]
foul_owl has joined #openscad
Andy-pants has joined #openscad
teepee_ has joined #openscad
Andy-pants has quit [Ping timeout: 255 seconds]
teepee has quit [Ping timeout: 255 seconds]
teepee_ is now known as teepee
aiyion1 has quit [Remote host closed the connection]
varmadatla07 has quit [Quit: Client closed]
aiyion1 has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
teepee has joined #openscad
califax has quit [Remote host closed the connection]
califax has joined #openscad
Petar has joined #openscad
Andy-pants has joined #openscad
guso78 has joined #openscad
J236886 has quit [Quit: Client closed]
J236886 has joined #openscad
Andy-pants has quit [Ping timeout: 255 seconds]
<sinned6915>
i have had good luck with CDW B-stock
<InPhase>
If the almost profane red sketch on that image was supposed to illustrate, I'm missing a sense for what that shape is actually supposed to look like in 3D.
<sinned6915>
sorry, drip edge
<sinned6915>
profane? i'm not seeing, but apologies none the less
<sinned6915>
the funner is upside down i the pic
<sinned6915>
i want a lip so that anything that runs on the vertical surface that might cling to the underside will hit the edge and fall off
ur5us has joined #openscad
<InPhase>
Oh. You want water spillage into the threaded area to run down into a sort of moat and run around tangentially to the opening that is facing the camera on that image?
<sinned6915>
here is an example of how we use it on masonry
<InPhase>
Ah. The image is upside down.
<sinned6915>
my bad, yes
<InPhase>
So water will flow in through the funnel opening at the bottom.
<sinned6915>
yes
<sinned6915>
anyhting that wants to return o the flat would hit the 'drip'
guso78 has quit [Ping timeout: 260 seconds]
<InPhase>
Then rotate extrude of a circle or a square for this problem.
<sinned6915>
no hull?
<InPhase>
Probably a square is a stronger choice than a circle.
<sinned6915>
hull of a sphere or a cube?
<InPhase>
How would a hull help?
<sinned6915>
i dont knw, that is why i am asking. I am still trying to master hull
<sinned6915>
and where to use it
<InPhase>
Rarely if possible.
<InPhase>
2D hull is great, 3D hull should be used sparingly.
<sinned6915>
i thought openscad mastery was using hull and minkowsky
<InPhase>
lol
<InPhase>
Well, I used them a lot when I started, and you can get some pretty results, but they are a great way to shotgun your foot off in performance.
<sinned6915>
that is similar to what i was thinking
<sinned6915>
the variability is the bottles are blow molded and the hole varies
fling has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
<sinned6915>
and my next step is to somehow put a vent in there
fling has joined #openscad
<J236886>
the groove also need to fit the hole or ? .. problem with grooves is that water / liquid have tension .. so if the groove is only 2mm it will not work
<sinned6915>
J236886 how did you make the flare on the inner cone?
<sinned6915>
did you revolve a flat, or did you subtract 2 cones
<J236886>
the hole thing is just 3 lines with my lib .. but it is a rotate extruded polygon
<sinned6915>
ok
<sinned6915>
i am still trying to master some of those
<sinned6915>
i can do pretty good with brining in DXF and revolding and extruding
<sinned6915>
it just shows you how much your brain rots having huffed the glue from the ACAD-WIntel coalition