<InPhase>
And thus that would be the place to post any additional information.
<PaulWay>
OK, cool, thanks!
<InPhase>
What is the "autocompletion window" supposed to be anyway?
<InPhase>
I saw that bug before and assumed it was some Qt/Wayland bug on that specific distro. No one else could confirm it, and I couldn't even understand from the description what they were actually doing to cause the problem.
<InPhase>
Does it just mean the editor's suggestion window?
<InPhase>
Also, do you get the same .Xcompose errors? It's unclear if that's related.
<PaulWay>
Basically the little pop-up window that shows you the choices of auto-completion for what you're typing.
<PaulWay>
So yes, the editor's suggestion window is probably another description.
<InPhase>
I'm heading to bed, but any additional information you can add to that github issue confirming identical behavior to the initial report or pointing out slight differences would be a good help for someone getting a sense of how to actually fix it.
<InPhase>
Or, getting a sense of whether it is fixable. It might be a library issue out of scope.
<PaulWay>
OK, sure.
<InPhase>
So if any of your library versions differ, that might reduce suspicion on that particular component.
<lf94>
I'm now trying to figure out a way to do some sort of culling
<peeps[zen]>
PaulWay: did you compile OpenSCAD yourself?
<PaulWay>
Yes.
<PaulWay>
I was getting this same problem in the Flatpak version I'd installed, so I thought there might be a bug that was fixed in the latest version.
<peeps[zen]>
if you can make a debug build, and get a backtrace from gdb, that might be useful
<PaulWay>
OK. Not sure how to do a debug build - I have a limited understanding of cmake as a build system.
<peeps[zen]>
cmake CMAKE_BUILD_TYPE=Debug ...
<PaulWay>
OK, will do.
<peeps[zen]>
er, sorry that should be "cmake -DCMAKE_BUILD_TYPE=Debug -DEXPERIMENTAL=ON .."
<PaulWay>
OK. Let me give that a try.
<peeps[zen]>
you might need to force "make clean" first or just wipe the whole build dir to be sure. have you used gdb before?
<PaulWay>
A while ago.
<PaulWay>
Probably about five years since I used it seriously :-)
<peeps[zen]>
well, there's not much to it to get a backtrace. just run "gdb ./openscad", then "run" from gdb prompt. reproduce the segfault, then "bt" to print a full backtrace
<PaulWay>
Yep,
<PaulWay>
See if it can compile and I get a backtrace to paste before dinner's ready :-)
<peeps[zen]>
cool :)
<PaulWay>
Great Shiznax, the 'downloading debug info for...' feature in gdb is new to me :-)
<PaulWay>
Very cool!
<PaulWay>
Hmmm - I might leave this to download all its debug info and go have dinner.
<PaulWay>
Back in half an hour or so.
<peeps[zen]>
cool, thanks for giving it a shot. i don't think i've seen that feature before either, sounds handy
<peeps[zen]>
its been a while since i used gdb directly too. i do most debugging through an IDE lately (still gdb as backend), but haven't needed it much for a while.
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
kaph has joined #openscad
kaph_ has quit [Read error: Connection reset by peer]
<PaulWay>
OK. Hmmm.
<PaulWay>
Odd.
<PaulWay>
Can't get the simple test case to fail.
<PaulWay>
But what's odd is that some of the standard words like 'cylinder' aren't showing up in the auto-complete selector box.
<PaulWay>
And I can occasionally get a 'GLEW Error: Unknown error' but it doesn't seem to crash.
<PaulWay>
Ah, OK, 'cylinder' is there when I type 'cy' but it's at the end of the list (and off the scroll page) when I just type 'c'.
<PaulWay>
However, what's not showing up is the usage hints - e.g. 'cylinder(h=height, r=radius)'.
<PaulWay>
And there's some weird behaviour on the word choice.
<PaulWay>
If I type 't', the box pops up with 'tan, textmetrics, ...'.
<PaulWay>
If I immediately type 'r', the box disappears.
<PaulWay>
However, if I then delete the 'r' and retype it the box appears with 'translate, true'.
<PaulWay>
Do I need to tell gdb to trace on all threads?
<PaulWay>
The "GLEW Error: Unknown error" seems to occur when I select 'new' or 'open' from the initial dialogue.
<peepsalot>
no, if you could reproduce a segfault, i'm pretty sure it would catch it regardless of what thread its on
<PaulWay>
Hmmm.
<PaulWay>
Let me try it without gdb...
<peepsalot>
not sure what's going on, i don't pay very close attention to intricacies of the suggestions
<peepsalot>
its possible that its one of those errors that doesn't show up in unoptimized debug code
<PaulWay>
Yeah, that's what's worrying me...
<PaulWay>
OTOH, I can't get it to fail in the RPM-installed standard version, and that was failing regularly before.
<ccox>
or uninitialized values/memory that won't show up when run under a debugger.
<peepsalot>
if you're still up for trying it, there's also -DCMAKE_BUILD_TYPE=RelWithDebInfo which should add some optimizations while keeping debug tables
<ccox>
(heisenbugs are the. worst.)
<PaulWay>
OK.
<PaulWay>
Give me a minute for that :-)
<PaulWay>
With -DEXPERIMENTAL=ON also?
<PaulWay>
I'm going with that...
<peepsalot>
depends if you want openscad's experimental features built or not. ON is akin to a dev-snapshot build, OFF (default) is more like a stable release
<PaulWay>
Experimental like what?
<ccox>
features still in development/testing
<peepsalot>
it enables some checkboxes in Preferences -> Features, things like "lazy-union" "VBO renderer" etc
<PaulWay>
OK. So I think the sense I'm getting from you then is that this shouldn't be causing the crash.
<PaulWay>
The problem is that now I'm not getting the crash, even in the RPM-supplied binary which used to crash every time.
<peepsalot>
er, i should say it unlocks them so you can set the features, but it won't enable any unless you've checked those preferences before
<peepsalot>
maybe wayland fixed their shtuff ;)
<peepsalot>
if you haven't been running a dev-snapshot where you set those "Features" preferences (so they would be saved as QtSettings), then EXPERIMENTAL should be inconsequential
<PaulWay>
Well, it was crashing earlier today. When I ran it with `env QT_QPA_PLATFORM=xcb ./openscad` it worked fine.
<PaulWay>
And when I do that it and type cylinder(, on the '(' it pops up a box showing the different ways of declaring a cylinder.
<PaulWay>
Without that QT_QPA_PLATFORM setting it doesn't pop that box up.
<PaulWay>
So I'm obviously not getting to some specific code path somewhere.
<peepsalot>
dunno, i'm off to bed though, sorry I couldn't help more.
<PaulWay>
No worries - I've at least got the tools to debug it if I can get it to happen again.
kaph has quit [Remote host closed the connection]
kaph has joined #openscad
kaph has quit [Remote host closed the connection]
kaph has joined #openscad
little_blossom_ has joined #openscad
little_blossom has quit [Ping timeout: 240 seconds]
<othx>
peepsalot linked to YouTube video "Why is there no equation for the perimeter of an ellipse‽" => 1 IRC mentions
<Jack22994>
this probably also apply to the length of spirals
<Jack22994>
Now i really wonder how ESA calculated Giottos path maybe incremental or the error was low in the swing by area
kaph_ has joined #openscad
kaph has quit [Read error: Connection reset by peer]
Jack22994 is now known as Jack22
ochafik has joined #openscad
ochafik has quit [Ping timeout: 256 seconds]
epony has quit [Ping timeout: 240 seconds]
epony has joined #openscad
<pa>
Jack22: thanks! will try that!
<Jack22>
check the paste from peepsalot - it is much more elegant
<pa>
checking :-)
<pa>
i also wanted to use $fn but i didnt know why.. ._.
<pa>
s/why/how
<Jack22>
$fn is the number of fragments so 360/$fn would be the increment angle
<pa>
and the for loop?
<pa>
360/$fn?
<pa>
as for the equalization, i thought i was rotating the children along the path
<pa>
but maybe i should try with sphere
<Jack22>
so you would use a loop i=[0:$fn-1]) let (angle= i* 360/$fn)
<Jack22>
pa yes you were rotating but on a ellipse that rotation is not uniform - why peepsalot calculated the rotation for each point with atan2()
<pa>
aha, i see
<pa>
thanks
<Jack22>
the second hull element get angle2= (i+1)*360/$fn;
<pa>
how do i specify default $fn? in the parameter list?
<pa>
yes
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
ochafik has joined #openscad
ochafik has quit [Read error: Connection reset by peer]
<Jack22>
pa not sure what you mean the $fn parameter can be used and also changed for that scope
<Jack22>
when you use a module EXAMPLE($fn=36) would use a different value if not specified
<pa>
well i meant how to specify a default, in case user does not when calling the module
<peepsalot>
just got back from my 2hr nap. adding $fn to elliptical extrude would be simple, i got you halfway there by adding a step value. just set step = 360/$fn;
<peepsalot>
also, the step is much more important at the sharp ends of the ellipse, which is why it would make more sense to do as a function of arc length rather than angle, but that's a big pain to compute (that whole perimeter of ellipse problem i mentioned)
<peepsalot>
you can set a default like this, just inside a module definition: $fn = $fn ? $fn : default_fn;
ur5us_ has joined #openscad
<Jack22>
you could use dynamic steps related to the ratio of the axis
<peepsalot>
actually, i guess its most logical to base it on the rate of change of the tangent, but i don't feel like trying to work out a solver for that
<Jack22>
pa if you call EXAMPLE() it would use the 36 if you call EXAMPLE(72) it would use 72 - in case of use a global $fn ⇒ what peepsalot wrote
<pa>
peepsalot: yes i added it, following Jack22 suggestion (changing step)
<pa>
peepsalot: yes i actually noticed that at the poles of the ellipse it gets stretched, so it would be nice to have it equalized, but i guess it's a tradeoff
<pa>
i can just increase fn for now
<Jack22>
peepsalot yes i thought that too maybe it works if you just compare the angle of two points if they are over a threashold you subdivide
<pa>
(sorry, i was checking the print :p )
<pa>
i remember i once come up with a solution for this problem, but i'm afraid i forgot it :-)
<pa>
i mean a solution without having to iterate or something
<pa>
iirc it was based on intersecting the circle (or ellipse) with meridians
<pa>
(but yea in that case it was an ellipse on a sphere)
<InPhase>
Are you looking for evenly spaced points around an ellipse?
<pa>
InPhase: that's what peepsalot was suggesting, i believe
<peepsalot>
yes, at first, but then: <peepsalot> actually, i guess its most logical to base it on the rate of change of the tangent, but i don't feel like trying to work out a solver for that
<InPhase>
That feels like it should be an easy expression.
* InPhase
ponders.
ur5us_ has quit [Ping timeout: 268 seconds]
<InPhase>
Okay, so apparently the exact solution is quite computationally intense due to elliptical integrals being unpleasant. It should still lend itself to a good approximation though I figure.
ur5us_ has joined #openscad
kaph_ has quit [Remote host closed the connection]
kaph_ has joined #openscad
ur5us_ has quit [Ping timeout: 240 seconds]
kaph_ has quit [Remote host closed the connection]
kaph_ has joined #openscad
PaulWay has joined #openscad
ur5us_ has joined #openscad
kaph_ has quit [Read error: Connection reset by peer]
kaph has joined #openscad
<InPhase>
peepsalot: An effective elliptical spacing fudger: https://bpa.st/EOEA At 10:1 ratios your brain will conclude they are adequately evenly spaced. At 100:1 you will perceive some deformities. But, it's also a quick straight pass calculation.
<InPhase>
Those deformities from equally spaced with this at 100:1 are still much closer to evenly spaced than straight angle usage though.
<InPhase>
At 2:1, 5:1, it's about perfect.
<peepsalot>
cool, now do one that's based on the rate of change of the tangent
<InPhase>
This does by line distances from a set of first-pass points, which is the tangent along the ellipse numerically estimated.
<InPhase>
It does an equal spaced set of angles, then gets points, then calculates interpoint distances, then renormalizes by that with a bit of a fudge factor that kicks in to work better at larger aspect ratio differences, and then generates again.
<peepsalot>
for an elliptical extrude, evenly spaced points would actually give a worse result. which is why i tried to correct myself (and repeated a couple times)
<InPhase>
I don't understand the correction. How does the tangent differ from equally spaced points along the outside?
<InPhase>
The tangent line is also the line oriented along the outside.
<pa>
InPhase: i guess peepsalot meas that if the rate of change (tangent) is low, the line is about straight, and so far away points do little harm
<peepsalot>
yes, you want the most points where the tightest curvature is
<InPhase>
Well straight angular spacing from the origin pretty much already does that.
<pa>
that is also true
<peepsalot>
not sure as I haven't tried to calculate it, but i would think that doing that would tighten them up *even more* around the ends
PaulWay has quit [Ping timeout: 260 seconds]
<peepsalot>
InPhase, i added an echo to my script: https://bpa.st/SWCQ that is the value which should try to keep constant along the path
<peepsalot>
it varies from 27degrees to less than 1 with regular angle spacing, at steps of 5 theta degrees. so, it would ideally be about 5 across the board
kaph has quit [Read error: Connection reset by peer]
<peepsalot>
InPhase, does that make sense now?
<lf94>
InPhase: see my project? :D
belba has joined #openscad
<belba>
hello
<peepsalot>
hi belba
kaph_ has joined #openscad
<belba>
I got a SpaceMouse Compact but I have trouble tu get it running with spacenav
<belba>
As I understand right, I have to compile openscad witch spnavd support to get it running?
<peepsalot>
sorry i don't have any experience with spacenav, but that sounds correct. what OS?
ur5us_ has quit [Remote host closed the connection]
ur5us_ has joined #openscad
<belba>
@peepsalot Ubuntu 18.04
<belba>
but usualli I'm using the Appimages in stable or a nightly build version
la1yv_a has joined #openscad
la1yv has quit [Read error: Connection reset by peer]
<peepsalot>
belba, looking at the CMakeLists.txt, it seems you need to pass -DENABLE_SPNAV=ON when calling cmake
<peepsalot>
i guess its not enabled by default for AppImage builds, not sure if that's intentional or just an oversight
<teepee>
the recommended way on Linux is using the joystick driver
<teepee>
the mouse should simply be detected as 6axis joystick
ferdna has joined #openscad
<belba>
@peepsalot I had problems to compile openscad, special with the qscintilla2 stuff, for that reason I gave up to compile
<belba>
@teepee thx for the hint, I read a little bit about this but my mouse was not reconized as a joystick. Perhabs I have more to investigate in this direction
<teepee>
hmm, strange, is it using that generic wireless dongle, or is it cabled?
<teepee>
oof, I just checked amazon, I have a "3Dconnexion SpaceMouse Wireless" which I bought for 130€, it's now 220€. that's crazy
<teepee>
and that is detected on Debian without any problems
<teepee>
that said, an installed spacenavd might interfere
<belba>
it is cabled and it is is the small Compact version. No problems with the spacenav driver under freecad it works
<belba>
I can disable spnavd, no problem
<teepee>
worth a test
<teepee>
I'm not sure if it's possible to build against spacenavd, maybe this just needs some build setup
<belba>
the prices for any kind of hardware are going crazy currently. My company where I'm employed has massive probles to get the right printer, barcode scanner and Raspis
<belba>
I will try it
<teepee>
oh, yeah, we looked at raspis a couple of days ago as someone needed 4 of them, that's tough in the near future
<peepsalot>
is spacenavd propreitary drivers or something?
<belba>
we need much mor of them, we have now ordered them in china via alibaba....
<teepee>
it's open source
<teepee>
there's a SDK by 3dconnexion but that license is totally impossible for open source
<InPhase>
peepsalot: Yeah. I 80% finished it, then had to go make the kids dinner. :)
<belba>
the original driver from 3dconnexion are propreitary and the Linux-version dosent support my small compact version
<teepee>
spacenavd provides some extra integration for older devices
<teepee>
uff, they don't support all devices even? that's quite a shit show :/
<belba>
how so often if you want hardwaresupport for linux :-/
<teepee>
unfortunately there does not seem to be much competition with those devices, very strange
qeed has quit [Remote host closed the connection]
qeed has joined #openscad
<teepee>
ah, sold directly via amazon it's 172€ but still quite expensive for what it is