-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add rotation type-ins #2779
Comments
You mean an input field? |
Yep 👍 |
Fair enough. Not sure why those don't exist yet indeed... |
Because a given rotation can be represented in multiple forms. The most common reasonably user-friendly representation for these kinds of inputs is Euler angles. But several combinations of Euler angles can represent the same rotation when represented as a quaternion or a matrix. This can lead to strange effects where suddenly your inputs flip around or not matching with the values you typed in. In short, it does not exist yet because it is actually a pretty hard problem. |
... already solved by other slicers and every CAD software you would not want the "world's most advanced 3D printing software" to stand behind ;D |
Let's do some competitor analysis then. Other applications:
I'd say that my preference goes for a solution similar to AutoCAD where the user can enter a number while the rotation is going on. But since we require the user to hold the mouse button while rotating it could be a bit more difficult to use for Cura users. |
Great overview, thanks @Ghostkeeper . Blender has the most counterintuitive approach. Simplest would be three text boxes X, Y and Z for entry in each axis and the angles applied as each box is confirmed explicitly by button or enter-key. Seems pretty WYSIWYG and straightforward as you do have the order only, not a matrix with each step taken. |
That's the Simplify3D approach, yes. Like I said though, that also has some disadvantages that awhiemstra and I pointed out. |
In Blender you can see the angle at the bottom left. Or in the Properties Editor you can see the fields for each axis (if you don't see that, the visibility can be toggled with N). All this can be done without ever touching the mouse. This is why I love Blender (well, one of the reasons). (An important reason some people hate Blender is propably the steep learning curve that makes them miss elementary stuff like this.) |
This is not about blender, nor about keyboard shortcuts. |
Inspiration was looked for elsewhere, and the Blender methods work very fast. Having the grid in the background can also be very useful. |
Blender was already mentioned. Keyboard shortcuts remain OT, add them separately. |
Yeah, but the info about Blender was wrong, so I corrected it. And it's the most informative presentation, giving both the total angle from the viewpoint and the separate orthogonal angles. (Update: to see the former you might have to press T.) By OT do you mean On of Off Topic? :) |
So you have RSI for entering coordinates only then? hrhr |
Just my 2cts:
Thus, the commands will be observed sequentially and no mess will occur. The numerical control will not do anything else than the graphical input does at the moment. And the user does not have to get familiar with different behaviours in moving and rotating. |
Our project manager removed this from our planning. We won't be getting time to implement this any time soon. |
We just discussed this one as a team. Indeed, as Arjen said, when mucking about with matrices things get complicated fast (we actually have some other issues related to that... halp). But, so long as the rotations are always relative and applied sequentially, this is no more likely to produce weird behavior than using the rotate tool. This is essentially the Simplify3D method, as seen in Ruben's analysis. |
Devs, CURA-5609 |
Note that the Cura Lulzbot Edition has an implementation of "just three euler angles to represent the current rotation", and it is just about as buggy as one would expect. Perhaps the trimesh module could be used to get a more reliable transformation tree and matrix decomposition (#2875) |
The key here is not to try and represent the current rotation. That's the really hard part. One thing on my to do list today is to look at what libraries we can use to help us not reinvent the wheel (badly) when it comes to matrix decomposition. But for this issue it should be possible to avoid that entirely by making the inputs relative (always reset to zero and apply as soon as the box loses focus, the latter of which is also the default behavior for other transform tools). |
I am the creator/requestor of #15407, and as a creator/modeler/engineer, the solution is really quite simple and no need to complicate it by the use of Euler calcs (maybe it would be helpful for code development). As I say, the solution would be very simple.
If another angle is desired for another axis, select a different axis for step 4 above and repeat. Otherwise, allow for two faces (one on model A and one Model B and "Snap" them together. It is NOT an edge, and is not difficult to implement. |
Hi 👋, If this is still something that you think can improve how you and others use Cura, can you please leave a comment? If it has been resolved or don't need it to be improved anymore, you don't have to do anything, and this issue will be automatically closed in 14 days. |
Oh man, there is no way we're still this far into Cura's maturity but we still don't have the basic ability to rotate by a specific dimension, really? Definitely don't think this issue is going to die without a fight, this many times requested. I'll admit I haven't used Cura in quite some time, in part because of this tip of the iceberg of UI issues, so I'm simply not sure if some solution has been implemented since then (in, as mentioned, three major releases ago). |
I agree with previous comment. This is a vitally useful feature. I'm tired of modifying the model to rotate it precisely because it is almost impossible to rotate in cura. |
Cool. Clean the fucking list by implementing the basic features instead of just throwing requests into the trash bin. |
I am the creator/requestor of #15407, and as a creator/modeler/engineer would still like the ability to enter a specific angle, please. |
You might not mean it like that, but can you calm down a bit? We setup the bot because there are a ton of issues that are no longer a thing, which is what it's supposed to prune. I don't love the solution either, but as you already stated; I'd love to just build things instead of having to deal with things that may or may not be an issue. |
I'd like to give a strong vote for this issue as well. |
At this point I honestly don't even know which of the presented options people want. I know it's frustrating that it's not done yet. But there are quite a few options, and despite people claiming that they are easy, most of them aren't (and the ones that are easy don't seem that useful to me, but I'm not a great judge here, as I've never needed the feature in the first place). |
My vote is on something similar to the move input interface, the numerical value of each rotation axis is shown and can be edited one by one. |
Well you're certainly right that 7 years is more than 1 year :-) |
Oh, was it a bot @nallath ? I should have been more polite then... apologise to the bot that had the feelings hurt. |
As if your statement wasn't meant at every developer working at Cura? There is really no reason to double down if someone asks you to tone it down a bit. |
I'll have a look, but I think it might not actually work given the same arguments as before (eg; rotating something, scaling it, rotating it back) Basically the options that are there are these: #2779 (comment) |
The implementation in Flashprint is quite simple: As soon as you close the panel or switch the tool, it forgets the rotation angles. The object stays rotated, the fields are reset to zero. You can still undo this via ctrl-z. The input boxes are still very useful even with that limitation. |
Well then implement what's easiest and let us test it instead of having this stay in purgatory forever, almost everyone else has figured out a way to do it. |
You can have the two faces of bodies/model snap if making the angle textbox is not "editable". |
Or, just look at those options and give your feedback instead of this snark. I understand the frustration, but this isn't helping or constructive. The question isn't how it can be done, there are some ways to kinda do it. But each has it's own disadvantages. I have absolutely no interest in building something at random and have this discussion again, but then with the disavantage of having done the work. I also don't know what priority this will get, as I'm not the product owner. I was considering spending some of my own time on figuring out a solution, but my desire to do that is rapidly dropping. |
That is very doable. The main issue is indeed having rotation typeins that stay at a value. If you just want to give a single rotation in world coordinates that snap to zero after it's applied is doable. |
A year in or two maybe that would be acceptable, but it's been almost 7 years, someone has got to take initiative and build something, anything... At least the ball can start rolling and the relevant portions of code can be more evident for others to try their own implementation. |
Potential workaround: Import the STL into OpenSCAD and apply rotation there. There might be issues, but at least it's something that might work today, not in another 7 years.
ETA: To the Cura devs. Users are frustrated, please don't add to that by berating them. It just makes you (dev) look bad. But I get you, really. Over 3.5k issues is daunting -- and frustrating. GH's "issue tracker" is horrid for user-facing input, as it was designed for developer-to-developer not user-to-developer. Patience is needed on all sides, but 7 years? It's better than Mozilla where issues are 14+ years in some cases. |
Greetings yakoder - In this attachment, I want to accomplish this Infill direction, but print on a side to minimize supports. I hope this adds clarity. |
@truegret FWIW, That's a completely different issue than the issue this thread is discussing, that being part rotation. However I've just needed to adjust similar to what you were asking about elsewhere, so here's what you (hopefully) are needing: Infill line direction is what you're asking about, and that does exist already. Search settings for "direction" and you'll find it. My issue, and my understanding of the majority of this thread, is that I needed to rotate a part 3.1465 degrees from flat to allow a certain section to be printed flat. (Water runoff channel.) As is, there is no way to "type-in" the rotation amount, and getting exactly 3.1465° of rotation isn't possible using the mouse drag controls. From this, and several other open issues for Cura, it's become blatantly obvious that the Cura developers 1) will not fix issues; 2) don't care about users; 3) users need to fend for themselves, even if that means using 3rd party tools (e.g., OpenSCAD) to get the job done today, not at some (probably never happening) time in the future. Ranting aside, hopefully you looking for the "Line Directions" setting will help you out. It shows up for "Lines" and "Grid" infill patterns, but not "Gyroid", which I personally use more. It'll probably take a few attempts at guessing the right angle and re-slicing, but you'll get it. At least with that we can actually "type-in" the angles. BTW, I did need to use that for a part which was on the plate diagonally (had to be, wouldn't fit the other way), but for the Top Surface line directions. The defaults of "[45,135]" (which IMHO is bad UX to show as "[]") wouldn't put the lines at the desired direction for strength. |
Correction No.2 - The tip you provided is helpful, however, not quite what I am looking for and am happy to create a new request thread for what I am thinking/wishing/hoping for .... My apologies, yakoder .... I see I responded to the wrong issue. I really am sorry to add to your workload. I thought I was responding to "Issue 13411-Ability to change orientation of infill orientation". Please accept my apology. WRT this issue, #2779 - I was thinking of the old method of "snapping faces of two objects to align", or an easier way to add better precision to rotation. ARGH! I think the #13411 issue was/is for another slicer ....... ok, I'm embarrassed. Well, I just want to give feedback to all software tools (I am a retired, burnt-out software developer/test engineer and can't help myself). I'll check the tips in my Cura v5.8.0 .... thanks! Cheers. |
I'd like to edit the rotation angle per axis.
The text was updated successfully, but these errors were encountered: