Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
On 30/08/2017 at 12:16, xxxxxxxx wrote:
Hello! I'm trying to make a script that generates two nulls for a spline and attaches spline's first and last point to those nulls.
In this topic Andreas tells to use CallButton() function, but I can't get this script to work. https://plugincafe.maxon.net/topic/9445/12661_clicking-set-button-of-constraint-tag-from-pygen
The script is for Script Manager. You have to select spline object first and then run the script.
import c4d def main() : doc = c4d.documents.GetActiveDocument() selo = doc.GetActiveObjects(0) if len(selo) > 0: for o in selo: select_points = o.GetPointS() pc = len(o.GetAllPoints()) select_points.DeselectAll() select_points.Select(0) nulla = c4d.BaseObject(c4d.Onull) if nulla is None: return nulla[c4d.NULLOBJECT_DISPLAY] = 2 nulla.SetAbsPos(c4d.Vector(o.GetPoint(0)[0],o.GetPoint(0)[1],o.GetPoint(0)[2])) nulla.SetName("A") doc.InsertObject(nulla) aTag = o.MakeTag(1018074) aTag[c4d.HAIR_CONSTRAINTS_TAG_ANCHOR_LINK] = nulla c4d.CallButton(aTag, c4d.HAIR_CONSTRAINTS_TAG_SET_ANCHOR) select_points.DeselectAll() select_points.Select(pc-1) nullb = c4d.BaseObject(c4d.Onull) if nullb is None: return nullb[c4d.NULLOBJECT_DISPLAY] = 2 nullb.SetAbsPos(c4d.Vector(o.GetPoint(pc-1)[0],o.GetPoint(pc-1)[1],o.GetPoint(pc-1)[2])) nullb.SetName("B") doc.InsertObject(nullb) bTag = o.MakeTag(1018074) bTag[c4d.HAIR_CONSTRAINTS_TAG_ANCHOR_LINK] = nullb c4d.CallButton(bTag, c4d.HAIR_CONSTRAINTS_TAG_SET_ANCHOR) o.InsertTag(c4d.BaseTag(1018068)) c4d.EventAdd() if __name__ == "__main__": main()
I made similar script that uses CallButton function with Spline Dynamics tag to set fixed points and it works. Weird...
On 31/08/2017 at 05:51, xxxxxxxx wrote:
Hi,
this got discussed just recently. Please have a look at CallButton Won't Work on new Tags.
On 31/08/2017 at 08:05, xxxxxxxx wrote:
Thank you Andreas. Now it works!