Dev:2.6/Py/Scripts/Import-Export/LDraw Importer

提供: wiki
< Dev:2.6‎ | Py
移動先: 案内検索

Change Log

1.1.5

Standards

(Released January 18, 2014)


  • Read LDConfig.ldr and config.py using UTF-8 encoding
  • Added support for reading models in UCS-2BE & UCS-2LE encoding (#37)
  • Always save config.py in user's AppData on Windows (#38)
  • Remove GameFix cleanup option
  • Improve part path lookup (#40, #50)
  • Give unofficial files precedence over official ones, support usage of p/8 primitives folder (#52)
  • Add @MinnieTheMoocher to author list
  • Reworked display /of import options
  • Initialize paths array at the beginning of the script
  • Fix bug with high-/low-res primitives not being imported properly
  • debugPrint() behavior was not as expected
  • Fixed issue with multiple edge split modifiers being added to each brick (see #57)


1.1

The Working Quartet

(Released December 2, 2013)

  • Added Blender Internal material support for Chrome, Pearlescent, Rubber, and Metal colors
  • Removed unused import option
  • Added basic support for Cycles materials and switch to use them
  • Fix string concentration errors
  • Fix LEGO brick plastic IOR value
  • Fix many PEP 8 line length issues
  • Fix crash when trying to import a non-existent brick (see Issue #11)
  • Detect render engine and use proper materials for it rather than selecting a checkbox
  • Allow import on allow import on both case-sensitive and case-insensitive file systems - initial patch submitted via GitHub by Tribex
  • Set mesh origin to geometry - patch submitted via GitHub by rioforce
  • Only display only LDraw models in import file browser - initial patch submitted via GitHub by rioforce
  • Update import options localization
  • Majorly updated Markdown documentation files
  • Fix possible bug with LDraw installation directory
  • New debugPrint() function for easier understanding of message origin ans exactly when it was displayed - patch submitted via GitHub by Tribex (see Issue #14)
  • "Major error messages now display a small popup when called, notifying the user in Blender's UI, instead of silently closing the file select screen and only outputting to the console" - patch submitted via GitHub by Tribex (see Issue #14)
  • "Major error messages now identify what type of error they were, and print the stack trace where necessary" - patch submitted via GitHub by Tribex (see Issue #14)
  • "Importing files which do not have a .ldr, .dat, or .mpd extension is no longer allowed and will not be attempted, and will tell the user through a popup in Blender's UI" - patch submitted via GitHub by Tribex (see Issue #14)
  • Conversion of single quotes to double quotes where possible
  • Changed new messages from .mpd to .lcd (script does not support MPD models, see Issue #7)
  • Reworked internal model cleanup process, now cleaner and better supports future improvements
  • More conversion of string concentration from + (plus) signs to str.format() method
  • New way of presenting import options, more easily understood and looks nicer too
  • Split check for subpart into separate function
  • Fixed NameError for isPart when importing from relative path (relative to model location)
  • Updated import option messages and button location
  • Added import option icons
  • Finalized actions in GameFix import option, simplified error messages
  • Created script (setup.py) to automatically package release for upload
  • Ensure version number for setup.py is in proper format
  • Detect LDraw Library of Parts installation on Windows in common locations (see Issue #15, #16)
  • Cleaned up GameFix import option code
  • Set .ldr file extension as default (per http://www.ldraw.org/article/218.html#extension)
  • Reversed condition when checking valid file extensions
  • "Fixed loading error for models with invalid colors."
  • "Make object color also be viewport color" (see Issue #21)
  • Display message in console if high-res bricks are being used in the import
  • Filter out .pyc files made by Python 2.x in setup.py
  • Display "This software uses the LDraw Parts Library" image in README.md
  • Set script encoding to UTF-8
  • Small basic materials updates
  • Remove .lcd from supported file types (incorrectly assumed to be a standard .ldr file)
  • Store defined LDraw Library of Parts installation path in configuration file, load upon Blender relaunch - initial patch submitted via GitHub by Tribex
  • Connected LDraw Library of Parts installation detection to configuration file
  • Update debugPrint() function to support lists (for displaying multiple items at once)
  • Filter out configuration file made by script in setup.py
  • Updated minimum Blender version to 2.67 (see Issue #27)
  • Deselect objects in scene before importing (see Issue #29)
  • Renamed script to import_ldraw.py to better match other Blender Addons
  • Major HTML Readme update
  • Give proper error message for missing LDConfig.ldr
  • Move configuration file to a different location to avoid Blender "bl_info gives bad info" message
  • Put script in root folder of release Zip so Blender can detect it

1.0

Banbury Edition

(Released October 1, 2013)

  • Uploaded source code to GitHub. -Triangle717
  • Switched to plain text version of GPL V2
  • Converted all white space to 4 spaces white space to conform to Python standards using Blender scripting scene
  • Added most of Marc Schmitt's Linux patch, with minor changes
  • Made LDraw folder paths case-insensitive
  • Added ability to set LDraw System of Tools folder path from within Blender using code from Spencer Alves's LDraw Importer
  • Added ability to disable automatic model cleanup (remove doubles and recalculate normals). Doing so is not advised
  • Changed dict() to the proper {} syntax
  • Script cleanup
  • Updated Readme with new information
  • Added Mac OS X and Linux LDraw System of Tools default installation path
  • Updated script options messages
  • Added ability to disable use of high-res bricks
  • Correctly construct quads in bricks - patch submitted via GitHub by Banbury
  • Correctly apply brick materials - patch submitted via GitHub by Banbury
  • Don't use high-quality bricks by default - patch submitted via GitHub by Banbury
  • Improvements to model cleanup - patch submitted via GitHub by Banbury
  • Fixed materials for multi-colored bricks - patch submitted via GitHub by Banbury
  • Handle color value 16 correctly - patch submitted via GitHub by Banbury
  • Added support for transparent colors - patch submitted via GitHub byBanbury
  • Several bugfixes and optimizations - patch submitted via GitHub by Banbury
  • Fix for crash when importing a second time during the same session - patch submitted via GitHub by Banbury
  • Moved all imports to separate lines
  • Removed white space in blank lines
  • Converted reading of LDCondig.ldr to use with statement
  • Lots of PEP 8 fixes
  • Added docstrings for various functions
  • Do not display successful import message if an error occurred
  • Fixed if cond is not None and if cond is None errors
  • Name model being imported in successful import message
  • Locate LDCondig.ldr directly, instead of using locate()
  • Added Banbury to author list
  • Updated version number
  • Updated class name to follow convention
  • Disable Blender tracker URL button in GUI
  • Gracefully stop import if LDrawDir does not exist
  • Swapped model cleanup switch from "Disable Cleanup" to "Enable Cleanup"
  • Removed maxpath limit in folder path to LDraw System of Tools field
  • 3D cursor is always reset to <0,0,0> before importing
  • Preserve LDraw System of Tools installation path using presets - patch submitted via GitHub by Banbury
  • Added import scale slider - patch submitted via GitHub by Banbury
  • Fix for rounding errors in alpha value and split angle - patch submitted via GitHub by Banbury
  • Converted brick readings to use with statement
  • Continue import even if brick is missing
  • Fixed minimum Blender version
  • Various cleanup

0.8 Beta 1

(Released January 3, 2013)

  • Simplified code dealing with the LDraw path. (Line 28) -le717
  • Restored and corrected 'Remove Doubles' and 'Recalculate Normals' code from V0.6. -le717
  • Changed default LDraw path from "LDraw System of Parts" to "C:\LDraw". -le717
  • Updated script warning to be more descriptive. -rioforce
  • Updated import completion and error messages. -le717
  • Corrected LDrawDir = " " line to allow use of \ instead of having to convert them to / or \\. -Triangle717
  • Reformatted Readme CSS from paragraphed blocks to one line code. -le717
  • Identified and completely removed add_utils.py code and functions from script (it did not seem to be doing anything). -le717
  • Placed script under the GNU General Public License Version 2, and updated script to add GPL V2 block. -le717


0.7.2

(Released December 13, 2012)

  • ldraw_import.py can be installed to the scripts/startup folder, eliminating a few installation steps. -le717
  • Added GPL License Block to add_utils.py (forgot to add it the first time). -le717
  • Reverted back to LDConfig.ldr due to problems with script being unable to find LDCfgalt.ldr. -le717
  • Updated menu register/unregister functions. -le717
  • Added script warning. -le717
  • NEW BUG: Bricksmith LDR models do no properly import. -ProfessorBrickkeper
  • Implemented some CSS code into Readme to eliminate redundant inline styling and to provide for greater expandability. -le717
  • Added Planned Features section to the Readme. -le717
  • Minor changes. -le717

0.7.1 Special BMesh Edition

(Released November 4, 2012)

  • Enabled the use of BMesh for importing (up to 150-gon) -le717
  • Modified Readme to mention special notes about release -le717
  • Renamed script to denote differences between it and the normal, non-BMesh version. -le717
  • Added GPL block from add_utils.py code, and removed duplicate import functions in add_utils. -le717
  • Changed text from LDraw Brick Library to LDraw System of Tools to comply with LDraw bylaws. -le717

0.7.1

(Released October 30, 2012)

  • Renamed script to ldraw_import.py -le717
  • Corrected bl_info in ldraw_import.py to enable activation in Blender 2.64 -le717
  • Embedded entire add_utils.py file into ldraw_import.py to enable activation in Blender 2.64 -le717
  • Changed minimum Blender version requirement to 2.63 -le717
  • Added Bricksmith to optional system requirements -le717
  • Updated bl_info just a little bit -le717
  • Python script editing programs for OS X -JrMasterModelBuilder
  • Changed the used LDraw color chart from LDConfig.ldr to LDCfgalt.ldr because of the latter's higher color quality, which is better for renders (the swap seems to work correctly, with no color errors. Code to use LDConfig.ldr is still present, and can be reverted at any time) -le717
  • Updated and added a few comments -le717

0.7

(Released October 23, 2012)

  • Added ability to import from every LDraw folder, including Unofficial bricks -le717
  • Removal of commented functions present since V0.5 -le717
  • Removal of commented function added in an attempt to correct errors in V0.5 -le717
  • Removed faulty functions commented out in V0.6 -le717
  • Changed Import Menu text -le717
  • OS X Script Installation Instructions -JrMasterModelBuilder & ProfessorBrickkeeper
  • Marked some comments with David Pluntze's name because they were his comments -le717


0.6

(Released October 19, 2012)

  • Undocumented script correction - JrMasterModelBuilder
  • Identified script requirements (add_utils.py) - JrMasterModelBuilder
  • Removed faulty functions that performed the opposite of what was intended - le717
  • Corrected LDraw stylization -le717
  • Updated script description and summary of functions -le717

0.5

(Released February 23, 2012)

  • Original version by David Pluntze