<russnelson>
Hey folks. I want to do a complex animation, where one part moves for time $t=0 to $t=0.2, then it stays still and another part moves for $t=0.2 to $t=0.4, etc.
<russnelson>
Has anybody done something like this before (I expect so), and can you point me to their .scad file?
<russnelson>
My first thought (possibly naive) is to have a time controller module, which splits the time up into chunks, and so when you call this module and give it the sequence number, it returns a time between 0 and 1 .... which stays at 0 until the sequence begins, and then stays at 1 until it ends.
<russnelson>
Thanks, teepee.
<russnelson>
Wow, that code is sublime.
<InPhase>
russnelson: Door 6 was teepee's, door 24 is mine. We both went with the general strategy of calculating a motion segment fraction from 0 to 1 like that. I think it's the simplest way to manage multi-motion approaches, although clearly there are a variety of ways to prepare it and handle it. teepee's anim module with the dynamic $a variable is a particularly clean way to segment it if you can divide
<InPhase>
displaying systematically as in and out. The problem I faced in painting is that half of the behaviors needed to be transient (the different types of brush motion) while half needed to be persistent (the paint).
<InPhase>
Probably you could do something like anim but with negatives instead of undef, and then have it also receive an optional parameter for an activation range, and trigger on that instead of the is_undef approach. That might have been a smarter way to do the painting.
califax has quit [Remote host closed the connection]
califax has joined #openscad
Jack2287 has joined #openscad
Jack22 has quit [Ping timeout: 256 seconds]
ferdna has joined #openscad
LordOfBikes has quit [Ping timeout: 240 seconds]
LordOfBikes has joined #openscad
califax- has joined #openscad
califax has quit [Ping timeout: 276 seconds]
califax- is now known as califax
snaked has quit [Quit: Leaving]
snaked has joined #openscad
Colt has joined #openscad
RockClimb has joined #openscad
<RockClimb>
Hello
<RockClimb>
I was in a few days ago with a problem with openscad being very sluggish on a multiple video card multiple monitor system when typing. The temporary fix came down moving it to another monitor.
<ccox_>
were you able to figure out why the second monitor was slower?
<RockClimb>
I just wanted to report back that I found the issue in case you all should see it again. I had one of the smaller monitors set as "primary display" I turned that off it it works great on all 4 now. As for why, I do not know.
<ccox_>
ok. Still sounds like a bug in the video card driver software, though.
mitte has quit [Quit: WeeChat 3.4]
<RockClimb>
could very well be. I am running rather old hardware. In my testing I found other apps that were also affected but not as bad as openscad. Turning off the primary monitor setting has fixed all of the issues
<RockClimb>
I think the issue has been there since I switched to manjaro but it was not really noticeable unless you were looking for it..... until I ran openscad
<gbruno>
[github] kintel pushed 5 modifications (Fix crash issue; exceptions thrown when permissions deny access to files opened (#4061)
<RockClimb>
openscad is now 100% responsive and usable on both cards and all 4 monitors
<peepsalot>
teepee: it seems like mimalloc didn't override correctly on windows builds, i didn't see any notable performance difference, and can't get the MIMALLOC_VERBOSE environment variable to print stats to console etc.
<buZz>
pretty strong too but i havent measured or put my own weight on it :) its not strong sideways
<peepsalot>
I think I might have to link via DLL, as that is the recommended way to do it for windows, i was just avoiding that since I didn't want to have to deal with install/packaging of additional dll
<teepee>
yeah, normally the build is targetting a fully static exe
<peepsalot>
i'm also not sure if there's anything special that would need to be done for the .com vs .exe setup we have. i know the .com basically just calls out to the .exe but not sure if that interferes with the override methods in any way
<teepee>
the com is really separate and just runs the exe with stdout redirection
<teepee>
so that should not need anything
<InPhase>
veverak: imgur + bpa.st links are pretty reliable while these other viewer options are in intermediate dev states (cadhub) or broken (thingiverse).
<peepsalot>
yeah i just don't understand how the malloc override/redirection works or if that could possibly cause conflicts
<teepee>
I'm not 100% sure, my understanding is the exe is a GUI app so no stdin/out connected normally
<teepee>
where the com is a command line app which has stdin/out available
<teepee>
but that's all some crazy windows magic I don't really want to know much details about
<veverak>
anyway, my rack prototype for kallax is ... well ready to be prototyped
<InPhase>
teepee: I've never needed a .com to get stdin/stdout connected on Windows.
<InPhase>
teepee: Is the problem because we're missing the WIN32 flag on add_executable?
<teepee>
the com is only a trick to have both named openscad I believe
<teepee>
the actual difference is the exe type. I'm not even sure it's *actually* a com file
<InPhase>
Typically one is supposed to do add_executable(OpenSCAD WIN32 ...sources...)
<InPhase>
That tells it to use regular main() as entry, but don't open a console and treat it like a gui app. But stdin/stdout are still connected if it's launched from the command line.
splud has joined #openscad
<InPhase>
I've never even once launched OpenSCAD under Windows, but I do Windows builds at work, and it works fine on a direct exe launch with this expected behavior.
<teepee>
$ file openscad.*
<teepee>
openscad.com: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows
<teepee>
openscad.exe: PE32+ executable (GUI) x86-64 (stripped to external PDB), for MS Windows
<InPhase>
So then is openscad.com just a wrapper to open a cmd.exe window before launching the gui?
<teepee>
yep
<InPhase>
Ok.
<InPhase>
But the exe will still output to stdout if it is run from an existing terminal?
<InPhase>
I'm aware of the "open a console or don't" thing, but I never encountered failing to route stdout/stderr to an existing console that a program is launched from.
<InPhase>
Am I always doing something different from whatever our build process is for Windows, or are we talking past each other and not discussing the same thing?
<peepsalot>
dunno, got an example app that just works the way you say?
<InPhase>
Well I haven't fired up the Windows vm on this laptop since I switched laptops. Let me see.
splud has quit [Ping timeout: 240 seconds]
<InPhase>
Well... Turns out this vm is in a pretty sorry and badly functional state... That's what I get for trying to avoid home Windows use for years.
Guest79 has joined #openscad
<peepsalot>
you running windows updates for the next 8 hours?
Guest79 has quit [Client Quit]
<InPhase>
lol. We'll see if it will even do that.
<InPhase>
That would go better if the network connection still worked.
splud has joined #openscad
<Scopeuk>
InPhase it looks like under msvc there is a switch to set /subsystem:Console to switch the console behaviour
<Scopeuk>
it looks like gcc under msys has some similar switches
splud has quit [Ping timeout: 256 seconds]
<InPhase>
I primarily work under mingw on Windows. Although I've done the same under MSVC, but it has been long enough ago that I wouldn't remember if I had to waste time on a special setting.
rawgreaze has joined #openscad
rawgreaze has quit [Changing host]
rawgreaze has joined #openscad
<Scopeuk>
more than fair
splud has joined #openscad
<InPhase>
Well the libvirt docs (the thing that broke on my VM) have gotten truly abysmal. Paraphrased: "How to set it up: We can verify it is setup with this command. Now, moving on..."
<InPhase>
"A: For extra help see B. B: For extra help see A."
GNUmoon has quit [Ping timeout: 276 seconds]
<JakeSays>
what are you guys talking about?
<teepee>
mostly strange windows stuff
walterwhip has joined #openscad
<JakeSays>
i spent the better part of 4 decades working with weird windows stuff
GNUmoon has joined #openscad
<Scopeuk>
this is all rooted in the replacement maloc (mimalloc) that was recently integrated
<Scopeuk>
the replacement function does not overide if directly linked against an exe on a windows application as it does for osx and linux
<Scopeuk>
but it can overide inside a dll
<Scopeuk>
that led on to a potential issue with the windows cli handler (openscad.com) and indirect invocation implications for the dll methos