How to show "hidden" geometry as actually visible?
-
You can't affect the appearance of 'ghosted' hidden objects when view>hidden-geometry is ON - even in code.
If you want a hot key to move selected objects onto 'Hidden' layers then a simple few line script that adds a Plugins submenu it is straightforward
module MUHKU def self.onto_hidden(name) model=Sketchup.active_model layer=model.layers.add(name) layer.visible=false model.start_operation("Onto Layers OFF = "+name) model.selection.to_a.each{|e|e.layer=layer; model.selection.remove(e)} model.commit_operation end def self.layer_on(name) model=Sketchup.active_model model.start_operation("Layer ON = "+name) layer=model.layers.add(name) layer.visible=true model.commit_operation end submenu0=UI.menu.add_submenu("Onto Layers OFF...") submenu0.add_item("HID0"){self.onto_hidden("HID0")} submenu0.add_item("HID1"){self.onto_hidden("HID1")} ### etc submenu1=UI.menu.add_submenu("Layers ON...") submenu1.add_item("HID0"){self.layer_on("HID0")} submenu1.add_item("HID1"){self.layer_on("HID1")} ### etc ### add more submenu items as needed ### shortcut to these as desired. end#module
-
Ok. Thanks TIG!
-
I know this doesn't answer your question about the appearance of hidden geometry but I guess you've got that answer. The way you've described what you are doing makes me wonder; are you leaving Layer 0 active, drawing your buildings there and then associating them with your "Buildings" layer? I kind of doesn't sound like it. If you are working that way, you could leave your "Buildings" layer turned off and when you associate a new building with that layer, it'll be made invisible and out of your way.
-
Not sure if this would help but if you go to Window> Model Info > Components you can automatically fade or hide other components/ groups while you edit a particular component. If each building was a component then the rest of the buildings could be made to disappear while you worked on it, once you finished editing everything reappears.
I have the hide check boxes assigned to hot keys so I can turn on other components for reference and then turn them off again while still editing.
-
...And of course you can use 'Hide Rest of Model' and/or 'Hide Similar Components' using the 'Component Edit' menu items - which can both be given shortcuts...
A very useful toggle to hide things that are in your way... OR to show hidden things that you might want to snap-to... -
Hi, golden thanks for the tips & suggestions! I really appreciate this. I never realised that you could hide the rest of the model while editing or tag doing that to a hotkey. That really smoothened things out and was exactly most of what I was doing with the hiding.
This looks like a good forum, I'll be lurking around...
-
You can also of course use the outliner (Window-Outliner) to quickly select/hide/unhide objects. Although you probably knew that already!
-
@tig said:
I strongly recommend that you use a set of layers to control the visibility of objects - assign layers to containers [groups/component-instances] not 'raw' geometry.
Using hide/unhide too much can lead to confusion - as you've found...
Especially if they are say faces associated with still visible edges - the face will vanish if the edges is erased and you won't notice it because it was hidden.
If you have hidden an object then its 'ghost becomes visible if View > Hidden Geometry is toggled ON.
You can now select it like any other object - multiple selections are possible if you hold Ctrl or use a fence etc.
The right-click context-menu has a Unhide option [as well as the Hide one] - then the selected objects are no longer hidden.
Also Entity Info lists the selections 'hidden' state and you can tick/untick the option to change them all en mass too...
To unhide all current active entities [assuming you have a confused mess!] you can copy/paste this one liner into the Ruby Console + <enter> to make all active entities visibleSketchup.active_model.active_entities.each{|e|e.hidden=false if e.hidden?}
If objects inside groups or components have been hidden you need to run this whist in the edit context of that container. Use with care because some 3rd-party components etc might contain hidden edges on purpose so that where they abut [say a mirrored instance of itself] there are no visible edges at the junction...
Is there a way to run this through all existing objects and not just the active context?
-
@roni estein said:
Is there a way to run this through all existing objects and not just the active context?
Yes, but use with care !m=Sketchup.active_model; m.start_operation('un'); m.entities.each{|e|e.hidden=false if e.hidden?}; m.definitions.each{|d|next if d.image?; d.entities.each{|e|e.hidden=false if e.hidden?}}; m.confirm_operation;
It's one step undo-able...
-
This is an old post, but I figure if anyone else stumble upon it with the same issue this tip would be quite useful:
I have tried out the new plugin "s4u Hide Line" and it does the trick of showing hidden geometry with a click of a button:
Advertisement