fixed issues and turned all json stuff lowercase
This commit is contained in:
parent
ef7790d76a
commit
1d3d46e0f8
2 changed files with 77 additions and 74 deletions
12
ARFrames.py
12
ARFrames.py
|
@ -43,8 +43,8 @@ class Frame(object):
|
|||
|
||||
def getDict(self):
|
||||
d = {}
|
||||
d["Label"] = self.obj.Label
|
||||
d["Placement"] = self.obj.Placement
|
||||
d["label"] = str(self.obj.Label)
|
||||
d["placement"] = ARTools.placement2axisvec(self.obj.Placement)
|
||||
d.update(self.additional_data)
|
||||
return d
|
||||
|
||||
|
@ -68,7 +68,7 @@ class PartFrame(Frame):
|
|||
|
||||
def getDict(self):
|
||||
d = Frame.getDict(self)
|
||||
d["Part"] = self.obj.Part
|
||||
d["part"] = str(self.obj.Part.Label)
|
||||
return d
|
||||
|
||||
|
||||
|
@ -95,9 +95,9 @@ class FeatureFrame(PartFrame):
|
|||
|
||||
def getDict(self):
|
||||
d = PartFrame.getDict(self)
|
||||
d["FeaturePlacement"] = ARTools.placement2axisvec(self.obj.FeaturePlacement)
|
||||
d["ShapeType"] = ARTools.placement2axisvec(self.obj.ShapeType)
|
||||
d["Positioning"] = str(self.obj.Positioning)
|
||||
d["featureplacement"] = ARTools.placement2axisvec(self.obj.FeaturePlacement)
|
||||
d["shapetype"] = str(self.obj.ShapeType)
|
||||
d["positioning"] = str(self.obj.Positioning)
|
||||
return d
|
||||
|
||||
|
||||
|
|
139
ARTools.py
139
ARTools.py
|
@ -1,7 +1,7 @@
|
|||
import FreeCAD
|
||||
import Part
|
||||
import json # For exporting part infos
|
||||
import os # for safer path handling
|
||||
import json # For exporting part infos
|
||||
import os # for safer path handling
|
||||
if FreeCAD.GuiUp:
|
||||
import FreeCADGui
|
||||
from PySide import QtGui
|
||||
|
@ -217,7 +217,7 @@ def exportFeatureFrames(obj, ofile):
|
|||
if not of.lower().endswith(".json"):
|
||||
ofile = ofile + ".json"
|
||||
with open(ofile, "wb") as propfile:
|
||||
json.dump(feature_dict, indent=1, separators=(',', ': '))
|
||||
json.dump(feature_dict, propfile, indent=1, separators=(',', ': '))
|
||||
return True
|
||||
|
||||
|
||||
|
@ -237,7 +237,7 @@ def appendFeatureFrames(obj, ofile):
|
|||
else:
|
||||
partprops["features"].update(feature_dict["features"])
|
||||
with open(ofile, "wb") as propfile:
|
||||
json.dump(partprops, indent=1, separators=(',', ': '))
|
||||
json.dump(partprops, propfile, indent=1, separators=(',', ': '))
|
||||
return True
|
||||
|
||||
|
||||
|
@ -262,6 +262,7 @@ def exportPartInfoDialogue():
|
|||
opts = QtGui.QFileDialog.DontConfirmOverwrite
|
||||
# Create file dialog
|
||||
ofile, filt = QtGui.QFileDialog.getSaveFileName(None, textprompt,
|
||||
os.getenv("HOME"),
|
||||
"*.json", options=opts)
|
||||
if ofile == "":
|
||||
# User cancelled
|
||||
|
@ -313,6 +314,7 @@ def exportFeatureFramesDialogue():
|
|||
opts = QtGui.QFileDialog.DontConfirmOverwrite
|
||||
# Create file dialog
|
||||
ofile, filt = QtGui.QFileDialog.getSaveFileName(None, textprompt,
|
||||
os.getenv("HOME"),
|
||||
"*.json", options=opts)
|
||||
if ofile == "":
|
||||
# User cancelled
|
||||
|
@ -339,7 +341,7 @@ def exportFeatureFramesDialogue():
|
|||
appendFeatureFrames(unique_selected[0], ofile)
|
||||
if len(unique_selected) > 1:
|
||||
FreeCAD.Console.PrintWarning("Multi-part export not yet supported\n")
|
||||
FreeCAD.Console.PrintMessage("Feature frames of " + str(unique_selected[0]) + "exported to " + str(ofile) + "\n")
|
||||
FreeCAD.Console.PrintMessage("Feature frames of " + str(unique_selected[0].Label) + " exported to " + str(ofile) + "\n")
|
||||
|
||||
|
||||
def exportPartInfoAndFeaturesDialogue():
|
||||
|
@ -362,6 +364,7 @@ def exportPartInfoAndFeaturesDialogue():
|
|||
opts = QtGui.QFileDialog.DontConfirmOverwrite
|
||||
# Create file dialog
|
||||
ofile, filt = QtGui.QFileDialog.getSaveFileName(None, textprompt,
|
||||
os.getenv("HOME"),
|
||||
"*.json", options=opts)
|
||||
if ofile == "":
|
||||
# User cancelled
|
||||
|
@ -390,7 +393,7 @@ def exportPartInfoAndFeaturesDialogue():
|
|||
appendFeatureFrames(unique_selected[0], ofile)
|
||||
if len(unique_selected) > 1:
|
||||
FreeCAD.Console.PrintWarning("Multi-part export not yet supported.\n")
|
||||
FreeCAD.Console.PrintMessage("Feature frames of " + str(unique_selected[0]) + "exported to " + str(ofile) + "\n")
|
||||
FreeCAD.Console.PrintMessage("Feature frames of " + str(unique_selected[0].Label) + " exported to " + str(ofile) + "\n")
|
||||
|
||||
|
||||
###################################################################
|
||||
|
@ -413,92 +416,92 @@ def getPrimitiveInfo(prim_type, subobj, scale=1e-3):
|
|||
"""returns a dictionary of the primitive's specific information."""
|
||||
d = {}
|
||||
if prim_type == "ArcOfCircle":
|
||||
d["Radius"] = scale*subobj.Curve.Radius
|
||||
d["Center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["Axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["ParamerRange"] = subobj.ParameterRange
|
||||
d["radius"] = scale*subobj.Curve.Radius
|
||||
d["center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["paramerrange"] = subobj.ParameterRange
|
||||
elif prim_type == "ArcOfEllipse":
|
||||
d["Center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["Axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["MajorRadius"] = scale*subobj.Curve.MajorRadius
|
||||
d["MinorRadius"] = scale*subobj.Curve.MinorRadius
|
||||
d["ParameterRange"] = subobj.ParameterRange
|
||||
d["center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["majorradius"] = scale*subobj.Curve.MajorRadius
|
||||
d["minorradius"] = scale*subobj.Curve.MinorRadius
|
||||
d["parameterrange"] = subobj.ParameterRange
|
||||
elif prim_type == "ArcOfHyperBola":
|
||||
d["AngleXU"] = subobj.Curve.AngleXU
|
||||
d["Axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["Center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["MajorRadius"] = scale*subobj.Curve.MajorRadius
|
||||
d["MinorRadius"] = scale*subobj.Curve.MinorRadius
|
||||
d["ParameterRange"] = subobj.ParameterRange
|
||||
d["anglexu"] = subobj.Curve.AngleXU
|
||||
d["axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["majorradius"] = scale*subobj.Curve.MajorRadius
|
||||
d["minorradius"] = scale*subobj.Curve.MinorRadius
|
||||
d["parameterrange"] = subobj.ParameterRange
|
||||
elif prim_type == "ArcOfParabola":
|
||||
d["AngleXU"] = subobj.Curve.AngleXU
|
||||
d["Axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["Center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["Focal"] = scale*subobj.Curve.Focal
|
||||
d["anglexu"] = subobj.Curve.AngleXU
|
||||
d["axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["focal"] = scale*subobj.Curve.Focal
|
||||
elif prim_type == "BSplineCurve":
|
||||
FreeCAD.Console.PrintWarning("getPrimitiveInfo of BSpline incomplete.")
|
||||
elif prim_type == "BezierCurve":
|
||||
FreeCAD.Console.PrintWarning("getPrimitiveInfo of Bezier incomplete.")
|
||||
elif prim_type == "Circle":
|
||||
d["Radius"] = scale*subobj.Curve.Radius
|
||||
d["Center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["Axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["ParamerRange"] = subobj.ParameterRange
|
||||
d["radius"] = scale*subobj.Curve.Radius
|
||||
d["center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["paramerrange"] = subobj.ParameterRange
|
||||
elif prim_type == "Ellipse":
|
||||
d["Center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["Axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["MajorRadius"] = scale*subobj.Curve.MajorRadius
|
||||
d["MinorRadius"] = scale*subobj.Curve.MinorRadius
|
||||
d["ParameterRange"] = subobj.ParameterRange
|
||||
d["center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["majorradius"] = scale*subobj.Curve.MajorRadius
|
||||
d["minorradius"] = scale*subobj.Curve.MinorRadius
|
||||
d["parameterrange"] = subobj.ParameterRange
|
||||
elif prim_type == "Hyperbola":
|
||||
d["AngleXU"] = subobj.Curve.AngleXU
|
||||
d["Axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["Center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["MajorRadius"] = scale*subobj.Curve.MajorRadius
|
||||
d["MinorRadius"] = scale*subobj.Curve.MinorRadius
|
||||
d["ParameterRange"] = subobj.ParameterRange
|
||||
d["anglexu"] = subobj.Curve.AngleXU
|
||||
d["axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["majorradius"] = scale*subobj.Curve.MajorRadius
|
||||
d["minorradius"] = scale*subobj.Curve.MinorRadius
|
||||
d["parameterrange"] = subobj.ParameterRange
|
||||
elif prim_type == "Parabola":
|
||||
d["AngleXU"] = subobj.Curve.AngleXU
|
||||
d["Axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["Center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["Focal"] = scale*subobj.Curve.Focal
|
||||
d["anglexu"] = subobj.Curve.AngleXU
|
||||
d["axis"] = vector2list(subobj.Curve.Axis, scale=1)
|
||||
d["center"] = vector2list(subobj.Curve.Center, scale)
|
||||
d["focal"] = scale*subobj.Curve.Focal
|
||||
elif prim_type == "Line":
|
||||
if not subobj.Curve.Infinite:
|
||||
d["StartPoint"] = vector2list(subobj.Curve.StartPoint)
|
||||
d["EndPoint"] = vector2list(subobj.Curve.EndPoint)
|
||||
d["Infinite"] = subobj.Curve.Infinite
|
||||
d["startpoint"] = vector2list(subobj.Curve.StartPoint)
|
||||
d["endpoint"] = vector2list(subobj.Curve.EndPoint)
|
||||
d["infinite"] = subobj.Curve.Infinite
|
||||
elif prim_type == "BSplineSurface":
|
||||
FreeCAD.Console.PrintWarning("getPrimitiveInfo of BSpline incomplete.")
|
||||
elif prim_type == "BezierSurface":
|
||||
FreeCAD.Console.PrintWarning("getPrimitiveInfo of Bezier incomplete.")
|
||||
elif prim_type == "Cylinder":
|
||||
d["Axis"] = subobj.Surface.Axis
|
||||
d["Radius"] = scale*subobj.Surface.Radius
|
||||
d["Center"] = vector2list(subobj.Surface.Center)
|
||||
d["axis"] = vector2list(subobj.Surface.Axis, scale=1)
|
||||
d["radius"] = scale*subobj.Surface.Radius
|
||||
d["center"] = vector2list(subobj.Surface.Center)
|
||||
PR = list(subobj.ParameterRange)
|
||||
PR[2] = PR[2]*scale
|
||||
PR[3] = PR[3]*scale
|
||||
d["ParameterRange"] = PR
|
||||
d["parameterrange"] = PR
|
||||
elif prim_type == "Plane":
|
||||
d["Axis"] = subobj.Surface.Axis
|
||||
d["Position"] = vector2list(subobj.Surface.Position, scale)
|
||||
d["ParameterRange"] = [scale*i for i in subobj.ParameterRange]
|
||||
d["axis"] = vector2list(subobj.Surface.Axis, scale=1)
|
||||
d["position"] = vector2list(subobj.Surface.Position, scale)
|
||||
d["parameterrange"] = [scale*i for i in subobj.ParameterRange]
|
||||
elif prim_type == "Sphere":
|
||||
d["Axis"] = vector2list(subobj.Surface.Axis, scale=1)
|
||||
d["Center"] = vector2list(subobj.Surface.Center, scale)
|
||||
d["Radius"] = scale*subobj.Surface.Radius
|
||||
d["ParameterRange"] = subobj.ParameterRange
|
||||
d["axis"] = vector2list(subobj.Surface.Axis, scale=1)
|
||||
d["center"] = vector2list(subobj.Surface.Center, scale)
|
||||
d["radius"] = scale*subobj.Surface.Radius
|
||||
d["parameterrange"] = subobj.ParameterRange
|
||||
elif prim_type == "Toroid":
|
||||
d["Axis"] = vector2list(subobj.Surface.Axis, scale=1)
|
||||
d["Center"] = vector2list(subobj.Surface.Center, scale)
|
||||
d["MajorRadius"] = scale*subobj.Surface.MajorRadius
|
||||
d["MinorRadius"] = scale*subobj.Surface.MinorRadius
|
||||
d["ParameterRange"] = subobj.Surface.ParameterRange
|
||||
d["axis"] = vector2list(subobj.Surface.Axis, scale=1)
|
||||
d["center"] = vector2list(subobj.Surface.Center, scale)
|
||||
d["majorradius"] = scale*subobj.Surface.MajorRadius
|
||||
d["minorradius"] = scale*subobj.Surface.MinorRadius
|
||||
d["parameterrange"] = subobj.Surface.ParameterRange
|
||||
elif prim_type == "Cone":
|
||||
d["Axis"] = vector2list(subobj.Surface.Axis, scale=1)
|
||||
d["Center"] = vector2list(subobj.Surface.Center, scale)
|
||||
d["Radius"] = scale*subobj.Surface.Radius
|
||||
d["SemiAngle"] = subobj.Surface.SemiAngle
|
||||
d["ParameterRange"] = subobj.ParameterRange
|
||||
d["axis"] = vector2list(subobj.Surface.Axis, scale=1)
|
||||
d["center"] = vector2list(subobj.Surface.Center, scale)
|
||||
d["radius"] = scale*subobj.Surface.Radius
|
||||
d["semiangle"] = subobj.Surface.SemiAngle
|
||||
d["parameterrange"] = subobj.ParameterRange
|
||||
FreeCAD.Console.PrintWarning("getPrimitiveInfo of Cone may have wrong ParameterRange.")
|
||||
return d
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue