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
<gbruno> [github] t-paul pushed 3 modifications (Merge pull request #4354 from openscad/InformativeExceptions Catch and log std::exception for compilation.) https://github.com/openscad/openscad/commit/2fd5842c9c478b2690d4b8c9de2e1457175a20ba
<gbruno> [github] t-paul closed pull request #4354 (Catch and log std::exception for compilation) https://github.com/openscad/openscad/pull/4354
qeed_ has quit [Quit: qeed_]
qeed has joined #openscad
J1A8478 has joined #openscad
J1A84 has quit [Ping timeout: 252 seconds]
<linext> is there a way i can test openscad wasm stdout?
<linext> seems like warnings are going to stderr
<linext> can i force openscad to output something to stdout?
<joseph_> peepsalot: Here the test reports are linked and also dumps of the output geometry when running lazyunion-root-for in the debugger. https://gist.github.com/jbinvnt/abc92569d0711f4d1a26dd7b219f0c4c
<linext> what's the command to dump the STL to stdout?
<linext> it's not openscad input.scad -o -
<linext> also not openscad input.scad -
<InPhase> You must specify the type.
<InPhase> openscad input.scad --export-format binstl -o -
<InPhase> Or asciistl if you like bulky files.
<Friithian> ascii stl *barf*
<linext> yea, i got it
<linext> openscad input.scad --export-format stl -o -
<linext> openscad input.scad --export-format stl -o output.stl --summary all --summary-file -
<linext> this works in openscad.exe but not in openscad.wasm, openscad input.scad --export-format stl -o output.stl --summary all
<linext> It should print to stdout with a line beginning with "Bounding box:", but stdout is empty.
<InPhase> Well you took away the - and put it in a file?
<linext> which command?
<InPhase> The one in the image?
<linext> yea, the Bounding Box info appears in openscad.exe but not openscad.wasm
<linext> i'm trying to get stdout and stderr: http://3dcustomizer.net/generate-html-from-params/
<InPhase> Oh, because that doesn't go to stdout, it goes to stderr.
<linext> oh
<linext> hmmm... i guess that makes sense
<linext> maybe someone wants to dump a file to stdout and print the summary to stderr at the same time
<InPhase> Yeah, otherwise stdout of stl would fail.
<linext> ok
<linext> now i can do syntax checking on my demo
<linext> tell the user what the syntax error is and which line
<linext> i think that's enough for me, good night
<gbruno> [github] jordanbrown0 opened issue #4356 (Additional detail on `include` vs `use`) https://github.com/openscad/openscad/issues/4356
<JordanBrown> Somebody check my math, please.
<JordanBrown> For a triangle: circle(r=..., $fn=3)
<JordanBrown> One point will be at along the x axis at +r.
<JordanBrown> The directly-opposite face will be at x=-r/2 (right)?
<JordanBrown> That is, the total height of the triangle, from one of the faces to the opposite vertex, is 1.5*r, right?
<JordanBrown> that should have been "(right?)", that is, asking whether my conclusion there was correct.
<InPhase> Yeah. 360/3-90 = 30, so 30/60/90 triangle to the coordinate on the left, ((-1/2)*r, (sqrt(3)/2)*r)
<JordanBrown> You mean the 30-60-90 triangle that results from dividing the triangle along the X axis?
<InPhase> The one that results from the down the radial line to the origin, up along the y axis, and left out from there in the -x direction.
<InPhase> It's not part of the larger triangle. Just the coordinate position triangle along the axis directions.
<InPhase> All we need for it is the radius and that angle.
<JordanBrown> I'm not seeing the triangle you are describing, but I think I have a construction that is simple enough that I'm understanding it. If you divide the big triangle into six parts by drawing a line from each vertex to the opposite face, each of those is 30-60-90 with the hypotenuse being r.
<JordanBrown> The short side of those smaller triangles, the other side that leads from the center of the big triangle to the edge, is r/2.
<JordanBrown> Thanks. Having somebody confirm my conclusion is very helpful. I'm not all that surprised that it's that simple, but I also wouldn't have been surprised if it was irrational.
Furor has joined #openscad
Colere has quit [Ping timeout: 252 seconds]
<InPhase> JordanBrown: Super high production quality figure explaining the triangle I mean: https://i.imgur.com/LUklVgm.png
<Friithian> that arc *chefs kiss*
Furor has quit [Remote host closed the connection]
<JordanBrown> Got it.
fling has quit [Remote host closed the connection]
<JordanBrown> Always nice to have multiple constructions that agree.
<InPhase> Always concerning when they don't. ;)
<Friithian> that usually just means you're bad at matf
fling has joined #openscad
<JordanBrown> is the construction that convinced me
<JordanBrown> Not quite as high production quality.
Colere has joined #openscad
<JordanBrown> But my first attempt had gotten up to five measurements, and was confusing me.
<InPhase> I like how you weave the support beams together for extra strength. ;)
<InPhase> But yeah, I suppose that'll do it.
<JordanBrown> I drew it in Paint instead of CorelDraw because Paint starts a lot faster. I should have used CorelDraw.
<Friithian> you have a corel draw license?
<JordanBrown> yes
<JordanBrown> X3
<Friithian> huh
<InPhase> My physicist instincts are always to go to position vectors and axis components. Yours looks more like a math-reasoning approach.
<JordanBrown> My formal math is all 40-something years old.
<JordanBrown> I remember first principles OK, but have to re-derive everything else.
<InPhase> I used gimp, which as you will note, after many decades of development, still has zero support for drawing an arc.
<InPhase> The maintainers believe that is out of scope.
<JordanBrown> There's an argument that they are right. It's an image manipulator, not a drawing tool.
<InPhase> They want people to use other programs for that. (But there are no other good programs to do that well for this sort of purpose.)
<JordanBrown> Inkscape.
<InPhase> That's a program of desperation.
<JordanBrown> :-)
<Friithian> yeah I'd use inkscape for that
<JordanBrown> I use CorelDraw for most such things, because I have it. There are some things I don't like about it, primarily when I'm trying to do scale drawings.
<InPhase> When I need production quality figures like this, I use latexdraw, because inkscape is so hard to work with and so easy to destroy everything with.
<JordanBrown> Inkscape is not as good, but also natively works with SVGs and I sometimes need that.
<Friithian> inkscape is truely free, however
<JordanBrown> I bought the Corel Home package back when it was a straight purchase (not subscription) and when there was not nearly as much free stuff available.
<Friithian> my uni pays for adobe products, otherwise I'd have a license for corel for laser and plotter usage
<JordanBrown> It kind of surprises me how neither CorelDraw nor Inkscape understand that there are *three* scales that are of interest: the size on the screen, the size on the paper, and the size of the thing being drawn. I think both of them only understand two of those scales.
<Friithian> what do you mean?
<JordanBrown> I want to draw the layout of my 350x108 foot yard, and I want to put it on an 8.5x11 inch piece of paper.
<JordanBrown> So I want to say that one inch on the paper is, say, 30 feet.
<Friithian> that is… not something I would put under a main usecase of these programs
<JordanBrown> Why not? It's straightforward scale drawing.
<JordanBrown> Drafting 101.
<Friithian> they're not drafting programs
<JordanBrown> Maybe it's because what I have is a nail and so everything looks like a hammer, but they sure *seem* like drafting programs. Or at least they are close enough to be frustrating.
<Friithian> they're general vector graphics drawing programs, drafting is somethng much more specific
<JordanBrown> Yeah, I'd say drafting is a subset.
<JordanBrown> I don't remember how each of them is deficient when I try to do that sort of drawing, but they do.
<JordanBrown> It makes me want a 2D version of OpenSCAD.
<Friithian> openscad does 2d though
<JordanBrown> Only kind of.
<JordanBrown> Only does polygons, not line segments.
<JordanBrown> Yeah, you can fake line segments, but it's still fake.
<JordanBrown> You can't easily draw two concentric circles.
<Friithian> I feel like your hammer and nail analogy is true
<JordanBrown> You could, by writing a "circle" module that really made a skinny version of whatever you call a flat torus.
<JordanBrown> But the fact that you can't really do line segments and unfilled polygons is problematic.
<JordanBrown> Also for 2D work it would be nice to lock the rotation so that you're always looking straight down.
<JordanBrown> Thought I guess that's just "keep your finger off the left mouse button". :-)
<JordanBrown> Hiding the Z axis would be nice.
<JordanBrown> Hmm... orthogonal view, from +Z, does pretty well.
<JordanBrown> InPhase - did you have a chance to look at the glossary that I put into one of the object-related issues? It seemed like we were having problems with keeping everybody on the same page because of terminology, so I wanted to try to nail that down.
<JordanBrown> Or at least nail down as much as we could, so that we could focus on the parts that we couldn't nail don.
<JordanBrown> (I am *so* spoiled by the ability to go back and edit your messages in Slack.)
<JordanBrown> One of the unobvious things that may come out of the "object" work and some nearby stuff (like module literals and module references) may be helpful in the "how to structure libraries" picture.
<JordanBrown> You could have an entire library be a single object, so that its entire namespace was only one top-level identifier.
<JordanBrown> Say that it exported mylib; you could have modules mylib.pentagon() and mylib.dodecahedron(), and functions mylib.secant() and mylib.hyperbolic_arc_cosine().
<JordanBrown> For extra credit, add import(scad-file), so that you could say mylib=import("mylib.scad") and the intrusion on the namespace would be entirely under the caller's control.
<JordanBrown> There's a zillion details to work out, but the result seems like it might be fascinating... transformational, even.
<JordanBrown> Time to go socialize with the spousal unit.
fling has quit [Remote host closed the connection]
fling has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
ur5us has quit [Ping timeout: 244 seconds]
snaked has joined #openscad
Alexer has quit [Ping timeout: 255 seconds]
fling has quit [Remote host closed the connection]
snaked has quit [Quit: Leaving]
fling has joined #openscad
<peepsalot> <InPhase> [...] (But there are no other good programs to do that well for this sort of purpose.)
<peepsalot> have you tried krita?
<peepsalot> looks like a nice "paint" program, though I don't really have any experience with it either
<peepsalot> or, for actual geometry-specific stuff, geogebra
teepee_ has joined #openscad
teepee has quit [Ping timeout: 258 seconds]
teepee_ is now known as teepee
ur5us has joined #openscad
ur5us has quit [Ping timeout: 244 seconds]
califax has quit [Remote host closed the connection]
califax has joined #openscad
ur5us has joined #openscad
fling has quit [Ping timeout: 258 seconds]
fling has joined #openscad
fling has quit [Read error: Connection reset by peer]
fling has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
califax_ has joined #openscad
la1yv has quit [Read error: Connection reset by peer]
la1yv has joined #openscad
califax has quit [Ping timeout: 258 seconds]
califax_ is now known as califax
p3ck has quit [Read error: Connection reset by peer]
la1yv has quit [Ping timeout: 252 seconds]
ur5us has quit [Ping timeout: 255 seconds]
califax has quit [Remote host closed the connection]
califax has joined #openscad
p3ck has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 258 seconds]
teepee_ is now known as teepee
<InPhase> peepsalot: I think I tried it, dismissed it as barely functional, and then forgot about it a looong time ago when it was fairly new. But yeah, maybe I should give that another fair shot. Thanks for the idea.
<Friithian> krita is really good for drawing I have heard
<InPhase> JordanBrown: I haven't yet. I'd been sleeping too little this week and needed to get back to a full night's worth. I am now recuperated, and should be able to think about the big picture questions of objects this evening. :)
califax has quit [Remote host closed the connection]
califax has joined #openscad
tachoknight has joined #openscad
Alexer has joined #openscad
la1yv has joined #openscad
la1yv_j has quit [Read error: Connection reset by peer]
la1yv_j has joined #openscad
pa has quit [Ping timeout: 250 seconds]
pah has joined #openscad
qeed_ has joined #openscad
qeed has quit [Ping timeout: 252 seconds]
califax has quit [Remote host closed the connection]
califax has joined #openscad
pah is now known as pa
epony has quit [Remote host closed the connection]
pah has joined #openscad
pa has quit [Ping timeout: 265 seconds]
p3ck has quit [Ping timeout: 265 seconds]
J1A8478 has quit [Quit: Client closed]
J1A8478 has joined #openscad
califax has quit [Remote host closed the connection]
califax has joined #openscad
noonien has quit [Quit: The Lounge - https://thelounge.chat]
fling has quit [Remote host closed the connection]
fling has joined #openscad
noonien has joined #openscad
pah is now known as pa
p3ck has joined #openscad
castawayc has quit [Read error: Connection reset by peer]
teepee_ has joined #openscad
teepee has quit [Ping timeout: 258 seconds]
teepee_ is now known as teepee
castawayc has joined #openscad
ur5us has joined #openscad
califax has quit [Remote host closed the connection]
califax has joined #openscad
califax has quit [Remote host closed the connection]
califax has joined #openscad
ur5us has quit [Remote host closed the connection]
ur5us has joined #openscad
ur5us has quit [Ping timeout: 260 seconds]
ur5us has joined #openscad
<JordanBrown> GIMP may not be able to do arcs, but it's happy to do Bézier curves. You can also kind of do arcs by using Ellipse Select, then Stroke Selection, then erasing part of the resulting ellipse.
tachoknight has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<peepsalot> you have to do ellipse twice (subtracting from selection the second time) if you want an arc line as opposed to a pie slice
tachoknight has joined #openscad
<peepsalot> also i'm not sure if its trivial to get the exact same center the second time. idk, haven't tried in a long time because its a pain
<peepsalot> oh, just saw you mention "stroke selection" which sounds like maybe would not require inner/outer ellipse, i don't think I've seen that before
tachoknight has quit [Ping timeout: 268 seconds]
<gbruno> [github] thehans edited issue #4353 ("ERROR: Parsing aborted by unknown exception" after enabling fast-csg) https://github.com/openscad/openscad/issues/4353
<gbruno> [github] thehans edited issue #4353 ("ERROR: Compilation aborted by exception: Unauthorized intersections of constraints" after enabling fast-csg) https://github.com/openscad/openscad/issues/4353
<JordanBrown> The easiest way to get an arc-like shape in GIMP seems to be with the Bézier tool: ensure that "Polygonal" is not checked, then click one end of the arc, click the other end, click and drag the line and control points to form the desired arc, then Edit / Stroke Path / Stroke.
<JordanBrown> Note that Bézier curves can only approximate circular arcs.
<linext> i saw a demo of winamp milkdrop running in a web browser
<linext> pretty hopeful that other 3d stuff will make it into the browser
<linext> i started converting the code that takes input parameters and turns it into an html form, from PHP to JS
<linext> only a couple of pages worth of code