Softened and Hidden Lines problem getting ridiculous
-
Need a plugin that watches for the event. If it cannot tell it apart from an intentional de-smoothing (one from a user command) then perhaps it can warn the user when more than a pre-set number of edges change state.
-
In our last discussion on the subject, we isolated the occurrence to having something selected, while you save the file. I've made a habit of deselecting before I save, and I haven't run into the Susie since.
-
@pbacot said:
Need a plugin that watches for the event. If it cannot tell it apart from an intentional de-smoothing (one from a user command) then perhaps it can warn the user when more than a pre-set number of edges change state.
That would probably make SU very slow - watching and inspecting every edge.
@unknownuser said:
In our last discussion on the subject, we isolated the occurrence to having something selected, while you save the file. I've made a habit of deselecting before I save, and I haven't run into the Susie since.
It happens when SketchUp is minimized/restored and when SketchUp "whites out" (Save, Autosave, heavy processing - such as Sandbox tools etc.) You will see the window becoming unresponsive then flicker back into a reactive state again. That's when this happens.
Due to this bug I've also gotten into the habit of deselecting. I never keep a selection for any longer than strictly necessary. Ctrl+T
And when I notice the window has become unresponsive - for whatever reason - I always check my selection and open the Edit menu to see if there's a "Undo Soften Edges" item there. -
As this issue seems related to having a selection when you do a save, can't we devise a ModelObserver that with onPreSaveModel remembers the current selection as an array, then clears the selection; and with onPostSaveModel adds that array back as the current selection ? Something like
class SoftEdgesSaverModelObserver < Sketchup;;ModelObserver def onPreSaveModel(model) ss=model.selection @ss=ss.to_a ss.clear end def onPostSaveModel(model) UI.start_timer(0.1, false){model.selection.add(@ss)} if @ss[0] ### wait a little to ensure it's done end end ### then... Sketchup.active_model.add_observer(SoftEdgesSaverModelObserver.new())
We'll also need an AppObserver to ensure that newly opened models etc have this new observer attached - meaning we need an enduring reference to the 'SoftEdgesSaverModelObserver' ...
I know some observers are flaky -
As I mentioned in my previous post - it's not just by save. (It's not even on every Save. It's any operation that makes SketchUp "white-screen". Drape will also trigger it.
-
A ToolsObserver might trap a 'white-out-making' event, but I must agree that it's going to be difficult to resolve, unless it's properly resolved in the base app code itself...
-
I tend to use Control-T a lot for deselection, but not for the conditions being described. It is usually when I need to move or copy move some item and something else is still highlighted.
I agree, for the conditions described in the posts above, some preventative would be very advantageous. -
Its interesting to see all the things you list Thom. This is a problem I RARELY have and I typically work on large terrains and cities. I find that I almost never ever leave things selected. I always deselect things by clicking on open space, or ctrl-t occasionally if its hard to see open space where I'm working. I never realized it might be a habit saving me from serious headaches. I also turn my autosave off because my models are always so large it takes a long time to save them so I only do it when I want to, typically before I run a script or close SU. So I think I happen to get around the problem by sheer coincidence.
Chris
-
Thanks TT.
I guess I thought an "observer" would snooze up in a tower and when a "mass un-soft" occurred he'd hear the commotion and ring a bell!
Peter
-
The mount of times I reopen my project at the office, only to find someone has made changes to it and not noticed the soften bug... x_X
-
Phew! Like Chris, I think I've probably avoided this one by developing fine de-selection and CTRL-S reflexes (years of practice having to use CorelDraw! he he)
Maybe a little off topic, but personally, I find SU's selecting habits rather bit-and-miss in general, in a way that would seem to encourage this kind of unwanted behaviour. Pretty much all drawing software that I've used defaults to leaving the most recently drawn item selected - i.e. using a tool that creates new geometry, by default, clears any selection made prior to using the tool. This often catches me out when I've just drawn some small detail, and then go to use a selection-dependent action or the entity info box, without noticing that unwanted items are still selected - but not the one that I just drew, and would expect to be selected.
I'm not trying to suggest that the problem discussed here isn't a bug - just that an overhaul of how SU handles selections is probably overdue anyway, lending the opportunity to get this issue addressed too. -
Thom, what about a set of tools that could overide some of the basic SU functions that are nown to cause the problem? we could rewrite save, and explode for example to always deselct everything before doing the operation.
I wonder if that would actually help solve the problem in most cases.
sel = Sketchup.active_model.selection
exploder = sel[0]
sel.clear
exploder.explode -
I've got the same topicstarter issue (relatively rare thanks god)
My partial workaround is to use 'hiddenlayer' ruby by Jim (so unwanted edges will be constantly hidden in all scenes). The trick is to set up the one constant layer name for hidden stuff (via your default starting template) -
@chris fullmer said:
sel = Sketchup.active_model.selection
exploder = sel[0]
sel.clear
exploder.explodeWhy explode stuff?
@chris fullmer said:
Thom, what about a set of tools that could overide some of the basic SU functions that are nown to cause the problem?
It can be any operation. Not any specific one. Just as long as the operation takes long enough for SketchUp to white-out. It can happen to plugins as well.
-
I only used the explode example because that is just about the only time I ever see the bug is when I'm exploding mesh terrains. So it was the first that came to mind. So a new explode method, save method, rotate, move, all of which would get the user input, then deselect everything and commit the operation with nothing selected.
Just seemed like a potential help to alleviate some of the problems.
-
Well, the problem seems to have fixed itself, at least for now. Had too much time invested in my latest project so I decided to see if I could finish it, and the line problem has only cropped up once (so far) and on a small, manageable scale.
Sort of like having a problem with your car so you take it to the mechanic and the problem disappears.
Still cringing every time I click the mouse button. -
We only really need one app, specifically an app to get the develpment team to listen to users and get to grips with the very basic problems in sketchup. Additional faces, issues with multiple plugins freezing the program, no functionaly reliable intersection tool etc et al.
Been at this point with other software and stopped using it, only at this point (not just me but many folk leaving) will the dev team actually listen. Most of the time the cries of users are drowned out by marketing types and beanie counters. Sad way to run a business.
-
@mike amos said:
only at this point (not just me but many folk leaving) will the dev team actually listen.
But if the vast majority of the users use the free version, why would they really care about people leaving?
-
@hellnbak said:
@mike amos said:
only at this point (not just me but many folk leaving) will the dev team actually listen.
But if the vast majority of the users use the free version, why would they really care about people leaving?
Excellent point, Steve. On the other hand, I know for a fact that the SketchUp development team are listening and do want to make improvements in the product. I believe they will do so but these things take resources. I would expect they would like to do more than they can in a given amount of time.
-
It's worth noting that development hit a lull while they where under Google. Now, with Trimble owning SketchUp the game appear to change.
Advertisement