teepee changed the topic of #openscad to: OpenSCAD - The Programmers Solid 3D CAD Modeller | This channel is logged! | Website: http://www.openscad.org/ | FAQ: https://goo.gl/pcT7y3 | Request features / report bugs: https://goo.gl/lj0JRI | Tutorial: https://bit.ly/37P6z0B | Books: https://bit.ly/3xlLcQq | FOSDEM 2020: https://bit.ly/35xZGy6 | Logs: https://bit.ly/32MfbH5
bozo16 has quit [Quit: Leaving]
<teepee> craziest solstice link I've seen so far https://oldbytes.space/@rc2014/111623057106876942 :)
<InPhase> Now they just need to make those Z80s actually functional. Perhaps set them to run a very small LLM generating magic spells.
LordOfBikes has quit [Ping timeout: 246 seconds]
LordOfBikes has joined #openscad
mmu_man has quit [Ping timeout: 276 seconds]
SANSd20 has joined #openscad
<SANSd20> hey all. I am just starting with OpenSCAD and have shape that I am wanting to add an Chamfer to the inner edge. Could someone point me to where I can get that info?
<peeps> oh did solstice happen? it was like 70F today lol
epony has quit [Remote host closed the connection]
epony has joined #openscad
<teepee> SANSd20: what kind of shape is it? adding chamfers to a finished design is sometimes not that easy
<SANSd20> translate([17.5,17.5,0])
<SANSd20> linear_extrude(height = 13.75) {
<SANSd20>    difference() {
<SANSd20>       square(35, center = true); //Outer size
<SANSd20>        square(27, center = true); //Inner size
<SANSd20>    }
<SANSd20> }
<SANSd20> or is there a better way to do this?
<teepee> that's actually perfect :)
<teepee> try this infront of the square for the cutout:
<teepee>        offset(3) offset(-3)
<teepee> of course you can also just use the offset(3) and change the 27 to 21
<SANSd20> ok, so what i want, is the chamfer along the top of the cutout
<teepee> and for some higher resolution: $fa = 2; $fs = 0.5;
<teepee> for more complicated stuff, it might be easier to just use a library providing objects with chamfers
<SANSd20> could you point to a listing?
<SANSd20> thanks. I'll take a look
<SANSd20> hmmm... might have to go to cube as mixing 2d and 3d is giving me an error
<teepee> so you want only a chamfer on the 4 top inner edges?
<SANSd20> yes
<teepee> then you could difference that in 3d
<teepee> #translate([0, 0, 11.75]) linear_extrude(3, scale = 31/25) square(25, center = true);
<teepee> e.g. another difference around the linear_extrude from above
<SANSd20> awesome
<teepee> the "#" shows the object that is differences, to make it more obvious what's going on :)
<SANSd20> difference(){
<SANSd20>     translate([17.5,17.5,6.5])
<SANSd20>     difference(){
<SANSd20>         cube([35,35,13.75], center=true);
<SANSd20>         cube([27,27,13.76], center=true);
<SANSd20>         }
<SANSd20>     translate([17.5,017.5,11.75])
<SANSd20>     linear_extrude(3, scale = 31/25) square(27, center = true);
<SANSd20> }
<SANSd20> that's perfect! thanks!
J24k50 has joined #openscad
<teepee> to get 45° the square of the chamfer would need to be 25
<peeps> the original inner size was 27.
<teepee> I think my numbers are wrong
<peeps> you can put it in a variable like: chamfer = 3; linear_extrude(3, scale = (27+2*chamfer)/27) square(27, center = true);
<teepee> the chamfer thingy is 3 units high, so it needs to be 2 less = 25
<peeps> also would be good to put inner dimension (27) as its own variable
<teepee> and scale is 2 more which makes it 29/25
J24k has quit [Ping timeout: 250 seconds]
<SANSd20> brb
<peeps> teepee: why 2 vs 3? a 45 degree triangle would have sides of 3,3 and sqrt(2)*3 for hypotenuse
<teepee> random selection for not lining up the edges
<teepee> starting 1 unit below and one unit offset inward
<teepee> going 1 unit above and one unit outward
<teepee> cutting 1 unit high at 45°
<peeps> ah ok, i was thinking the whole cut as 3
<peeps> me being lazy and ignoring the "extending negative objects" best practice
<teepee> :)
<teepee> or just using bosl2 and differencing cuboid([27,27,13.76], chamfer=-1, edges=[TOP]);
<SANSd20> back
<teepee> peeps: hmm, 70F = 21°C did you move to australia? :)
<peeps> nope, just global warming
<peeps> and Texas
<teepee> lol, google is breaking down
<teepee> it first shows the conversion correctly but somehow it then switches the F box to random other numbers
<teepee> probably confused by the , vs. . ?
<peeps> wow, that's nuts
<teepee> yep, it's showing german decimal "," putting cursor into that field and somewhere else makes it convert 21111 to F
<teepee> considering that's the state of one of the richest companies, I'm very worried about all that AI talk :/
<SANSd20> ok, so if i want the chamfer to edge to be 2mm from the outside edge...
<teepee> you can just make the extrude larger than the 3 units now and adjust the scale
<teepee> so lets say the initial square is 25 and the final one would be 37
<teepee> linear_extrude(6, scale = 37/25) square(25, center = true);
<teepee> how much it's cutting then only depends on how high you place it
<SANSd20> i guess i am not understanding how scale and linear_extrued interact
<peeps> the bottom of linear extrude is the original shape, the top is after the scale value is applied
* t4nk_fn is secretly lurking from the bushes
<t4nk_fn> .. oops ;)
<SANSd20> ok... I think i get it...
<SANSd20> I think
<SANSd20> linear_extrude(2.5, scale = 33/25) square(25, center = true)
<SANSd20> is what i want...
<peeps> the height of the extrude should correspond with (numerator - denominator)/2 in order to get 45 degree angle
teepee_ has joined #openscad
<peeps> or inversely: define the numerator in terms the square's dimension + 2 * extrude height
teepee has quit [Ping timeout: 240 seconds]
teepee_ is now known as teepee
<SANSd20> only if it could actually import an STL and not link to it...
<t4nk_fn> it's really nice man, I never used any of this stuff like this.. just got by being more 'primitive' ;)
<SANSd20> ok, so here is what i have...
<SANSd20> Width = 4;//[1:20]
<SANSd20> Height = 4;//[1:20]
<SANSd20> makeLoops(Width);
<SANSd20> module makeLoops(Width) {
<SANSd20>     for(i=[0:Width]) {
<SANSd20>         translate([(35) * i, 0, 0])
<SANSd20>             makeLoop();
<SANSd20>     }
<SANSd20> }
<SANSd20> module makeLoop() {
<SANSd20> difference(){
<SANSd20>     translate([17.5,17.5,6.5])
<SANSd20>     difference(){
<SANSd20>         cube([35,35,13.754], center=true);
<SANSd20>         cube([27,27,13.76], center=true);
<SANSd20>         }
<SANSd20>         translate([17.5,017.5,11.754])
<SANSd20>         linear_extrude(9, scale = 1.732) square(27, center = true);
<SANSd20> so I have it repeating n in x, how do i get all of that to repeat in the y?
<SANSd20> so a times in x, now i need to get it to repeat b times in y
<peeps> SANSd20: like this?   for(i=[0:Width-1], j=[0:Height-1]) { translate([(35) * i, (35) * j, 0]) makeLoop(); }
<SANSd20> Yes! thank you so much!
<peeps> you makin waffles? :P
<SANSd20> lol, nah
foul_owl has quit [Ping timeout: 245 seconds]
<SANSd20> its for a tile system for RPGs called Dungeon Blocks. they only have a 3*3, and well, I want to custom sizes.
foul_owl has joined #openscad
<peeps> ah, tabletop games?
<peeps> SANSd20: btw, for future reference its best to use a pastebin service (e.g. https://bpa.st/ ) if you are sharing more than a couple lines of code over IRC
<SANSd20> thanks, I think the last time I was on IRC was like 6 years ago...
guso78k has joined #openscad
SANSd20 has quit [Quit: Client closed]
JakeSays_ is now known as JakeSays
misterfish has joined #openscad
hyperair has quit [Ping timeout: 256 seconds]
hyperair has joined #openscad
misterfish has quit [Ping timeout: 252 seconds]
hyperair has quit [Ping timeout: 268 seconds]
hyperair has joined #openscad
misterfish has joined #openscad
misterfish has quit [Ping timeout: 276 seconds]
epony has quit [Remote host closed the connection]
arebil has joined #openscad
<pca006132> my current bytecode implementation should be in the right direction, with manually written bytecode (haven't implemented the translation yet), I can things like tail recursive functions running about 10x faster than openscad, 25% slower than V8 without JIT (because enabling JIT will automatically optimize away the simple code)
<guso78k> pca006132 maybe your bytecode interpreter and the python language can interface to a common socket  ?
<guso78k> this preview F5 preview feature with the goldfeather algorithm is saves you lots of rendering time during model creation. you dont want to miss that!
<pca006132> no, the interpreter is completely separated from other parts of openscad
<pca006132> preview should be split into something like a geometry library
<pca006132> currently I don't think about how to interface with existing code in openscad... if the abstraction is good enough it should not be too hard
<pca006132> and integrating it back to openscad is a long term goal, I am not in a hurry about that :)
<cbmuser> teepee: ping, chat please ;-)
arebil has quit [Quit: arebil]
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
mmu_man has joined #openscad
arebil has joined #openscad
fling_ has joined #openscad
fling has quit [Ping timeout: 240 seconds]
fling_ is now known as fling
epony has joined #openscad
misterfish has joined #openscad
arebil has quit [Quit: arebil]
RichardPotthoff has joined #openscad
foul_owl has quit [Ping timeout: 252 seconds]
califax_ has joined #openscad
califax has quit [Ping timeout: 240 seconds]
guso78k has quit [Quit: Client closed]
califax_ is now known as califax
foul_owl has joined #openscad
<gbruno> [github] j00ch opened issue #4902 (Have resolution option for "Export as Image") https://github.com/openscad/openscad/issues/4902
lastrodamo has joined #openscad
misterfish has quit [Ping timeout: 246 seconds]
<gbruno> [github] Hoek67 opened issue #4903 (libhogweed.so.6 failed to reference __gmpn_cnd_swap ) https://github.com/openscad/openscad/issues/4903
<gbruno> [github] Hoek67 edited issue #4903 (libhogweed.so.6 failed to reference __gmpn_cnd_swap ) https://github.com/openscad/openscad/issues/4903
L29Ah has quit [Read error: Connection reset by peer]
L29Ah has joined #openscad
<gbruno> [github] t-paul closed issue #4903 (libhogweed.so.6 failed to reference __gmpn_cnd_swap ) https://github.com/openscad/openscad/issues/4903
<pca006132> wondering if we should just remove the uni-build-dependencies.sh as it is basically impossible to maintain...
<pca006132> nix is a package manager that is supported across linux and mac, its flake is deterministic and reproducible, I wonder if we should move to having a build script for that
<pca006132> I can help with that, I use nix regularly
guso78k has joined #openscad
califax has quit [Remote host closed the connection]
califax has joined #openscad
J24k50 has quit [Quit: Client closed]
J24k50 has joined #openscad
arebil has joined #openscad
L29Ah has quit [Ping timeout: 260 seconds]
oldlaptop has quit [Remote host closed the connection]
arebil has quit [Ping timeout: 256 seconds]
teepee_ has joined #openscad
teepee has quit [Ping timeout: 240 seconds]
teepee_ is now known as teepee
misterfish has joined #openscad
oldlaptop has joined #openscad
L29Ah has joined #openscad
oldlaptop has quit [Remote host closed the connection]
misterfish has quit [Ping timeout: 240 seconds]
epony has quit [Remote host closed the connection]
oldlaptop has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
misterfish has joined #openscad
<t4nk_fn> I've been making some pens/pen-holders to put on my cnc, inserted into the spindle itself, works 'fine'
<t4nk_fn> I've used some parts of a pen that screws together, but now I'd like to make that part myself. so two tubes, say, that screw into one-another
<t4nk_fn> haven't done that much, and I'm wondering what the best way would be to make them fit together, and what kind of thread to use.. I'm looking at that BOSL2 library for inspiration
<t4nk_fn> and there's e.g. something like this: npt_threaded_rod(size=3/4, hollow=true, $fn=96);
<teepee> no idea about cnc, but for printing, I've used https://openscad.org/libraries.html#threads.scad with non-standard parameters
<t4nk_fn> and then use npt_threaded_rod(size=3/4, $fn=96, internal=true, $slop=0.1, anchor=TOP); to create the other part
<t4nk_fn> (nono, it's gonna be printed of course)
<t4nk_fn> https://dpaste.com/6HTQSWQZS I was looking at this for example, but the receiving part is based on a cuboid.. when I try to change that to some other form I get
<t4nk_fn> assert($parent_geom != undef, "No object to position relative to.");
<t4nk_fn> and I don't really understand what does that
<teepee> I have not used that threading stuff, the library from InPhase makes it so easy to get threads that are trivially printed
<teepee> yep
<teepee> thread_tooth_angle = 50;
<teepee> thread_pitch = 2.5;
<teepee> so it's not even close to critical overhangs and the big pitch works for anything reasonably large diameter
<InPhase> I use-tested a whole lot of printed threads when I designed that thing. :)
<t4nk_fn> lol
<InPhase> At one point I had a whole box full of them.
<t4nk_fn> I know the feeling yeah hhee
<InPhase> But like all useful code, it has that critical section that works well but that I want to destroy with fire because it is terrible to edit.
<InPhase> It would be easy to spot, as the section that is incomprehensible as to how its magic works.
linext_ has quit [Ping timeout: 260 seconds]
L29Ah has quit [Ping timeout: 256 seconds]
linext has joined #openscad
little_blossom has quit [Quit: little_blossom]
little_blossom has joined #openscad
misterfish has quit [Ping timeout: 268 seconds]
lastrodamo has quit [Quit: Leaving]
JordanBrown has quit [Read error: Connection reset by peer]
clemens3 has quit [Quit: WeeChat 2.7]
clemens3 has joined #openscad
epony has joined #openscad
little_blossom has quit [Ping timeout: 245 seconds]