These sets of commands group a number of useful different features that we not relevant to any particular topic.


Open the panel specified by the name given as option. The panel is opened in its current or default location and if it is in a dock bar containing more than one tab, it is set as the current tab.


  • Panel name (as text): can be either UvEditor, SoftEdit, ModelOutliner, Stitching or Colors.


Project an image onto a different object. The image will be taken from the bitmap (or color) texture of the selected object and it will be assigned as a new material of the target object. Depending on the kind of project either the camera view direction will be used or the natural mesh direction. The natural mesh direction is meant as the average of the normals of the given normal.

Both the source mesh and target mesh need to have valid UVs for the image to be properly calculated.


  • ProjectionDirection: direction of the projection of the image.
  • ImageSize: width and height of the generated texture. If zero or negative the original size of the image will be used. You should give enough resolution to make sure that the generated projection is readable.

To see the tutorial click here.


Remap objects from one mesh to another. The objects will need to have matching UV coordinates (texture). The remapping will leverage those to match the position from one mesh to the next one. You can use diverse meshes but if the UV match to some extent then the remapping will work.


  • Tolerance: this is the search tolerance for the remapping. It informs the tool on how large to look around the given point for a match on the target mesh.
  • Edge length: this is the dimension to be used for sampling. When a curve or any other object need to be re-sampled for the mapping then this measure will be used.
  • Smooth: this tells the algorithm whether to smooth or not the output calculation.
  • Strategy: This can be either UVMap or Skinning.
    • UVMap is topology independent and allow you to use the UVs to map from one object to the other using the texture coordinates.
    • Skinning is topology dependant, the two meshes need to match but it is faster than the UV mapping

See how to remap curves on the tutorial. Watch the videos to learn the workflow: see how to remap meshes and edit them effectively.


Enables the soft edit grip and shows the panel. Soft editing allow you to change a mesh by applying a transformation proportionally to neighbors of the selected vertices. The effect of the change is visualized with colors in the mesh you are editing.

Soft edit

To see the tutorial click here.


Allow to merge two or more grips into a single arbitrary location when editing a mesh's grips. This command can also be triggered from the related button in the Botcha Soft Edit panel. (See B_SoftEditGrips)


Allow to merge a set of grips dividing them in groups based on their mutual distance. Every such group is collapsed into a grip that has an average location.


  • Distance: the distance used to group grips to merge

Merge multi grips


Project a mesh onto another one. It is useful, for example, to make a mesh "stick" to another mesh. It is possible to choose the direction for projection in the command line, where ClosestPoint allows to perform the projection with the direction along which the two objects are closest. In the example below a logo has been projected onto a shoe upper part.

Mesh project before


Rebuilds the selected mesh's normals, considering a welding angle between faces' normals.


  • AngleWeld: the welding angle to consider when rebuilding normals


Flows a number of mesh edges to match the given curves specified. You can choose multiple couples of mesh edges and curves at the same time. The mesh is deformed trying to reduce the distortion as much as possible.


  • Accuracy: the level of accuracy you want on the similarity between the new mesh edge and the curves selected. A lower accuracy will provide faster results. It goes from a minimum value of 0 to a maximum one of 100.
  • Delete input: You can choose wether to keep the old mesh or not.


To see the tutorial click here.


Given a mesh or surface and one or more curves laying on it, this command allows you to create stitching along the curves.


  • Pattern: The preferred stitching pattern. You can either choose a pattern within a set of given ones (Linear, DashDot, ZigZag) or create your pattern with B_StitchPatternCreate command (see below).
  • Style: The dash can assume two different shapes: Rounded, consisting in a cylinder with hemispherical ends, and Curved, if you prefer that the dash ends bend to the surface and give a more realistic effect.
  • Diameter: Diameter of any dash composing the stitching.
  • ProjectOnMesh: Allows you to choose between keeping the stitching on their leading curve or project them on the mesh.


You can easily handle stitching generation by the Botcha panel Botcha stitching. Double clicking on the preferred pattern represented on the panel will allow you to choose the mesh and the curves where you want to create the stitching.

StitchingCreate A linear stitching of curved style and cross rounded one

To see the tutorial click here.


Allows to create a custom pattern for stitching. The command will ask you to choose the curves you want your pattern to be made of, and a leading line, necessary to establish the orientation of the pattern shapes and their position with respect to the stitching curve they lay on.


  • DashLen: The length of any dash in the pattern.
  • PatternName: The name of the pattern, that will appear on the panel after creating it.



It generates connecting meshes between two adjacent meshes, resembling two flaps of fabric. Stitching is automatically applied along the binding if requested.


  • Pattern: The desired binding pattern. You can find various patterns in the Botcha bindings panel. The curves represent the cross-section of the bindings perpendicular to the mesh edges upon which they are constructed. The red point indicates the passage of the curve supporting stitchings.
  • Depth: Depth of the binding perpendicularly to the edges.
  • JoinToMesh: When set to false, produces the bindings as new meshes. When set to true, incorporates them into the existing ones.
  • Stitching: Generates a stitching line with dashed meshes on it.


You can effortlessly manage binding generation through the Botcha panel named Botcha bindings. Double-clicking on the desired pattern is equivalent to launching the command with the pattern as input.


BindingPattern Binding created using StitchAndTurn pattern.


This command, used together with B_LacesCreate allows you to draw custom laces on the shoe model in an easy and fast way. The thing you need to do first to trace your laces is put a set of constraints in the model. These are essential to decide the points the lace will go through. Three kinds of constraints are available on Botcha: eyelets, tunnels and curved tunnels.

Call the command B_LacesConstraints and select a mesh or surface you want to put the constraints on. After that, a set of options on the command line will ask you some parameters:

  • Type: Here you can decide which kind of constraint you are going to draw. In case you choose a tunnel or a curved tunnel, a simple interaction will lead you to set the length of the straight and curved part
  • Radius: Indicates the radius of the eyelets or of the tunnels
  • Offset: the distance to keep from the mesh, in case of tunnels and curved tunnels. For the eyelets this value makes no sense and will not be considered.

Constraints Straight and curved tunnel constraints

Interaction to create a curved tunnel: Curved tunnel


Constraints surfaces and curves will not work anymore if they are moved, copied or edited. Their geometry has been created for that specific purpose and if modified they lose their function. In fact, the red and blue arrows will not light up anymore when calling the lace creation command.


Once you used B_LacesConstraints to put the constraints on the object, call this command to effectively create the laces. It is possible to choose all the parameters for a custom laces shape interacting with the dialog that will open after calling the command.


  • Section: Choose here which kind of section you prefer. As far flat, round, squared and stitched sections are available on Botcha
  • Width: The width of the lace. In case of round laces it corresponds to the diameter.
  • Thickness: The thickness of the lace, in other words the height of its sections. This is not settable in case of round and squared laces since it is equal to the width.
  • Piece in tunnels: Set this option to true if you want laces pieces to be created also inside the tunnels.
  • Extremities: Choose wether you like extremities of the lace to go inside or outside the shoe or simply not be drawn.

Now you can trace your lace creating the path between the constraints step by step, each time choosing which side of the constraint enter the lace before. Two arrows highlight the two possible directions in constraints crossing.

Laces Procedure for creating a lace.

Laces kinds

Laces kinds Different kinds of lace section: round, flat, squared and stitched.


Use this command to deprive all the constraints of their function. They become normal surfaces and curves with no specific purpose if you call this command. This also means that calling B_LacesCreate afterword, the command line will let you know that there are no constraints anymore in the document.


Export the selected objects in a glTF, GLB and OBJ file. The command will first ask you wether you want to export only the selected objects or all the objects into the document. If some of the exported objects have modifiers on, you will find in your new file the objects exported with all the modifiers applied on its geometry.

Export model