Part ProjectionOnSurface

Description
Project a logo, text or any face,wire,edge to a surface. With this function it is possible to create a projection solid, face, or wire. With the created shape e.g. it is possible to create a boolean cut.

https://forum.freecadweb.org/viewtopic.php?f=9&t=33700

How to use

 * 1) Select the face you want to project to.
 * 2) The projection direction
 * 3) * When entering the function, the current camera direction is used for the projection direction
 * 4) * To change the direction, use the camera direction to get your projection direction and press "Get current camera direction"
 * 5) * Or press X:,Y:,Z: to toggle the direction x=1,x=-1,y=1,y=-1,z=1,z=-1
 * 6) Choose what kind of shape you want to add to your projection object.
 * 7) * Add Face: Select a face you want to add.
 * 8) * Add wire: Select a edge. The algorithm takes the wire the edge belongs to and adds it to the projection object.
 * 9) * Add edge: Select a edge. The selected edge is added to the projection object.
 * 10) Choose the what kind of shape you like to create.
 * 11) * Show all: Shows if possible the projected solid object.
 * 12) * Show faces: Shows if possible the projected face object.
 * 13) * Show edges: Shows the projected edge object.
 * 14) Extrude height is the value the solid is extrude along the reversed projection direction.
 * 15) Solid depth is the value the projection object is moved along the projection direction.
 * 16) When you are finish with the projection object hit "OK" and the projection object is created.

Options

 * 1) Extrude height
 * 2) * The height value a valid projection solid is extruded along the reversed projection direction
 * 3) Solid depth
 * 4) * The depth value a valid projection object is moved along the projection direction
 * 5) Camera / projection direction
 * 6) * "Get current camera direction" sets the current camera view for the projection direction
 * X: toggle the projection direction between x=1 and x=-1
 * Y: toggle the projection direction between y=1 and y=-1
 * Z: toggle the projection direction between z=1 and z=-1

Limitations
The projection algorithm sometimes is not able to create a valid projection face. If this happens a solid also can't be created. If this happens:
 * 1) Check if your starting face is valid.
 * 2) Check if the projection direction is valid. (Can the face be projected to surface? Or does it not hit the surface?)
 * 3) Try to use the "Show edges" option. Are the edges projected well? Try to create a face with the edges by hand.