whitequark changed the topic of #solvespace to: SolveSpace--parametric 2d/3d CAD · latest version 2.3 · http://solvespace.com · code at https://github.com/solvespace/solvespace · logs at https://irclog.whitequark.org/solvespace
whitequark has joined #solvespace
<wpwrak> whitequark: regarding extrusion along an arc (or better), i guess that's not something that slvs will be able to do soon ? i.e., i should just implement the ugly hack that hopefully will accomplish something reasonably similar in my design (?)
<whitequark> wpwrak: ugly hack.
<whitequark> this is definitely post-file-format-migration.
<wpwrak> yeah, thanks
<wpwrak> btw, i'm compiling a list of ideas for improvements. when i'm done with the list, shall i put it in a big "sundry enhancement idea" bug, or break it down into smaller ones ? here's the current version (WIP): https://0bin.net/paste/SbExWmwrfnCcVLAn#tzcAmC3utLnysIxNzLpKOHPQxQxIakjSN1QrbXHxAxq
<wpwrak> (also, some thing may not make as much sense as i think)
<whitequark> add ability to deselect accidently selected item
<whitequark> you can do this via context menu
<whitequark> >support left/right alignment for comments
<whitequark> this can be done via custom styles already
<whitequark> >base rotation on the center of the current view
<whitequark> I'm not sure I understand what this means
<wpwrak> context menu = ?
<whitequark> right-click
<whitequark> also, any significant changes to the basic controls are probably out
<whitequark> especially to make them "like some other CAD program"
<wpwrak> right-click only gives me "unselect all"
<whitequark> this will just infuriate some other people instead
<whitequark> (right-click) right-click on the thing you've selected
<whitequark> hmm,
<whitequark> what the heck?
<wpwrak> ;-)
<wpwrak> (infuriate) remember "make" :) "oh no, while requiring that tab is weird, there's already a dozen people using this. i couldn't possibly change that now." years later, there are probably terabytes of "who does my makefile not work" queries all over the intertubes
<whitequark> wpwrak: that would be a good argument if one type of controls would be obviously superior
<wpwrak> yes, i think a unified rotation would qualify as "superior". plus, you'd free modifier+left/right for other fun uses
<whitequark> I don't
<wpwrak> (base rotation on center) ah no, seems that it's already done that way. i sometimes had the feeling that the rotation center was far away, but maybe that was just me being confused
<whitequark> I've used at least five different CAD packages, all with their little funny quirky control systems, and I resent them all
<whitequark> it's a matter of gritting your teeth and getting used to it, with no exceptions
<whitequark> maybe the least awful one is the 3dconnexion spacenav device, because, while it's pretty darn hard to get used to, there is no possible variation in how it's interpreted
<whitequark> but it's expensive so whatever
<wpwrak> (annoying cads) yes, what's particularly annoying is that not two of them seem to use the same mouse operation for pan and rotate
<wpwrak> what some do is support different styles, so one can just pick one that "feels good" / one is familiar with
<wpwrak> (custom styles) oh, nice ! are they stored in the slvs ?
<whitequark> es
<whitequark> *yes
<wpwrak> perfect
<whitequark> >maybe support arc vertical on line constraint ([)
<whitequark> what does this mean?
<whitequark> >maybe support generalized line on arc/circle tangent constraint (L), for construction
<whitequark> also, what does this mean?
<wpwrak> [: if you have two (non-parallel) lines, have an arc that's perpendicular to both
<wpwrak> instead of: for lines A, B, add construction lines X and Y, perpendicular to A and B respectively, then make both tangents to arc
<wpwrak> L: place a line such that it is a tangent to an arc. e.g., when preparing the geometry of something that will touch something else. in the anelok example: a screw cylinder vs. the battery cylinder
<whitequark> mhm
<wpwrak> instead of: construction line from center to arc, then construction line perpendicular to the tangent line. admittedly not too horrible a construction, but still adds clutter. and you've seen the point cloud i already have ;-)
<wpwrak> i sometimes spend about a minute trying to figure out where exactly in the haystack a given point is hiding :)
<whitequark> I'm partial to the arc-endpoint-line-perpendicular constraint, in part because it avoids adding a useless DOF
<whitequark> line tangent to an arc/cirlce, not so much
<whitequark> it would be two new constraints internally, the construction is very simple (a line and two constraints) and it doesn't add a DOF
<whitequark> you also don't get any new points compared to a dedicated constraint
<wpwrak> yes, the tangent construction is less atrocious than the one for perp-to-arc
<whitequark> I don't think the tangent construction is problematic at all
<whitequark> there's not a goal of providing every imaginary building block prepackageed
<whitequark> btw, look closely at how the arc-line-tangent constraint is implemented
<whitequark> specifically add one then delete pt-coincident
<whitequark> and move stuff around
<whitequark> this is what I mean by "this doesn't give you any less points"
<wpwrak> ah yes, i see that i can make "tangent on line" where only the arc has to have the endpoint there. close ;)
<whitequark> hm? what do you mean?
<whitequark> ah I see. but that's not what I was pointing at
<wpwrak> what you suggested. then add pt-on-line instead of the coincident
<whitequark> no, don't add any constraint. just move stuff around.
<wpwrak> then the arc end seems to follow a parallel to the line. a parallel that's also a tangent
<whitequark> yep
<wpwrak> and i can also add a perpendicular ;-) i guess at some point, slvs should warn you that you're doing things that will not be all that easy to reproduce unless you have very good memory :)
<whitequark> anyway. you can file them all as separate issues. many are easy to fix. some I'm going to reject but it's still good to have that recorded in the bugtracker, with the rationale
<wpwrak> anyway, of all the suggested constraints, the ones that special-case A B B C an A P B P are the ones that would be the most useful, since these are pretty common operations.
<wpwrak> okay
<GitHub> [solvespace] whitequark opened issue #179: "Unselect hovered" is broken https://github.com/solvespace/solvespace/issues/179
<wpwrak> grmbl. gitlab is having a loong downtime for some upgrade. incredible. banksters have their high-frequency trading with response times measured in milliseconds, and us coders have to endure minutes if not hours.
<whitequark> milliseconds? milliseconds is high
<wpwrak> i wonder how long until the redesign their stock exchanges into spheres, to optimize space vs. distance use
<whitequark> wpwrak: this is one of those cases where reality is weirder than satire
<whitequark> I've seen a proposal to use neutrino beams for communication, to avoid the curvature of Earth
<wpwrak> btw, one little mystery: 1) i open a new design, draw something, e.g., a rectangle, and all is well and fast
<wpwrak> 2) i open something heavy, create a new workplane on top of the heap, then do my little drawing there. things are sluggish. on the console, i see things like "Generate::DIRTY (for bounding box) took 473 ms" followed by "Generate::DIRTY took 1150 ms"
<wpwrak> why ? the amount of stuff to recompute is identical in both cases
<whitequark> not really
<whitequark> the tracking of dependencies isn't particularly precise
<whitequark> evil-spirit has some patches to improve that, but I'm not convinced of their correctness yet
<wpwrak> are they test-worthy ? my anelok design is getting painful to work on, with those 1-1.5 s lag pretty much a best-case scenario. i get things in the order to 3-4 s as well :(
<whitequark> they are
<wpwrak> "It is problem just for ~16 groups." heh. i'm at about 36 now.
<wpwrak> (gitlab) yuck !
<wpwrak> good that all i have there is duplicated through git
<wpwrak> that gitlab thing is quite the horror story. i guess that's why pilots have strictly controlled work time limitations. though they still sometimes # rm <the_wrong_engine>
<wpwrak> hmm. another fun issue: delete a line in an "old" sketch, deep in the groups list; slvs deletes a bunch of groups along with it, tells me i can always undo; i undo; SOLVE FAILED! redundant constraints
<wpwrak> ... and once gitlab is back, i'll even be able to explain what exactly i did to cause this
<whitequark> wpwrak: just discovered I don't need a tourist visa for argentina, btw
<wpwrak> argentina is pretty relaxed about immigration. planning a trip ?
* whitequark handwaves somewhere in the general direction of the americas
<whitequark> better to cross atlantic just once if I can help it
<whitequark> or pacific for that matter
<wpwrak> the pacific route to arg is one of ->ca->arg, ->us->arg, or ->au->cl->arg
<wpwrak> the atlantic route is ->za->br->arg, maybe now also ->za->arg, lemme check ...
<whitequark> za? zambia?
<wpwrak> south africa
<whitequark> oh right, a case of domain not matching iso code
<wpwrak> ah, there's even ->nz->arg
<wpwrak> and no direct za->ar. that nasty little detour via brazil is annoying. i really hatet that one, since it added 5 hours to a ~36 hours trip (tpe->hkg->jnb->gru->eze)
<wpwrak> and the one through chile is ... ->au->nz->cl->ar, but nz is the same flight. just stopping to pick up more pax.
<whitequark> huh didn't know they do that
<whitequark> how calm is ar these days?
<wpwrak> well, pax and probably fuel, too. it's a long flight over the pacific
<wpwrak> these days, very. still summer vacation time :) but that's ending
<whitequark> oh
<whitequark> summer
<whitequark> right, southern hemisphere
<wpwrak> besides that, the "new" government is still busy fixing things (and with all the mess they inherited, they won't run out of work anytime soon). some are grumbling, others not. the economy sucks. but by and large things are peaceful.
<whitequark> that sounds alright
<whitequark> I mean I'm basically asking whether there are active riots
<wpwrak> naw :)
<wpwrak> you get a lot of "social" protests, often fed either by what remains of the last government, or unions. so that's a bunch of useful fools being herded by people with nasty agendas. but that's about all. those things rarely get out of hand.
_whitelogger has joined #solvespace
<whitequark> excellent
<wpwrak> hmm, line perpendicular to surface would be another useful constraint
<whitequark> surface or face?
* wpwrak checks terminology .... face
<whitequark> ok that sounds quite doable
<wpwrak> speaking of rotation, rotating an assembly is confusing. i know that it rotates when i drag the vector, but i have no conscious control over where it goes
<whitequark> mmh, that is true
<wpwrak> work-around: throw constraints at it until the orientation looks right with 0 DOF, then delete them all again, and put the constraints i really want
<wpwrak> hmm, multiline comments ...
<wpwrak> 44 groups. evil-spirit's performance improvement do seem to help. at least the assembly and "light" drawings i made were reasonably lag-free
<whitequark> oh btw are you building solvespace in release mode?
<whitequark> -DCMAKE_BUILD_TYPE=Release
<wpwrak> i use cmake .. -DENABLE_TESTS=OFF
<wpwrak> which is what the README suggests
<whitequark> right, so that's another reason it's slow
<whitequark> by default cmake doens't enable compiler optimizations
<wpwrak> aha !
<whitequark> btw can you benchmark your models with and without evilspirit's optimizations?
<whitequark> I need some data on them...
<whitequark> when you build in release mode there'll be a solvespace-benchmark executable
<wpwrak> ok, but first lemme send this to the printer ...
<wpwrak> seems that the parts from digi-key will get delivered today. high time to have somethign to put the battery contacts into :)
<wpwrak> ah, regarding rotation, cura also has such a three-in-one mode
<wpwrak> what slicer do you use ?
<whitequark> I don't
<whitequark> I don't have a 3d printer. never had.
<wpwrak> they're fun. much easier to handle than a mill.
<wpwrak> okay, printer is running
<wpwrak> ah, release build procduces a lot more warnings
<wpwrak> some sound scary: /home/3d/solvespace/src/srf/curve.cpp:75:37: warning: array subscript is above array bounds [-Warray-bounds]
<wpwrak> with 9cf1a09bcdaa5a2bc99400d368dc1a8f43996e1d it's https://0bin.net/paste/XaviANobd4Jiv4Wu#B75gEKnK7p1+bTo-sqehWEChed/akU7Tc4hFMdcHiWh
<wpwrak> with only a5ffd9d182360e1be904aa35e2f9eb331783b211 i get https://0bin.net/paste/RK3Aiq+unW51y+Cp#1TM04qptFLJWnlewSrQWomZjHPOB3i-jCG1z6azQ/eE
<wpwrak> so a5ffd9 doesn't affect the resultof solvespace-benchmark load
<whitequark> ok so a5ffd9d182360e1be904aa35e2f9eb331783b211 is not representative in the benchmark because it only affects *re*generation
<whitequark> the 25% improvement in 9cf1a09bcdaa5a2bc99400d368dc1a8f43996e1d is pretty good though
<whitequark> for such a simple optimization especially
<wpwrak> i think excessive regeneration is the main cause of lagginess i experience. i did a bit of work with both patches applies, and it felt as if there were much fewer of those ~4-5 second pauses
<wpwrak> i wonder what time zone gitlab is in. from the timestamps they post in their status updates, they either have some major lag between editing and update,or they're on ittoqqortoormiit time ...
<whitequark> the what
<wpwrak> ;-) eastern greenland. one of the very few places at UTC-1
<wpwrak> the other i can see on wworldtimezone.com ould be the azores
<wpwrak> ah, cap verde, too. still a good choice if you want to be able to meet everyone sharing a time zone with you personally
<whitequark> lol
<wpwrak> however, UTC-2 is even better: http://www.worldtimezone.com/utc/utc-0200.html
cr1901_modern has quit [Ping timeout: 260 seconds]
cr1901_modern has joined #solvespace
Pierre1 has quit [Quit: Leaving.]
Pierre1 has joined #solvespace
balrog has quit [Ping timeout: 256 seconds]
balrog has joined #solvespace
<GitHub> [solvespace] kellpossible commented on issue #178: oh, nevermind I didn't realise this would be impossible due to fundamental limitations of the 3d implementation, thanks anyway. Surely some of the other CAD packages support analytic projected curves? https://github.com/solvespace/solvespace/issues/178#issuecomment-276659619
<GitHub> [solvespace] kellpossible commented on issue #178: oh, nevermind I didn't realise this would be impossible due to fundamental limitations of the 3d implementation, thanks anyway. Do some of the other CAD packages support analytic projected curves? https://github.com/solvespace/solvespace/issues/178#issuecomment-276659619
<GitHub> [solvespace] Evil-Spirit commented on issue #179: @whitequark, this works for me https://github.com/solvespace/solvespace/issues/179#issuecomment-276700479