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
castaway has quit [Ping timeout: 255 seconds]
snaked has joined #openscad
castaway has joined #openscad
LordOfBikes has quit [Ping timeout: 260 seconds]
lostapathy has quit [Ping timeout: 240 seconds]
LordOfBikes has joined #openscad
lostapathy has joined #openscad
hyvoid has quit [Quit: WeeChat 4.1.1]
FractOrr has quit [Quit: Client closed]
mmu_man has quit [Ping timeout: 255 seconds]
L29Ah has joined #openscad
J23k68 has joined #openscad
Guest63 has joined #openscad
Guest63 has quit [Client Quit]
J23k48 has quit [Ping timeout: 250 seconds]
MatrixBot1234514 has quit [Ping timeout: 255 seconds]
MatrixBot1234514 has joined #openscad
misterfish has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 264 seconds]
teepee_ is now known as teepee
misterfish has quit [Ping timeout: 246 seconds]
JoelJoel has joined #openscad
Joel has quit [Ping timeout: 255 seconds]
Lagopus has joined #openscad
JoelJoel has quit [Max SendQ exceeded]
Joel has joined #openscad
guso78k has joined #openscad
guso78k has quit [Quit: Client closed]
misterfish has joined #openscad
<JordanBrown_> Guest32: You can echo($vpt).
cart_ has joined #openscad
<J23k68> just  noticed that the "EXPORT-ERROR: Can't add triangle to 3MF model."  at least sometimes vanishes after flushing cache - which i find quite odd
lostapathy has quit [Ping timeout: 240 seconds]
misterfish has quit [Ping timeout: 246 seconds]
misterfish has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 264 seconds]
teepee_ is now known as teepee
lostapathy has joined #openscad
lostapathy has quit [Ping timeout: 246 seconds]
lostapathy has joined #openscad
rawgreaze has quit [Ping timeout: 240 seconds]
dTal has quit [Server closed connection]
dTal has joined #openscad
J23k68 has quit [Quit: Client closed]
J23k68 has joined #openscad
mmu_man has joined #openscad
mmu_man has quit [Ping timeout: 255 seconds]
arebil has quit [Quit: arebil]
mmu_man has joined #openscad
guso78k has joined #openscad
qeed_ has quit [Quit: qeed_]
<gbruno> [github] threed-factory-store opened issue #4817 (OpenScad adds a notch where there is none.) https://github.com/openscad/openscad/issues/4817
rawgreaze has joined #openscad
Guest27 has joined #openscad
Guest27 has quit [Client Quit]
noonien81 has joined #openscad
noonien8 has quit [Ping timeout: 258 seconds]
noonien81 is now known as noonien8
erectus has quit [Remote host closed the connection]
califax has quit [Remote host closed the connection]
califax has joined #openscad
erectus has joined #openscad
mmu_man has quit [Ping timeout: 264 seconds]
kintel has joined #openscad
<kintel> J23k68 Getting rid of errors after flushing cache is a known issue: We cache geometry, and sometimes we can partially reuse that cache for a full render. However, the cached format isn't the same as the intermediate format during full render, so sometimes geometry is not fully representable in the cached format.
<J23k68> I just find it weird that this changes how or if a 3mf file could be written -  stl export works fine
<kintel> Weird, but two different export code paths. Perhaps the 3mf exporter is less forgiving than the stl one.
<J23k68> I thought this is related to the amount of triangles (as i could export when lowering resolution) - and the order seems to play a role  ( all with lazy union and multiple objects)  -  but that dust flushing cache changes it was new to me  (using manifold)
<J23k68> s/dust/just
<kintel> Could be a different issue of course
mmu_man has joined #openscad
<kintel> Looks like this only happens if AddTriangle() in lib3mf fails. Which version lib3mf do you have?
<kintel> If you manage to reproduce this with a limited size model, it could be good to open an issue to see if it's reproducible elsewhere
<J23k68> i tried but i still have no clue why and when it happens .. high resolution models make it more probable  - sometimes very minor changes like increasing height by just a bit.   lib3mf version: 1.8.1
<kintel> We do have support for lib3mf 2 - wonder if that would change things
<kintel> If it's in any way related to caching, then it's likely a question of tiny vertex position differences, caused by rounding to float, so it would feel very arbitrary
<kintel> ..and tests wouldn't catch this as they don't re-render with cache
lostapathy has quit [Ping timeout: 240 seconds]
<J23k68> oh is this lib3mf 2  in 2023.11.08
<kintel> Not sure which builds would include it. Which platform?
<J23k68> windows
Guest8 has joined #openscad
Guest8 has quit [Client Quit]
<J23k68> what is also irritating is that the 3mf is written but if that error came the file is 0kb
<kintel> Looks like the Windows build is still on lib3mf 1.8, as MXE hasn't been update to lib3mf2
<kintel> Anyway, if you find a way of reproducing it consistently, ideally with a small model, that would make it possible to debug
lostapathy has joined #openscad
lostapathy has quit [Ping timeout: 240 seconds]
dustinm`_ has quit [Server closed connection]
dustinm` has joined #openscad
lostapathy has joined #openscad
mmu_man has quit [Ping timeout: 252 seconds]
<lf94> crazy you're talking about lib3mf - I *just* ran pacman -Syu and apparently it was renamed in Arch Linux from lib3mf-1 to lib3mf
cart_ has quit [Read error: Connection reset by peer]
cart_ has joined #openscad
L29Ah has left #openscad [#openscad]
<kintel> lf94 nice, lib3mf 2 in Arch Linux :)
<kintel> Someone should pick up that lib3mf contract I mentioned and get paid to get this sorted everywhere :)
<lf94> openscad's got funding now? :p
<lf94> say whaaat
<kintel> No, this is lib3mf funding
<kintel> 3 month contract apparently. I don't know any details, just notices it myself
mmu_man has joined #openscad
<lf94> ah
misterfish has quit [Ping timeout: 255 seconds]
<kintel> ..but last I checked, the lib3mf codebase was pretty shoddy, lots of weird re-implementations of something that looked like Microsoft COM or smth., not sure if that was address in lib3mf 2.
mmu_man has quit [Ping timeout: 246 seconds]
<guso78k> any clue why glLineWidth does not have any effect ? the line is hardly visible
<kintel> The maximum guaranteed line width is 1.0 I think
<kintel> Also, don't use glLineWidth - it's deprecated
<guso78k> sorry, just copied code '=D how can i get the line drawn thicker ?
<kintel> Ideally, render quads I think
<kintel> I know we have some old code in OpenSCAD using lines, we need to get that upgraded
<guso78k> quads are rectangles,
<kintel> There should be tons of ideas floating around as everyone had to move away from lines in OpenGL 3 and GLES
<guso78k> so ideally i drawn a  long long box with triangles which looks like a thick line ...
<guso78k> probably have to google around ...
<guso78k> all scale markers are lines. this could become a tough task '=D '=D
<kintel> yeah, it's a bit annoying to think about, so nobody has picked it up yet
<kintel> especially the numbers, as rendering text in OpenGL isn't particularly fun either
lostapathy has quit [Ping timeout: 252 seconds]
mmu_man has joined #openscad
SamantazFox has quit [Quit: Bye]
guso78k has quit [Ping timeout: 250 seconds]
lostapathy has joined #openscad
<lf94> seems 3d text in general is a PITA
<Scopeuk> I am curious how Prusa have implemented their warp text/svg around model in recent prusa slicer versions
mmu_man has quit [Ping timeout: 246 seconds]
<JordanBrown_> Do the Linux and Mac builds sometimes display two lines at the same time, like this?
<JordanBrown_> [ 6%] Bu[ i l7d%i]n g BCuXiXl doibnjge cCtX Xs uobbmjeocdtu lseusb/mmoadnuilfeosl/dm/asnricf/omladn
<kintel> I haven't seen that. Which terminal are you using?
<JordanBrown_> The MSYS2 console.
<JordanBrown_> It freaked me out the first time I saw it, but then I realized that it was just two things printing a progress line at the same time.
<kintel> I guess each OS has its own strategy for terminal output from multiple processes. I'd think this would usually be buffered though
<JordanBrown_> One might think.
mmu_man has joined #openscad
<InPhase> JordanBrown_: That's ridiculous... Does that happen often?
<InPhase> JordanBrown_: Not that you're ridiculous, I mean the outcome is ridiculous. :)
<InPhase> Parallel builds are not exactly new technology, and we're doing pretty standard variants of this.
lostapathy has quit [Ping timeout: 246 seconds]
<JordanBrown_> At a guess, about one line per build on the average.
mmu_man has quit [Ping timeout: 246 seconds]
gimzmoe has quit [Quit: WeeChat 3.5]
lostapathy has joined #openscad
gimzmoe has joined #openscad
mmu_man has joined #openscad
L29Ah has joined #openscad
quiliro has joined #openscad
<quiliro> hello
<quiliro> I would like to remove the part of a figure on one side of their intersection. This is the code https://termbin.com/wzpq . How can I do it?
<quiliro> In fact, there are 4 intersections.
<J23k68> use intersection()
gimzmoe has quit [Quit: WeeChat 3.5]
gimzmoe has joined #openscad
<J23k68> quiliro  make a difference of a cube or cylinder and remove 4  module COSH()linear_extrude(100)polygon([for(i=[-0.5:.1:.5])[i,cosh(i)]*10] );
<InPhase> quiliro: You want to generate both the upper and lower parts for each quadrant numerically, and use the max() function.
<InPhase> quiliro: You don't need to fix problems that you can avoid creating. ;)
<J23k68> with 8° https://bpa.st/TQ4A
erectus has quit [Remote host closed the connection]
erectus has joined #openscad
<quiliro> nice
<quiliro> Why is it that the 4 corners are not at the same height as the center?
guso78k has joined #openscad
<J23k68> because it is tilted
<J23k68> use 90 instead of 98 and it will be same height
snaked has quit [Quit: Leaving]
<J23k68> well the height difference ist the curve anyway
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
GNUmoon has quit [Remote host closed the connection]
misterfish has joined #openscad
GNUmoon has joined #openscad
<quiliro> I thought that it would be higher, not lower.
<quiliro> because of this 8 degree inclination....
<quiliro> for(i=[0:90:359])rotate(i)rotate([98]) COSH();
<quiliro> Why is that such a complicated piece?
<quiliro> Why isn't it just an extrusion of a catenary?ç
<quiliro> I do not understand how that for works.
<quiliro> Variable i starts at 0 and increments by 90 until it reaches 359 degrees.
<quiliro> so it is 0,90,180,270
<J23k68> COSH() is the extruded catenary   the  for loop makes 4 and rotate them by 90°  ( 0, 90 ,180,270)
<quiliro> why doesn't it work by itself or with the for but without the rotates?
<J23k68> the for loop generates  4 objects .. now you need to move them or they will be all on the same place
<quiliro> what is _ for?
<J23k68> you could use  for(i=[0:3]) rotate(i*90) COSH();
<J23k68> !cheatsheet
<J23k68> cheatsheet!
<othx> cheatsheet is https://www.openscad.org/cheatsheet/ for the release version and https://www.openscad.org/cheatsheet/snapshot.html for the development snapshot versions
<J23k68> follow the link
<quiliro> use  is in the cheatsheet?
<quiliro> wait...I want to know why you are using the _ character
<quiliro> catenary 
<quiliro>  the 
<quiliro> 90° 
<quiliro> use 
<J23k68> what?
<quiliro> I understand the code now: COSH() simply is the name for: linear_extrude(20,center=true)polygon([for(i=[-1:.1:1])[i,cosh(i)]*10]
<J23k68> yes a module ..
<quiliro> linear_extrude(20,center=true) polygon([for(i=[-1:.1:1])[i,cosh(i)]*10];
<quiliro> will not work by itself
<quiliro> why?
<quiliro> Yes, I know about modules.
<J23k68> packaging everything into modules makes  cleaner  code
<quiliro> linear_extrude(20,center=true) polygon([for(i=[-1:.1:1])[i,cosh(i)]*10];
<J23k68> And it is easier to reuse objects
<quiliro> does not work
<quiliro> I agree
<J23k68> you  need the function to calculate cosh()
mmu_man has quit [Ping timeout: 246 seconds]
<quiliro> for(i=[0:90:359])rotate(i)rotate([98]) COSH();
<quiliro> would do the same thing as:
<J23k68> but you can put that formula  also into
<quiliro> for(i=[0:90:359])rotate(i)rotate([98]) linear_extrude(20,center=true)polygon([for(i=[-1:.1:1])[i,cosh(i)]*10] );
<quiliro> ?
<J23k68> yes
<quiliro> oh
<J23k68> modules also give you the option to use parameters  like  » module COSH(l=20) linear_extrude(l)
<quiliro> I understand now why it does not work for me: it is recursive and I did not reformulate the recursion
<J23k68> but in your example there is no variance so it is not needed
<J23k68> there is no recursion
<quiliro> true
<quiliro> I want to decompose the pieces to understand them better
<quiliro> oh...there is the function cosh and the module COSH()
<quiliro> I did not notice that
<J23k68> yes you could even have both with the same name  - but to minimize confusion i use capital letter for modules
<quiliro> This warks: cosh=function(x,e=2.71828)(e^x+e^-x)/2;for(i=[0:90:359])rotate(i)rotate([98])linear_extrude(20,center=true)polygon([for(i=[-1:.1:1])[i,cosh(i)]*10] );
<quiliro> works*
<quiliro> now I can analyze it ....
<quiliro> it is still very complicated for me though....
mmu_man has joined #openscad
<quiliro> so cosh is a lambda!
* quiliro is learning so much that it hurts
<J23k68> you get used to it if you work  with it
<quiliro> yes
<quiliro> why do you use _
<J23k68> where?
teepee_ has joined #openscad
<J23k68> _ is a character like a letter  which is used because spaces can't be used also "- / * .  "can't
teepee has quit [Ping timeout: 264 seconds]
teepee_ is now known as teepee
<quiliro> in the chat too?
<quiliro> it is all over what you write
<quiliro> and they are not variables or commands
<InPhase> quiliro: Screenshot of that? You can share screenshots on imgur.
<quiliro> ok
<InPhase> I'm not seeing any extra _ on J23k68's text.
<quiliro> that is not an image...but it is the easiest for me
<quiliro> does it work for you?
<InPhase> I see only a single underscore there, where J23k68 specifically answers to you what _ is for.
<quiliro> after the word letter
<quiliro> there is a _
<InPhase> That's blank.
<peepsalot> i see two spaces after letter
<InPhase> Oh, it's actually ascii character a0
<quiliro> oh...I guess that emacs erc replaces the double space with a _ and a space
<InPhase> Sorry, unicode c2 a0
<InPhase> That's a non-breaking space.
<InPhase> So everywhere J23k68 presses space, his client inserts a non-breaking space. And your client is rendering non-breaking spaces as underscores for some reason.
<InPhase> They're supposed to be spaces though, so that's your system being weird. :)
<quiliro> thanks for the explanation
<InPhase> I meant to type, everywhere J23k68 presses space "twice".
<JordanBrown_> InPhase Unicode nit: c2 a0 is UTF-8, not Unicode per se. It's UTF-8 for Unicode U+00A0 NO-BREAK SPACE. c2 a0 is one of several possible ways to turn that Unicode code point into bytes.
<othx> guso78k linked to YouTube video "OpenSCAD improvement measurement tools" => 1 IRC mentions
<InPhase> JordanBrown_: utf8everywhere.org :)
<InPhase> JordanBrown_: One true path.
<JordanBrown_> Yeah, but still...
<JordanBrown_> The terms do have particular meanings.
<teepee> and even utf-8 is not a single mapping, it is for that codepoint though (I think)
<JordanBrown_> There are usually several possible UTF-8 encodings for a particular code point, because if the code point is naturally 1 byte, you can represent it as 2, 3, or 4, and so on. However, the over-long encodings are defined to be invalid.
misterfish has quit [Ping timeout: 240 seconds]
<teepee> yes, I think those are invalid, but for combining stuff you can have multiple valid conversions
<JordanBrown_> But if you ignore that rule, yes, U+00A0 can be represented as e0 82 a0.
<teepee> I don't think I fully understand the different forms, but that's probably fine :)
<JordanBrown_> Composition rules are ... ugly.
<teepee> guso78k: that looks great, I don't understand the last one though, did it say 36°
* teepee rewinds the video
<teepee> that last one should be 72° no?
<teepee> oh, it measures in order of the points
<teepee> that totally makes sense
<teepee> maybe there's a way to highlight that while the popup shows?
<JordanBrown_> There are four canonical representations for composition, though really only two of them are totally valid. NFC is the minimum-length representation (with all combining characters composed into single code points when possible), NFD is the maximum-length representation (with all combining
<JordanBrown_> lar except that they map together "compatible" groups of characters. For instance, the NFK* forms will turn non-break space into space, and super/subscripts into normal digits.
<JordanBrown_> characters expanded when possible). NFKC and NFKD are simi
<JordanBrown_> More than you ever wanted to know. And there's more still :-)
<JordanBrown_> But for any given resulting character, I believe there is one canonical NFD form and one canonical NFC form.
<guso78k> teepee, there are 2 ways how you can measure the angle between a line and a point ...
<teepee> I meant the last one with 3 points, just watching the video it was not directly obvious which angle is the 36°
<guso78k> and i  dont know how performant it is in a real linux. i still work in a VBOX. having the points in indexed mode would definitely be a speed boost
<guso78k> let me check last one ...
<teepee> watching the second time it was clear it's 36° because of the ordering of the points
<guso78k> yes, the angle is measured between pt12 and pt23 always
<teepee> like I said, totally makes sense :)
<guso78k> using this way you can even measure 60 degrees on a cube ...
Scopeuk has quit [Server closed connection]
Scopeuk has joined #openscad
califax has quit [Remote host closed the connection]
<teepee> I was just thinking if it would be possible to highlight that angle after the points are selected
<teepee> but the feature is great as it is already
califax has joined #openscad
<guso78k> highlighting edges was bit of a challenge. the tool displays a long thin rectangle facing toward the screen ;)
<guso78k> and i like openscad  to only highlight edges, which can be actually be seen (and no inner edges of faces after triangulation)
<teepee> as someone mentioned earlier, maybe prusa slicer can give some ideas
<teepee> I don't have used it much but the gui selection stuff is supposed to be quite good
<guso78k> it was J23k68. i used as it a basis
<guso78k> prusa slicer can detect circular edges and faces in addition.  will consider that next
<teepee> aha, cool
<guso78k> BTW distance between 2 lines in 3D space is defined as the minmal space where  distance vector is normal to both  lines ...
<guso78k> so if  lines are in same plane and they are not parallel, distance is 0.
<guso78k> however , measuring metrics is only possible with F6, not with F5 yet.
<guso78k> Its also possible to tap points with F5(however  now snapping to points is possible there) when I manage to successfully read the depth buffer.
<guso78k> Right now all my readings are 0.0 ;(
<quiliro> https://termbin.com/1xdo gives me 4 intersecting figures. I tries intersect() . But it would not work.
<teepee> it's fine, I'd say get F6 going nicely first
<quiliro> tried*
<quiliro> I want to get the common space to the 4 figures
<quiliro> maybe I should go back to module
guso78k has quit [Quit: Client closed]
guso78k has joined #openscad
guso78k has quit [Client Quit]
<quiliro> what is supposed to go between the parenthesis in intersection() ?
<InPhase> quiliro: All of your hopes and dreams.
<quiliro> oh!
<quiliro> my hopes and dreams would be to understand everything instantly
<InPhase> Excellent! Since that probably won't happen, it works out to empty parentheses.
<quiliro> so the parentheses do nothing?
<InPhase> Well you can't omit them.
<InPhase> It syntactically indicates that it's a module type call.
<quiliro> so you never put anything there?
<InPhase> Correct.
<quiliro> ok...dankon
<InPhase> Maybe somebody will add something in the future.
<quiliro> possibly
<InPhase> For example when we go to do volumetric coloring, union, difference, and intersection might need parameters to represent some of the options for how to do this.
<InPhase> Our rules for preview are kind of haphazard, but for actually making multi-colored prints, we might need more rigor.
<quiliro> ok
<quiliro> https://termbin.com/mqic does not work as I expected
<JordanBrown_> I don't think we'll need any control for difference. Negative objects don't get color, because they get removed from the model. For intersection, not sure, but using the color of the first object seems like a reasonable enough rule. Union outside the overlap volume is easy. Inside the overlap
<JordanBrown_> volume, either "first wins" or "last wins" seem like
<JordanBrown_> reasonable rules. "Last wins" has the advantage of being like a 2D paint program.
<quiliro> it does the same with and without intersection()
<InPhase> quiliro: exp(x) exists by the way.
<InPhase> WARNING: Normalized tree is growing past 20000000 elements. Aborting normalization.
<InPhase> What have you done with this design...
<quiliro> you mean for e^x ?
<InPhase> Yeah.
<InPhase> No need to define e.
<quiliro> ok
<quiliro> will correct that
<quiliro> I do not get that error.
<quiliro> Normalized tree has 404 elements!
<quiliro> Compile and preview finished.
<quiliro> Total rendering time: 0:00:00.136
<InPhase> quiliro: So the core problem with your design is that you are making the mutual intersection between all four of these types of things.
<quiliro> oh..sorry
<InPhase> And there is no mutual intersection between all four types.
<quiliro> I tried it now and get it
<quiliro> oh
<InPhase> I lowered 0.01 to 0.1 temporarily to examine your model.
<quiliro> only 2 types at a time?
<InPhase> Well, I don't know what you really want.
<InPhase> But if you did 2 of them at right angles, you would not get the empty set.
guso78k has joined #openscad
<InPhase> If you do all pairings of 2 at right angle, or 0 with the union of 90 and 270, and then 180 with the union of 90 and 270, you get a full grid of these. Although some of your alignments appear to be misaligned from what you probably want at the places that these overlap. You also might not be intending these overlaps.
<JordanBrown_> quiliro: intersection gets you only that part of the model that is filled in for *all* of the shapes that you feed to it.
<JordanBrown_> for your catenoide(0) and catenoide(270) shapes, the intersection is a bunch of vertical lines. When you bring in one of the others, it doesn't have any volume in common with those vertical lines, so you end up with nothing.
<JordanBrown_> Note that your cube() is a default cube, which means that it's all in the +XYZ octant. That means that when you rotate your catenoide figures 180 degrees, they shift by the size of a cube. You might consider adding ", center=true" to your cube() call so that everything is symmetric.
<InPhase> quiliro: You've sure tried a lot of varieties of ways to make this shape. :)
<InPhase> quiliro: Would you say that at this point you are struggling to get it right to what you want, or that you are playing around with the shape to learn more about the tool?
<JordanBrown_> With center=true, the intersection of all four is a bunch of vertical lines.
guso78k has quit [Quit: Client closed]
<JordanBrown_> ... which I suspect is not what you want, but it's more than the nothing that you were getting.
<quiliro> I am still struggling to get what I want, InPhase. I have learned a lot today. But my head cannot fit more.
<quiliro> I am tired.
<quiliro> Thank you for bearing with me
<quiliro> I will start again tomorrow.
<quiliro> I am at another level now.
<JordanBrown_> If you're having trouble understanding intersection, try a simple example like this one: https://bpa.st/7YKQ
<quiliro> I think that I understand much more thanks to you guys.
<JordanBrown_> Move the comment markers and # around to hide, show, and highlight various parts.
<JordanBrown_> If you have all three shapes turned on, you get the volume that is inside the cube *and* inside the sphere *and* inside the cylinder.
<JordanBrown_> The $fn is just to make them be rounder so they look nicer for the demo.
<quiliro> nice
<JordanBrown_> But yes, figuring out how to get the shape that you want by combining various more primitive shapes can be a bit brain-warping.
<quiliro> I wonder why my catenaries take so long and these shapes are a breeze to render
<quiliro> I did not know about #
<quiliro> very interesting
<quiliro> to get shades
<quiliro> of color
<InPhase> quiliro: I have an alternate approach to show you.
<quiliro> ok
<InPhase> quiliro: Does this look close? https://i.imgur.com/jlS5Hcz.png
<quiliro> although I am very tired
<JordanBrown_> # does not exactly give you shades of color.
<quiliro> no...I thought the top lines were straight before... but now I know they follow the catenary
<JordanBrown_> It highlights an object *whether or not the object is later cut away*.
<InPhase> quiliro: In what manner?
<quiliro> so it is like we were doing it today
<InPhase> quiliro: Dipping down and then up?
<JordanBrown_> It can be useful to help you find a particular object, or (as here) to make invisible parts of the object be visible.
<quiliro> yes, InPhase but at an angle
<InPhase> quiliro: With the final angle downward?
<JordanBrown_> If you want shades of color, that's what color() is for.
<InPhase> quiliro: Or the outermost angle is tilted up slightly?
<quiliro> it is a roof which will be hanging between 2 perpendicular walls
<InPhase> quiliro: Is the middle the highest point?
<quiliro> I would like to make it the easiest way to construct possible
<quiliro> the highest point does not matter...what matters is that the water goes to 4 points outside the roof
<quiliro> so the inclination of the 4 catenaries is the only thing that is important
guso78k has joined #openscad
<InPhase> quiliro: Like this? https://i.imgur.com/1aKu1G3.png
<quiliro> I think so, InPhase
<quiliro> we had something like that before, right?
<InPhase> I don't specifically recall.
<quiliro> which is the code for that?
<JordanBrown_> When I got the "WARNING: Normalized tree is growing ..." warning, my OpenSCAD would go out to lunch and would refuse to run programs. Pressing F5 or F6 would do nothing.
<InPhase> quiliro: https://bpa.st/OGDA Here's the code if you want to play around with it later.
<InPhase> quiliro: I saw you were already using functions to define it, so if you are, you might want to use the function plotting library I made a long time ago. This makes such efforts easier and gives a smoother result.
<quiliro> I waited a minute, JordanBrown_ ...then it came back when I changed the code and pressed F5 again
<JordanBrown_> Maybe I just wasn't patient enough.
<JordanBrown_> intersection() with a lot of objects is known to be a problem for preview.
<quiliro> InPhase: does that library have a libre license?
<InPhase> quiliro: Yes, CC0.
<JordanBrown_> It doesn't really surprise me; preview does black magic to do difference and even blacker magic to do intersection.
<InPhase> quiliro: CC0 is basically the creative commons public domain license.
<quiliro> yes, thanks
<InPhase> quiliro: i.e., do what you want, and no warranty. :)
<quiliro> LOL, yes
<quiliro> If it breaks, you get to keep both pieces!
<quiliro> I got an error though
<InPhase> quiliro: It was written before function literals, so it uses a wonky approach where "Func1" is a special function name it looks for, and so on.
<quiliro> WARNING: Ignoring unknown module 'PlotFunction' in file , line 17
<InPhase> quiliro: Someday it should be rewritten to use function literals, but I didn't get around to it.
<quiliro> nice
<InPhase> quiliro: Well, you need to get the plot_function.scad file from that url.
<quiliro> hope you do someday :-)
<quiliro> oh...I thought it did it just with the include
<InPhase> That would be nice, but alas, no.
<quiliro> where should I place it?
<InPhase> Either the same directory as your file, or ~/.local/share/OpenSCAD/libraries to make it available always with include.
<InPhase> Or the equivalent of ~/.local/share/OpenSCAD/libraries/ on your platform.
<InPhase> I keep a bunch of libraries setup in there.
<InPhase> Currently: closepoints.scad, dotSCAD, MCAD, plot_function.scad, smooth_prim.scad, threads.scad, and ub.scad
<quiliro> same error
<quiliro> even after restarting openscad
<quiliro> ~/.local/share/OpenSCAD/libraries$ git clone https://github.com/rcolyer/plot-function.git
<JordanBrown_> File / Show Library Folder
<quiliro> WARNING: Ignoring unknown module 'PlotFunction' in file catenaria.scad, line 17
<JordanBrown_> Make sure that it's the folder you expect.
<quiliro> let me see
<quiliro> it is correct
<quiliro> the plot-function directory is under that directory which was openned by File / Show Library Folder
<JordanBrown_> And you're not getting an error from the include?
<JordanBrown_> I would expect you to need to "include <plot-function/plot_function.scad>".
<quiliro> WARNING: Can't open include file 'plot_function.scad'.
<JordanBrown_> Right, it's not finding the include file so it can't find the module.
<quiliro> include <plot-function/plot_function.scad>
<quiliro> works
<JordanBrown_> Good.
<quiliro> I need to make something stretch the roof from the outside. I thought about a parabola. But a parabola will not work because it is not on a single plane.
<quiliro> 4 parabolas, one on each side of the square base...each one with another parabola pushing those parabolas vertically
<quiliro> to compensate for the forces that bend the parabola which stretches the roof
<quiliro> but first I would like to study the code that you have provided, so I can understand how to make it myself
<quiliro> thank bothe of you, by the way
<quiliro> both*
<quiliro> thanks*