[Plugin] VisMap - Layer/Scene Visibility Map
-
@jsteacy said:
I downloaded the most recent version and got an error hitting the button 'get data from model'
Can you UL a model? I can't reproduce this. Thanks.
-
@markozeta said:
New version works, even on my bigger model!
Pat yourself on back. You had a major hand in that. Or at least your pipes did.
@markozeta said:
Now about that alphabetical layer sorting I asked for...
Hmmm. Sorting is trivial, of course. Takes a single line to sort an array. Problem is, if you check a box, how do I know which layer that is in the model? Requires some sort of mapping from unsorted to sorted order.
As names are unique, I could do a brute force mapping, I suppose. Hmmm.
-
martin,
good news! it works on mac now!
although it must be a pain for you to have us always asking for more features, i second bob's request for a scroll bar: in a model with many layers there will be no way to reach the ones at the bottom.
THANKS!
-
Scroll bars pop up on the PC, but not on the Mac...
Interesting. That's pretty - ubergeek.
Mark
-
Martin,
In addition to sorting, can you put in a scroll bar: I have more layers than can fit in the VisMap dialog box fully extended top to bottom. [MacPro]
This is an awesomely useful plugin, but, in addition to the above, I cannot load my large model: there doesn't seem to be a problem with the number of layers, but, apparently, with a large number of layers (as shown in the VisMap for another model) and a large number of scenes (in this case 15: reduced from 20 to see if that would help).
Super-super stuff
-
@martinrinehart said:
As names are unique
Only for Layers! Scenes can have same names...
*Hopes his cry of despair reaches the target before ... *
-
Thought I'd give it a try on my PC: when I clicked on "Load Model Data" I received the attached error dialog
-
@bob james said:
Thought I'd give it a try on my PC: when I clicked on "Load Model Data" I received the attached error dialog
Bob, that error reporting is exemplary. It is with some regret that I must inform you that MSIE's error reporting is near useless. Can you UL or email (MartinRinehart at Google's mail service) a model that generates this error?
Mac folks:
Attached is a replacement for .../Plugins/vismap/vismap.rb. It may give you the scrollbars we PC folks have. Let me know.
-
@martinrinehart said:
Mac folks:
Attached is a replacement for .../Plugins/vismap/vismap.rb. It may give you the scrollbars we PC folks have. Let me know.
It works!
-
Anyone who has read any of my posts will know that I am very keen on promoting the use of web dialogs and as I see Vismaps a part of this I hope the following critique will be seen in that light:
Notes are based on this screenshot of the plugin
Sketchup windows generally seem pretty tightly designed as small as possible to minimise obstructing the display of the geometry. I think you could beneficially lose the rubies and title in the body.
The idea of the table and scene code numbers is an awkward solution. At least the table should follow the scroll.
I think the option to have layers and scenes in alphabetical/sequential order is important.
In the screenshot you see I have used full screen and yet only display about half of the layers. I usually want to see the effect of turning layers on and off in the current scene using the scene tabs for example to check others. Maybe it is just my intuition and others are better able to visualise the outcome. If you consider making Vismap into a machine would be beneficial I would be happy to help with that.
Chris
-
Chris,
I agree with your remarks, but then, you don't need a plugin, as it should be enough to show the SU Layers dialog, and click on the scene Tabs to see which layers are visible in the current scene. The Layers SU Window is small, redimensionable, fully interactive and has a table scrolling. Furthermore, it allows to add / remove layers and configure them dynamically. You will miss however the Sorting into alphabetical order!
Alternatively, it is feasible to make Martin's Vismap plugin fully interactive (i.e. no need for Get data / Send data), sorted by alpha order and scrolling horizontally and vertically with freeze panes for first column and table header (which can be displayed vertically). But at the end, it would give the same result as the native solution above.
Fredo
-
martin,
i have the scroll bars now. thanks!
-
@chrisglasier said:
you could beneficially lose the rubies and title in the body
Hey, that Ruby was a lot of work! Seriously, next rebuild I'll put the title stuff into a frame so you can drag it into oblivion if you need the space. The worse problem is that MSIE web dialogs don't respond to the normal Ctrl/+ and Ctrl/-. I've got to find a way around this.
@chrisglasier said:
I usually want to see the effect of turning layers on and off in the current scene
The Layers window is a better tool if you don't want to see VisMap's array.
@edson said:
i have the scroll bars now. thanks!
Don't be afraid to ask. This one was trivial to add.
The fact that it works at all on the Mac is due to some fine old threads started by Fredo and Chris Glazier explaining the subtle, and not so subtle compatibility issues.
@unknownuser said:
You will miss however the Sorting into alphabetical order!
First, Fredo, thanks for that discussion of synch PC / asynch Mac with Scott Lininger, from a couple years back. Vital info.
Sorting is trivial but you need to unsort before telling the model who's visible or not. I was about half way into this in Ruby when I realized that it was really a JavaScript issue. Never used a hash in JS, but experiment suggests that a JS array IS an associative array. Haven't tested this in MSIE yet.
@unknownuser said:
with freeze panes for first column and table header
Freeze panes have been requested for both the layer list and the scene list. This is almost possible with frames. Issue: how to synch vertical scroll in the layers list with vertical scroll in the main array. I don't know that JS has scroll listeners.
That means, writing a custom scrollbar widget, a feasible project in any browser that supports <canvas>. That's every browser except MSIE, of course.
-
@martinrinehart said:
Freeze panes have been requested for both the layer list and the scene list. This is almost possible with frames. Issue: how to synch vertical scroll in the layers list with vertical scroll in the main array. I don't know that JS has scroll listeners.
That means, writing a custom scrollbar widget, a feasible project in any browser that supports <canvas>. That's every browser except MSIE, of course.
Freeze Panes is relatively easy to do with DIV in pure HTML with constant column width.
For non constant column width, the horizontal scrolling with freeze of first column is more complex, but doable with JavaScript in a portable way.
All this said, I am still wondering why these natural and simple requirement is not a default part of the HTML table specifications. Hope that HTML 5 will do something about it.Fredo
PS: For sorting, I don't understand the issue you mention. Data should be independent from their display.
-
@unknownuser said:
For sorting, I don't understand the issue you mention. Data should be independent from their display.
You click a checkbox in row 3. This is the third layer in the model, as is. If I sort the layers, row 3 may be model layer 17. Solution: hash with key = layer name, value = original row number. Something like:
var hash = []; for ( i in layerNames ) { hash[ layerNames[i] ] = i; }
-
Sure, you need an indirection to keep track of the original index in the model.layers array. But that's just a little bit of code, not a limitation.
Fredo
-
@unknownuser said:
Chris,
I agree with your remarks, but then, you don't need a plugin, as it should be enough to show the SU Layers dialog, and click on the scene Tabs to see which layers are visible in the current scene.
...
Fredo
Of course I would prefer to use cgScenes so I could manipulate many aspects. But, whereas I do see a matrix as also useful I still think it should be easy to use it with reference to several layers and the SU display simultaneously.
Chris
-
@chrisglasier said:
I think the option to have layers and scenes in alphabetical/sequential order is important.
Chris
Layers in alphabetical order is a must, but I wouldn't want the scenes in alphabetical order. I name my scenes to be applicable to their content and in the order I want them to appear. This is rarely alphabetical.
Also, it needs to stay on top.
-
Martin,
I realize that the existing Layers Tool can be used to create scenes, but your tool is MUCH simpler to use. Why? Because I can look at all of the scenes at once. With the Layers Tool I have to open the scene, then go through and pick the layers I want, then save the scene. With your tool I can do several, if not all, layers at once. Much better.
Why do I press for this tool? We have a satellite processing facility and a launch facility at Vandenberg AFB, CA. I have built models of both of these facilities. When a new user comes I need to model their process through the facility. This requires the basic model, then certain layers of both their equipment and ours turned on/off for each stage of the process. Each stage of the process is a new scene with their and our equipment at different locations and attitudes (open/closed, up/down, etc.). I model their equipment and, for the pieces that will appear at different places in each scene, I make a new location-sensitive instance. Once all of this is done I can then, with your tool, turn on the applicable location-sensitive pieces of equipment at the appropriate location in the appropriate scene.
But to be useful it is (absolutely essential) to have the layers sorted.
It would also help a lot if:
-
Somehow the numbers representing the scenes need to stay fixed at the top when scrolling down. I can remember the scene number(s) I'm changing or, more likely, I can refer to a print out of the scene numbers/names.
-
The VisMap dialog stayed on top.
VisMap still does not capture the model data for a very large model/scene combination. If I copy the entire model (60 or 70 layers) and put it into a new instance of SU, VisMap can then read the data. But, of course, I've lost all the scenes.
Thank you very much for working on this Plugin.
-
-
@bob james said:
...
I model their equipment and, for the pieces that will appear at different places in each scene, I make a new location-sensitive instance. Once all of this is done I can then, with your tool, turn on the applicable location-sensitive pieces of equipment at the appropriate location in the appropriate scene. ...
That's very interesting. Am I right in thinking each layer configuration is saved in a client specific file? As VisMap is in a webdialog what would you think about saving configurations as JavaScript arrays, so that you need not open and close files and quickly move through the configurations, and, with further devices, compare selected parts/costs/status and suchlike in different configurations? If the Sketchup Viewer had plugin facilities, clients could access your configurations via the Net as a normal part of their business operation.
If the Sketchup Viewer had plugin facilities ... now that's definitely another topic ... sorry!
Chris
Advertisement