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.


Log in to reply