Show messages:
1-16
17-22
From: Bravlin
"=". My bad. That's what happens when you work without IDE support.
I paste code of functions here, but i use them as .js files.
I tried your code today but unfortunately it also have this lag.
Maybe we can somehow reach UI style selection functions (those that fires up when we press near style gui to select all obj)?
They sure doesn't have any performance issues.
Here is how this lag looks like:
https://www.dropbox.com/s/wjy47s71b8quh5r/Dv5mujpFSg.mp4
I use " SHIFT+` " as hotkey to fire script.
From: Michael Gibson
Hi Bravlin,
re:
> Maybe we can somehow reach UI style selection functions (those that fires up when we press near
> style gui to select all obj)?
> They sure doesn't have any performance issues.
There isn't any way set up to access that from script right now but I can add script access to it for the next v4 beta.
Just to make sure I understand, you mean a way to trigger by script the same thing that happens when you click on this selection dot spot in the scene browser? :
- Michael
Image Attachments:
bravlin_scene_browser.jpg
From: Bravlin
Yes. I guess the similar query interface will be handy for a group selection also.
From: Bravlin
Theas thread helps with performance issue a lot.
http://moi3d.com/forum/messages.php?webtag=MOI&msg=6440.1
script: /*SAVE SELECT TO STYLE*/moi.command.execCommand ('var gd = moi.geometryDatabase; var activstyleidx = moi.geometryDatabase.activeStyle; var objects = gd.getObjects(); var savedobjsnum = 0;var si = moi.geometryDatabase.findStyle( "selectset", true ).index; for ( var i = 0; i < objects.length; ++i ) { var obj = objects.item(i); if(obj.styleIndex == si){ obj.styleIndex=activstyleidx; obj.selected=true; savedobjsnum +=1; } else { if(obj.isBRep) { var subs = obj.getSubObjects(); for ( var j = 0; j < subs.length; ++j ) { var sub = subs.item(j); if(sub.styleIndex == si){sub.styleIndex=activstyleidx; sub.selected=true; savedobjsnum +=1; }}}}}if(savedobjsnum == 0){var selobjects = gd.getSelectedObjects(); selobjects.setProperty( "styleIndex", si ); }');
From: Michael Gibson
Hi Bravlin, some of the advice in that thread is outdated now as of MoI v4. In v4 MoI no longer runs command scripts in a separate process, they are run inside the main MoI process and so there is no longer any performance gain from moving functions from a .js file into the .htm file.
- Michael
From: Bravlin
XSI-like hide toggler. Hide and unhide only last selected object (in our case last named object).
script: /*HIDE*/ var selobjs = moi.geometryDatabase.getSelectedObjects();if(selobjs.length > 0){var allobjs = moi.geometryDatabase.getObjects();for ( var i = 0; i < allobjs.length; ++i ){var obj = allobjs.item(i);if(obj.name == "lasthide")obj.name="";}selobjs.SetProperty("name", "lasthide");selobjs.SetProperty("hidden", true);}else{moi.geometryDatabase.selectNamed("lasthide");selobjs = moi.geometryDatabase.getSelectedObjects();selobjs.SetProperty("name", "");selobjs.SetProperty("hidden", false);}
Show messages:
1-16
17-22