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
califax has quit [Remote host closed the connection]
califax has joined #openscad
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
LordOfBikes has quit [Ping timeout: 252 seconds]
LordOfBikes has joined #openscad
J1A8479 has joined #openscad
J1A84 has quit [Ping timeout: 252 seconds]
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 268 seconds]
teepee_ is now known as teepee
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
Guest907 has joined #openscad
<InPhase> We really should improve the performance of typos.
<InPhase> I was testing my BBox on some real world examples. Worked fine except for the one that I ran on pointarras instead of pointarrays, which rather than 1 second of bounding box calculation for 163,172 points, it launched into 100% cpu for like 10 minutes before I killed it.
<InPhase> And unfortunately, this happens a lot.
<InPhase> Drop in some typo, you get undef, you propagate that undef through a bunch of involved calculations, and suddenly the runtime increases by more than a factor of 1000.
Guest907 has quit [Quit: Client closed]
<peepsalot> InPhase: stop on first warning?
<peepsalot> really instead of a checkbox I think we should just have a number entry "Allow up to __ warnings before halting."
<peepsalot> the error log gets increasingly slow after thousands of entries
<peepsalot> that was the biggest slowdown I observed anyways
<peepsalot> i remember profiling that when I was working on Console optimizations
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
<J1A8479> afaik if calculating points you always get a list of all points that failed to calc (even with stop on first warning)
<InPhase> peepsalot: Yeah, a numerical entry would probably do it.
<InPhase> One is not enough for me. 100 would be plenty.
<InPhase> I probably had closer to 2 million being generated in that model, which would never be useful for anyone.
<lf94> is smooth union in openscad yet
CuffLimbs has joined #openscad
emanuele6 has quit [Ping timeout: 245 seconds]
ur5us has joined #openscad
ur5us has quit [Quit: Leaving]
fling has quit [Ping timeout: 268 seconds]
fling has joined #openscad
teepee has quit [Remote host closed the connection]
TheAssassin has quit [Remote host closed the connection]
califax has quit [Read error: Connection reset by peer]
GNUmoon2 has quit [Remote host closed the connection]
aiyion has quit [Read error: Connection reset by peer]
aiyion has joined #openscad
GNUmoon2 has joined #openscad
califax has joined #openscad
TheAssassin has joined #openscad
teepee has joined #openscad
CuffLimbs has quit [Quit: Going offline, see ya! (www.adiirc.com)]
<gbruno> [github] Parkinbot opened issue #4321 (Feature request: simple view port animation without rerender) https://github.com/openscad/openscad/issues/4321
teepee has quit [Ping timeout: 268 seconds]
teepee has joined #openscad
fling_ has joined #openscad
fling has quit [Ping timeout: 268 seconds]
emanuele6 has joined #openscad
fling_ is now known as fling
teepee_ has joined #openscad
teepee has quit [Ping timeout: 268 seconds]
teepee_ is now known as teepee
fling has quit [Remote host closed the connection]
Guest62 has joined #openscad
fling has joined #openscad
Guest62 has quit [Client Quit]
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
ccox has joined #openscad
ccox_ has quit [Ping timeout: 240 seconds]
<teepee> ah, peepsalot is right, https://github.com/openscad/openscad/issues/4002 is a duplicate. J1A8479 on what operating system is that happening for you?
<J1A8479> windows
<gbruno> [github] UBaer21 edited issue #4002 (inconsistent render of transparent object in export png) https://github.com/openscad/openscad/issues/4002
<teepee> so that matches the other issue too
<teepee> I'll close this issue and copy the note over to the other one
<gbruno> [github] t-paul closed issue #4002 (inconsistent render of transparent object in export png) https://github.com/openscad/openscad/issues/4002
<peepsalot> weird i thought i closed it when i marked as duplicate
<teepee> github is acting strange a bit, I had to reload 3 times to actually comment
<joseph_> teepee InPhase: Yesterday and today I've been focusing on investigating the failing tests. I'll let you know when I have produced some fixes or run into a substantial block that I need advice about. I have not been focusing much more on the WASM build issue yet because I didn't hear whether I'll be able to find the dummy class elsewhere in the codebase already, or if it requires special knowledge from a community member
<InPhase> joseph_: Ok. Feel free to discuss intermediate bits of the work with more detail as well, so that you do not get stuck on confusing parts for long.
<InPhase> joseph_: It's not guaranteed anyone will know the answer to a specific question, but the price of asking is smaller than the price of long confusion.
<teepee> joseph_: looking at CMakeList.txt it's probably tied to the NULLGL define in code, which I can see in Render.cc for example
<teepee> with the dummy stuff at the bottom of that file
<teepee> from the error message I was guessing that class has a new method and this is not mentioned in that NULLGL case
teepee_ has joined #openscad
teepee has quit [Ping timeout: 268 seconds]
teepee_ is now known as teepee
<gbruno> [github] t-paul pushed 1 modifications (Update news ticker.) https://github.com/openscad/openscad.github.com/commit/ef0ed66f30f56d5bd95de0e654b38ff9608ed015
<linext> any recommendations for things to print on a resin printer?
<Scopeuk> linext can't recommend specific models but anything small and high/ultra high detail is what they excel at, jewelry mock ups, figurines that sort of thing
<Friithian> highly accurate model of a heart
<Friithian> minis, as always
<linext> i made the gear cube
peepsalot has quit [Quit: Connection reset by peep]
<InPhase> linext: Inquiring minds want to know: https://www.thingiverse.com/thing:1695879
<linext> depends what you're nailing
<Friithian> if the answer is wood, it's a solid lmao no
<InPhase> Well the ideal is softwood. :)
<InPhase> We just need good enough filament!
<Friithian> I tried ABS, PLA, PETG
peepsalot has joined #openscad
<linext> maybe if you predrill the hole
<linext> slightly smaller than the nail
<J1A8479> make the pilot hole bigger and give the nail some ratchets
<J1A8479> so it acts as dowel
<Friithian> give the nail a spiral groove on the outside and use that to push itself in
<Friithian> waitaminute…
<J1A8479> replace the plastic nail with a steel pin
<InPhase> Friithian: There's no need, just add a spiral groove and use them like ratchets when you hammer it in.
<Friithian> pewter? interesting
<J1A8479> they also exist as steel
<J1A8479> guess the pewter are deco nails
GNUmoon2 has quit [Read error: Connection reset by peer]
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
<pa> i suppose it's not possible to transform children with a function, instead of a matrix? like y = 0.2x + 1.5
<pa> or y_out = 0.2x + y
clemens3 has quit [Ping timeout: 240 seconds]
clemens3 has joined #openscad
<gbruno> [github] jbinvnt synchronize pull request #4305 (Select shader location) https://github.com/openscad/openscad/pull/4305
<J1A8479> pa sure  you just put the function into  a translate() command to move your child  or use multmatrix()
<pa> J1A8479: well i actually meant to, for example, scale a child with such a function
<pa> so that y wouldn't be scaled , say, 0.2, but proportionaly to x position of each point
<J1A8479> a child(ren)  is  an object not a point  .. you can use scale or multmatrix to independently scale xyz
<J1A8479> you would use a loop to move  (translate(p[i]) scale([i*.2+1.5, 1,1]) children();     you can also put a function into the scale that gets x of the point as input
<J1A8479> for(p=points) translate(p)scale ([p.x*.2+1.5,1,1])children();
<linext> anyone have a ideas for the domain name of a customizer site?
<teepee> oof, names
<J1A8479> oof.cloud
<J1A8479> oof.name Ü
<teepee> haha, good idea, leave it to the users to explain :)
<teepee> transform.cloud
<teepee> 3d.design
<InPhase> pa: $fn=24; module Foo() { multmatrix([[1,0,0,0],[0.2,1,0],[0,0,1,0]]) children(); } Foo() translate([2, 1, 0.5]) sphere(2);
<InPhase> pa: You just need to embrace the matrix math.
<InPhase> pa: Oops, that should have been $fn=24; module Foo() { multmatrix([[1,0,0,0],[0.2,1,0,0],[0,0,1,0]]) children(); } Foo() translate([2, 1, 0.5]) sphere(2);
<InPhase> Can't count when writing that compactly.
<J1A8479> hope i am not the bad influence that your code become unreadable like mine Ü
<InPhase> pa: I had flushed out that multmatrix section of the manual with some info and examples a while ago, so I think it will give a good explanation of that. Although if you aren't familiar with matrix multiplication on a vector, looking up that might help.
<InPhase> J1A8479: Hahah. Well I knew it was going to be a little long and wanted to one-line it for the paste. ;)
<linext> 2nd for 3d.design
<J1A8479> can't belive that 3d.design doesn't exist .. probably *.design are one of these 100k domains ..
<J1A8479> s/are/is
<InPhase> 3d.design is super memorable if you could get it. Can't beat that.
<J1A8479> ah 2 letter .. need to be 3  ..   http://ddd.design/   exist . .. and about 3 to 6 k per year
peepsalot has quit [Remote host closed the connection]
<linext> i want to find an unused domain
peepsalot has joined #openscad
<InPhase> 3dp.design
<InPhase> Oh, which is taken
<J1A8479> p?
<J1A8479> ah print
<J1A8479> oh already tomorow .. Ü
<J1A8479> hmm if i make an app that translate domain names into TOR adresses ..  i can sell every domain name Ü
<linext> .net or a .org seems applicable if users can allow their PCs to render other jobs
<J1A8479> *.DNS
<J1A8479> render.net
<linext> custom3d.design is $40 year
<linext> form3d.org $12/year
<JordanBrown> I keep thinking that it should be possible to write a skew() function that is more directly comprehensible than multmatrix(), but I suspect that to be general it would need to take a 3x3 matrix input, at which point it's almost multmatrix().
<teepee> isn't form3d the name of one of those first sla printers?
<teepee> and company?
<J1A8479> seems length to costs is anti exponential
<J1A8479> c3d.design ..
<teepee> ah, no formlabs and form 3 - close :)
<J1A8479> JordanBrown  i have skew in my lib .. as  M(skewxz=1)
<JordanBrown> I don't know what you mean by M(skewxz=1).
<JordanBrown> I have at least one skew* function in my library, but I don't remember what its semantics are. I just know it wasn't a general solution.
<J1A8479> M(skewxz=1)cube();   skews a cube along xz
<J1A8479> you sure can also have skewzx
<JordanBrown> It seems like having skewx(y,z), skewy(x, z), and skewz(x,y) would be more or less complete. All of them meaning "as you move in X, scale Y and Z", and so on.
<J1A8479> the most cases will be  Z axis skewed in X or Y  ..  for the rest you could rotate your object
<JordanBrown> Well, sure, but that's like saying that you only need scale([x,1,1]), since you can always rotate your object into the right orientation.
<J1A8479> you mean like rotate_extrude is always around Z ?
<JordanBrown> Yeah, true, and linear_extrude is always into Z.
<J1A8479> and you sure want to scale in 3D  but you rarely skew in 2 or 3 dimensions
<JordanBrown> https://pastebin.com/kuNtiNmU has skewx, skewy, and skewz and seem to do sensible things.
<JordanBrown> Skewing in three dimensions hurts my head.
<J1A8479> as said i have all 6 in one module, so you can combine them if wanted
<JordanBrown> I haven't truly wrapped my head around what skewing deeply *means*, so I'm not sure I'm really covering all of it.
<J1A8479> the problem is you need a 3D monitor as all this skewing lead to optical illusions
<JordanBrown> Yes, I was noticing that simple skewed cubes didn't look right.
<J1A8479> would be fun if like skew you could scale  along a dimension like  a sphere would become an egg
<J1A8479> so having a transformation boundingBox  that can also twist and bend
* J1A8479 going to sleep mode zzzzzzz
<JordanBrown> Wearing my "not a mathematician" hat and using terms that I'm not 100% sure of the definition of, I think that's not an "affine" transformation and can't be achieved with a 4x4 matrix multiply.
<JordanBrown> But yes, it would be nice if you could say
<JordanBrown> newpoints = [ for (p = points) myfunction(p) ];
<JordanBrown> and have it apply to geometry.
<JordanBrown> Well, hmm. 4x4 can do perspective transforms, and I think that's related. But I don't think OpenSCAD does 4x4; I think it only does 3x4.
<InPhase> J1A8479: Honestly I find "skewing" a fuzzy concept, but the matrix math is intuitive to me, so my mental mapping is "skewing is what happens when the number is there in the matrix". :)
<InPhase> I'm not really sure where people would go and pick up an intuitive mental model of skewing without it involving these matrices.