[ #4581 ] related to scripts window updates, details here:
http://projects.blender.org/tracker/index.php?func=detail&aid=4581&group_id=9&atid=125
Scripts updated:
-Jean-Michel Soler updated some of his scripts: paths importer (ai,
eps, gimp, svg), kml / kmz importer and also updated Axiscopy.py by A
Vanpoucke (xand) and the knife script (this version handles multiple
materials) by Stefano Selleri and Wim Van Hoydonck. Thanks!
fixed some other UI logic in the python menu script
Added an option to use a vertex group for a reduction weight map to force reducing some areas more then others.
Mesh epydocs activeGroups can be None as well as string.
When through and replaced the obvious ones but there are still a a few Id rather not touch without more about whats going on.
Did quite a few changes to export-iv also.
Export mesh data with modifiers and objects matrix applied. export not only mesh data but text, nurbs etc (thanks to BPYMesh getMeshFromObject)
Small updates to ply import, dont set the TEX of a face (no pink faces anymore)
made ngon loop-reduce function faster by replacing dicts with sets
off_export has some errors, modernized the script.
added a python 2.3 reversed compat function - just uses ls[::-1]
Further 2.3 compat testing needed.
LWO cheats by having multiply poly lines in 1, by doubling back on the line. BPyMeshes NGON function splits this into multiple NGons so PolyFill can fill properly.
Tested with 1711 LWO files - (2 had unreadable faces) 77meg and 103 OBJ files- all worked.
Further changes need to be added but theres a bug in Blender that prevents the NGon function from working.
https://projects.blender.org/tracker/index.php?func=detail&aid=4544&group_id=9&atid=125
Lightwave major update by Alessandro Pirovano (uaraus) intergrated with my changes.
Tested with ~ 500 models to import without throwing an error.
Added subsurf back, image loading fixes and removed meshtools dependancy
- Jean-Michel Soler updated the svg to obj module used by Paths
Importer (thanks!)
- user request: added option to control whether user prefers per face
(uv face select "TwoSided" toggle) or per mesh ("Double Sided") single /
double face info in ac3d exporter.
BPY:
- Blender_ShowHelp() was now crashing Blender when called for the
second time, due to EXPP_dict_set_item_str decrementing the reference
count of an object passed as argument to Blender_ShowHelp() (so not
owned by that function).
Added remove doubles as a keyword option,
Fixed Triangulate (need to select the faces first)
Fixed boundry weighting (defaults reduced boundries first more then
non boundry verts!)
Made face area weighting give better results.
Workaround for a problem where badly predicted positions are further then half the edge length, on these cases just collapse to the weighted middle of teh edge.
Added docs for "PolyReduce" (Uses BPyMesh_Redux) and WIP Docs for AutoTex Layout.
http://mediawiki.blender.org/index.php/Manual/PartXIII/Modelling_Scripts
~20% faster and memory saved by re-using the face and edge lists and their classes each pass rather then __init__'ing new ones.
Stupid mistake- was only collapsing edges with UV's
Added support for "Weighted Collapse" Before an edge could only collapse into its middle,
Now the edge collapses into a point bias'd by the 2 verts Concave/Convec "Pointyness" value as well as boundry weighting.
This works much better for boundry verts. - UV's Vcols and Weights are correctly interpolated into the new location.
Added a tool in the mesh menu for accessing the poly reduction tool.
fixed some bugs in BPyMesh_redux, tweaked to work well for test cases. much better use of error levels for edge weighting. better collapsing to the desired target. triangulates before reduction be default now.
* Much improved, slower edge collapse weighting method that makes this script about 2.5x slower, but brings it up to the quality of qslim (lightwave's decimator), without the manifold' errors.
Probably worth adding a UI front end to this function.
Isnt intended to be ultra high quality, more for automatic realtime "Level of Detail" model generation.
BPyMesh.redux(ob, 0.5) # To reduce to about half the polys
renamed meshPrettyNormals to meshCalcNormals, and it now writes to normals rather then returning a list of vecs.
updated vertexpaint_selfshadow_ao to be a bit more efficient and make use of the above changes.
- dictWeightFlipGroups, return a vert weight with flipped group names.
- dictWeightMerge, takes a list of dictWeights and merges them
mesh_mirror_tool.py
Added vertex weight support for the mirror tool, its able to mirror arbitary meshes weights with optional name flipping and creation of name flipped groups.
This also uses the mode for l<>r, l>r, r>l so you can copy from left to right only for eg.
Exporter free's mesh vertex data each run (was causing memory errors when exporting fluidsim meshes... poke ken for Mesh.Unlink() since many meshes are still created)
Exporter had an indentation error also.
Added an NMesh wrapper around Mesh for importers to use, so as to work around slow 1 by 1 adding of data. used in upcoming flt_importer update.
Mesh cleanup now has the dangerous option to perform a cleanup on ALL mesh data. (needed it for a project)
Made obj_export use getMeshFromObject
obj_export now copies images from mtex as well as texface when copy images enabled.
obj_export tested to work with exporting fluidsim animations (somebody reported it was broken, must have been fixed at some point?)
at the moment it only has meshWeight2Dict and dict2MeshWeight
These allow you to deal with vertex weights as a list of dicts which makes scrips short and easy to understand.
(kh_python, perhaps dict access to the python verts could replace this )
Used the above util functions to update mesh_cleanup.
Copied from the source
'Material Clean', 'Remove unused materials.'
'VGroups'
'Group Clean', 'Remove vertex groups that have no verts using them.'
'Weight Clean', 'Remove zero weighted verts from groups (limit is zero threshold).'
'Weight Normalize', 'Make the sum total of vertex weights accross vgroups 1.0 for each vertex.'
Normalizing lets you see how much % of the vertex a bone owns just by looking at 1 of the bone weights.
Would be nice to have this functionality in Blender but theres not much room for new buttons in teh vgroup and material area :/
OBJ Importer,
Added true FGon support for faces >4 verts. (Does a propper scanfill and optionaly converts it to an FGON.) - Checks for flipping, uses a face fan when scanfill fails.
Added the option to split by materials, into seperate mesh objects (Good for large databases)
Made smoothGroups optional.
Update image loader, optional arg for not autocreating the image. - aslo removed some stuff that shouldent have been left in.
Workaround for a bug in Blender.sys.exists()... should fix soon.