diff --git a/src/Mod/Material/Material.py b/src/Mod/Material/Material.py index 78ca2e1035..98478428ca 100644 --- a/src/Mod/Material/Material.py +++ b/src/Mod/Material/Material.py @@ -21,8 +21,78 @@ #*************************************************************************** -import FreeCAD + + + + +# here the usage description if you use this tool from the command line ("__main__") +CommandlineUsage = """Material - Tool to work with FreeCAD Material definition cards + +Usage: + Material [Options] card-file-name + +Options: + -c, --output-csv=file-name write a comma seperated grid with the material data + +Exit: + 0 No Error or Warning found + 1 Argument error, wrong or less Arguments given + +Tool to work with FreeCAD Material definition cards + +Examples: + + Material "StandardMaterial/Steel.FCMat" + +Autor: + (c) 2013 Juergen Riegel + mail@juergen-riegel.net + Licence: LGPL + +Version: + 0.1 +""" def importFCMat(fileName): - FreeCAD.Console.PrintMsg(fileName) - + import ConfigParser + Config = ConfigParser.ConfigParser() + Config.read(fileName) + dict1 = {} + for section in Config.sections(): + options = Config.options(section) + for option in options: + dict1[section+'_'+option] = Config.get(section, option) + + return dict1 + + + + + + + +if __name__ == '__main__': + import sys, getopt + try: + opts, args = getopt.getopt(sys.argv[1:], "c:", ["output-csv="]) + except getopt.GetoptError: + # print help information and exit: + sys.stderr.write(CommandlineUsage) + sys.exit(1) + + # checking on the options + for o, a in opts: + if o in ("-c", "--output-csv"): + print "writing file: " + a +"\n" + OutPath = a + + # runing through the files + FileName = args[0] + + kv_map = importFCMat(FileName) + for k in kv_map.keys(): + print `k` + " : " + `kv_map[k]` + sys.exit(0) # no error + + + diff --git a/src/Mod/Material/StandardMaterial/Readme.txt b/src/Mod/Material/StandardMaterial/Readme.txt index 1344bebd6f..d4ec402b37 100644 --- a/src/Mod/Material/StandardMaterial/Readme.txt +++ b/src/Mod/Material/StandardMaterial/Readme.txt @@ -6,7 +6,7 @@ To make the material description usefull for a lot of application only files wit will be accepted into the FreeCAD source distribution. For more detail about the license see here: http://creativecommons.org/ -Pleas help! +Please help! Enlargen the base of Materials for FreeCAD will greatly benefit the usability of FreeCAD. So please help us to add new Materials, review existing ones or add additional vlaues. diff --git a/src/Mod/Material/StandardMaterial/Steel.FCMat b/src/Mod/Material/StandardMaterial/Steel.FCMat index eae6febd0f..04022a1d4b 100644 --- a/src/Mod/Material/StandardMaterial/Steel.FCMat +++ b/src/Mod/Material/StandardMaterial/Steel.FCMat @@ -1,13 +1,32 @@ ; Standard Steel Material -; (c) Juergen Riegel 2013 (CC-BY 3.0) - +; (c) 2013 Juergen Riegel (CC-BY 3.0) +; information about the content of such cards you can find here: +; http://www.freecadweb.org/wiki/index.php?title=Material [General] ; General name, need to be the same as the file name Name=Steel +; Father of steel is metal +Father=Metal +; more elaborate description of this material card: +Description: This is a blend Steel material card. The values are at the low end of the spectrum. If you need a more precise material definition use the more specialised steel cards. ; Specific wight in kg/mm^3 SpecificWeight=7800.0e-12 +; No special Vendor +Vendor: +; For blend materials the wikipedia page is a good source of information: +ProductURL=http://en.wikipedia.org/wiki/Steel +; for blends a rough estimation +SpecificPrice= 1,5 Euro/Kg [Mechanical] ; youngs modulus (or E-Module) in mPa (source: http://en.wikipedia.org/wiki/Young%27s_modulus) -YoungsModulus=200.0e12 \ No newline at end of file +YoungsModulus=200.0e12 +; http://en.wikipedia.org/wiki/Ultimate_tensile_strength +UltimateTensileStrength= +; http://en.wikipedia.org/wiki/Compressive_strength +CompressiveStrength= +; http://en.wikipedia.org/wiki/Elasticity_%28physics%29 +Elasticity= +; http://en.wikipedia.org/wiki/Fracture_toughness +FractureToughness: