include Oextrude
-
On 09/03/2015 at 10:53, xxxxxxxx wrote:
Hello guys. Sorry if this is confusing, there's lots of stuff going on.
Any ways, I am creating a c4d.OBJECT_GENERATOR with VirtualObject;
In the User Interface I want to have controls that are available in Extrude Nurbs object (Movement, Subdivisions, Caps etc) + my custom controls. So my res file looks like this:
CONTAINER Omyplugin { NAME Omyplugin; INCLUDE Obase; GROUP ID_OBJECTPROPERTIES { INCLUDE Oextrude; # <------- This is where I add Extrude Nurbs controls } GROUP GROUP_MESH # <---------- My custom controls are in new tab { LINK LINK_PROFILESPLINE { ACCEPT { Ospline; Osplinecircle; Osplineprofile; Osplinecontour; Osplinerectangle; Osplinestar; Osplinecogwheel; Osplineflower; Osplinetext; Ospline4side; Osplinenside; 440000054; 1019396; } } REAL MY_NUMBER { MIN 2; MAX 10000; STEP 1; UNIT REAL; } .. etc } }
.h file is like this:
#ifndef _Omyplugin_H_ #define _Omyplugin_H_ enum { GROUP_MESH = 9000, # <------ Tab name LINK_PROFILESPLINE = 1000, # <------- Instance object MY_NUMBER = 1001, ...etc }; #endif
.str file:
STRINGTABLE Omyplugin { Omyplugin "Spline Object"; GROUP_MESH "Generate"; LINK_PROFILESPLINE "Spline Object"; MY_NUMBER "Number of Slices"; ..etc
Then in .pyp file right after "import c4d" and other imports I declare my controls "LINK_PROFILESPLINE = 1000, MY_NUMBER = 1001" etc and set default value for them like this
class MYPLUGIN(plugins.ObjectData) : def __init__(self) : self.SetOptimizeCache(True) def Init(self, op) : # Set default values op[MY_NUMBER] = 10 # <---------- Set 10 as default value ...etc
NOW THE PROBLEM is that MY NUMBER values updates when changing values in SUBDIVISIONS and vice versa. I DON"T WANT IT!!!
I probably missed something, didn't initiate Oextrude controls or something - but I have no idea how to do that. What am I missing?Thank you
-
On 09/03/2015 at 11:40, xxxxxxxx wrote:
Apparently problem goes away once I change MY_NUMBER = 1001 ID to something else in H and PYP files.
Looks like default ID forc4d.EXTRUDEOBJECT_SUB is also 1001, that's why my values are get messed up.However, I'd like to know if I could assign another ID for c4d.EXTRUDEOBJECT_SUB and mess up with my ID that I set for MY_NUMBER.
Is it doable? Any ideas?
-
On 09/03/2015 at 12:37, xxxxxxxx wrote:
I keep answering my own questions:)
Apparently it's not possible to override default ID's. Had to find it out the hard way. Here's a topic that talks about Ospline, witch is similar to what I need.
http://forums.cgsociety.org/archive/index.php/t-1044085.html