diff --git a/src/Mod/Path/Tools/Shape/ballend.fcstd b/src/Mod/Path/Tools/Shape/ballend.fcstd index 512018de3f..14b2a65efa 100644 Binary files a/src/Mod/Path/Tools/Shape/ballend.fcstd and b/src/Mod/Path/Tools/Shape/ballend.fcstd differ diff --git a/src/Mod/Path/Tools/Shape/bullnose.fcstd b/src/Mod/Path/Tools/Shape/bullnose.fcstd index d72bfd802d..63a50c4969 100644 Binary files a/src/Mod/Path/Tools/Shape/bullnose.fcstd and b/src/Mod/Path/Tools/Shape/bullnose.fcstd differ diff --git a/src/Mod/Path/Tools/Shape/chamfer.fcstd b/src/Mod/Path/Tools/Shape/chamfer.fcstd index fd46e0c88c..59c7cb1a3a 100644 Binary files a/src/Mod/Path/Tools/Shape/chamfer.fcstd and b/src/Mod/Path/Tools/Shape/chamfer.fcstd differ diff --git a/src/Mod/Path/Tools/Shape/drill.fcstd b/src/Mod/Path/Tools/Shape/drill.fcstd index e7a958ca2e..da1e277778 100644 Binary files a/src/Mod/Path/Tools/Shape/drill.fcstd and b/src/Mod/Path/Tools/Shape/drill.fcstd differ diff --git a/src/Mod/Path/Tools/Shape/endmill.fcstd b/src/Mod/Path/Tools/Shape/endmill.fcstd index 1d94bdf970..b3b1ae18a4 100644 Binary files a/src/Mod/Path/Tools/Shape/endmill.fcstd and b/src/Mod/Path/Tools/Shape/endmill.fcstd differ diff --git a/src/Mod/Path/Tools/Shape/probe.fcstd b/src/Mod/Path/Tools/Shape/probe.fcstd index 56e7945c95..b4f20fa949 100644 Binary files a/src/Mod/Path/Tools/Shape/probe.fcstd and b/src/Mod/Path/Tools/Shape/probe.fcstd differ diff --git a/src/Mod/Path/Tools/Shape/slittingsaw.fcstd b/src/Mod/Path/Tools/Shape/slittingsaw.fcstd index 15d5d4ad65..6694d911f7 100644 Binary files a/src/Mod/Path/Tools/Shape/slittingsaw.fcstd and b/src/Mod/Path/Tools/Shape/slittingsaw.fcstd differ diff --git a/src/Mod/Path/Tools/Shape/thread-mill.fcstd b/src/Mod/Path/Tools/Shape/thread-mill.fcstd index 64982f6478..c69e915396 100644 Binary files a/src/Mod/Path/Tools/Shape/thread-mill.fcstd and b/src/Mod/Path/Tools/Shape/thread-mill.fcstd differ diff --git a/src/Mod/Path/Tools/Shape/v-bit.fcstd b/src/Mod/Path/Tools/Shape/v-bit.fcstd index f29c42f1c2..51db09d7c7 100644 Binary files a/src/Mod/Path/Tools/Shape/v-bit.fcstd and b/src/Mod/Path/Tools/Shape/v-bit.fcstd differ diff --git a/src/Mod/Path/Tools/toolbit-attributes.py b/src/Mod/Path/Tools/toolbit-attributes.py index e1661ebc26..2f04ed6a58 100755 --- a/src/Mod/Path/Tools/toolbit-attributes.py +++ b/src/Mod/Path/Tools/toolbit-attributes.py @@ -67,6 +67,7 @@ parser.add_argument('--delete', metavar='prop', help='Delete the given attribute parser.add_argument('--set', metavar='prop=value', help='Set property value') parser.add_argument('--print', action='store_true', help='If set attributes are printed as discovered') parser.add_argument('--print-all', action='store_true', help='If set Shape attributes are also printed') +parser.add_argument('--print-groups', action='store_true', help='If set all custom property groups are printed') parser.add_argument('--save-changes', action='store_true', help='Unless specified the file is not saved') parser.add_argument('--freecad', help='Directory FreeCAD binaries (libFreeCAD.so) if not installed') args = parser.parse_args() @@ -104,7 +105,10 @@ for i, fname in enumerate(args.path): print("{}:".format(doc.Name)) for o in doc.Objects: if PathPropertyBag.IsPropertyBag(o): - print(" {}:".format(o.Label)) + if args.print_groups: + print(" {}: {}".format(o.Label, sorted(o.CustomPropertyGroups))) + else: + print(" {}:".format(o.Label)) for p in o.Proxy.getCustomProperties(): grp = o.getGroupOfProperty(p) typ = o.getTypeIdOfProperty(p) @@ -139,6 +143,7 @@ for i, fname in enumerate(args.path): continue if args.print or args.print_all: print(" {:10} {:20} {:20} {:10} {}".format(grp, p, ttp, str(val), enm)) + o.Proxy.refreshCustomPropertyGroups() if args.save_changes: doc.recompute() doc.save()