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
<phryk> yeah, if i can do :P
<JordanBrown[m]> It's based on the Thingiverse customizer, which has been around for a long time.
<phryk> never had any real contact with thingiverse.^^
<gbruno> [github] Randomv opened issue #4362 (Segmentation fault when using roof(method="straight") ) https://github.com/openscad/openscad/issues/4362
<ran> oh boy that's my bug report
<phryk> JordanBrown[m]: is there perchance also a feature hiding somewhere so you can extract module/piece measurements? that's still the #1 missing feature for me. :3
<JordanBrown[m]> Nope, sorry.
<JordanBrown[m]> Gotta just calculate 'em.
<JordanBrown[m]> Though you can always model a ruler and position it in your model.
<phryk> yeah, i am calculating them – but would love to have an easy way to actually view what their values are. :P
<phryk> yeah, that would be my alternative approach. i still have code for two modules lying around from someone here and the combination of those two will be what i want in lieu of a dynamic ruler feature. :)
<JordanBrown[m]> Yeah, it is unfortunately not at all obvious how it would fit into the language, as a language-based tool. (That is, mark point A in the program, mark point B, get the distance.) The problem is that modules are black holes; no information can come out of them.
<JordanBrown[m]> And as a UI-based tool it would require 3D geometry cleverness that so far nobody has spent the effort to figure out.
<phryk> JordanBrown[m]: I really don't think it would have to be a language tool. Just let me click to vertices and show the distance between them.
<phryk> s/to/two/
<phryk> "just" meaning it would be simple in interaction, not necessarily in implementation. :P
<JordanBrown[m]> Yeah, that's the UI-based idea. But it's hard. The previewer (what does the work when you F5) cheats. A lot. Nothing really knows what's on the screen. I know that's hard to believe, but I've read through it and sort of dimly understand it, and it's true.
linext has joined #openscad
<linext> i made some progress today on 3dcustomizer.net
<linext> i signed up for Amazon Simple Email Service
<JordanBrown[m]> The previewer does not, for instance, know what is in front of what. It lets the 3D graphics driver and hardware figure that out.
<phryk> JordanBrown[m]: any idea if this is any different in the rendered view? because to me it seems like the hardest thing would be to actually select the closest vertice on click – the vector math should be trivial.
<JordanBrown[m]> I use SES for my personal e-mail.
<linext> how much does that cost you?
<JordanBrown[m]> Negligible.
<JordanBrown[m]> Remember their primary customers are businesses, who send thousands and thousands of messages.
<linext> yea, it seems negligible, i filled out the sign-up form and they asked for more details on how i'm planning to use it
<JordanBrown[m]> It's a pretty small fraction of a penny per message.
<JordanBrown[m]> Yeah, I had to do that too.
<linext> mainly I plan to use it for email confirmation, forgot password, alert subscriptions for comments/new files
<JordanBrown[m]> When the full renderer is involved, it's more possible. At least then we know which vertexes and edges are actually present.
<linext> i wish there was a software mode for the preview mode
<linext> then it could be CLI
<JordanBrown[m]> I use it because I have my mail going through a low-budget HSP, and their servers got onto spam black lists too often.
<linext> yea, i'm self-hosting the site on my home ISP and can't send email from it without getting into trouble
<JordanBrown[m]> I get previews from CLI.
<linext> hmmm...
<linext> saving as an image?
<JordanBrown[m]> ues
<JordanBrown[m]> yes
<linext> i'll try it in Web Assembly
<linext> so far i've gotten custom fonts working, and importing an SVG
<phryk> JordanBrown[m]: is requiring rendered view a show stopper? like, i don't know how complex the average scad model actually is and how long it takes to render…^^
<JordanBrown[m]> I figure that people should think that mail that's being paid for is unlikely to be spam.
<JordanBrown[m]> What's "average"?
<JordanBrown[m]> Some models render in a second or two. Some take half an hour.
<phryk> hell if i know. I'm going out on a limb assuming you know more about this than I do. :P
<geoffder> Speaking of the CLI, I've always had some funny differences between GUI render and CLI render output
<JordanBrown[m]> There's a new renderer called "fast-csg" that is supposed to be a heck of a lot faster and may eventually replace the previewer. I haven't used it.
<phryk> mhh, and doing it in preview would likely require implementing what essentially amounts to a software renderer so you have some data structure of where all vertices are on the screen…
<JordanBrown[m]> Where all the vertices are is the easy part.
<JordanBrown[m]> Which vertices actually exist, and which are behind other objects, that's the hard stuff.
<phryk> oh, right, you'd have to cull non-rendered vertices, too. yeah, that sounds very much like a complete software renderer^^
<phryk> i wonder how tools like blender do this, because it at least doesn't *feel* like they do software rendering…
<JordanBrown[m]> The previewer draws *all* of the triangles. Including hidden ones, the backs, the triangles that make up negative objects for differences, the ones that are cut away by differences, et cetera. It does it in a clever way so that the display hardware throws away the ones that aren't in front.
<JordanBrown[m]> I more or less understand how it works for normal unions. I kind of vaguely understand how it works for differences. I don't understand at all how it works for intersections.
<phryk> that probably just means inverted vertex order for everything that's a cutout…
<phryk> iirc from my contact with raw opengl that's how you cut things out of shapes at least.
<JordanBrown[m]> I don't believe that it sorts the triangles.
<JordanBrown[m]> Except into "positive object" and "negative object" piles.
<JordanBrown[m]> But right now I can't remember how it works for differences.
<phryk> vertex order (clockwise vs counter-clockwise) determines what side of a polygon is it's front face. pretty sure this is the mechanism leveraged for this.
<JordanBrown[m]> It might well do stuff with that. I know that it draws the negative objects with clever draw modes.
J1A849437 has joined #openscad
<linext> from what i can tell, Web Assembly OpenSCAD outputs an STL even if you use a .PNG extension
<linext> or a 0 byte file
<linext> yea, it's not STL , it's a 0 byte PNG
<JordanBrown[m]> I don't know how you invoke it; did you check that you have options that work correctly on the desktop version?
<linext> i suppose i could try invoking the command-line in a terminal with no GUI
<JordanBrown[m]> But I think it may require real or synthetic hardware to do the previews, even if it's not drawing to a real screen.
<linext> seems to be the case
<JordanBrown[m]> I think on Linux it needs a dummy X server.
GNUmoon2 has quit [Remote host closed the connection]
<linext> Web Assembly OpenSCAD has many of the features of Linux
GNUmoon2 has joined #openscad
J1A8494 has quit [Ping timeout: 252 seconds]
<InPhase> The built-in customizer has been around for ages, but it has improved a lot in recent years.
<phryk> InPhase: it's nice to know that there's still movement. i keep dreading the death of openscad.^^
fling has quit [Ping timeout: 258 seconds]
<InPhase> peepsalot: Well, I deduce that std::mbstate_t is actually an internal storage struct brought over from the C implementation of this. It's not clear why they bothered to make it a template. I have not parsed the correct useful usage of this system, but it sure looks like some convoluted syntax. This reminds me of the recent attempts to make a templated system for dates and times.
<InPhase> phryk: Some? :) The next release will have some groundbreaking changes.
<phryk> InPhase: do tell.
<InPhase> phryk: Function literals are stable now, and rendering is running a LOT faster.
<phryk> function literals? you mean lambdas?
<InPhase> Yes, basically.
<phryk> ah, cool. still want nothing more than a ruler tho :D
<InPhase> phryk: I suspect we'll get a new release out before this work is done, but there's activity now discussing object literals, module literals, and dictionaries. There is also a PR sitting there for computational access to the vertices and faces of a piece of geometry, along with the bounding boxes of this.
<phryk> the rendering speedup is very welcome tho. i had already pause work on my tinyhouse design because it would render so slowly you essentially couldn't navigate the preview of the assembly.^^
<InPhase> It varies by model, but speed-ups are on the scale of 10 times to 50 times faster.
<phryk> hell yeah, a+ on dictionaries. that would at least enable me to pre-calculate a bunch of things and easily output them in viewport or console. :)
<InPhase> It's fast enough that we've pondered the concept that preview could go away someday. Preview is still a little bit faster for some models, but not much. It wouldn't take too much improvement to get render on par. It's not clear if that improvement is possible, but maybe.
<phryk> and i hear that would be a big step towards implementing a ruler for the UI. :P
<InPhase> Object literals might be a better way than dictionaries to track things like part information though.
<phryk> i have no idea what an object in context of openscad is, tho.^^
<geoffder> fast-csg brought my render time on the project I'm working on down from 10+ mins to ~30-40 seconds
<InPhase> Well, something like: mysphere = { myrad = 5; sphere(myrad); }; mysphere; /* <-- This renders the sphere */ echo(mysphere.size); /* <-- This outputs the size of it. */
<phryk> geoffder: how fast does your viewport update in preview mode for these models?
<InPhase> Oops, that should have been echo(mysphere.myrad);
<JordanBrown[m]> phryk: InPhase and I are still trying to figure out whether objects and dictionaries are the same thing. I think they are; he thinks they aren't...
<phryk> oh, that would be great.
<InPhase> JordanBrown[m]: I do still owe you some replies on this topic.
<phryk> JordanBrown[m]: heh, well intuitively i'd guess an object has associated geometry while a dictionary doesn't?
<InPhase> phryk: That was my perspective.
<geoffder> phryk: it's choppy, but not immovable. I haven't played close enough attention to know how much if at all preview has changed compared to without the changes
<JordanBrown[m]> If a tree doesn't fall in the forest, is there a sound?
<phryk> geoffder: still more than 1fps? tho?
<InPhase> phryk: But I'm entertaining the other notions. We are still contemplating design.
<geoffder> phryk: maybe a little
<JordanBrown[m]> that is, if you have a data type that can (or not) have name-value pairs, and can (or not) contain geometry, do you need two data types?
<geoffder> haven't timed it or anything
<phryk> geoffder: okay, that's much better than what i was used to. had like one frame every three seconds at a vertice count definitely below 10k…
<geoffder> phryk: I usually put on thrown-together if I want to rotate smoothly. Now with fast-csg I can just render though if I want
<phryk> JordanBrown[m]: technically I'd say no, but semantically yes. If I want an object, I want oopenscad to complain if I didn't actually define any geometry in there.
<InPhase> JordanBrown[m]: "Need" might be a loaded word, but I think some options are probably opened up with separation, because if you can guarantee there is no geometry, you can write syntax for working with dictionaries that doesn't even need to think about a lurking geometry.
<InPhase> phryk: Well, the current object proposals make the geometry optional. Even modules can have no geometry.
<InPhase> module Foo() { echo("I'm foo"); } Foo(); // This is perfectly valid.
<InPhase> Technically it's an empty geometry.
<phryk> huh, i wouldn't have assumed that to work… tho i guess it'd be handy to define debugging tools…
<phryk> InPhase: btw are you the person i knew as "kintel" in here?
<geoffder> phryk: for reference, this model has 254864 facets according to the rendering output, binstl of 12mb
<InPhase> phryk: No. kintel is off doing other things at the moment.
<geoffder> the .scad being almost 9mb of mostly polyhedra
<phryk> ah okay. i think back when i first got into openscad he was the one who answered all my stupid questions. wondered where he went.^^
<InPhase> phryk: teepee is for all practical purposes running the project now.
<InPhase> I'm not sure if anybody ever bothered to declare it as such officially, but that's the reality of it. :)
<phryk> with claire i know she's not interested in working on openscad anymore, she's doing fpga-centric hardware development tools nowadays if i'm not mistaken^^
<phryk> geoffder: okay, that'f far beyond the complexity i've even thought about approaching.^^
geoffder has quit [Quit: Client closed]
kwikius has joined #openscad
<JordanBrown[m]> InPhase: If they're combined, then there's only one syntax. If they aren't combined, you need an object literal syntax and a geometry literal syntax (maybe). If there's a geometry literal syntax, it probably looks like what I call "statement context", which means it has zero or more assignments and zero or more module invocations, and so can in zero-geometry cases look a lot like an object literal syntax.
<JordanBrown[m]> Or, maybe, you don't have geometry literals at all. You just have a way to invoke a module from expression context, and it returns a data item that is purely geometry.
<JordanBrown[m]> But what does "purely geometry" mean? Everybody wants to access the insides - bounding boxes, vertexes, et cetera, at least of a mesh form.
<JordanBrown[m]> So that either wants to look like an object/dictionary, or needs accessor functions.
<JordanBrown[m]> Avoiding geometry literals lets you use a different syntax - JavaScript syntax, say, or Python syntax - but you probably still want a geometry data item to look like an object/dictionary.
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
<JordanBrown[m]> Completely separating the two, so that geometry data items do not have user-controlled data values, *would* make one thing simpler: they could then have a schema that didn't have to try to avoid collisions with user-controlled values.
<JordanBrown[m]> And of course since those geometry objects would just be data values, the user could bundle them into plain old objects however they wanted.
LordOfBikes has quit [Ping timeout: 246 seconds]
<linext> i sent $20 to your opencollective.com/openscad
<phryk> \o/
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
<linext> i'm going to make an iframe that you can use to demonstrate examples using web assembly
<linext> 3dcustomizer.net/iframe?code=cube(...
<linext> leading to a compact version of this: http://3dcustomizer.net/generate-html-from-params/
LordOfBikes has joined #openscad
<phryk> oh, cool.
<phryk> not a big fan of doing things on the web like this, but it definitely has a wow factor^^
<linext> it's all web assembly, so it's inside the browser
<phryk> sounds like a great thing for onboarding and collaboration tho.
<phryk> yeah, same difference for me :P
<phryk> <- web developer of 15+ years and avid hater of js and doing everything in the browser :D
<linext> sort of like codebender.cc was useful for arduino sketches... https://codebender.cc/user/filadome
<linext> before they made it for $ only, with no free tier
<phryk> no idea what that is and unlike your site, it depends on a whole bunch of third-party requests.
<linext> the idea with 3dcustomizer.net is to render in the browser, and allow other users to render jobs for each other
<linext> for example, i've got a 9900k which can render way faster than a 1st gen i5 laptop
<phryk> you mean as in donating computational resources to do the renders?
<linext> yea, but still within the browser, donating the CPU resources would be done by keeping the tab open
<linext> i've got a few .scad files that can be used to benchmark the rendering speed
<phryk> okay, i have to concede that that sounds like a great boon for accessibility for people who can't afford powerful workstations.
<linext> or, say there are 1000 variations on a customizer that someone wants rendered...
<linext> like the name on a pen customizer
<othx> linext linked to "Retro Font Word Pen by BrandonW6" on thingiverse => 2 IRC mentions
<linext> prusa's printables.com has no customizer...
<linext> so the creators just generate a ton of STL files and upload them, for something like a name on a pen
<phryk> Mhh, but with all this happening in a browser, it won't be possible to donate resources by running a daemon – at least not unless you somehow wrap an entire browser in there…
<phryk> like you had for SETI@home, I ran that daemon for a couple years on my machines…^^
<linext> i suppose it could be done with Chrome Puppeteer in Node.JS
<phryk> Yeah, that immediately sounds like 16+GB of memory usage^^;
snaked has joined #openscad
<kwikius> Someone was asking about measurements, so i put the widgets I use on github. Here's a pic of doing x,y, z measurement. https://github.com/kwikius/scad_measurement/blob/master/measurement.png.  To do a x measurement just do x_measurement(distance,[x,yz]); where x,y,z is the point you want to measure from. Similar for y and z axes.
<kwikius> https://github.com/kwikius/scad_measurement . simple.scad shows useage
<phryk> gotta bookmark that stuff, currently deep in my desk design project^^
<phryk> got some caliper and other tool code from somebody here already tho that will combine to what i want. :)
<InPhase> phryk: "Do as I said, not as I'm paid." :)
<phryk> InPhase: not sure what you're talking about, but also did you mean "do as you're told not as you're paid"? otherwise I'm not even understanding what this would mean.^^
<kwikius> I use it for measuring my toy planes https://github.com/kwikius/dlg/blob/master/dlg.png . You have to jiggle it around a bit. Maybe you could add it to the customiser to move it around!
<InPhase> phryk: A reference to "web developer of 15+ years and avid hater of js and doing everything in the browser"
<phryk> ah, yeah. i only had web developer as a job for a fraction of that. most of the last 10 years i was happily unemployed and just hacked on my own stuff. :P
<phryk> tho the fact that having a job again enables me to build a bunch of stuff and lets me buy hardware is a definite boon. and i can't complain about my new job. part-time, part-foss, 100% remote and can manage my own time…
<phryk> also way more professional workflow wise. this time I'm told how to better utilize code versioning and write tests instead of fruitlessly trying to convince the rest of the company that those are actually thing you want. :F
<phryk> i can write honest to goddess test suites for my work projects and don't get yelled at for doing that. <3
<kwikius> I wasnt a fan of javascript till someone pointed out that by hitting Fn F12 in firefox, you get access to  javascript debugger :) yeah Baby. .. I use it with ESP8266  https://github.com/kwikius/ultrasonic_wind_sensor/blob/master/libraries/web_pages/compass_js.cpp
<phryk> I'm still deeply opposed to general-purpose client-side scripting. just give me more sensible CSS and add support for partial page updates right into HTTP/HTML… also bring back <keygen>! :'D
fling has joined #openscad
<kwikius> Cool feature of Javascript allows to use websockets https://github.com/kwikius/ultrasonic_wind_sensor/blob/master/libraries/web_pages/main_html.cpp#L31, so you can do realtime updates in htmlpages https://www.youtube.com/watch?v=_kloM0Tk8lo
<othx> kwikius linked to YouTube video "Wind speed and direction sensor from car reversing kit" => 1 IRC mentions
<phryk> kwikius: yeah, but HTTP is already built on TCP so there isn't really anything principally keeping HTTP from just keeping the connection alive and using it bidirectionally…
<phryk> I mean websockets is basically just TCP plus a HTTP handshake and handoff at the beginning…
<kwikius> but all you need is client side js to communicate with server. That really lowers the bar !
<kwikius> client side js in html page
<phryk> how does that lower the bar if you could just do connection.push('<foo data-id="fnord">bar</foo>') on your server and have the page replace the content of the element with data-id="fnord"?
<phryk> that way, you wouldn't have to do anything client-side. just make sure to stick data-id or whatever attribute would be used onto your html and you'd be done.
fling has quit [Remote host closed the connection]
<kwikius> / can't do this server side..:]
<kwikius>  <button class="button" id="startButton">Start</button>
<kwikius>  document.getElementById("startButton").onclick = function(e) {
<kwikius>  Socket.send("Start");
<kwikius>  }
fling has joined #openscad
<phryk> if HTTP got changed to persistent connections that would probably be the default behavior, tho…
<phryk> or rather, the form-encoded data of the associated form would be sent through the existing socket rather than just a custom string.
geoffder has joined #openscad
<kwikius> if is a big word .. anyway you can do clientside realtime with websockets and firefox for debugging :) , but probbaly wel OT for Openscad forum !
<phryk> true ^^
fling has quit [Ping timeout: 258 seconds]
fling has joined #openscad
kwikius has quit [Quit: Client closed]
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
pbsds has quit [Quit: The Lounge - https://thelounge.chat]
pbsds has joined #openscad
geoffder has quit [Ping timeout: 252 seconds]
fling has quit [Ping timeout: 258 seconds]
geoffder has joined #openscad
fling has joined #openscad
ur5us has quit [Ping timeout: 244 seconds]
fling has quit [Ping timeout: 258 seconds]
<phryk> https://paste.xinu.at/7lU6Ba/ aaaah, i can't stop /o\
<phryk> i should've gone to sleep… *looks at clock* 5 hours ago?
<geoffder> how could you stop
<phryk> i'm not sure. but I'm pretty sure I'll stop before i do any serious refactoring.
fling has joined #openscad
<phryk> will probably still add a bracer for structural integrity and at least do a first attempt at designing mount points for drawer/19" rack modules – and likely those modules :'D
<phryk> i kinda want to make wooden rails, but that sounds like a hilariously bad idea where things will be nice to assemble, then warp and be impossible to disassemble without a hacksaw^^
<phryk> gonna add a simple wooden rail on the bottom of the countertops to mechanically link both desks tho, that should be fine.
<geoffder> I'm mainly refactoring the generator right now myself, so not really changing the model from it's current state https://i2.paste.pics/50f36c7d9c7cbbdf89817e802bd7813f.png?trs=d150df21ba1d9d465890afd57f775ad254a8a0c4eed4da71c78f614cb5690991
<geoffder> feel very non serious making ergonomic keyboards in the face of serious furniture design haha
<InPhase> phryk: The forward facing legs need at minimum some half-height or better bottom shelf height bracing bars toward the back.
<InPhase> phryk: Otherwise those will snap like a twig and fold inward when he weight on top tilts everything toward the camera position.
<InPhase> s/he weight/the weight/
<phryk> InPhase: I'm really not sure what that means. my thought is basically adding a big triangle in the middle with a cutout for the cable tray.^^
<InPhase> phryk: There are 4 badly attached legs on camera side. For example, take the leftmost of those and run an attached bar back toward the bottom of the back left inset piece.
<InPhase> phryk: Otherwise the mounts of those legs toward the able top are a major stress point.
<InPhase> If they are metal legs and attached to a metal mount, you could get away with it as is. If those are wooden legs, this is probably going to lean or break.
<phryk> InPhase: you mean here? https://paste.xinu.at/7dX7L/
<InPhase> That will not help at all.
<phryk> hence my confusion.
<phryk> i'm planning on adding something in the middle of the left desk that will redirect downard force to the back
<InPhase> The problem is the leg is a lever.
<phryk> oooh
<phryk> good point
<InPhase> Now that addition still does not stop the leg being a lever side to side. But with those red cross bars in you could attach the cross bars in some manner with a triangle closer to the back to restrict side to side motion.
<InPhase> I assume you don't want to block the front with a shin height bar.
<phryk> correct.
<InPhase> But a horizontal triangle cross bar halfway back on the edge red bars would secure them decently, or something like that.
<InPhase> There's a lot more freedom in the middle portion. You could even replace those two red cross bars with a square shelf or something, since no human legs are going through those two pillars.
<phryk> am i correct in assuming that a 45° angle gives me the most bang for the buck, stability-wise? (this might be poorly worded)
<InPhase> Although usage wise it can be nice to swivel through those corners, but that would require removing those two legs and finding another mechanism to support that section.
<InPhase> Yes, 45 degrees is pretty good.
<phryk> okay, I'mma add some stabilization and get back here. Might take a bit tho. :P
<InPhase> https://www.ikea.com/us/en/images/products/bekant-corner-desk-right-black-stained-ash-veneer-black__0853469_pe714733_s5.jpg?f=s I have a desk not quite this but similar to this. I like to sit near the inset of the L, and like that I can swivel through it. (It has metal bracers underneath.)
<InPhase> Mine is slightly larger than the one in the photo.
<InPhase> https://ikeahackers.net/wp-content/uploads/2020/10/linnmon-floating-desk.jpg One I don't have, but showing people like to sit in the middle. :)
<InPhase> That one does not look so well supported, but might also have a meal bar underneath.
<phryk> i'm kinda assuming it's screwed to the wall^^
<InPhase> That second one is I think, yeah.
<InPhase> Anyway. I must sleep.
<phryk> and yeah, no swiveling through the corner for me, i think – my plan is having a 19" rack in a (yet to be written) module below the countertop somewhere.
<phryk> yeah, good night. ;)
geoffder has quit [Quit: Client closed]
la1yv_j has quit [Read error: Connection reset by peer]
la1yv_j has joined #openscad
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
Xeha has joined #openscad
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
ur5us has joined #openscad
<phryk> https://paste.xinu.at/CJSpf/ <- the triangular brace i was talking about
ran has quit [Remote host closed the connection]
castaway has joined #openscad
ur5us has quit [Ping timeout: 268 seconds]
<phryk> mhh, can i make "view edges" not also highlight vertices?
<Scopeuk> my work desk used to be like that
teepee_ has joined #openscad
<phryk> Scopeuk: integrated cable management plus dedicated space for a 19" rack?
<Scopeuk> with lcd monitors it was awesome, space for twin monitors keyboard/mouse and plenty of room for reference docs/books and a log book with no conflict for space. had cable management no 19 inch racking
<Scopeuk> I think for those you probably have to go to a music workstation style desk
<phryk> ah comes with integrated racks.
<phryk> wasn't even aware desktops for racks exist at all outside the realm of custom-made stuff.
<Scopeuk> the pro audio guys have a strange niche market for this sort of stuff
teepee has quit [Ping timeout: 258 seconds]
teepee_ is now known as teepee
<Scopeuk> event stuff like https://www.thomann.de/gb/millenium_rackstand_4u.htm (not so great for server gear as its angled up
ur5us has joined #openscad
<phryk> Scopeuk: heh, i got the components for the custom speakers i built this year from thomann.
<phryk> tho the 12" woofer chassis that i haven't built the case for yet i got from tlhp. :P
<Scopeuk> thomann are in my experience fairly pleasent to work with
<Scopeuk> that being said I haven't used them since we destroyed the uk eu relationship
<phryk> yup, tlhp was just cheaper.
<phryk> thomann is pretty stress free. also where i got the DC EQs from my weird DC audio setup from, besides some other stuff. :)
<Scopeuk> there is always the option for T<product name> with their Tamps etc
<phryk> i got a car amp as provisional solution. long term project is a custom 19" usb soundcard with one class d amp board and one µc for dsp per speaker component. ^^
<phryk> if i ever get that done, the next step will be having one or more measurement mic inputs – the goal would be just throwing up the soundsystem anywhere in the wild, pressing a button and having the dsp settings automatically adjust to the current environment. :3
<Scopeuk> there are some nice rack mouns speaker system controlers
<phryk> well, i want it as open hardware, so… :P
<Scopeuk> fair enough
<phryk> building my own socialist utopia one component at a time >:3
<Scopeuk> https://www.thomann.de/gb/the_t.racks_dsp_4x4_mini.htm is an interesting little box
kwikius has joined #openscad
fling_ has joined #openscad
fling has quit [Ping timeout: 258 seconds]
kwikius has quit [Quit: Client closed]
fling_ is now known as fling
<Scopeuk> even has a version with a 4 channel class d amp integrated. part of me wonders if that makes a nice hardware platfor a software solution
<Scopeuk> s/hardware platfor/hardware platform for
ur5us has quit [Ping timeout: 260 seconds]
fling has quit [Remote host closed the connection]
fling has joined #openscad
<phryk> Scopeuk: far as i can tell virtually all DSPs can only be configured from windows and sometimes osx. hence i want to do my own dsp…
<Scopeuk> that's fair, although I would be quite surprised if the usb connection isn't either hid or usb serial
<Scopeuk> I can fully respect people wanting to go fully open
<Scopeuk> goodness knows I've enjoyed enough of the fruits of their toils
<phryk> i hate vendor lock-in with a passion. can't wait for there to finally be riscv desktops you can fab in a garage. :P
<phryk> https://paste.xinu.at/hpqk/ i think this desk configuration should be stable enough :P
<phryk> now to finally think about them mountpoints
<Scopeuk> I might (due to being really lazy) have the two end square holes open (maybe optionally?) on the front side so you can just lay cables into the channels rather than having to pass them through the square
abff has quit [Ping timeout: 265 seconds]
<Scopeuk> that think does look overkill for most purposes
fling_ has joined #openscad
fling has quit [Ping timeout: 258 seconds]
fling_ is now known as fling
<phryk> Scopeuk: the cable try is just a tray, i.e. not closed, see: https://paste.xinu.at/LaqBo/
<phryk> s/try/tray/
<phryk> and it's not overkill, it's future-proof. :P
<phryk> I'll want to use that thing for at least 20 years. so it's good that it will be able to fit 2 19" racks and 7 screens (ignoring future upgrades for vesa mounts to stack screens vertically :P)
<phryk> i'll try getting together this desk setup and the first rack this year – in 2024 or so I might already have one rack for it infra and one for audio stuff – i implemented my audio system as DC so it can do outdoor raves, so that seems like an obvious way to go^^
<Scopeuk> phryk I was thinking the holes at the end facing out the side of the desk, its easier to take a cable hanging below the desk, lay it into the channel and just slot it in from the front than the pass the whole cable through the hole
<phryk> Scopeuk: the holes on the side are mostly for the side desk(s) so the cable tray can span the whole configuration.
kwikius has joined #openscad
kwikius has quit [Client Quit]
EkpyroticFrood has quit [Quit: So long, and thanks for all the fish.]
EkpyroticFrood has joined #openscad
snaked has quit [Ping timeout: 244 seconds]
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
noonien has quit [Quit: The Lounge - https://thelounge.chat]
GNUmoon2 has quit [Remote host closed the connection]
noonien has joined #openscad
teepee_ has joined #openscad
teepee- has joined #openscad
teepee has quit [Ping timeout: 258 seconds]
teepee- is now known as teepee
tachoknight has joined #openscad
teepee_ has quit [Ping timeout: 258 seconds]
hrberg has quit [Ping timeout: 246 seconds]
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
kwikius has joined #openscad
kwikius has quit [Client Quit]
fling has quit [Ping timeout: 258 seconds]
fling has joined #openscad
teepee has quit [Remote host closed the connection]
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
teepee has joined #openscad
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
castaway has quit [Remote host closed the connection]
TheAssassin has quit [Quit: No Ping reply in 180 seconds.]
JakeSays has quit [Ping timeout: 265 seconds]
TheAssassin has joined #openscad
JakeSays has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 258 seconds]
teepee_ is now known as teepee
Guest7980 has joined #openscad
Guest7980 has quit [Client Quit]
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
aiyion has quit [Remote host closed the connection]
teepee has quit [Remote host closed the connection]
aiyion has joined #openscad
teepee has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
fling has quit [Ping timeout: 258 seconds]
fling has joined #openscad
abff has joined #openscad
geoffder has joined #openscad
<phryk> InPhase: now that we've hopefully both slept, does this look good to you: https://paste.xinu.at/hpqk/ ? :)
TheAssassin has quit [Remote host closed the connection]
hrberg has joined #openscad
<InPhase> phryk: That should hold up. Your weakest point is the front edge legs against forces toward or away from the intersection of the table L shape.
TheAssassin has joined #openscad
<gbruno> [github] jlpettersson opened issue #4363 (Cannot import SVG file containing a single path) https://github.com/openscad/openscad/issues/4363
<InPhase> phryk: Your second weakest point is the leg held by two rods both running left to right, which is a little bit vulnerable to forces running perpendicularly to those support beams, but this is much reduced because it is double supported and one of those beams is very short. It's also inset positionally and unlikely to take heavy forces.
<phryk> InPhase: nice, i didn't even do the short beams for structural reasons, i just added them because i was still
<phryk> missing something to link both desks up.
<InPhase> phryk: A triangle support 1/10th of the height of the edge legs running in the direction toward the L intersection would lock those down to reall strong.
<InPhase> s/reall/really/
<InPhase> You will commonly see this sort of thing on tables for this reason.
<phryk> InPhase: you do realize that these are actually two desks, right?
<phryk> sec, lemme give you a screenshot in preview mode with edge highlight
<InPhase> Well you're working really hard at attaching them. ;)
<gbruno> [github] jlpettersson edited issue #4363 (Cannot import SVG file containing a single path) https://github.com/openscad/openscad/issues/4363
<phryk> InPhase: yes, but this *is* supposed to be a modular system and i'm only going to build the main desk at first.
teepee has quit [Ping timeout: 258 seconds]
<phryk> btw, why does a render seem to merge surfaces touching each other that aren't union'ed? that's always been a bit confusing to me…
<InPhase> Absent the rightmost half, a triangle toward the inside front on both outer legs of the primary left desk would be helpful.
jonasbits has quit [Remote host closed the connection]
<phryk> InPhase: why not the inner legs? i would assume that the countertop sagging would be my main issue with this setup…
<InPhase> You don't have inner legs on the left half?
<InPhase> Well, those short ones in the back, but the short ones are fine.
<InPhase> You get lever action on long legs.
<phryk> yeah, but i mean add two instead of one triangular reinforcement at the x position of those feet so forces from the front center region of the desk get redirected to those feet
<phryk> to combat the top sagging
<InPhase> What are you making the top out of?
<phryk> not 100% sure yet, because i haven't looked into the needs much, but my completely unfounded plan was to use the material for kitchen countertops.
teepee has joined #openscad
<phryk> also, essentially all of the measurements aren't final yet – i mean that's what i use openscad for – so i can pour the *concept* into code and then adjust everything to real-world needs. :)
<InPhase> Like, marble? Or one of those polymer materials?
<phryk> oh, not marble – i'm not that fancy. i want to get this done cheap-ish (maximum around 500€ all in all) – the stuff i'm talking about is a wood/polymer mix, i think – but take that with a grain of salt, I only have very little experience with physical manufacturing.
<phryk> i think the speakers i designed and built this year (mdf, sealed, so essentially just a simple cube with a hole for the cable) has been the first time i did any actual physical building stuff since my teens^^
<InPhase> Materials for top surfaces like that will typically have an overhang limit reported.
<InPhase> People like to make kitchen bars out of them, and they cannot extend out too far without support. :)
<InPhase> You can probably go twice that for an unsupported extension in the middle of two supports.
<InPhase> If it's too far, you'd have to frame it out.
<phryk> ah, okay, that's just a single variable, STAND_DEPTH. :P
<phryk> but the website of the local hardware store doesn't say anything about allowed overhang…
<gbruno> [github] jlpettersson closed issue #4363 (Cannot import SVG file containing a single path) https://github.com/openscad/openscad/issues/4363
<InPhase> Sure. But just take the material type and search for that. (Thickness will be the corresponding parameter.)
<phryk> …
<phryk> "Material: Wood" :')
<phryk> I think I need to find a better place to source my materials^^
ur5us has joined #openscad
<gbruno> [github] geoffder opened issue #4364 (Feature Request: Keep file tabs when editor is hidden) https://github.com/openscad/openscad/issues/4364
<phryk> oh, kinda of topic but tangentially related: do you have any idea how to go from openscad to fem solver? i could never figure this out because the only foss fem solvers i found either had no documentation or documentation that assumed you already know everything about the topic
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
<InPhase> phryk: I don't, although I've heard of people doing it. I guess you'll have to check available input formats.
<InPhase> phryk: I don't use fem solvers. I do that in my head. :)
<phryk> InPhase: yeah, i mean i do the same, but i'd be real nice to have math prove me right :D
<phryk> also at least for my tinyhouse design, I'll want an actual analysis because that thing is supposed to be transportable via truck and i'd also like to figure out if aluminium is an option to save weight…
<peepsalot> phryk: i'm curious about your job you mentioned last night, if you don't mind me asking. I'm currently looking for one and what you described sounds very appealing to me. /msg me if you prefer
<phryk> peepsalot: well, we're a *counts fingers* 4? person company and we do perl, c and other development with a specialization for icecast and other streaming things. i think we wanted to get one other person this year, but i'm not sure that's still current – also everyone is only working part-time and that's kind of company policy.
jonasbits has joined #openscad
<peepsalot> ah that's quite small
<phryk> yup. queries you our site.
<InPhase> phryk: I think you'll find aluminum out of your target price range for this desk.
<phryk> InPhase: i was talking about the tinyhouse design for that, not the desk. currently assuming 20k€ for that, tho that's essentially just guesswork.
<InPhase> Oh.
<gbruno> [github] geoffder opened issue #4365 (Line wrap leading to significant slowdown (with long lines) even when editor is hidden) https://github.com/openscad/openscad/issues/4365
<phryk> also, does anybody have recommendations for how to mount stuff on the underside of the countertop of my desk? i want to have some kinda rail so i can slide modules in and out – i was gonna make a chunky wood slidey thing, but i think wood warping will make it so that modules will just get stuck.
<phryk> so i looked into rail/drawer systems and now i'm just extremely confused by terminology^^
<phryk> at this point, i'm honestly considering just drilling a bunch of holes into the countertop and add some recesses so i can sink some rods with heads into them and hang the modules with nuts…
<peepsalot> modules of what?
<phryk> of the desk. i want exchangable modules i can hang under there. current planned ones are a holder for a 19" rack and a drawer module – but that's the thing if i come up with great new ideas, i just make another module that fits the mount and boom, upgraded desk. :P
fling has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
<peepsalot> i'd probably do something like dovetail slide
<peepsalot> also see french cleats
fling has joined #openscad
<peepsalot> the dovetail for a front loading desk module could be done as two french cleats turned on their side, and opposing
<phryk> peepsalot: dovetail is designed so it can be fixed under a surface and have things hanging off it?
<peepsalot> dovetail *slide*, different from a dovetail joint
<peepsalot> dovetail slide is more common in metal machining linear axis (such as on a lathe etc.)
<phryk> yeah, but the things i've seen for big table tools were just meant to be put on top – if the whole device was turned upside down, they'd just fall out – or am i talking about something different?
<phryk> i'm also extra confused because i got confused in two different languages^^
<peepsalot> just do a google image search
<phryk> huh, google image search actually does give better results than ddg…
<phryk> do these things have any ball bearings tho? kinda concerned about it becoming stuck if there's heavy weight hanging from it.
<peepsalot> no
<phryk> tho quite honestly, I'm not sure if that even *should* be a concern for me^^
<phryk> now if only i could find out how those things are called in german… literal translation apparently isn't it…
<peepsalot> seems like you are overthinking it
<phryk> peepsalot: possibly. my approach is dealing with as much complexity as possible up front so everything after the first push becomes easier ^^
<phryk> maybe i *should* just do the stupid wood construction i was thinking about and give it copious amounts of wiggle room *and* add at least 4 rods and nuts to fix things in place… probably the easiest *and* cheapest way to do it…
<phryk> stupid wood construction being essentially the dumber version of a dovetail slide – i guess you would call it a t-slide? i'm bad at terminology^^
<peepsalot> yeah, t-slot is common for fixtures (often in workholding)
<phryk> mhh, and to mount the slide on the underside of the desktop, i'd need rods and nuts or something anyways… so if i lower the inner 95% of the desktop surface i can just put a shitload of holes into the top and support multiple module widths, then just slap a rubber mat over the lowered part of the desktop surface and it's even a net improvement topside…
<phryk> thanks for helping me think this through :)
<JordanBrown[m]> phryk: > btw, why does a render seem to merge surfaces touching each other that aren't union'ed?
<JordanBrown[m]> Everything ends up unioned, even if it's only implicitly at the topmost level. But even if it wasn't, remember that this is mathematical space, not physical space. "Touching" means zero gap... not "tiny" gap. Two cubes at the same height that are touching have an absolutely continuous surface across the top. It's not like physical reality where you'll always have a visible seam.
<phryk> ah okay. i think my use for it might be of questionable legitimacy anyhow. mostly use rendering to get rid of the z-fighting for screenshots because i refuse making my cutouts bigger than they're supposed to be. :P
<phryk> mhh, i think i'll go for threaded rods through the entire height of my desk modules with nuts on both sides… only other way i see to make it sensibly sturdy when hanging would be to mill it out of a massive wood block – which would mean wasting 99+% of material…
<phryk> wait, there's also those crossbar-kinda things with a thread in them for screws… could drill some holes into module sides and use regular-length screws from top and bottom, brb trying to figure out what the heck those things are called ^^
<phryk> ps: if anyone knowledgeable about german terminology in this field is around, please do hit me up. :P
<phryk> hah, found it – "quermutterbolzen". thank you, german language ¬_¬
<teepee> never heard that
<phryk> teepee: are you a german speaker?
<teepee> yes
<phryk> heh, immeasurable depths of obscure terminology
<phryk> quermutterbolzen are these things: https://media.bahag.cloud/m/446858/15.webp
<teepee> yeah, I guess that thing needs such a strange name
<phryk> yeah, but i think they should be exactly what i'm looking for… drill one big hole on the side of the board to be able to place it, one smaller one for the screw from the top and you got a construction that actually distributes the load to the full board width.
<JordanBrown[m]> Amazon calls it "Cross Dowels / Barrel Nuts".
<JordanBrown[m]> So does Wikipedia: https://en.wikipedia.org/wiki/Barrel_nut
<JordanBrown[m]> Google search-by-image to the rescue!
<phryk> JordanBrown[m]: huh, i thought google had deprecated that service years ago?
<JordanBrown[m]> google.com, click on "images" in the top right.
<phryk> but yeah, image search with a site:de to at least partly narrow it down to local language results sounds like the best idea yet.
<phryk> yeah, i haven't been using google for ages^^
<phryk> my memory says ddg had reverse image search by proxying through googles service but ended that service when google did – but obviously my memory is wrong. :P
<geoffder> teepee: thanks for the input on the issues and the awesome work you do on openscad btw. I realize I should probably just start there (or here) instead of rambling into the void on the CadHub discord channel
<teepee> haha, there's certainly more openscad going on here :)
<phryk> praise be unto teepee and all contributors \o/
<teepee> still hoping for cadhub to continue
<teepee> but I suppose having cad as work makes the hobby part much less interesting
<teepee> indeed, quite a number of cool contributions lately, piling up a bit for merge unfortunately
<phryk> oh, cadhub looks fancy. i assume it's essentially a discovery/sharing platform like thingiverse but for slightly more serious things?
<teepee> yes and no. I think it mainly intended to be for code based cad stuff
<phryk> yeah, that much was obvious :)
<teepee> problem is that I think the python backend is still disabled for security reasons
<phryk> python backend?
<teepee> for cadquery
<phryk> ah
<phryk> mhh, buncha third party requests tho, including GA :/
<teepee> yep python execution currently disabled, see: https://github.com/Irev-Dev/cadhub/issues/611
<teepee> remains to be seen what happens with Kurt still around but seemingly having 0 time
<phryk> well, it's good that the code is open. so if i actually get invested in it, i can send in a PR to remove google analytics and fonts :D
<teepee> it's already a pretty impressive thing in it's current state
<teepee> I did manage to run it locally at some point, but it's a bit tricky due to the AWS dependencies
<phryk> ew. :F
<teepee> there was some bigger plan to redesign the backend but I'm not sure how far that got
<phryk> one of those projects that display really well, why i've taken a dislike to webdev… :/
<geoffder> yea irevdev seems pretty consumed by that kittycad startup
<JordanBrown[m]> It's really unfortunate that Python is not amenable to sandboxing.
<teepee> for some reason I thought kittycad was targeting open source when they announced their big plans like 2 years ago
<geoffder> JordanBrown[m]: by the way, was the question about where the tabs should be directed at me on the hiding tabs issue, or was it at "the room"?
<geoffder> Wasn't sure how to answer since I've never used the editor undocked and just want to be able to hide it
<geoffder> teepee: I don't think I'd heard of them that far back, but was pretty disappointing to see that it would be proprietary. Given the popularity of "code CAD" to begin with, I'm skeptical of the profitability of such a venture anyway
<phryk> mhh, the feature that'd be most interesting to me (namely linking up openscad projects hosted on my gitea) doesn't exist tho. there's apparently plans to add github, but i migrated off off that years ago…
<phryk> are there other sites for discovery of openscad projects?
<teepee> prusa does not specifically support it, but they have general tags
TheAssassin has quit [Ping timeout: 258 seconds]
<phryk> ah right, that was that weird commercial commercial site. i'm looking for something more under community control. does such a thing not exist yet?
TheAssassin has joined #openscad
<teepee> I don't think so, linext is working on something though which might go into that direction :)
<teepee> well the MakeWithTech stuff maybe also counts as community, at least it's not a 3d printer company but a youtube channel backing things
<teepee> and I have no idea where openscad.cloud is heading
<JordanBrown[m]> geoffder: It was directed at the room.
<geoffder> roger, I'll abstain from answering with my irrelevant opinion o7
<JordanBrown[m]> That question seems tied to your question about how tabs are handled when the editor is hidden.
<geoffder> Yes the issues are tied somewhat as far as my usecase is concerned, but I felt they were separate enough concerns to break up
<phryk> mhh, depending on how quick i get my new webframework in working order (i have entirely too many projects) i might build something to link up git repos of openscad projects to make them more readily discoverable. this seems to be a real missed opportunity and cadhub seems the closest to it but doesn't even look like there's plans to support alternative git hosters…
<linext> i got SMTP access today from Amazon and will write the account confirmation code
<linext> i was thinking it might be nice to integrate git for keeping a diff of "remixes"
<teepee> I always liked the idea of that decentralized thing network but it never really went further than some design docs and some sample code
<linext> hmm...
<linext> maybe it needs a peering system like usenet
<phryk> teepee: i actually think with gitea federation something like this might come into existence emergently.
<phryk> goddess knows i'll bug the gitea maintainers about federated discovery once they officially roll out the federation features. :P
<teepee> interesting, I have not heard about that
<phryk> teepee: https://github.com/go-gitea/gitea/issues/18240 <- check out the top level ticket, also https://forgefed.org/
<phryk> honestly, gitea is one of the best developments foss has seen in the last 20 years.
<teepee> ActivityPub like peertube?
<phryk> and like mastodon, yes.
<phryk> so you'll probably even have at least limited discoverability through other fediverse services. :)
<phryk> i really hope they implement adding an issue via AP social services, that would really lower barriers to entry.
<phryk> haven't read the forgefed spec yet, but if they end up with globally discoverable labels/tags, just browsing #openscad on mastodon might for example yield openscad projects that are just hosted in gitea. that would be my ideal scenario. :)
<teepee> if that federation is the best solution remains to be seen, but the current centralized setup is just a bad idea
kwikius has joined #openscad
<phryk> aye, the fediverse seems to be the first decentralized infrastructure that manages to actually pull in normal people, tho – so it currently definitely looks like the most promising thing.