Link Editor and select the methods tab are the contents the actual code used by the plugin to execute the scripts functions?
Will an RSOBJ written for the Rosetta version of Truespace work in the Beta 8 version as well?
If we make changes to the methods section of the same file will they be reflected in the resulting output?
The referenced RSOBJ is for Clintons Simple ASE exporter.
Was this exporter originally written in C++ and can it be modified in the TS LE?
Also, rather then modify the original file would it be safer to copy, rename and modify the copied file rather then possible destroy the original file?
Sorry to be such a persistent pest, but I'm very interested in this area, but am a bit wary about getting my feet wet as I understand so little about this area. Thanks for any feedback to help get me started. BNG.
When we open an RSOBJ based export file in the
-
BNG
- Chief Warrant Officer
- Posts: 684
- Joined: 16 Oct 2009, 03:26
- Type the number ten into the box: 0
- Location: Texas
When we open an RSOBJ based export file in the
Casual Truespace 3D modeling hobbyist. My Truespace blog and simple 3d Modeling Tutorials for Casual Model Makers.
-
froo
- Captain
- Posts: 2554
- Joined: 22 May 2009, 12:13
Re: When we open an RSOBJ based export file in the
Yes, a script node should work in both. If not you can copy the script code from the node, open the other version, and pasteBNG wrote:Link Editor and select the methods tab are the contents the actual code used by the plugin to execute the scripts functions?
Will an RSOBJ written for the Rosetta version of Truespace work in the Beta 8 version as well?
If we make changes to the methods section of the same file will they be reflected in the resulting output?
The referenced RSOBJ is for Clintons Simple ASE exporter.
Was this exporter originally written in C++ and can it be modified in the TS LE?
Also, rather then modify the original file would it be safer to copy, rename and modify the copied file rather then possible destroy the original file?
Sorry to be such a persistent pest, but I'm very interested in this area, but am a bit wary about getting my feet wet as I understand so little about this area. Thanks for any feedback to help get me started. BNG.
that code into a script node that you create in the other version.
When you change the script code, you click the little icon at the top of the node, the red arrow I believe, to commit the changes. When you do, and run the modified script, the output will be modified accordingly.
I believe Clinton's exporter is composed of two parts: an RSX plugin (written in C++), and script code. C++ code cannot be edited in the link editor. Script code can.
It would be best to make a copy of the downloaded file and use that.
The best thing to do would be to go through that powerpoint presentation I made; some other folks made some other tutorials as well. Follow the steps, making something that is extremely simple, to understand how it works. Then advance up to the exporter. It looks like the exporter has quite a bit of code in it.
-
BNG
- Chief Warrant Officer
- Posts: 684
- Joined: 16 Oct 2009, 03:26
- Type the number ten into the box: 0
- Location: Texas
Re: When we open an RSOBJ based export file in the
Thanks Froo. I had a feeling that modifying the original file would probably turn it into a FUBARed state.
How can one tell the difference between what's C++ code and the script kind?
How can one tell the difference between what's C++ code and the script kind?
Casual Truespace 3D modeling hobbyist. My Truespace blog and simple 3d Modeling Tutorials for Casual Model Makers.
-
froo
- Captain
- Posts: 2554
- Joined: 22 May 2009, 12:13
Re: When we open an RSOBJ based export file in the
Well, the script code is in a trueSpace RsObj node. It is called a script object, or script node.
All truespace objects are nodes. If you save a cube as a trueSpace object in: C:\temp,
you will see it saved as: cube.RsObj (if you chose the filename to be: cube).
For developing plugins for trueSpace, you would need Microsoft Visual Studio 2005 or newer.
C++ code is used for plugins. A C++ filename has a .cpp extension, like: plugin.cpp.
You also have supporting header files, with a .h extension, like: plugin.h
There are several .cpp and .h files required to make a plugin. If you have Visual Studio,
you can open an example for trueSpace that comes with the trueSpace SDK: RsExamplesPlugin is a good one.
To keep things organized, you have a Solution file for Visual Studio, for each solution (in our case, a plugin).
The solution file has a .sln extension, like: plugin.sln. This file contains information that Visual Studio reads,
in order to load all the cpp and .h files for the solution. Pretty complicated I know, but that's basically
how it works.
The compiled solution is a DLL, for trueSpace. Only, for trueSpace, the extension of the DLL is .RSX, like:
plugin.RSX.
All truespace objects are nodes. If you save a cube as a trueSpace object in: C:\temp,
you will see it saved as: cube.RsObj (if you chose the filename to be: cube).
For developing plugins for trueSpace, you would need Microsoft Visual Studio 2005 or newer.
C++ code is used for plugins. A C++ filename has a .cpp extension, like: plugin.cpp.
You also have supporting header files, with a .h extension, like: plugin.h
There are several .cpp and .h files required to make a plugin. If you have Visual Studio,
you can open an example for trueSpace that comes with the trueSpace SDK: RsExamplesPlugin is a good one.
To keep things organized, you have a Solution file for Visual Studio, for each solution (in our case, a plugin).
The solution file has a .sln extension, like: plugin.sln. This file contains information that Visual Studio reads,
in order to load all the cpp and .h files for the solution. Pretty complicated I know, but that's basically
how it works.
The compiled solution is a DLL, for trueSpace. Only, for trueSpace, the extension of the DLL is .RSX, like:
plugin.RSX.
-
clintonman
- Captain
- Posts: 5659
- Joined: 21 May 2009, 21:08
- Type the number ten into the box: 0
- Location: California
Re: When we open an RSOBJ based export file in the
The ASE exporter only uses c++ for the file dialog portion. My website says that the RSX plugin is required, but I just looked at the code and I don't think it's really required. The part that calls the plugin is inside the button:
For all the stuff I write if it uses c++ you will find "Clintons3d Package" somewhere in the code. In the code above it's found here "sadata = System.CreateDO('Clintons3d Package/File Save As data');" So in this case it's more than 99% scripting.
Code: Select all
try
{
sadata = System.CreateDO('Clintons3d Package/File Save As data');
}
catch(err)
{
sadata = false;
}
if(sadata)
{
sadata.SetName("3DS ASCII Scene Files (*.ase)~*.ASE~All Files (*.*)~*.*~~");
safile = sadata.GetName();
if(safile != "")
{
Node.Value('%THIS_NAME%',"MyFileName") = safile;
Activity.Run('%THIS_NAME%');
}
}
else
Activity.Run('%THIS_NAME%');-
BNG
- Chief Warrant Officer
- Posts: 684
- Joined: 16 Oct 2009, 03:26
- Type the number ten into the box: 0
- Location: Texas
Re: When we open an RSOBJ based export file in the
Very cool Clinton and thanks Froo for explaining things for me. I'd like to focus on this area more so I can muster the courage to dive in to the plugin side a bit more. BNG.For all the stuff I write if it uses c++ you will find "Clintons3d Package" somewhere in the code. In the code above it's found here "sadata = System.CreateDO('Clintons3d Package/File Save As data');" So in this case it's more than 99% scripting.
Casual Truespace 3D modeling hobbyist. My Truespace blog and simple 3d Modeling Tutorials for Casual Model Makers.