First simple plugin with problem
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 27/05/2004 at 00:50, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 8.5
Platform:
Language(s) : C.O.F.F.E.E ;---------
Hello to all !!
Tnx for the yours advices, i have written this simple plugin to make a Cube primitive!!
I notice that when i set the fillet on this Cube, it dosen't activate on cube !!
Where i wrong?
// Plugin ID
const var PLUGIN_ID = 4444444;
// Plugin class for creating objects
class CreateCube extends MenuPlugin
{
public:
CreateCube(); // Constructor
GetID(); // Get Plugin ID
GetName(); // Get Plugin Name
GetHelp(); // Get Plugin Caption
Execute(doc); // Execute MenuPlugin
}
CreateCube::CreateCube() { super(); }
CreateCube::GetID() { return PLUGIN_ID; }
CreateCube::GetName() { return "Create Cube Plugin"; }
CreateCube::GetHelp() { return "Cube Primitive creation"; }
CreateCube::Execute(doc)
{
// Create cube
var cube = new(CubeObject);
var ct = cube- >GetContainer();
ct- >SetData(PRIM_CUBE_LEN, vector(200, 100, 300));
ct- >SetData(PRIM_CUBE_FILLET, 4);
ct- >SetData(PRIM_CUBE_SUBF, 4);
cube- >SetContainer(ct);
// Insert a Cube object
doc- >InsertObject(cube, NULL, NULL);
__
// Messages
GeEventAdd(NEW_ACTIVE_OBJECT);
doc- >Message(MSG_UPDATE);
doc- >Message(DOCUMENT_CHANGED);
return TRUE;
}
main()
{
__
// Register MenuPlugin
Register(CreateCube);
}
Tnx in advance!! -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 30/05/2004 at 17:25, xxxxxxxx wrote:
Please use the CODE tags to preserve the formatting of the code better.
In 8.5 it's best to use the values from the actual resource files, Ocube.h in this case: (You might have to copy these definitions, since not all parts of C.O.F.F.E.E. have been updated for 8.5.)enum { PRIM_CUBE_LEN = 1100, // VECTOR - Side Length [>=0.0] PRIM_CUBE_SEP = 1101, // BOOL - Seperate Surfaces [only evaluated if no fillet is specified] PRIM_CUBE_SUBX = 1102, // LONG - X-Subdivision [>0] PRIM_CUBE_SUBY = 1103, // LONG - Y-Subdivision [>0] PRIM_CUBE_SUBZ = 1104, // LONG - Z-Subdivision [>0] PRIM_CUBE_FRAD = 1105, // REAL - Fillet Radius [>=0.0; <=len.x/2; <=len.y/2; <=len.z/2] PRIM_CUBE_SUBF = 1106, // LONG - Fillet Subdivision [>0] PRIM_CUBE_DOFILLET = 1107 // BOOL - Enable Fillet };
As you see, you have to set PRIM_CUBE_DOFILLET to TRUE to enable the fillet. And to be picky, the fillet radius should be a real number (4.0), not an integer (4).
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 31/05/2004 at 00:32, xxxxxxxx wrote:
Tnx for the answer Mikael !
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 31/05/2004 at 01:06, xxxxxxxx wrote:
Now work, but i have seen that :
ct->SetData(PRIM_CUBE_FRAD, 4.0);
don't work !!
This work:
ct->SetData(PRIM_CUBE_FILLET, 4.0);
Where i found the correct settings?
Tnx in advance for the answer! -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 31/05/2004 at 09:24, xxxxxxxx wrote:
Hi Mr. Braun,
I think, what Mikael tried to say is, that you should use the ID values (e.g. 1105 instead of PRIM_CUBE_FRAD) directly, because the C.O.F.F.E.E. documentation isn't up-to-date and most IDs in the Cinema resources are not stored in C.O.F.F.E.E. constants.
Cheers,
Marcus -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 31/05/2004 at 16:33, xxxxxxxx wrote:
The simplest way is to copy the whole enum-construct into the C.O.F.F.E.E. code. That solves the immediate problem, though you'll have to remove it in the event of the real constants being added to C.O.F.F.E.E. in future versions.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 01/06/2004 at 00:36, xxxxxxxx wrote:
Tnx for the support !! :))
Tnx to all !! :))