Extrude Cube
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 27/04/2008 at 07:52, xxxxxxxx wrote:
User Information:
Cinema 4D Version:
Platform:
Language(s) :---------
Hi. I'm a complete newbie at coffee, and so I got a lot of questions, but here is my concrete problem:
I'm trying to write a script in coffee, which creates a cube and then extrudes one polygon. After a few hours of reading and testing I managed to write the following code:var doc = GetActiveDocument();
if (!doc) return;
var wuerfel = new(PolygonObject);
wuerfel = AllocObject(Ocube);
doc->InsertObject(wuerfel,NULL,NULL);
var datac = new(BaseContainer);
doc->SetActiveObject(wuerfel);
CallCommand(12187); //Polygon-Modus
wuerfel = SendModelingCommand(MCOMMAND_MAKEEDITABLE, doc, wuerfel, datac, MODIFY_ALL);
println(typeof(wuerfel));
CallCommand(13323);
var bc=new(BaseContainer);
bc->SetData(MDATA_EXTRUDE_OFFSET, 5);
SendModelingCommand(ID_MODELING_EXTRUDE_TOOL, doc, wuerfel, bc, MODIFY_POLYGONSELECTION);GeEventAdd(REDRAW_ALL);
My questions are:
1. I think I made some things to complicated, or just not the best way. I would be pleased if you tell me, which things, as I'm a real newbie and thankful for every advise on that.2. Creating the cube works fine, making it editable also, but nothing is extrude. What's wrong here?
3. How can I select a single polygon of the cube? I tried SetPolygonSelection on the cube, but either I did something wrong or you have to go another way with a cube.
Thanks so far
Basti -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 27/04/2008 at 10:18, xxxxxxxx wrote:
First, you are creating a PolygonObject and then a CubeObject - which is it then? Do the AllocObject(Ocube) only. The result of SendModelingCommand() will be a PolygonObject representation of the cube.
Don't go into Polygon mode before you Make Editable (this is an object-level command).
3. answers 2. You need to select polygons before you can extrude them. When you have the 'editable' PolygonObject, use its SetPolygons() command. You will need a BaseSelect to make the selection. Have fun figuring out which polygon is which in the array if that is necessary.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 27/04/2008 at 13:43, xxxxxxxx wrote:
I did it this way:
var wuerfel = AllocObject(Ocube);
doc->InsertObject(wuerfel,NULL,NULL);
[..]
var selection;
wuerfel->SetPolygon(1, selection);
var bc=new(BaseContainer);
bc->SetData(MDATA_EXTRUDE_OFFSET, 5);
SendModelingCommand(ID_MODELING_EXTRUDE_TOOL, doc, selection, bc, MODIFY_POLYGONSELECTION);But I still got an error: (5) Incompatible values...INTEGER/OBJECT
and I don't know why.
Can you please give me an example how to do this? -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 27/04/2008 at 14:44, xxxxxxxx wrote:
wuerfel->SetPolygonSelection([BaseSelect]).
SetPolygon() literally sets a polygon (vertex indices) using the given polygon. It looks like SetPolygons() does the same but for the entire polygon array.