图元中的JSON数据记录修改问题
原本是想要 提取图元中的JSON数据记录,并修改Title值, 然后把修改后的数据记录写回图元
现在问题是修改后的数据记录是追加再原始数据记录后面的,请大神指点下
cam吗{:1_1:} 本帖最后由 vitalgg 于 2025-5-18 00:17 编辑
如果用lisp的话,其实json转成list表更合适。
但是你这里有大数(时间戳)。转换后时间戳会失真。
json就是js对象的序列化。
所以建议调用外部处理程序。如msscriptcontrol ,nodejs. python . 以对象的方式处理应该更好。
jstr = > 对象
对象.title = "abc"
对象 => json.stringify
vitalgg 发表于 2025-5-17 23:56
如果用lisp的话,其实json转成list表更合适。
但是你这里有大数(时间戳)。转换后时间戳会失真。
选择对象: 找到 1 个
选择对象:
处理图元ID: 3A4
找到数据记录:{
"$type": "XYCAM.Models.Shell.Home.HoleEntityModel, XYCAM.Models",
"UsedNoCore": false,
"UsedFeedConvex": false,
"UsedOriGroove": false,
"UsedAttachedTaper": false,
"UsedRotFeed": false,
"DisableInsideShapeWireOff": false,
"AttachedTaperModel": {
"$type": "XYCAM.Models.WedmPathExtensionModel.WeAttachedTaperModel, XYCAM.Models",
"CuttingNumber": 0,
"Taper": 0.0,
"MinRadius": 0.0,
"AllowMinRadius": false,
"UsedEqualsArc": false,
"UsedNearTheFront": false
},
"Title": "圆形孔",
"WedmType": 0,
"ImagePath": "pack://application:,,,/XYCAM.UI;component/Resources/Images/Wedm/Hole2d.png",
"Gap": 0.0,
"MainHeight": 0.0,
"SubHeight": 0.0,
"ClearLength": 20.0,
"Tap": 1.0,
"UserVariable": 0.0,
"NumberOfProcesses": 2,
"MainPathColorIndex": 3,
"SubPathColorIndex": 1,
"DischargeCreateTime": 133683351348161299,
"ShapeCreateTime": 133920083727714347,
"ChildsShapeCreateTime": 133920083727714347,
"HasLeadingLine": false,
"HasAuxiliaryCutOffLine": false,
"IsCirclePath": false,
"Index": 1,
"OnlyFirstProcessRunTaper": false,
"TaperMode": 0,
"UsePreprocessShape": false,
"QueryOptions": {
"$type": "XYCAM.Models.Database.DischargePramaQueryOptions, XYCAM.Models",
"Materials": "S136H",
"Height": 30.0,
"Diameter": 0.25,
"AutoRefresh": false,
"DatabasePath": "",
"TableName": "SODICK"
},
"LocalCuttingMode": 3,
"Parameters": [
{
"$type": "XYCAM.Models.Database.DischargeParameter, XYCAM.Models",
"ID": 1057,
"Diameter": 0.25,
"Materials": "S136H",
"Height": 30.0,
"Type": "内孔",
"Times": 3,
"RunCount": 1,
"DischParamCode": 1,
"OffsetCode": 1,
"OffsetValue": 0.215,
"Speed": 3.5,
"UserData1": "",
"UserData2": "",
"UserData3": ""
},
{
"$type": "XYCAM.Models.Database.DischargeParameter, XYCAM.Models",
"ID": 1059,
"Diameter": 0.25,
"Materials": "S136H",
"Height": 30.0,
"Type": "内孔",
"Times": 3,
"RunCount": 2,
"DischParamCode": 2,
"OffsetCode": 2,
"OffsetValue": 0.148,
"Speed": 5.5,
"UserData1": "",
"UserData2": "",
"UserData3": ""
},
{
"$type": "XYCAM.Models.Database.DischargeParameter, XYCAM.Models",
"ID": 1061,
"Diameter": 0.25,
"Materials": "S136H",
"Height": 30.0,
"Type": "内孔",
"Times": 3,
"RunCount": 3,
"DischParamCode": 3,
"OffsetCode": 3,
"OffsetValue": 0.134,
"Speed": 7.5,
"UserData1": "",
"UserData2": "",
"UserData3": ""
}
],
"ExtensionDatas": {
"$type": "System.Collections.Generic.List`1[], mscorlib",
"$values": []
},
"SplitParmas": null,
"HasAngle": false,
"ReverseClockWise": false,
"CornerTags": [],
"UsedAvoidRadius": false,
"UsedAutoRadius": false,
"UsedAutoCorner": false,
"UsedAutoClear": false,
"AutoCleanCornerMode": 0,
"AutoCornerProcessMode": 1,
"AutoCleanCornerProcessMode": 1
}
标题: 圆形孔
找到数据记录:{
"$type": "XYCAM.Models.Shell.Home.HoleEntityModel, XYCAM.Models",
"UsedNoCore": false,
"UsedFeedConvex": false,
"UsedOriGroove": false,
"UsedAttachedTaper": false,
"UsedRotFeed": false,
"DisableInsideShapeWireOff": false,
"AttachedTaperModel": {
"$type": "XYCAM.Models.WedmPathExtensionModel.WeAttachedTaperModel, XYCAM.Models",
"CuttingNumber": 0,
"Taper": 0.0,
"MinRadius": 0.0,
"AllowMinRadius": false,
"UsedEqualsArc": false,
"UsedNearTheFront": false
},
"Title": "圆形孔Z",
"WedmType": 0,
"ImagePath": "pack://application:,,,/XYCAM.UI;component/Resources/Images/Wedm/Hole2d.png",
"Gap": 0.0,
"MainHeight": 0.0,
"SubHeight": 0.0,
"ClearLength": 20.0,
"Tap": 1.0,
"UserVariable": 0.0,
"NumberOfProcesses": 2,
"MainPathColorIndex": 3,
"SubPathColorIndex": 1,
"DischargeCreateTime": 133683351348161299,
"ShapeCreateTime": 133920083727714347,
"ChildsShapeCreateTime": 133920083727714347,
"HasLeadingLine": false,
"HasAuxiliaryCutOffLine": false,
"IsCirclePath": false,
"Index": 1,
"OnlyFirstProcessRunTaper": false,
"TaperMode": 0,
"UsePreprocessShape": false,
"QueryOptions": {
"$type": "XYCAM.Models.Database.DischargePramaQueryOptions, XYCAM.Models",
"Height": 30.0,
"Diameter": 0.25,
"AutoRefresh": false,
"DatabasePath": "",
"TableName": "SODICK"
},
"LocalCuttingMode": 3,
"Parameters": [
{
"$type": "XYCAM.Models.Database.DischargeParameter, XYCAM.Models",
"ID": 1057,
"Diameter": 0.25,
"Materials": "S136H",
"Height": 30.0,
"Type": "内孔",
"Times": 3,
"RunCount": 1,
"DischParamCode": 1,
"OffsetCode": 1,
"OffsetValue": 0.215,
"Speed": 3.5,
"UserData1": "",
"UserData2": "",
"UserData3": ""
},
{
"$type": "XYCAM.Models.Database.DischargeParameter, XYCAM.Models",
"ID": 1059,
"Diameter": 0.25,
"Materials": "S136H",
"Height": 30.0,
"Type": "内孔",
"Times": 3,
"RunCount": 2,
"DischParamCode": 2,
"OffsetCode": 2,
"OffsetValue": 0.148,
"Speed": 5.5,
"UserData1": "",
"UserData2": "",
"UserData3": ""
},
{
"$type": "XYCAM.Models.Database.DischargeParameter, XYCAM.Models",
"ID": 1061,
"Diameter": 0.25,
"Materials": "S136H",
"Height": 30.0,
"Type": "内孔",
"Times": 3,
"RunCount": 3,
"DischParamCode": 3,
"OffsetCode": 3,
"OffsetValue": 0.134,
"Speed": 7.5,
"UserData1": "",
"UserData2": "",
"UserData3": ""
}
],
"ExtensionDatas": {
"$type": "System.Collections.Generic.List`1[], mscorlib",
"$values": []
},
"SplitParmas": null,
"HasAngle": false,
"ReverseClockWise": false,
"CornerTags": [],
"UsedAvoidRadius": false,
"UsedAutoRadius": false,
"UsedAutoCorner": false,
"UsedAutoClear": false,
"AutoCleanCornerMode": 0,
"AutoCornerProcessMode": 1,
"AutoCleanCornerProcessMode": 1
}
标题: 圆形孔Z
处理完成! 共找到 2 个JSON数据记录
修改结束后,原数据记录追加在修改后的数据记录后面, 我只要修改后的数据记录 本帖最后由 vitalgg 于 2025-5-19 09:34 编辑
你是说修改后,一个图元的记录里会有两条json数据?
我一般不用字符串截断的方式操作json数据,适配性太低,换个环境就不能用了。
页:
[1]