# Python Custom Node Interface Tutorials (Similar to Animation Nodes)

I am looking at how nice Animation Nodes is and the various GUI representations. Some examples being the GUI representation resulting from "Add->Number->Integer" or "Add->Vector->List". I'm not doing very well at figuring out how this is done just from reading Animation Nodes (I'm not so good with either Python or Blender, I'm a C++ guy) and am looking for tutorials which might show me how to create similar GUI elements in Nodes.

A big advantage of Blender would be all of the documentation on so many topics. A big disadvantage of Blender is...you probably guessed I would say this...all of the documentation on so many topics. I have had some partial success, e.g., I can create add-ons and learned about context.window_manager.invoke_props_dialog(). I am having trouble figuring out how to actually do simple things like save the values from pop-ups (such as if I have an interactive integer value) which were defined in the class. I see this in the Python output when I change a value to 1 there, but cannot yet save or use that value in my class:

bpy.data.window_managers["WinMan"].(null) = 1


I've not yet figured out how to copy that "1" into the variable it should represent. I'm finding many related tutorials, but I'm afraid I'm going to be spending months to find one little detail.

Are there any recommended tutorials which go into depth in making an interface similar to the nodes of Animation Nodes?

• Your question is a bit broad, you will get more help being more specific, like "How do I make a panel that can expand its list of items?" You won't find much specific to custom nodes but they use the same layout drawing as panels. You can find several examples of panel draw layouts here, like this one. You define a custom property and display that property, when you change the display it is changing the property. – sambler Jul 23 '18 at 9:49
• How do I access the user's input for changes to values in "invoke_props_dialog(self)"? How do I create custom versions (or layouts) in the same way the node icons show for Animation Nodes? Is there either an in-depth or advanced tutorial just on dialogues which would explain how Animation Nodes does this? – D. Stimits Jul 23 '18 at 21:48
• When I see this in the info panel: bpy.data.window_managers["WinMan"].(null) = 2, how do I access "(null)" so I can set a value to "2"? How does one set up "(null)" to have some meaning? – D. Stimits Jul 23 '18 at 22:15
• Ask each question by itself for a better response, with failing code also helps. The invoke_props_dialog edits properties of the related operator, maybe this helps. I have seen it but can't recall off the top of my head why/when the info window shows the xxx.(null) = 2 but ask a question with when I adjust this, the info shows this, how do I find the property name. – sambler Jul 24 '18 at 0:43