PDA

View Full Version : Tool: combining meshes into one in Layout



faulknermano
06-25-2012, 09:22 PM
I thought it this may be a useful tool for people who doing layouts. This tool combines selected meshes in Layout and puts them into one object. The object is not saved to disk; you have to do it yourself, though it would be relatively simply to add that into the script itself; I'm just not feeling like doing it. :)

The tool is made up of three scripts; two Modeler scripts which must be added as plugins, and a generic script, which must also be added.

Generic script:

@warnings 0
generic
{
// create a null

combineitems = Scene().getSelect();
AddNull("Null");
containernull = Scene().firstSelect();

for(i=1;i<=combineitems.size();i++)
{

SelectItem(combineitems[i].id);

fn = combineitems[i].filename+"temp";
SaveTransformed(fn);
LoadObject(fn);
filedelete(fn);

CommandInput("ModCommand_MOD_Copy");
ClearSelected(1);
SelectItem(containernull.id);
CommandInput("ModCommand_MOD_Paste");
}
}

Modeler script # 1:
@warnings

main
{
copy();
}

Modeler script #2:

@warnings
main
{
paste();
}

xchrisx
06-25-2012, 10:29 PM
Interesting, never thought about doing it that way. Thanks for the script Lernie.

-chris

zardoz
06-26-2012, 05:29 AM
I tried this but it isn't working here: Unknown command: "ModCommand_MOD_Paste".

faulknermano
06-26-2012, 05:49 AM
That would mean that the Modeler scripts were not installed properly. Sometimes I open up Layout and Modeler, add a plugin in one of the apps and close the app that I used to install the plugin. Then when I close the other it overwrites it, causing the plugin to be 'removed' again.

zardoz
06-26-2012, 06:01 AM
I'm using layout 64 bits and modeler 32 bits (because of a few plugins)...and I added the generic script in layout and the other scripts in modeler (I created buttons for them too, but I guess it's not needed). I checked and the plugins have been correctly added.
and always gives this error. It creates the null and them shows the error.
thanks

3dworks
06-26-2012, 06:07 AM
interesting solution. i guess you need the hub running for doing this?

faulknermano
06-26-2012, 06:23 AM
zardoz: try running Layout only; quit Modeler. Then add the Modeler scripts in Layout. Then quit Layout. Then run Layout again. See if that works. Btw, I'm using exactly the same setup as yours: Layout 64 and Modeler 32. :D


interesting solution. i guess you need the hub running for doing this?

Not really. I think it was back in LW9.6 (possibly earlier?) where the capability to run Modeler scripts in Layout was introduced. This runs independent of the hub. In fact, I don't run the hub in my day-to-day workflow. :)

zardoz
06-26-2012, 08:21 AM
I tried what you suggest but I get the same error. I can give the scripts any name right? by the way I save them as CombineObjects.ls and CombineModeler01.ls and CombineModeler02.ls

faulknermano
06-26-2012, 01:11 PM
Whoops... nope... they have to be named Mod_Copy.ls and Mod_Paste.ls... stupid me... I totally forgot about that.

nickdigital
06-26-2012, 01:23 PM
What does the Layout lscript need to be called? I assume it doesn't matter...but what do you have it saved as?

faulknermano
06-26-2012, 01:48 PM
The Layout (generic) script can be called anything. It's the Modeler script side that was being explicitly called by CommandInput, hence the need for the actual names.

I call it CombineMeshesGN.ls

Cryonic
06-27-2012, 12:06 AM
What is the purpose of doing this versus parenting the items to a NULL?

geo_n
06-27-2012, 01:24 AM
Thanks! I found a practical use for it already. Saves time in layout definitely.

faulknermano
06-27-2012, 01:55 AM
It merges the selected meshes into one object/transform. The purpose, at least for my workflow, is a scene management issue. I sometimes like to cull the number of items in the scene (long load times, long breakout times, etc) and compact them into one object.

Also, this is a good way to produce shadow-catching objects from multiple objects that need to be considered as one entity in Layout.

faulknermano
06-27-2012, 01:56 AM
Thanks! I found a practical use for it already. Saves time in layout definitely.

Good to know.:beerchug:

zardoz
06-27-2012, 03:17 AM
Ok finally I got it working. And it's really usefull. I could have used it before several times.

Now...is there a way to do exactly the same, but without freezing the mesh?

faulknermano
06-27-2012, 03:47 AM
Not sure if there's a command in Layout that does that; Save Frozen Mesh saves out the subdivided version, but any applied deformations are not exported. Unfortunately, I don't have time to research on workarounds at this point. If I ever get around to it, I'll post it up here.

prometheus
06-27-2012, 03:59 AM
Sounds great.

does it work with displacement and to save out transformed object?
Edit...ahh.it doesn´t work with displacement I noticed you said?

I was actually fiddling around with a sphere, wich has several layers of procedurals but different rotations on the spere to give some rocky shapes, then I cloned that sphere moving it slightly and continued rotating the procedurals.

working this way might be nice for setting up complex rocks or cliffs, but I would like to be able to save transformed object too, partly to further model tweak, but also for styling cloud shapes that can be filled with points with the fill solid tool.

Michael

evenflcw
06-27-2012, 07:51 AM
Thanks. Well done! Cool tool. Nice clever simple system. I figured something like this would not work as you can't explicitly select mesh elements in Layout - but good old implicit selection (nothing=everything) clearly is a good default state.

I would think you getting deformed but non-subdivided is as easy as setting displ sub level to 0 (and then back again). Naturally this will slow things down as LW needs to process that switch as usual.

There was a workflow were I wanted something like this some time ago... if only my memory was better.

Sensei
06-27-2012, 08:34 AM
Never mind, doesn't work..

Cryonic
06-27-2012, 12:20 PM
It merges the selected meshes into one object/transform. The purpose, at least for my workflow, is a scene management issue. I sometimes like to cull the number of items in the scene (long load times, long breakout times, etc) and compact them into one object.

Also, this is a good way to produce shadow-catching objects from multiple objects that need to be considered as one entity in Layout.

Ahh, ok.

faulknermano
06-27-2012, 01:22 PM
Sounds great.

does it work with displacement and to save out transformed object?
Edit...ahh.it doesn´t work with displacement I noticed you said?



It does, in fact, work with displacements. zardoz inquired if it was possible not to freeze the mesh (eg triangulate/tripled). Afaik, it is only possible to save out transformed objects if it has been triangulated. I don't know currently of a way to only save out the displacement without triangulation.

As you can see in the script I used SaveTransformed().








I was actually fiddling around with a sphere, wich has several layers of procedurals but different rotations on the spere to give some rocky shapes, then I cloned that sphere moving it slightly and continued rotating the procedurals.

working this way might be nice for setting up complex rocks or cliffs, but I would like to be able to save transformed object too, partly to further model tweak, but also for styling cloud shapes that can be filled with points with the fill solid tool.

Michael

Yup, this is a good application for the script. For something I'm doing right now, I'm placing some small debris by hand for aligning properly with the camera's angle. Since there is no Modeler camera, I have to do it in Layout.

faulknermano
06-27-2012, 01:26 PM
I would think you getting deformed but non-subdivided is as easy as setting displ sub level to 0 (and then back again). Naturally this will slow things down as LW needs to process that switch as usual.

I lied :) : I did briefly give that a go when zardoz asked for it, but the problem is that I don't remember how to get the original subpatch levels to revert it back once I've set it.

geo_n
06-27-2012, 02:00 PM
I notice something odd. The pasted object's and its pivot is being moved to the destination object's pivot?
For example I move a box 1m in x axis. A circle 1m in -x axis. Copy the box and paste to the circle. The box doesn't retain its location and snaps to the circle. Normal behavior?

edit: scratch the pivot part. Its object center to center maybe. something wierd.

faulknermano
06-27-2012, 05:31 PM
Are you using the script or are you calling MOD_Copy.ls/MOD_Paste.ls?

What the generic (main) script is doing is more than just copying and pasting; it creates a 'container' null (at centre of scene), saves a transformed copy of one selected object, loads that object in (and at this point the transformed object's pivot is at centre world), copies the geometry data, pastes the data into the container null, removes object, deletes transformed object file.

However, if you're actually calling the modeler 'copy' and 'paste' scripts, it will not pick up the offset of transforms and will apply (paste) data 'locally'. That's why the SaveTransformed part was essential.

zardoz
06-27-2012, 06:16 PM
I tried setting the display geometry (and render too) to 0 but it didn't work. So I guess we have to turn off subpatch in modeler to save the objects with no triangulation

faulknermano
06-27-2012, 06:37 PM
Turning off subpatches in Modeler is a good idea instead of using Display Level. Let's try this:

New modeler script #3: must be named "MOD_ToggleSubpatches.ls"


main
{
togglepatches();
}


Now the new revised code specifically for turning outputting non-subpatched objects.



generic
{
// create a null

combineitems = Scene().getSelect();
CommandInput("ModCommand_MOD_ToggleSubpatch");
AddNull("Null");
containernull = Scene().firstSelect();



for(i=1;i<=combineitems.size();i++)
{

SelectItem(combineitems[i].id);
//~ Refresh();
CommandInput("ModCommand_MOD_ToggleSubpatch");
fn = combineitems[i].filename+"temp";
SaveTransformed(fn);
CommandInput("ModCommand_MOD_ToggleSubpatch");
LoadObject(fn);
filedelete(fn);


CommandInput("ModCommand_MOD_Copy");
ClearSelected(1);
SelectItem(containernull.id);
CommandInput("ModCommand_MOD_Paste");
}

}


Ideally, there should be options in the script: to export with/without subpatching, etc. Also note that if the original object is not subpatched, it will be subpatched before being saved.

I have a conditional subpatcher script for Modeler that may fit the bill, but maybe later when I have more time. ;)

zardoz
06-27-2012, 06:43 PM
maybe we can have two buttons, one for subpatch transformed and another without subpatch. It's ok for me.

geo_n
06-27-2012, 10:30 PM
Are you using the script or are you calling MOD_Copy.ls/MOD_Paste.ls?

What the generic (main) script is doing is more than just copying and pasting; it creates a 'container' null (at centre of scene), saves a transformed copy of one selected object, loads that object in (and at this point the transformed object's pivot is at centre world), copies the geometry data, pastes the data into the container null, removes object, deletes transformed object file.

However, if you're actually calling the modeler 'copy' and 'paste' scripts, it will not pick up the offset of transforms and will apply (paste) data 'locally'. That's why the SaveTransformed part was essential.

I created buttons in layout for MOD_Copy.ls MOD_Paste.ls.
Also added the generic script. I attached a screencap. Sorry might be usererror.
What's the difference between "using" and " calling" MOD_Copy.ls/MOD_Paste.ls ?

geo_n
06-27-2012, 10:42 PM
Yesterday I was using it to copy paste parts of a posed character and saving that as an lwo. The parts would stay where they were.

zardoz
06-28-2012, 09:06 AM
Hi faulknermano

it's almost there...at least in here. the new script works like this: select objects, run script, it combines the selected objects into a frozen version, and the original objects have subpatch turned off. Shouldn't it be: run script, turn subpatch off in selected objects, combine them, turn subpatch on again in selected objects?

faulknermano
06-28-2012, 02:28 PM
Hi zardoz: I think there was a line that I failed to omit causing the error. Try this instead:



generic
{
// create a null

combineitems = Scene().getSelect();

AddNull("Null");
containernull = Scene().firstSelect();



for(i=1;i<=combineitems.size();i++)
{

SelectItem(combineitems[i].id);
//~ Refresh();
CommandInput("ModCommand_MOD_ToggleSubpatch");
fn = combineitems[i].filename+"temp";
SaveTransformed(fn);
CommandInput("ModCommand_MOD_ToggleSubpatch");
LoadObject(fn);
filedelete(fn);


CommandInput("ModCommand_MOD_Copy");
ClearSelected(1);
SelectItem(containernull.id);
CommandInput("ModCommand_MOD_Paste");
}
}

faulknermano
06-28-2012, 02:36 PM
I created buttons in layout for MOD_Copy.ls MOD_Paste.ls.
Also added the generic script. I attached a screencap. Sorry might be usererror.
What's the difference between "using" and " calling" MOD_Copy.ls/MOD_Paste.ls ?

By 'calling' I just mean being called from within the context of the main generic script. The main script does extra stuff required to 'freeze' transformation. The MOD_Copy.ls and MOD_Paste.ls is only part of the overall solution.

To make it work you need to fudge the code a bit. For example:




generic
{
//~ MOD_Copy_WorldSpace.ls
copyitem = Scene().firstSelect();


SelectItem(copyitem.id);
fn = copyitem.filename+"temp";
SaveTransformed(fn);
LoadObject(fn);
filedelete(fn);

CommandInput("ModCommand_MOD_Copy");
ClearSelected(1);

}



This code will copy the object's info in 'world space', which is basically Save Transformed. Just remember that if you 'paste' (using MOD_paste.ls) on another object, it will be relative to the transformations of that object.

geo_n
06-28-2012, 10:47 PM
By 'calling' I just mean being called from within the context of the main generic script. The main script does extra stuff required to 'freeze' transformation. The MOD_Copy.ls and MOD_Paste.ls is only part of the overall solution.

To make it work you need to fudge the code a bit. For example:




generic
{
//~ MOD_Copy_WorldSpace.ls
copyitem = Scene().firstSelect();


SelectItem(copyitem.id);
fn = copyitem.filename+"temp";
SaveTransformed(fn);
LoadObject(fn);
filedelete(fn);

CommandInput("ModCommand_MOD_Copy");
ClearSelected(1);

}



This code will copy the object's info in 'world space', which is basically Save Transformed. Just remember that if you 'paste' (using MOD_paste.ls) on another object, it will be relative to the transformations of that object.

MOD_Copy_WorldSpace.ls? Is the code different to Mod_Copy.ls? Is there also MOD_Paste_WorldSpace.ls?

Using this new generic script with the old Mod_Copy.ls and Mod_Paste.ls the object is still going to the center of the other object and not staying on worldcoordinates.

faulknermano
06-28-2012, 11:21 PM
MOD_Copy_WorldSpace.ls? Is the code different to Mod_Copy.ls? Is there also MOD_Paste_WorldSpace.ls?


This code replaces the original MOD_Copy.ls, yes. But MOD_Paste.ls is unchanged.



Using this new generic script with the old Mod_Copy.ls and Mod_Paste.ls the object is still going to the center of the other object and not staying on worldcoordinates.

To clarify: what MOD_Copy_Worldspace.ls does is copy the 'SaveTransformed' version of the object. So imagine executing a SaveTransformed on the selected object that has been moved/displaced, and have it stored in memory. Now when you paste it on another item, if that item has moved or rotated, then the pasted item will essentially position/rotate along with it (basically it's like parenting); but will do so along its 'save transformed' space.

Remember that while the Copy_Worldspace copies the data in world space, the pasting operation would be relatively to the item's transformation.

If you want world-to-world copy/paste, well, that's another script.... :)

geo_n
06-29-2012, 01:51 AM
I'm probably getting mixed up with all the scripts posted and maybe how to use them. :D
I thought the new script is a generic script not a replacement for mod_copy.ls.
But yes what you describe is what I'm trying to do. An object copied and pasted to another in its savetransformed space. Actually I'm using Mike Green's save selected transformed script for this but it saves out separate lwo's from layout to a folder which I then have to assemble in modeller manually.
Your script i thought would save some time by just combining them in layout and then saving that mesh to a single lwo.

faulknermano
06-29-2012, 02:14 AM
Your script i thought would save some time by just combining them in layout and then saving that mesh to a single lwo.

If that's the case, then the script shown at post # 1 is the one you want. Again, to clarify its usage: MOD_Copy.ls and MOD_Paste.ls are loaded as plugins but you don't execute these scripts directly. You execute only the CombineMeshesGN.ls (the main generic script) and it will execute MOD_Copy.ls/MOD_Paste.ls on its own (it can do this because it would be registered as plugins).

So, select all items you want to combine, then run the generic script only. It will create a null, and put your selected objects (Save Transformed) into that null. You must save the object manually, though.

zardoz
06-29-2012, 05:46 AM
sorry faulknermano, but it still has the same behaviour.
thanks for your time
cheers

faulknermano
06-29-2012, 01:13 PM
sorry faulknermano, but it still has the same behaviour.
thanks for your time
cheers

Hi zardoz, it's working fine over here. Can you double-check the code (http://forums.newtek.com/showpost.php?p=1253274&postcount=32)above is the one you're actually running? Or possibly there is something lost in post-writing. :)

What I'm going is loading up one subpatched box, cloning it, moving it to the side; selecting both subpatch boxes, running the script. The result is two non-subpatched boxes combined under the 'Null' name. The original subpatch boxes remain subpatched.

If you can do a video of what you're doing that might help.

geo_n
06-30-2012, 12:03 AM
If that's the case, then the script shown at post # 1 is the one you want. Again, to clarify its usage: MOD_Copy.ls and MOD_Paste.ls are loaded as plugins but you don't execute these scripts directly. You execute only the CombineMeshesGN.ls (the main generic script) and it will execute MOD_Copy.ls/MOD_Paste.ls on its own (it can do this because it would be registered as plugins).

So, select all items you want to combine, then run the generic script only. It will create a null, and put your selected objects (Save Transformed) into that null. You must save the object manually, though.

Yep definitely user error.
What I did was created buttons for MOD_Copy.ls/MOD_Paste.ls
and was selecting an object, click MOD_Copy.ls and then select another object, click MOD_Paste.ls. The usual copy paste routine.
So you only select objects you want to merge and click CombineMeshesGN.ls?
But I'm getting the same error as zardoz before when I click CombineMeshesGN.ls. Unknown commands popups. After the popups there's an empty null.

zardoz - any clue, how did you fix your side?

faulknermano
06-30-2012, 12:42 AM
But I'm getting the same error as zardoz before when I click CombineMeshesGN.ls. Unknown commands popups. After the popups there's an empty null.



You mean it says unknown command ModCommand_MOD_Copy?

zardoz
06-30-2012, 05:13 AM
that I solved by checking the caps in the scripts name. If you have one letter in caps and inside the generic script it isn't in caps then it won't work.

geo_n
06-30-2012, 06:56 AM
Ah finally it worked! It was spelling errors!
MOD should be all caps
MOD_ToggleSubpatch without the es at the end.

First script saves out savedtransformed object. If its subdivided then it will be collapsed to poly.
Second script saves out a savedtransformed object without collapsing to poly only if display subpatch for objects is set to 0.

zardoz
07-02-2012, 08:16 AM
Ok everything checked and working fine now. Perfect
thanks for this faulknermano

zardoz
07-02-2012, 09:49 AM
Hi Faulknermano,

I just want to say that as soon as I managed to get your scripts working I was asked to to do a new project: I had to place some balls (sort of atoms) in space (in specific places) and connect them (I used bezier bridge by Artssphere to do this). And after placing these atoms I used your script to take them unsubpatched to modeler and do the connections. Amazing. Really, thanks for this.
cheers
LL

nickdigital
07-02-2012, 10:54 AM
So what's the "final" version(s) of these scripts and how should they be used? Following this thread got confusing...at least for me. :D

zardoz
07-02-2012, 11:04 AM
Well, I'll try to clarify what I have and Faulknermano can confirm it.
I installed in layout two scripts: 1st one:
Named 'CombineObjects.ls':

@warnings 0
generic
{
// create a null

combineitems = Scene().getSelect();
AddNull("Null");
containernull = Scene().firstSelect();

for(i=1;i<=combineitems.size();i++)
{

SelectItem(combineitems[i].id);

fn = combineitems[i].filename+"temp";
SaveTransformed(fn);
LoadObject(fn);
filedelete(fn);

CommandInput("ModCommand_MOD_Copy");
ClearSelected(1);
SelectItem(containernull.id);
CommandInput("ModCommand_MOD_Paste");
}
}

And the second one named 'CombineObjectsNoSubD.ls':

generic
{
// create a null

combineitems = Scene().getSelect();

AddNull("Null");
containernull = Scene().firstSelect();



for(i=1;i<=combineitems.size();i++)
{

SelectItem(combineitems[i].id);
//~ Refresh();
CommandInput("ModCommand_MOD_ToggleSubpatch");
fn = combineitems[i].filename+"temp";
SaveTransformed(fn);
CommandInput("ModCommand_MOD_ToggleSubpatch");
LoadObject(fn);
filedelete(fn);


CommandInput("ModCommand_MOD_Copy");
ClearSelected(1);
SelectItem(containernull.id);
CommandInput("ModCommand_MOD_Paste");
}
}

These two scripts I added in layout and created buttons for each one. The first one combines the selected objects in their transformed positions and freezes them.
The second one does exactly the same but doesn't freezes the objects.

In modeler I installed the other 3 scripts: 1st one named 'MOD_Paste.ls':

@warnings
main
{
paste();
}

The second one named 'MOD_Copy.ls'

@warnings
main
{
copy();
}


and the last one named 'MOD_ToggleSubpatch.ls'

main
{
togglepatches();
}

These 3 scripts don't need buttons in modeler or layout. They are modeler commands that are called by the other two scripts installed in layout (correct me please Faulknermano).

prometheus
07-02-2012, 12:00 PM
Well, I'll try to clarify what I have and Faulknermano can confirm it.
I installed in layout two scripts: 1st one:
Named 'CombineObjects.ls':

@warnings 0
generic
{
// create a null

combineitems = Scene().getSelect();
AddNull("Null");
containernull = Scene().firstSelect();

for(i=1;i<=combineitems.size();i++)
{

SelectItem(combineitems[i].id);

fn = combineitems[i].filename+"temp";
SaveTransformed(fn);
LoadObject(fn);
filedelete(fn);

CommandInput("ModCommand_MOD_Copy");
ClearSelected(1);
SelectItem(containernull.id);
CommandInput("ModCommand_MOD_Paste");
}
}

And the second one named 'CombineObjectsNoSubD.ls':

generic
{
// create a null

combineitems = Scene().getSelect();

AddNull("Null");
containernull = Scene().firstSelect();



for(i=1;i<=combineitems.size();i++)
{

SelectItem(combineitems[i].id);
//~ Refresh();
CommandInput("ModCommand_MOD_ToggleSubpatch");
fn = combineitems[i].filename+"temp";
SaveTransformed(fn);
CommandInput("ModCommand_MOD_ToggleSubpatch");
LoadObject(fn);
filedelete(fn);


CommandInput("ModCommand_MOD_Copy");
ClearSelected(1);
SelectItem(containernull.id);
CommandInput("ModCommand_MOD_Paste");
}
}

These two scripts I added in layout and created buttons for each one. The first one combines the selected objects in their transformed positions and freezes them.
The second one does exactly the same but doesn't freezes the objects.

In modeler I installed the other 3 scripts: 1st one named 'MOD_Paste.ls':

@warnings
main
{
paste();
}

The second one named 'MOD_Copy.ls'

@warnings
main
{
copy();
}


and the last one named 'MOD_ToggleSubpatch.ls'

main
{
togglepatches();
}

These 3 scripts don't need buttons in modeler or layout. They are modeler commands that are called by the other two scripts installed in layout (correct me please Faulknermano).


No big deal, but wouldn´t it be better if you post it as finished scripts?

Thanks

zardoz
07-02-2012, 12:28 PM
good idea. here they are.

nickdigital
07-02-2012, 12:33 PM
Thanks zardoz!

lertola2
07-03-2012, 08:39 PM
Thanks for creating this script. I can see a lot of potential uses for it. However I am having trouble getting this to work on more than a few objects at a time. If I try to combine a lot of objects I get an error message that "Can not ope input file: MOD_Copy.ls". After I dismiss a bunch of error messages Lightwave's Open and Save commands will not work. I get an error message like "Can not save Scene file." if I try to save. This is happening on my Mac at the office and also my Mac at home. It has not happened yet on our office PC. Does anyone have an idea about what might be causing this error? Perhaps there is a limit on how often a file access can happen in a script?

Thanks,
-Joe

faulknermano
07-03-2012, 10:06 PM
If I try to combine a lot of objects I get an error message that "Can not ope input file: MOD_Copy.ls". After I dismiss a bunch of error messages Lightwave's Open and Save commands will not work. I get an error message like "Can not save Scene file." if I try to save. This is happening on my Mac at the office and also my Mac at home. It has not happened yet on our office PC. Does anyone have an idea about what might be causing this error? Perhaps there is a limit on how often a file access can happen in a script?

Thanks,
-Joe


If I'm not mistaken, this is specific to the Mac. I also had similar warnings during my attempts to make Janus compatible with Mac. Perhaps you can submit the script your content as a bug report to NT? I don't have a Mac (that can run the latest LW, that is).



@zardoz: thanks for your compilation. :D

geo_n
03-10-2013, 09:56 PM
Is this working on lw 11.5 64bit? I'm getting an error message. Had to use it in lw 9.6 32bit.

faulknermano
03-10-2013, 10:00 PM
The error refers to the Mod_Copy/Mod_Paste.ls scripts not being installed.

geo_n
03-10-2013, 10:17 PM
Thanks faulknermano I've added both scripts one at a time and restarted lightwave. It works now. :D
I scanned the folder where they were twice and restarted lw that didn't work. Strange.

lertola2
03-11-2013, 07:41 PM
I have had trouble getting these scripts to work on a Mac. I have had some success by using fbx export instead. When you import the the exported fbx file into modeler you have the option to merge all objects into one layer.

Cageman
07-28-2013, 12:22 PM
Nice tools, Lernie! :thumbsup: