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 or report bugs: https://goo.gl/lj0JRI | Tutorial: https://bit.ly/37P6z0B | Books: https://bit.ly/3xlLcQq | FOSDEM 2020: https://bit.ly/35xZGy6 | Logs: https://libera.irclog.whitequark.org/openscad | don't ask to ask
ferdna has joined #openscad
ur5us has joined #openscad
linext has quit [Read error: Connection reset by peer]
<gbruno> [github] kintel pushed 3 modifications (Provide full test log as test artifact). https://github.com/openscad/openscad/commit/14d3a40716aa38191f04a2a98c774f0488a1e710
snaked has quit [Ping timeout: 260 seconds]
LordOfBikes has quit [Ping timeout: 260 seconds]
snaked has joined #openscad
<gbruno> [github] kintel pushed 3 modifications (Provide full test log as test artifact). https://github.com/openscad/openscad/commit/f2232bea582210f39fb3ff9097ee71004d255808
default__ has joined #openscad
sublim8 has quit [Ping timeout: 268 seconds]
LordOfBikes has joined #openscad
default__ has quit [Ping timeout: 260 seconds]
default__ has joined #openscad
The_Jag_ has quit [Ping timeout: 258 seconds]
The_Jag has joined #openscad
<gbruno> [github] kintel pushed 3 modifications (Provide full test log as test artifact). https://github.com/openscad/openscad/commit/e18b3caa0b8d5b31c26827bffd1a0aa408dd8f8b
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
snaked has quit [Quit: Leaving]
snaked has joined #openscad
Zauberfisch has quit [Read error: Connection reset by peer]
Zauberfisch has joined #openscad
fling has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
fling has joined #openscad
TheAssassin has quit [Ping timeout: 276 seconds]
TheAssass1n has joined #openscad
TheAssass1n has quit [Remote host closed the connection]
TheAssassin has joined #openscad
ur5us has quit [Ping timeout: 245 seconds]
ochafik has quit [Remote host closed the connection]
snakedGT has joined #openscad
snaked has quit [Ping timeout: 260 seconds]
ferdna has quit [Quit: Leaving]
ochafik has joined #openscad
snakedGT has quit [Ping timeout: 260 seconds]
snakedGT has joined #openscad
arebil has joined #openscad
default__ is now known as sublim8
ochafik has quit [Ping timeout: 260 seconds]
ur5us has joined #openscad
lastrodamo has joined #openscad
ochafik has joined #openscad
ochafik has quit [Remote host closed the connection]
ochafik has joined #openscad
ochafik has quit [Ping timeout: 246 seconds]
TheAssassin has quit [Quit: No Ping reply in 180 seconds.]
ochafik has joined #openscad
TheAssassin has joined #openscad
ur5us has quit [Ping timeout: 264 seconds]
linext has joined #openscad
ochafik_ has joined #openscad
ochafik has quit [Ping timeout: 260 seconds]
ochafik_ has quit [Remote host closed the connection]
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
ochafik has joined #openscad
ochafik has quit [Remote host closed the connection]
ochafik has joined #openscad
ochafik has quit [Ping timeout: 246 seconds]
ochafik_ has joined #openscad
ochafik_ has quit [Remote host closed the connection]
Jack has joined #openscad
Jack is now known as Jack21
ochafik has joined #openscad
<Jack21> https://bpa.st/FOBA - this confuses me .. I understand that the parent_module counts from where it was executed but not the $parent_module variable
<Jack21> so to get this working i need to add 1 if called from B
<teepee> hm? it's the nesting level, what do you mean by adding one?
<Jack21> if call this from B i have to add 1 to the $parent_modules to get the same result
<teepee> sure one more nesting level
<Jack21> so if C is only display "v" - and the nesting level is higher when called via the c module why is not also $parent_module executed on that level of C with the number there
<Jack21> it is taking the variable from level B but giving the list from level C
<teepee> I guess it's evaluated in C
<teepee> if you call it via v = pm(); C(v); it shows B
<Jack21> but if i evaluate $parent_modules directly in C it is higher as when called in the call C(v) from B
<teepee> yes because the call chain is B -> C
<Jack21> sure so why is $paren_modules from B not from C when called within the function
<teepee> it's not
<Jack21> as the function is executed in C and give the list from C
<teepee> it says the current level is C and the previous one is B which is correct
<Jack21> in both cases it shows the list from C
<Jack21> with C 0 but to see B in that list i need to call C(pm($parent_modules +1)); from B()
<teepee> no, the problem is simply passing that function directly
<teepee> assign it to a variable first so it gets evaluated at this point
<teepee> B() { v = pm(); C(v); }
<Jack21> yes this is only giving the list from B
<Jack21> i want the full list from c but witout adding +1 so how can i know how much more i have to add to get the full list
<teepee> that's the only odd part
<teepee> then actually pass the function not the result
<teepee> C(pm)
<teepee> and call v()
<teepee> echo(DispC=v())
ochafik has quit [Remote host closed the connection]
ochafik has joined #openscad
<Jack21> v() is not defined in C .. C is only display text when called from multiple modules
<teepee> sure it is, it's the parameter of the module
<Jack21> i can pass a function - ok this is new .. does this only work with literals?
<teepee> yes, passing old style function, you need to wrap in a literal
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
arebil has joined #openscad
<teepee> it looks like the release handles that differently, so I tend to think the function evaluation is a bug, it feels a bit odd with the current result
<teepee> not sure I agree with the release result tho :)
<Jack21> this is good to know but i can not change the call in C() as then it wouldn't call text from other modules anymore as it expects always a function ( the real C is joining text strings )
<Jack21> probably i have to use the variable in B so the function is working to display everything above B which is what i really care about.
<Jack21> i just found it weird that the module for parents is listing more than the parents variable
<teepee> it's probably due to the use of $parent_modules as default value
<teepee> that seems like it's not a good idea
<teepee> does not change the result in this case though
<teepee> (in the nightly build)
ochafik has quit [Remote host closed the connection]
ochafik has joined #openscad
<teepee> so now the question is what would be the actually really correct value :)
peeps[zen] has joined #openscad
peepsalot has quit [Ping timeout: 245 seconds]
ochafik has quit [Remote host closed the connection]
snakedLX has joined #openscad
ochafik has joined #openscad
snakedGT has quit [Ping timeout: 260 seconds]
ochafik has quit [Remote host closed the connection]
ochafik has joined #openscad
ochafik has quit [Remote host closed the connection]
<InPhase> teepee: Easy. Neither behavior makes any sense...
<teepee> agreed
<teepee> it should be B only, for the first, right?
<InPhase> I would think if anything.
ochafik has joined #openscad
<InPhase> The manual gives an example which is nothing like this. It seems there is an ambiguous definition of "parent" here.
<InPhase> The line 12 call treats parent as a module call stack trace. Line 6 in release treats a parameter evaluation as a child of the thing called with that parameter, which is very sketchy. And master ignores everything on line 6 and just makes up a nonsense C. :) We could say C has no parent because it's not A() B() C(); but then line 12 needs to return no parents too.
<InPhase> Since we got no bug reports so far I presume very few people are using parent_module, so I'm uncertain what the use cases in use are.
<InPhase> Jack21: Were you just playing or doing something real? If real, can you start by explaining what you were trying to do with it?
<Jack21> inPhase: i had a function that is generating a parent list and i was using this in a module to check if a certain parent module calling it so the information text changes - the text is displayed by another module. So and i wondered why the last parent never showed in the list.
ochafik has quit [Remote host closed the connection]
<Jack21> And is it was working great for changing the alignment when the module was called from a special one. Like rotate_extrude() changes the orientation but these modules doesn't show in the parents list - however when making a case where text changes it wasn't working until i add +1 - which caused issues "out of index" in the other module ..
ochafik has joined #openscad
<Jack21> so it is working now but i wondered if this is how it should be
<Jack21> I assume there is no way to pass a value to the parent directly which is calculated within a child object.
<InPhase> Yeah, not really. It has to go only one way or the other with information, and there are already special variables passing down the stack.
<InPhase> That establishes the compute stage execution order.
<InPhase> So those two use cases are basically debug information on how something was called, which is reasonable, and a sort of hacky inspection for a rotate. The latter could have probably been more cleanly a special variable indicator of what behavior to take in the child object.
<Jack21> i have a bezier curve and the control vectors are shown - so when rotate_extrude them i don't want them in xy but on xz so they align with the 3D object and sure there is a variable for this but as iam lazy as fuck i thought it would be nice if it automatically switch as long i didn't define the variable
<Jack21> the other case is information about the tangential points of a 2D model which i needed in the extruded 3D model - and sure i could copy the whole calculations but then there wouldn't be the need to use that separate module - i mean there is most always a workaround and i better way and there i my way - and then i come here and learn something
<Jack21> totally new which blow my mind and make me realize that i don't have a clue - Ü
<Jack21> btw. since when you can duplicate lines of code with crtl+shift+arrow ? and what are markers for ?
<teepee> no idea, maybe 2 years? github would know :)
<teepee> uh, almost spot on, Sep 2019 :)
<teepee> markers?
<teepee> oh, the bookmarks? well, like in real books, mark it, go back to that place later
<Jack21> ah so to jump between two code parts - i wish i learned this feature bit earlier - Ü
<teepee> yeah, we really need some documentation about all those cool gui features that are not visible via buttons
<teepee> also the ALT+CURSOR-UP/DOWN is probably not very well known
<Jack21> this is so awesome but in the new version the ALT+CURSOR LEFT is broken as you can't jump 10 100 anymore when going through zero
<Jack21> and i am used to check if something happens with bigger changes and then it stopps and i focus on the code and i passed Zero - bit anoying
<Jack21> also you could switch alternative modules A1 A2 A3 but now you need a space before the number
<teepee> yeah, I know, the current behavior needs to be improved
<teepee> as discussed before, it's a tricky topic :)
<Jack21> yeah and probably other like the scrolling ..
<Jack21> always fun to see how it was designed and how users using it ( in general not only oSCAD)
<teepee> yep, classic stuff
<teepee> workflow!
<othx> workflow is https://xkcd.com/1172/
<Jack21> and in scad it is so much simpler - in all other CAD programs you need to read through books to know that only one workflow is working and you just can't do how you think it should work
<Jack21> ( or like gimp where every part of the program has another workflow different to the others and nothing a graphic designer is used to do)
<Jack21> btw i started a prussa profile with some of my designs - if you wanna peek https://www.prusaprinters.org/social/167780
<teepee> nice!
<teepee> now I will note down your name in case we need help for a potential OpenSCAD advent calendar 2021 :P
<Scopeuk> I had been meaning to bring that up teepee. Get a head start compared to last year
<teepee> I've discussed that with cadhub too, that would have reduced the number of designs if all 3 projects would participate, but not seeing any actions there
<teepee> looking at the time it's probably too late for that one
<teepee> I was thinking something 3d printable this year, some maybe in multiple parts :)
<Scopeuk> I mean it would be cool to do a day by day print a day self assemble robot or similar https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQGp1YiWNp16Pc9j6zuCHsDHY_X7EpwkDtS4A&usqp=CAU
<teepee> but I'm open to pretty much anything if that helps more people to participate
<Scopeuk> Might be a bit of an ask though
<teepee> yes, something along those lines, I always wanted some sort of toy train set - fully printable with optional electronics
<teepee> way too late for this year, at least for me :)
<teepee> I have 3 things that potentially could stretch to maybe 8 parts
<teepee> bigger (like 30cm) christmas tree with slots for leds, simple case those cheap 20 led copper wire strips
<teepee> extended version rgb leds with esp32 :)
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
<teepee> otherwise something similar to the wooden heng lamp, and 3rd candle arch thingy (german: Schwibbogen :-)
<teepee> summary: stuff with LEDs :D
<Scopeuk> Would probably be fairly easy to print something that would clamp a basic led and a cr3032
<Scopeuk> If you got fancy you could probably make something to push and pull one of the legs as a switch
<Scopeuk> Fundamentally just a wedge
<teepee> yeah, nothing wrong with instead of 3 bigger 8 day projects having a couple of small fun ones too
<teepee> might be even better
ochafik has quit [Remote host closed the connection]
Jack21 has quit [Quit: Client closed]
Jack44 has joined #openscad
Jack44 is now known as Jack21
<Jack21> a bit chrismasy https://joindiaspora.com/posts/20542275 and with LED
<Jack21> or what about this https://joindiaspora.com/posts/19788878
<Jack21> or this with 4 RGB 3535 LED and ATTiny85 https://joindiaspora.com/posts/19059185
<Jack21> and another nice star https://joindiaspora.com/posts/16800546
<Jack21> teepee: let me know if i can be at service - Ü
<teepee> cool stuff
<teepee> what sort of licenses do you have for those?
<Jack21> always CC0
<Jack21> as the oscad code is also there
<teepee> awesome, we did that the last 2 years to, mostly thinking the scripts could serve as How-To eventually
<teepee> for the printed stuff I would not see that strictly needed, but if we can get the stuff out as CC0 even better
<Jack21> i think most things can be rewritten in a lectureious way without using my lib
<Jack21> i really like those pattern things https://joindiaspora.com/posts/20755237
* teepee can see increasing chances for an advent calendar happening this year again \o/
<Jack21> i also used a 3D printer as plotter for these https://joindiaspora.com/posts/21373734
<Jack21> and the gcode was made with open SCAD (echo in console window)
<Jack21> echo([for(i=[0:len(points)-1])str("G1"," X",points[i][0]," Y",points[i][1],"\n")]);
Jack21 has quit [Quit: Client closed]
Jack22 has joined #openscad
<Jack22> narf
<InPhase> Jack22: Did you see the past calendars?
<Scopeuk> I'd forgotten the fox and elephant were in there
<Jack22> inphase: yes last time i was visiting i stumbled upon
<InPhase> Scopeuk: Hiding behind the door.
<InPhase> 2020 is a prettier layout except for the door-clobber effect there.
<gbruno> [github] t-paul pushed 1 modifications (Merge pull request #3949 from openscad/update-linux-action
lastrodamo has quit [Quit: Leaving]
fardog has quit [Quit: ZNC 1.8.2 - https://znc.in]
fardog has joined #openscad
ur5us has joined #openscad
gunnbr__ has quit [Quit: Leaving]
<gbruno> [github] t-paul pushed 1 additions 6 modifications (Merge pull request #3948 from openscad/CGAL-fix-macos
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
snakedLX is now known as snaked
Jack22 has quit [Quit: Client closed]
gunnbr has quit [Ping timeout: 260 seconds]
ur5us has quit [Ping timeout: 260 seconds]