Mit C.o.f.f.e.e. ein TAG erstellen

lx2

Mitglied
Hi ich suche verzweifelt im Internet nach einem Beispielscript, in dem ich mit C.o.f.f.e.e. ein TAG erstellen kann.

folgende Funktionen sollten helfen:

void InsertTag(BaseTag* tp, BaseTag* pred = NULL)

Inserts tag into the object's tag list. Optionally you can specify the insertion position with the pred parameter, giving the tag before (just to the left of) the wanted position. Otherwise the tag is inserted at the first position in the list.
Parameters

BaseTag* MakeTag(LONG type, BaseTag* pred = NULL)

Create and insert a tag for this object.


Kann mir bitte mal jemand erklären wie das funktionieren könnte?

EDIT:

Ok soweit so gut.
Folgender Code erstellt ein Textur-Tag auf das aktuell ausgewählte objekt:

Code:
var TexturTag = AllocTag( Ttexture );
object()->InsertTag( TexturTag );

Ich würde aber gern ein Clothilde/Kleindung-Tag erstellen
In der SDK-dokumentation finde ich keine Passende statische Variable. ( sowie "Ttexture" für "Textur-Tag")

EDIT2:

Das Problem ist, das Clothilde ein Teil des MOCCA-Plugins ist. Ob man da überhaut aus Coffee zugreifen kann weiß ich nicht...
 
Zuletzt bearbeitet:
Hi!

Hm, habe die ID vom Kleidungs-Tag einfach mal händisch ausgelesen ;)
Code:
main(doc,op)
{
    var ClothTag = 100004020;
    var ctag = AllocTag(ClothTag);
    op->InsertTag(ctag, NULL);
}
...?

Liebe Grüße,
Mark.
 
  • Gefällt mir
Reaktionen: lx2
Wow!

vielen Dank Mark. Wenn du mir jetzt noch sagst wie man per scripting Tag-Atribute vom Kleidungs-Tag ändert dann bist du mein Held:)

Edit:
Bin sogar selbs ein Held:

PHP:
main(doc,op)
{
    var ClothTag = 100004020;
    var ctag = AllocTag(ClothTag);
    op->InsertTag(ctag, NULL);
	  ctag#CLOTH_DRESS_STEPS=45; // Dress-O-matic Schritte auf 45 gestellt
}
 
Zuletzt bearbeitet:
Hmm doch noch nicht ganz... zwar kann ich jetzt werte im Kleidungs-Tag ändern, ich müsste jedoch auch auf die Buttons zugriff haben.

Durch suchen bin ich auf folgende Datei gestoßen:
C:\Programme\MAXON C4D 11\CINEMA 4D R11\modules\Mocca\clothilde\res\description\clothtag.h


Da gibt es die Zeile:
PHP:
CLOTH_DO_RELAXING    = 11050, // button


Jetzt bringt mich mein:
PHP:
main(doc,op)
{
    var ClothTag = 100004020;
    var ctag = AllocTag(ClothTag);
    op->InsertTag(ctag, NULL);
      ctag#CLOTH_DO_RELAXING;  // <-- sollte den Button auslösen, tut es aber nicht
}
leider auch nicht weiter. Evtl hast du noch eine Idee.
Per Coffee einen Button klicken also... o_O
 
Hi!

Ui, ich glaube nicht, daß das funktioniert :(
Coffee ist da weder Fisch noch Fleisch: weder "richtige, allumfassende Programmiersprache", noch "Aktionen-Aufzeichnungs-Tool", d.h. ein Maus-Klick läßt sich damit auch nicht simulieren...
...und wo Coffee schon nicht an alle Standard-Geschichten herankommt, ist's kein Wunder, wenn es mit Modulen erst recht nicht geht :(

Ganz anders ist's, wenn Du die C++-SDK verwendest bzw. eben Deine Plugins mit C++ entwickelst: da hast Du auf - beinahe ;) - alles Zugriff :)
(somit großer Unterschied: C++ SDK und COFFEE SDK ! - Coffee SDK 11 ist nur ein Addendum!)

Kurz: glaube nicht, daß Du Buttons über Coffee aktivieren bzw. die Funktion dahinter starten kannst... :(

Liebe Grüße,
Mark.
 
Hey, gute neuigkeiten Das Addendum schenkt uns ne neue Funktion:


PHP:
bool CallButton(BaseList2D bl, LONG id)
Button call, the same as clicking a button in the user interface.


Jetzt heistst nur noch herauszufinden wie man Sie anwendet.
------------------------------------------------------------------------------------
Und es geht doch ... juhu
 
Hi!

...das ist ja fein, kannte ich noch nicht :)
Sollte mir das Addendum also mal angucken, gut zu wissen :)
Danke :)

Liebe Grüße,
Mark.
 
JEEEEEEEEEEEEHA:

Folgendes einfach auf beliebiges Polygonobjekt anwenden
PHP:
main(doc,op)
{
    var ClothTag = 100004020;
    var ctag = AllocTag(ClothTag);
    op->InsertTag(ctag, NULL);
    ctag#CLOTH_DRESS_STEPS=45; // Dress-O-matic Schritte auf 45 gestellt
    CallButton(ctag , CLOTH_DO_RELAXING); // Entspannen Button wird geklickt
  	
}


P.S.: Wie die einzelnen Befehle heißen, kann man entweder in den entsprechenden headerdateinen nachschauen (*.h) oder (durch zufall herausgefunden) in der Hilfedatei kann man mal die HTML-Paragraphen der Überschriften genauer Betrachten (z.B. mit Firebug wenn man Mozilla hat), die haben nämlich teilweise genau die gleichen IDs wie die Befehle.

Heißt zu deutsch:
file:///C:/Programme/MAXON%20C4D%2011/CINEMA%204D%20R11/help/DE/html/CLOTHTAG-CLOTH_GROUP_DRESSING.html aufmachen und quelltext anschauen.

Da steht z.B.:
PHP:
<p>
<a id="CLOTH_DO_RELAXING" name="CLOTH_DO_RELAXING"/>
<span class="c4d_id">Entspannen</span>
</p>
Sehr interessant!
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück