Dev:Ref/Requests/Python

提供: wiki
< Dev:Ref‎ | RequestsRequests/PythonFeaturesから転送)
移動先: 案内検索

Embedding a python macrorecorder

I read about the future release 2.5 - promissing. Will it be possible to switch on/off a kind of macro recorder, that records all interactive GUI-Inputs of the artwork designer into it's equivalent pythoncode that does the same thing. Could this feature be incorporated into the roadmap? This automated coderecording would give an excellent way for python developers to get to know what statements/libraries to use for doing a certain job - just by recording the equivalent interactive actions. The recorded scripts could be studied and taken as stups for quickly realising more complex task by programs. I'm sure this would boost pythoncoding in blender into new dimensions. Ollio 22:33, 13 April 2009 (UTC)

Push-Buttons with Iconmap

Up to now Blender.Draw.Button may have a text, but it's not possible to supply a icon-bitmap. The picture below shows the pythonwindow with an bitmap in background and some buttons. This is a bypass due to the present gap, but not ideal GUI-building. Clicking on the bitmap gives no feedback to the user. Visual labelling area of the function and the actual pusharea are not the same.

Not ideal: Faking an iconized button


In this sample the icons mean

  • push: Push 3D-Cursor onto stack
  • pop: Pop3D-Cursor from stack
  • c2s: Snap cursor to the selection
  • s2c: Snap selection to the cursor

As you can see the graphical icons give much better cognitive feedback compared to the acronyms.

It would be quite useful building python-GUIs to provide an icon-feature to the pushbuttons. I think a Iconsize of 48*48 and 64*64 would be fine. Inputformat could be *.ico or *.png. It would be even nicer to be able to switch between textlabel and icon representation in the same button. --Ollio 12:28, 24 December 2006 (CET)

Extending Python Scripts Menu Feature: MultiGroup Entries, Subgroups

Currently BPY system, let us register a script only in one fixed category in the Python Scripts Menu (Animation, Wizards, Misc). But a certain script may be useful, and thus callable in different categories. A script supporting mesh construction for example may be functional in objectmode and in editmode. Think of a Copy/Paste-Script that may illustrate that. It could works in both editmode or objectmode, of course with modesensitve differentiation of the function. Currently we have to decide wether to register this script in the OBJECT-Scriptmenu or the MESH-Scriptmenu. I circumvented this restriction by publishing the script in MESH-Scriptmenu and then building a wrapper-modul that calls the same script in OBJECT-Scriptmenu. It would be much more elegant to allow something like:

Name: 'Copy/Paste'
Blender: 242
Group: 'Mesh, Object'

With growing number of scripts in either Scriptmenu-group it whould also be usefull to support Subgroups. A subgroup Editing could be defined implicit like:

Name: 'Copy/Paste'
Blender: 242
Group: 'Editing\Mesh, Editing\Object'

-- Ollio 11:35, 24 December 2006 (CET)

PythonArchitecture

update: the things that seem to not be linked from anymore (the PythonArchitecture node and ones from it) have more recently been worked on at BlenderDev/PythonBlender

The integration of Python into / with Blender needs thinking. This is not really a feature request, but not a thing that is currently worked on implementationwise either, but perhaps something that becomes architectural feature requests.

-- Blenderwiki.ToniAlatalo

Personal Python Scripts Menu Entry

Currently BPY system, let us register a script into a fixed category in the Python Scripts Menu (Animation, Wizards, Misc). It would be nice to have a way to define our own category to manage our personal (buggy) python scripts.

-- Blenderwiki.malefico - 05 Oct 2004

-- JosephGilbert - 21 Mar 2005

Output for Debuging

On Windows OS I have to switch the whole time between this 2 windows of Blender to see the print output. It would be cool to see the output in a frame of Blender. -- Blenderwiki.Thomas Buschhardt


Parenting Objects to vertices/faces/edges thru Python

Python API lacks of a method to parent an object or list of objects to a face or group of faces, or even to a single vertex. Currently all you can do is to parent to an object. This kind of functionality is really useful for scripting of animatable feathers or any other application which uses "particle-like" objects over the faces of a deformable mesh.

-- Blenderwiki.malefico - 03 Jun


Constraint module for constraints creation/access thru Python

Might allow scripting of walkcycles using constraints to lock character feet, auto IK setup creation, constraint management wizards, and more...

-- Blenderwiki.malefico - 13 Jun 2005

Full access to Texture/MapInput and MapTo-Values

What makes sens to tell Blender thru Python take MapTo('Nor') if you cant change the Normal-amount. It would be also nice to change not only to MapTo('Nor') also to negative 'Nor'. -- ThomasBuschhardt - 23 Aug 2005

Garbage Collector

Its an old problem, but not solved. We need a garbage collector to delete unused Materials and so on. The trick to save and open the same Blender-file is not a solution. Free the memory :)!! -- ThomasBuschhardt - 02 Oct 2005

Python based Modifiers

Python based modyfiers would be great. This should make it possible to implement scripts like TerryNoise mare easy an make it not persitance to the mesh and maybe also animateable!
-- Panzi 01:50, 12 November 2005 (CET)

Better Python-Script UI API

The python script UI API is IMHO very unhandy. I tryed to work around this by creating ScriptUI, but a nativ solution (with clipped container widgets and scrollbars etc.) would be much better.
-- Panzi 01:50, 12 November 2005 (CET)

Python Numeric Input

  • When inputting numbers, be able to do _ + NUMBER to apply that operation to the original number; similar to the read-eval-print loop of the python interpreter.
  • Be able to pass python expressions into the numeric input that would be updated. To do this, you would prepend a '|' to the python expression. The symbols prepending the expression could be used to set when they would be updated, for example, | for every frame change, @ before rendering, & between render frames only and not frame changes in UI, but these are un-intuitive. If this were done, it would be a nice touch to change the button color, and have something in the object browser for tracking these expresions.

--Purpleposeidon 19:05, 22 March 2008 (CET)

User Input Handlers

Problem: bpy.app.handlers.scene_update_pre is the only way to clean up addon objects. This significantly impacts frame rate. Solution: bpy.app.handlers should have pre and post handlers to deal with all events surrounding a user action. Could be titled user_input_pre and user_input_post. The idea is that these handlers would be executed before and after everything which can be "undone."