From 88b8f1fbfb4de775290fc405f2cb917cc35c022c Mon Sep 17 00:00:00 2001 From: OddlyTimbot Date: Thu, 10 Apr 2025 17:22:40 -0400 Subject: [PATCH] adding resources tool bit libraries --- resources/tools/Bit/45degree_chamfer.fctb | 14 +++ resources/tools/Bit/5mm-thread-cutter.fctb | 14 +++ resources/tools/Bit/5mm_Drill.fctb | 11 ++ resources/tools/Bit/5mm_Endmill.fctb | 12 +++ resources/tools/Bit/60degree_Vbit.fctb | 14 +++ resources/tools/Bit/6mm_Ball_End.fctb | 12 +++ resources/tools/Bit/6mm_Bullnose.fctb | 13 +++ resources/tools/Bit/probe.fctb | 11 ++ resources/tools/Bit/slittingsaw.fctb | 14 +++ resources/tools/Library/Default.fctl | 41 ++++++++ resources/tools/README.md | 117 +++++++++++++++++++++ resources/tools/Shape/ballend.fcstd | Bin 0 -> 14720 bytes resources/tools/Shape/bullnose.fcstd | Bin 0 -> 14736 bytes resources/tools/Shape/chamfer.fcstd | Bin 0 -> 15003 bytes resources/tools/Shape/dovetail.fcstd | Bin 0 -> 16876 bytes resources/tools/Shape/drill.fcstd | Bin 0 -> 12957 bytes resources/tools/Shape/endmill.fcstd | Bin 0 -> 13770 bytes resources/tools/Shape/probe.fcstd | Bin 0 -> 14128 bytes resources/tools/Shape/slittingsaw.fcstd | Bin 0 -> 14719 bytes resources/tools/Shape/thread-mill.fcstd | Bin 0 -> 15911 bytes resources/tools/Shape/v-bit.fcstd | Bin 0 -> 16858 bytes 21 files changed, 273 insertions(+) create mode 100644 resources/tools/Bit/45degree_chamfer.fctb create mode 100644 resources/tools/Bit/5mm-thread-cutter.fctb create mode 100644 resources/tools/Bit/5mm_Drill.fctb create mode 100644 resources/tools/Bit/5mm_Endmill.fctb create mode 100644 resources/tools/Bit/60degree_Vbit.fctb create mode 100644 resources/tools/Bit/6mm_Ball_End.fctb create mode 100644 resources/tools/Bit/6mm_Bullnose.fctb create mode 100644 resources/tools/Bit/probe.fctb create mode 100644 resources/tools/Bit/slittingsaw.fctb create mode 100644 resources/tools/Library/Default.fctl create mode 100644 resources/tools/README.md create mode 100644 resources/tools/Shape/ballend.fcstd create mode 100644 resources/tools/Shape/bullnose.fcstd create mode 100644 resources/tools/Shape/chamfer.fcstd create mode 100644 resources/tools/Shape/dovetail.fcstd create mode 100644 resources/tools/Shape/drill.fcstd create mode 100644 resources/tools/Shape/endmill.fcstd create mode 100644 resources/tools/Shape/probe.fcstd create mode 100644 resources/tools/Shape/slittingsaw.fcstd create mode 100644 resources/tools/Shape/thread-mill.fcstd create mode 100644 resources/tools/Shape/v-bit.fcstd diff --git a/resources/tools/Bit/45degree_chamfer.fctb b/resources/tools/Bit/45degree_chamfer.fctb new file mode 100644 index 0000000..3e501ce --- /dev/null +++ b/resources/tools/Bit/45degree_chamfer.fctb @@ -0,0 +1,14 @@ +{ + "version": 2, + "name": "45 Deg. Chamfer", + "shape": "chamfer.fcstd", + "parameter": { + "CuttingEdgeAngle": "45.0000 \u00b0", + "CuttingEdgeHeight": "6.3500 mm", + "Diameter": "12.3323 mm", + "Length": "30.0000 mm", + "ShankDiameter": "6.3500 mm", + "TipDiameter": "5.0000 mm" + }, + "attribute": {} +} diff --git a/resources/tools/Bit/5mm-thread-cutter.fctb b/resources/tools/Bit/5mm-thread-cutter.fctb new file mode 100644 index 0000000..2a5f025 --- /dev/null +++ b/resources/tools/Bit/5mm-thread-cutter.fctb @@ -0,0 +1,14 @@ +{ + "version": 2, + "name": "5mm-thread-cutter", + "shape": "thread-mill.fcstd", + "parameter": { + "Crest": "0.10 mm", + "Diameter": "5.00 mm", + "Length": "50.00 mm", + "NeckDiameter": "3.00 mm", + "NeckLength": "20.00 mm", + "ShankDiameter": "5.00 mm" + }, + "attribute": {} +} diff --git a/resources/tools/Bit/5mm_Drill.fctb b/resources/tools/Bit/5mm_Drill.fctb new file mode 100644 index 0000000..afc4db9 --- /dev/null +++ b/resources/tools/Bit/5mm_Drill.fctb @@ -0,0 +1,11 @@ +{ + "version": 2, + "name": "5mm Drill", + "shape": "drill.fcstd", + "parameter": { + "Diameter": "5.0000 mm", + "Length": "50.0000 mm", + "TipAngle": "119.0000 \u00b0" + }, + "attribute": {} +} diff --git a/resources/tools/Bit/5mm_Endmill.fctb b/resources/tools/Bit/5mm_Endmill.fctb new file mode 100644 index 0000000..7cc72ba --- /dev/null +++ b/resources/tools/Bit/5mm_Endmill.fctb @@ -0,0 +1,12 @@ +{ + "version": 2, + "name": "5mm Endmill", + "shape": "endmill.fcstd", + "parameter": { + "CuttingEdgeHeight": "30.0000 mm", + "Diameter": "5.0000 mm", + "Length": "50.0000 mm", + "ShankDiameter": "3.0000 mm" + }, + "attribute": {} +} diff --git a/resources/tools/Bit/60degree_Vbit.fctb b/resources/tools/Bit/60degree_Vbit.fctb new file mode 100644 index 0000000..69d181d --- /dev/null +++ b/resources/tools/Bit/60degree_Vbit.fctb @@ -0,0 +1,14 @@ +{ + "version": 2, + "name": "60 Deg. V-Bit", + "shape": "v-bit.fcstd", + "parameter": { + "CuttingEdgeAngle": "60.0000 \u00b0", + "Diameter": "10.0000 mm", + "CuttingEdgeHeight": "1.0000 mm", + "TipDiameter": "1.0000 mm", + "Length": "20.0000 mm", + "ShankDiameter": "5.0000 mm" + }, + "attribute": {} +} diff --git a/resources/tools/Bit/6mm_Ball_End.fctb b/resources/tools/Bit/6mm_Ball_End.fctb new file mode 100644 index 0000000..36f1abc --- /dev/null +++ b/resources/tools/Bit/6mm_Ball_End.fctb @@ -0,0 +1,12 @@ +{ + "version": 2, + "name": "6mm Ball End", + "shape": "ballend.fcstd", + "parameter": { + "CuttingEdgeHeight": "40.0000 mm", + "Diameter": "6.0000 mm", + "Length": "50.0000 mm", + "ShankDiameter": "3.0000 mm" + }, + "attribute": {} +} diff --git a/resources/tools/Bit/6mm_Bullnose.fctb b/resources/tools/Bit/6mm_Bullnose.fctb new file mode 100644 index 0000000..ccff179 --- /dev/null +++ b/resources/tools/Bit/6mm_Bullnose.fctb @@ -0,0 +1,13 @@ +{ + "version": 2, + "name": "6 mm Bull Nose", + "shape": "bullnose.fcstd", + "parameter": { + "CuttingEdgeHeight": "40.0000 mm", + "Diameter": "6.0000 mm", + "FlatRadius": "1.5000 mm", + "Length": "50.0000 mm", + "ShankDiameter": "3.0000 mm" + }, + "attribute": {} +} diff --git a/resources/tools/Bit/probe.fctb b/resources/tools/Bit/probe.fctb new file mode 100644 index 0000000..31fa354 --- /dev/null +++ b/resources/tools/Bit/probe.fctb @@ -0,0 +1,11 @@ +{ + "version": 2, + "name": "Probe", + "shape": "probe.fcstd", + "parameter": { + "Diameter": "6.0000 mm", + "Length": "50.0000 mm", + "ShaftDiameter": "4.0000 mm" + }, + "attribute": {} +} diff --git a/resources/tools/Bit/slittingsaw.fctb b/resources/tools/Bit/slittingsaw.fctb new file mode 100644 index 0000000..5b63c06 --- /dev/null +++ b/resources/tools/Bit/slittingsaw.fctb @@ -0,0 +1,14 @@ +{ + "version": 2, + "name": "Slitting Saw", + "shape": "slittingsaw.fcstd", + "parameter": { + "BladeThickness": "3.0000 mm", + "CapHeight": "3.0000 mm", + "CapDiameter": "8.0000 mm", + "Diameter": "76.2000 mm", + "Length": "50.0000 mm", + "ShankDiameter": "19.0500 mm" + }, + "attribute": {} +} diff --git a/resources/tools/Library/Default.fctl b/resources/tools/Library/Default.fctl new file mode 100644 index 0000000..1ee3977 --- /dev/null +++ b/resources/tools/Library/Default.fctl @@ -0,0 +1,41 @@ +{ + "tools": [ + { + "nr": 1, + "path": "5mm_Endmill.fctb" + }, + { + "nr": 2, + "path": "5mm_Drill.fctb" + }, + { + "nr": 3, + "path": "6mm_Ball_End.fctb" + }, + { + "nr": 4, + "path": "6mm_Bullnose.fctb" + }, + { + "nr": 5, + "path": "60degree_Vbit.fctb" + }, + { + "nr": 6, + "path": "45degree_chamfer.fctb" + }, + { + "nr": 7, + "path": "slittingsaw.fctb" + }, + { + "nr": 8, + "path": "probe.fctb" + }, + { + "nr": 9, + "path": "5mm-thread-cutter.fctb" + } + ], + "version": 1 +} \ No newline at end of file diff --git a/resources/tools/README.md b/resources/tools/README.md new file mode 100644 index 0000000..8445d22 --- /dev/null +++ b/resources/tools/README.md @@ -0,0 +1,117 @@ +# Tools + +Each tool is stored as a JSON file which has the shape's path and values +for all attributes of the shape. It also includes all additional +parameters and their values. + +Storing a tool as a JSON file sounds great but eliminates the option of +an accurate thumbnail. On the other hand, storing each tool as a `*.fcstd` +file requires more space, and does not allow for generating tools. If a +person has an extensive tool arsenal, they might want to script the +generation of tools, which is easily done for a `*.json` file but +practically impossible for `*.fcstd` files. + +When a tool is instantiated in a job the PartDesign body is created from +the shape, and the attributes and constraints are set according to the +values from the JSON file. All additional parameters are created as +properties on the object. This provides the correct shape and dimensions +which can be used to generate a point cloud or mesh for advanced +algorithms (and potentially simulation). + +# Tool Libraries + +Due to each tool being stored in its own file, and the storage/organization +of those files being quite flexible, the importance of a tool library for +organisational purposes is quite diminished. The user is free to organise +their tools in whichever directory hierarchy they see fit, and can also +name them as best fits their use and organisation. A _tool library_ is +nevertheless a great representation for a physical grouping of tools, +such as in an automatic tool changer. + +A tool library is a (JSON) file with a mapping of tool ID to the path of +the tool file. As a consequence, each tool can be in multiple libraries +and doesn't have an `ID` of its own. The `ID` is a property of the library + +If a tool from a tool library (or an entire tool library) is added to a +job it retains its `ID` from the library as a property. Adding a tool bit +directly results in the tool getting the next free ID assigned. + +# Tool Controllers + +Tool controllers largely stay the same as they are today. As an additional +feature, it should be possible to _copy_ a tool controller, which allows +for easy feed and speed changes for the same tool. + +The above requirement highlights one change though, that the `ID` should +be a property of the tool bit, and not of the tool controller. There are +two requirements that are currently mapped to a single `ID`. There needs +to be an identification of which tool controller is being used by a +certain op, and which tool number to use for a `M6` command. + +# Paths and Extensibility + +The following directory structure is used for supplied +(shipped with FreeCAD) tools: +``` + Tools + + Bit + + Library + + Shape +``` + +Strictly speaking, a user is free to store their tools wherever they +want and however they want. By default, the file dialog will open the +corresponding directory (depending on context), or whichever directory +the user opened last. + +The above directory structure with the most common default tools shipped +with FreeCAD should be installed analogous to TechDraw's templates. + +## How to create a new tool + +1. Set the tool's Label, this will show up in the object tree. +1. Select a tool shape from the existing shape files. + If your tool shape doesn't exist, you'll have to create a new + shape, see below for details. +1. Each tool bit shape has its own set of parameters, + fill them with the tool's values. +1. Select additional parameters. +1. Save the tool under the path/file that makes sense to you. + + +## How to create a new tool bit Shape + +The shape file for a tool bit is expected to contain a PartDesign body +which represents the tool as a 3D solid. The PartDesign body should be +parametric based on a PropertyBag object so that, when the properties +of the PropertyBag are changed the solid is updated to the correct +representation. + +1. Create a new FreeCAD document. +1. Open the `PartDesign` workbench, create a body, and give the body + a label you want to show up in the bit selection. +1. Open the Path workbench and (with the PartDesign body selected) + create a PropertyBag: + menu 'Path' -> 'Utils' -> 'Property Bag' + * This creates a PropertyBag object inside the Body + (assuming it was selected). + * Add properties that define the tool bit's shape, and put those + into the group 'Shape'. + * Add any other properties to the bag which might be useful for + the tool bit. +1. Construct the body of the tool bit and assign expressions referencing + properties from the PropertyBag (in the `Shape` Group) for all + constraints. + * Position the tip of the tool bit on the origin (0,0). +1. Save the document as a new file in the Shape directory. + * Before saving the document, make sure you have _Save Thumbnail_ + selected, and _Add program logo_ deselected in FreeCAD's + preferences. + * Also, make sure to switch to _Front View_ and + _Fit content to screen_ . + * Whatever you see when saving the document will end up being the + visual representation of tool bits with this shape. + +Not that 'Shape' is the only property group which has special meaning +for tool bits. All other property groups are copied verbatim to the +tool bit object when one is created. diff --git a/resources/tools/Shape/ballend.fcstd b/resources/tools/Shape/ballend.fcstd new file mode 100644 index 0000000000000000000000000000000000000000..1060b6983ea0cac5769cff4a28ed61672c45339d GIT binary patch literal 14720 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 YV|`og@fuWssGX6K@SC@!e?0R356DApjQ{`u literal 0 HcmV?d00001 diff --git a/resources/tools/Shape/bullnose.fcstd b/resources/tools/Shape/bullnose.fcstd new file mode 100644 index 0000000000000000000000000000000000000000..24a6a18869bd8cb909ea71e7fd65ea58a206eecf GIT binary patch literal 14736 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 literal 0 HcmV?d00001 diff --git a/resources/tools/Shape/chamfer.fcstd b/resources/tools/Shape/chamfer.fcstd new file mode 100644 index 0000000000000000000000000000000000000000..a904db4cd3ed8686ad676a1ce17e1994b245a8a8 GIT binary patch literal 15003 zcmb_@1yr2N((T|L+}+*X-Q6L$yE}y7?(PuWo#5^+Aq01K4U!Oe1) ztHb+p&+haV#(s~``JFScoHjEKF}XY3yTEP=NU|rv;_K}pcw1jWnf$4iH3V2~_(&ai zps^mG=qNx_x5G+=EB1Vf8c^#VWK>i}pl|YLVD)V7o5;%>)G4T5GsOfI%tzp!@;kK) zCzwo4wsfIxv;%OwqWgf&m{@V$c5k4Isf-h=4eYz&8XIjR7*JyP2jclNarq)_E})0w z(+oK@(o!&G7C~KoLVTQ|SOp6|t10_;Fn5F=Y*yL&B){JAiCN~VOxh$!s(c)>yXeevBwPoV3Ol4sb^Ts>^7vmRCgFp-1BVD9c1 zS91*+Aq7KrX6V`QkISB;yEtLe-K^s!u!h(z=W+1hDAD>oeSLMUMK`OwBFgqb_VOz| znpV{xSG$h|+CyD|YCfX?O+`;Gl_jZah~@awavRy{hsNQIc$QcZ?+-Ut%KI9EcQf$Q zsZu+o0m8iWSL$H-&S#+Jq4^DgayUu2A@4V$p>7SRFM3yML@AhkVaDK2_7JLV(t2t?Yk? zIg}vrLl8gh3&wL*jZazmX&i{jIO2APR4R=lM>BfIn@rfu4qleP-q;NwX5} z$}&%tHpCrWOnKra*{8E{3w8ghFT!0J!t<87>y!D%UDaa=!Wtndaq~h)t+_PY6iK9Yqm|#1esB{UOe#jbDNa0a-=i!BAAuB#3zcGX>2|gvN0V zlTXSxHmkw}L3q^sdcfp>!#mY|m>eXc?_gMDX3qjf;1Gd=YUi>+%`lEDW+eTa85nI$ z?b|z|FhizP&_hv~NjW@G@QvQk=`330Ok7H4Md-Xl%owF_>f3rzB2;Q3C1w7Dh6mcf z^l}xt$XQy7fy7urQX*noWyeCSSn8xSaI#YKhNBG>-1j#vnmV6q;MozKP|1|JQaTJ3 zn|-0G@P>hL`R`_d)ng*>e5Ti*1I*e(BJY5=J3>toubx8RJcS89k%K?vJbh5>+G21K zA2ha%mqbX!Bz{CeuMY+V@pb=rwQ`srLgD0UDW30SAp_aMv4N}Mij-xqXrn!q!4NeH zi_LK$-q3C-_rvQgbSLq6eu6#EAdoy!!=>^*E!+7lmDDlB*zc3)|hq4B5#t-}jcp=!+~SBYBDt}QN?IY7+@c1pc<%~YQ7S|n4&W5&~VkHaT- z2R5`zkTTUn3z){>KKEFWt)V*?O0{=w`<*TU*PCud(8i1)C0$dGIwjrHaH}hnO`;xz zS&-e^@LsfeZd9PKVQ*HE_1ZuQDc2{vG#4z@KkdF#B0?-Q&8(YJH66c z-|zu6PPKF%ovs%RQI3a(`<(ePVKXUg;E51s3B`OA^^{6_g+P3*1I zu#ZcTXRB)mwzV@su=y~UV(5cnO%qP>+23b~%BdX`W>vD#-6iKx6v>x0T$hg6h*zf; zj^q+}yxQ76Pgm3TDa3j&Yw1F}e8=glA7x}AS({qCSv!?IrxNbsn|=9&4lNT;RlIs} zMOH{w(PR}9&e=AF7@RcSP$N~{IaEaj6`kIhGPDd`joF*4slgkz7lMVGwKLgs*YvgJ zj>A>D**5trw)CCVjJ2D@sdTo*fegbK|853xn2h5+y=p7@ECRZH)@YvVapCR*^XidkljR-m(emr)R;jPP;lJM&CK_n0D+S(_odX7|MLUKbh%kY*tSr zQ#-z4yoL2M(_hW9CCRm{gUSZ%Za(UvU8Ryln(r?Gd$zgt*# z-$gQ6L{bg?{!=hfad>>$RT-595{ifHB9VnbP~$0Xl+7`7&|$KhSkPz9ie5q0^kw+e zi-L}5ji6alMMM%wbrQ^D>K0bZXmbB?3#`xXB^MfVB(Ov_>6E~lABQoM9gDhmNee3- z74}K3)r@tMP-PQc!WH8<6o>ZY6r5!h8PEsdFi~mC`D1hW=Y*Qy<_R?etE$ecYR(b{ z=6#^G2RlwB8Y5B>)s4#~8;ftnEIPm}8V1H=kX1E#?D}B!)}mrv*T9s*F}~mushZj! z;3D|BUluEgJ?mYt<;VWTLl8+sw44sPb7$RKP&O}v_B7-{`Gz%m^eRu8xbA*Pu@=}} ze!}N!Gy&z%zAy5w7t{|ax|z|BIl=dEPeZsNg1#nu4g4bbv8*^?1JqbS6XA0ir_r$c z-@}3)q-|GD0R};)g+~**S_#(q8!sm^4&7WE6G}OJPGRiIFIFv{edxoO;KZ)U?Te?x z#*}kTu-|zd4^uEVfq4LHMjck@bsD9?kfK=eL_6jL^dogT=y3Uk`RFqfF(fp2TEa2! zM)KVei7GkkeRcfMsK~aL#uHD*zqv{g;oT+HBTAeU)o9|A(bKK+an(l=UQz||GXyvr z@WjXLUWn#tRDz_%<(&7Lu@FSFl2%nzvS;DMNc%E_K(_+n?N>WPU?#1iC9ckl$z?sM ze-px`YcbiHwxT}vsMyZM^jh;d7#fU6_wBt8|FhJI4}nq42t7Av697Rr_`=#GV0 zSZQ22F&oilDvq7HP^}|@owaC}6KmK;zJHS4(DZVEK+W+B4R52(lU`DMo1~1X6Z>!) zH$%oOv>&EX@kknSl7fA|n1XHCv*S3S@)#_PEN(mRK$iLgC@YHt@twsx@k9HElfWe| zIr~o|X$WJVr+fHXfE=qL^#euubmI#@q2hXs8((K1n3EKJWo{MEj%nNoFqFn)L2ulN zhHuH`=0o|0i$B`9a#?H2UsJh$F%sAG96t3X^LXmLvr`uSG$FZEekBDjHZ9IYF?!W$ zYFEQa2<>*Y57QUm{kv8uCKY4Z*n>vXrvsa=bvUn#Z*mLP(=9T6TIO~bfo#Sed3IsC z!LIsQn2}c4Y)9YoJB(DAw&JNa<4P(v&mcdwDhMp7>=jC}R0Z@O2#=!x+trjhbsWLm zc(kV)iqSDr<(o_g6`a`OhTM#xn>7^`KUNe^#8?#C9VbuW-R3NMf72Fl%As6Yd*?fs z)6cHX^ATIq7Mk)xiz(=_TpKwIUouv?p{c?ceNnrp@+!Cv^;|<3WQTA_L?)*V>1z=B zfbq2L7WIZ7Khrn5HxfQkdiLx=dSh165MS6zJc&KZ$z0EQd&YM$$2D&~;#=rQt{-hA z8Yay()#>P|As+_W>g)R2ajTv@yGJL_#&(uW^;w8okjQ=0s~FE z&6WWegeL@VLmk&g2wJ9(O_=)&qrU#iaJh%=jg|4&ZCS8cZNlnu1+;8)Aezo}$JV** zn|b=f}&LJQ=Ot+kPz3cQG-UhJz5qfob@2UhI#ke7Z2E{#w>P^jDPf#hcqHLSDUhy+tJ=c+4rb1qQUYiy8A7YHf~6qC^BYm3SF-4MDA0{od@Bm1oC4YarCoF z1#;X*J8Y2&o-IZuW?1WVpXGFzh}{WT>%8Yz_@yR-=FOTz4gvruVgmqgUTPvjcE%ob z%H{_4CUl05_NS?`^4kmu!RJq?d}p6zcP{U*L!rHv=u1O+#k++_KYu`ry}#pj1+YfV zx=6&KNr?(`)ve2{4dD$L%=RtbTpXn4d}jaZ;{DJqzX|i~e4FM|ZJVO%pt7oVcRkmx zTVwZC(?yz``V5nSLiBszKm<_*wr3j4m_;J-k5+bd5+O~^-4&U*q{JQVPogdN-OYWO zuHuZ;g}fLA;UM!jtP}c$p<#&M3bTbBNbClS-NwGdcyw+NU^>q!tIHHF%~pwjN)AOz zQr@VrCzu(jjjy}W^+(5RXOn_9TS1UimI~Qmfrj~FWkwRsWaOJtO~Cm@nkLFJsNo00 zb=Hb|<^{EFDN*E%+(7HD)Tjt6&W6QpQavaowx%WFQB46y)MXUP|Cul%(##3E4P zfJCZ7@u0@SA$gWP{ag~Ttz2Yk>%K7ax~-I z3v??{42T7#_|y2@`a}DXZUq+NciSWJiO&5Z0}_VjG1$PKwc5y!7rRY zC|mlYG7aO_RHGJV%G8pA)H-}Bo`8@ZicrvZwNg3j7;3@;!GbUfZj+j7*srishO@I5tly_+X26~_M3yk$4R{RDzuYoq5T0Di78s0C>Kt)^Ij z`U8zDo3y2MeUg@I38e0>@4V!XNvm?enuGiXBUI?ue9U%vK>a30+Ms5;H&Qv;nCTn0 zoo{W&YHp~@lT}~Jp%(=~q=pK5JrL!{7aA%s1H>Ye(=hTbMbw_aehn%4)PT6;mr$Yy z0sxSH4Jlazdpc)#XOkE~m|h0hp!0L}9S9i>4b@b3@euR@<@13-&IPU+s_zeKL#Yam z9)#!KlDD54blpBhz>9kovj-gV@brDeE#KS)L7lEb{CrEqa0ST(Ji`fxc@N`M0i1w8 zS9!W}VmN9cEpSk5!6=q+l&EX!$M*C7+O@Q7BF=ps~#E|sOQ7l9lt#bLUc z8kpY^fxiXv>s7oM4gmi7=Vf5LJd~|WoQ=%sByF8d9BmD(|Bwg}z^^zaHvM(m7oaI3 z0Ps?4{T=tm`%l#*t+p9ZI*-*4IA$ZGva`P!NqT0$AuZKQa;FJ|N+%0F|KQ;~+)!as z%`}EKk%^7EN=ntOX-u!wHEPpiQsW_GWK>Kbprzq#4$+EsIT=8RR_TI5ahq2zV z#mC$j)_GWr#I1|Xy!kg{h*Xa4q%>baJTzSgNDooZr_PPcs>zFRaw{k#CrKfqQB-a8dZz%|Q2MvLu4Y1JNqj;+q zC3tu2@C3+aVBad zQU3r>#4JHP>NDv?DhIuz3{ev)D>7Aax8|lmaIGko<9(J|R-wHBYb=d6`>etT-|yS%BJU}XkEREzskgs5+6vUol{GG3)yw)kljNNQ|gIJXA?%D z$O$$H4S|$}bEK5KCVkNxFfSF{?@De)5_M^vx>*CoubfcP2W6fb*DmJ|)FIR=aG zapU9=*r#<(i#HZxr98tlSRkx)xoDD3@B}E%NTW#w%?)6Ul_Zb+47U z&c{37B$@Um>YFFWJ9>RSsF?FF(jwyLEs`WQP;1e58iXuO5;#uGOY-yn!X!8i2MN87 z64($)QZXV^;HA5&`e7y?L9U{hmMB-uLeYfTWa+o0m-tbxjR%OjatL=cp1`?{=V_kG57U?W zMM_C2MW!973NLltcJ_2EElZ#&`9!Xd094)38e=&*F`ab=&#gU*o-;cbJ2WXla`iomi(lF@_l zj>YpbIhWvR%bw|DK;FD2Tq8vUM(jc!Pk17XeQg8E1x51eib()>s_mIzI9BSi*R1{- z6@KA_m}HVp=i79@{yD#BQ7FWw5fe6#cqze7Ig^NwgEW$_*Y>f-mABLb1QXbDx ztFbm@mvr2mR?R!ZO&vc{3MRfu_vQjet%|Vc>{XpeXVl=#r=?6cznVG6|5ZRXGz)IR zUm^_gML_WWInsXL=BEUqdl?XdHh*vr;B*TGi-4_aDy>jdwZfZL1hJt;ecHx`1tV+= ze8gwwl$eL$9;P77UJ2lXl}$NBwfmthe~uv8_f2lPx%@+tSt6!{$$R4sc;>^zeY~$7 z_>W4AluJq`uy&s;y13QG#VTniH%`PxbXp$=6J2$difYDOgV+jfVQd2AeY(+qy$Yte zhb@j5y_kAA^Z%5=zv#tZlww&9oAKr3{{yAdTGDOz^4>iRxZ_9?I&Yr(0|JzZBCtfe z_mEu4Rt1P|a!DpIO-9&{n|KS~czadqxx%0VL&gpBX@IeBJFI8Gtsvq_XrM8NeH+{E!sxSezr$FJh#GHvHr7oHusM zTU6?(DkE7nk}6Ceq&WJWn>QLmyawcwNM#GdJy4pomn7(5_M;eB$$UE$SBpq@XVi}Z zOM9ki3dc_s^Xt`M(rqz)JY^F48OpUoIe$w7W=6aDtkMV$K>d5!!3cB2m}V-FACgmY zsHP7TA<5Nd(c%>H8%hKak#kV8_NPt}HF)RTTMB#zSV$a#S0g&@j^Qc(xVT z21F9dydU%$hu+9zo=Z4wY&HP9-=`>^zH5Rs!<{a!DafhoEnf?+iaDT;+*55ot6iV{ z?f|JaLeMnS$;Q%o;*NwF8dP6o%NO37nx8%Y`BQF!{6cX}-qsIUFnpP)d2z4o`E{Nd zsKxBh*HBa!KF}D3^n>pz7HIoLs7uR6ZnE z{#&H|p%gtYN&)M;>6J|czwx1`a8IycSZ>JXyJ^PY!zLaizWg%7ob zI4|T-5wTH6fNyMpQ|fd+4w|>kG%C6-%2|AARb3Lxc?RhHYW|DGf8+qK+N1%_E%$@n?TJ4kXaw6dN>a~iH+;m{UQ)B znD&~7#Kqy^;T?0Noekv4oB`hg{Sk8^^)r09{UfIc#;$rc3GwN%fSp@~S^V7y0g`du z5C^(ET+`85Yj}Vsm#wC+fCHo{)B0QY960e3(yaJ35h)}uD$jty{wq+1LkhMPMFJE# zp66LyG5Gn!NC)^Cr(psP81i%wloaUwZ{JRbK7!eh0PVztc+!@V0S&Ucf}G~i9$rAH z@%aZ(^bKcC_U1Gf3bAXu8EDyT*52nQl*;jF(Hv5G>?q6OtbKOP+}@TrNkotarVAK% z(uz-G$m1_V05LN6czob%&_+>Tmhqk`DR;;+ny=m1VLr?i(MD%mC;hz6#q2)H z46eON*t=A8P<5iU^$wG$Er8~;Nr}2pBoK?cT`metd4Z;eSVz=6tH1#3Cj;d2NaYwfMzWnZ8oixGdtm32zFK2CHuXi%v0JHfL-@+T`zeX88UW0)>wHR zS#XjxQgYBCt13T6oj=8#_pWZP+G-6y9?fke zYL=^PrbC`T{OWs*H6fN?b<8TvOkG9IKCh$5(|s$ZJwGhwf?C)Pyx*Z-bslY%FpWv% zjhXiV0c@?8F#A?;ziFSV>v~dbT5}#QKbI9&bbZ006Y~6~GQ6LpDcJ!b)sDN1O9vczdlGl~ zuzeYm!qOu3VNwh0r3|nM(vv)`n_-^tc!B=5`Bd&Nn^mxcDy&+NGmQ}0V27MXAyvE% zZjO|j=jygooZray#-tI;p4hr;9Sv+@~(r9bXl?M7A;{bmr4w*4J z`*l&`3qj+LVgY;i1`uwO#q+b6IGM9?5hrtWlIg>EspX|7-srSF zzvB;81PL`EO&<_lb$G<;(cD69qL)w=kmBKJ(7K_f?o@zdHhiDcH`(W7;RfKdLp(U* zL-@Kj@UU(BqRLyu+rHb!c93zb2$QmX!yG=<__1~G(Or4M$KQ5``t1?3Nyb%=G^7rQ zhKN(e=V2sQJ;_;9-GFn2{#~{1=0ZL42_L8_YM3#I258s;eU3=u^&9ag^)J=oC*kfP z`G#%br&Nv95li9vZDIqisLLI18Z+{O0?OK5@I8W_@0CtO^chN|Jjj@vWbi=I3(0VyLri;xq`i=e7-j9DB1EKcUV0W`tsh!Dd&>v71M z%mz<;Cj4=ijtbLBP|ICXS(aUORsrrB>@$n%$4IRTlNHIdjX^fmXs(_VV-+o0l!|>@ z74~71z&vJ($fCfLMW{Dlh&&VrYbsk=#=&bsrG<&lrG*jkQ;r^WCP|tE285$>O5?fP zT4LTHYa8pa$C9AYJ;3K@a`P!{d*yq zx?Q2YnjSN5mh}xX50no-l3qnj`PM4LpxQX;U)o28D6W7wtuIZx$igo@&Vu2ysV>yr zilmpZ&aIF`f1&KslUymBp!7;fajNAfi9P3jSfo1$EHC7-M^Ar$>rbU=KRZ^Z?rPAy zRt!SH{pbv+FX68Flx%0(#wl4m6u*+0+O~BD%TCVS*Z7`|gSKI{)61?(3OMO-)r(nc z@GUKYQHN4>^#kcjB-C-DwQ^D5*U85jPZLHkP4B@9Ps@5e3?HMmsd&|DSf3=JdHFJQ zlY4q<>UL(mL|$rZ(8FrgOK(o$o3D-gUC4LBj<+?Q9@)M#ROot=Zwl zSXc_@;AU*sr|-+vQm62M!FP~xHczm);ws!9r=B0noxX2Z{CLmdwS1}x#}nylG2cGuzi}l7hmazXZ=Ft$LfeG)3X#CE7Z6TB72YIxG=1)R zetaJIl!+tiV{(1k^Ze`aAw_1oiVPe8$b|fN3DMcy#m3Oqz{1*zUgh_H>FjOICe*$w z$6KI0wUaDSHI|o_lgV-(nwAy@up==~RDe#D$iPWiIHB}cpiuJ_R$7Pr^U_f%}LFj6T)A>6r>FAUbh^i@_ z-GZQf^$C=9Wb=@LUa;YBeV*=wI<4wQx(UoHL)P`!`F#fbvVzoWRc#zisdhe-Gwo=J zNsDQ`v7`Goez4pL4ExXG5|l>fgiM4T<5^TJeJm3C6lP8SP6Ec6-aFcSCzr!(95#F> zrSHaq8F1u&G<^V{-EhjIMhK$HhNY=kHkVvK0PT8T7_xE9QXYH{Vd_Ei2_r;B`MG8W zGEpO-*GpX_g^ZNc#SbAW#+TN51tD31kAb0^k8pVQ_(^sZ69o$^TuAfo+uL(YR3%_D z1NtA*+BZ8fL+#Yz-`GS`I=QYnMl#wm1q9a_*RLlIzjY0iy}MGTWh^{b%|9<~Xm4+a zLB|>QqVTIKZ}lzLhlfNv#!lo(RvIN#oiA2pXJc!+Q*RZYO~y>6HOYRtb>s)xhX@>G zulzIbZEI?-&6!%8H=;F36#X*RRpl6I=T@hRw~uq`{Vi`~CNT$c#zZ+&hUs#%q-k0U zjf@r-37Ypn@+y}bgr8CiXxL5aBjKZ)29uGuU!?h~g@=lz!o+k=XDQbOLINlT9GYA6 zyQ4^-i?TFZIbF>Gv9YI-3YWb*-KA_z)Un}&Vr+~pEu}( z4k`nRB}vXZXZH;P^QpjB7}{5FQl|E{td#YgK6T*`^67UB$c7V3ZQjop4p3qgor-rf znuWV&PP7?%!(X-2^sgOaPxF*%$zog^oyXK$OVTY^X|>f54RC^l9cjX8$m3l&>jY4Z zmSQDzvrl4B*d7N6H|>op?;G^Kxeg#(&%GxYn;Xg<=6zeF+Ly>x&Onj2Y`B;7p!g;q zr*H%oS`y@TDOQ6iCzs7i?JBq_{*gj<8)5c~(R~jP> zdpl(kAQN=7gReLyi5n{SVey;ci$rb50AYUu8MdQw_i4+cemtKa)ki3p9{MY4FPHC8sFG_)i} zeoIsq1WTdgoPEXc$c#1VfBAwO(NA7qD(YUY1280vi(;!;zP!7zyxaqh3koDcu z3Noc$GLOA;%itkqIS0mweh2runfz6%Z8~NBEDUOO6lpGGa+Ex1IYZo9C}?KY{bD0s zQ#s>)_8f-2&b*-_*Tf)^(rSdQT`SG_A=jfVT-nja>8e89{M>7vr|Wz|%oQrQC2(QT z8oPC;r!W_TE6z=xwOCVd%%Pq)_`4}z^GB$sw9LrKjx-LvayPZ?bCoe`q3x>ro&|u0 zF37lSfpQ9aI$LtoDmAe53H;FpiOpn)wv@Ccm&IJ}Q8C!&JswJGVlDj@jk*nM*-&#i zP3TFxoC1V|!jE|D_$UL<@xt=St6&DqAY_@Y3FYzkaZ>W&5Tsw5X$G zxzD)m1`-gR8qV=ekPay%0dP0?M)0E4Q!1}jEn)mMn*=# zdb5!jA2v=f@wvfS0RMsFU!AI-UGG0B82>+TF#UhvVE%77ro~W1Uv}A-FFO3YjW1(i zYa(oCZRaTH=xE^alR;8a^40bK74y@D3U(H@&i@-I*v^#dcfbD+PGkAqSZ1?H27#VM zWVGXMJe_s?Ii#b5dDudtskc;&Z$ z#QiU>WB=Xc|Kz&YbM~vr|5|SUd7}RZgZ}~bznIJMPv!yvqk#PLcWz$%^{>(3_w(tm z^&kc5Uy-lxO!+qs0BG<-d1)>GdY{T`?CTc%pIEaO)Bb|}t^W2J|MUHSZGQiWr$zmv zZTPoV_-mHet?)ltO#Wo~qkQ%n{kmECCmQIbl=wfjE?+ae?hF3Ou<*k0ms;ejF5zpQ z*Ikc4d4zEOk>?*g`?~k=Cl@5{FI@lVm)AAbKN%be{s)GCu;VA{_Zj|K+WdVq_%Rax z%JTO@=WGAGE_D9MW%t7Ms_gk1{5nbc6Kqcj0Q^(R^qS@McK9dDIQ`!?$NvQWsSm%8 z20wU)zkwP5d$jW3(MB3PGf(K{_9--YIxt@4FB6Q`z!cY!|(rY_}|d~Y&aeB n-wfwakOq4xdH?`8FFznJ{SU{N_aFeo98FAw1w{yc-}3$stXy#< literal 0 HcmV?d00001 diff --git a/resources/tools/Shape/dovetail.fcstd b/resources/tools/Shape/dovetail.fcstd new file mode 100644 index 0000000000000000000000000000000000000000..1fca39c020b85a41396497f5a8ae20c5f17fbe31 GIT binary patch literal 16876 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 E4}AWNDgXcg literal 0 HcmV?d00001 diff --git a/resources/tools/Shape/endmill.fcstd b/resources/tools/Shape/endmill.fcstd new file mode 100644 index 0000000000000000000000000000000000000000..47e748acde02cafc8167f817941a93792f197ca9 GIT binary patch literal 13770 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 XR7lNyx&{>>=3s0rA|y)sd&v7g+Z-k3 literal 0 HcmV?d00001 diff --git a/resources/tools/Shape/probe.fcstd b/resources/tools/Shape/probe.fcstd new file mode 100644 index 0000000000000000000000000000000000000000..bb156dd580b826ea51c3609acc62caec1b988c48 GIT binary patch literal 14128 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

2mOJ9CqB$4{*(<#1 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 N00JKbiT+sf{s-}wNf!VB literal 0 HcmV?d00001 diff --git a/resources/tools/Shape/thread-mill.fcstd b/resources/tools/Shape/thread-mill.fcstd new file mode 100644 index 0000000000000000000000000000000000000000..30c21245918b280dc61660881a72df42322eb248 GIT binary patch literal 15911 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%0ABu+pUts-?jpIXBGzD6FJ&-JV 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

PZC3=5Xy~s`c`ZDelXthhvu! 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 NQxPFiqJM|H{|7WZwwV9` literal 0 HcmV?d00001 diff --git a/resources/tools/Shape/v-bit.fcstd b/resources/tools/Shape/v-bit.fcstd new file mode 100644 index 0000000000000000000000000000000000000000..c87f4dee996ca36134c6316c21d680d1b5431019 GIT binary patch literal 16858 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 literal 0 HcmV?d00001