ThruPaint is a standalone script which extends the native SU Paint tool with several functions:
- Painting across the boundaries of components and groups. You don’t need to open groups and components to paint their faces or edges.
- Click and Drag mode to paint progressively face by face, or surface by surface and to extend a surface already painted
- Explicit selections of faces: single face, surfaces, connected faces, adjacent faces with same materials. ThruPaint also supports painting of a preselection of faces or edges.
- Selection of edges by properties. Edges can also be painted automatically when painting their bordering faces.
- Painting on front face, back face or both, with an option to automatically orientate faces all in the same direction.
- Painting of component, groups as well as text labels and dimensions
- Sampling of material from any face within the model, including if embedded in component.
- Several Texturing options (but this is NOT UV mapping):
- Natural UV: Ensure texture continuity with NO distortion. UV are propagated from the initial face painted via their common edges. Adapted to quasi-planar shapes and regular surfaces
- Projected UV with various choices of the projection plan: initial face, view camera plane, custom face, local and model axes
- QuadMesh, which requires that the faces you paint are nicely arranged as pseudo-quads in a rather regular mesh. Useful for arch, spheres or shapes generated by TIG Extrusion, Curviloft. I use the convention for diagonals introduced by Thomthom (edge property "Cast shadow" is set to false), but the script tries to reconstruct the mesh on the fly if not guided by diagonals. ThruPaint embeds a tool to mark / unmark edges as diagonal, which may help ThruPaint to build the mesh correctly. Due to limitation of the SU, which performs texture distortion by perspective instead of bilinear mapping, you may not get the desired effect and the continuity between cells may not be perfect.
- You have also a Transfer UV mode (the colored brush icon), where you just substitute a texture by another without changing the UV.
- Edition of Textured faces, with the following transformations: translation, rotation, scaling (uniform and non-uniform), mirroring, tiling and reset.
These transformations are performed by modifying the UV map on the faces, not by modifying the material. So the same material can be used to texture faces with different transformations.
For texture Transformation, you can use:
- The arrows (you can keep them pressed to progressively perform the transformation)
- the VCB, where you can indicate the exact values of transformations parameters
- A Visual Editor (click when you have the Red/Green cross)
For the shortcuts and VCB syntax, the best is to call the built-in Help by pressing F10 or via the contextual menu. And more generally, check out the tooltips and contextual menu.
Texturing modes and transformations are persistent across Sketchup sessions. So you can edit textured faces at any further point in time.
Finally, you can freely use CTRL-Z or Escape as well as Ctrl-Y to undo / redo from within the plugin.
On Windows, you can freely use the native Material Selector.
HOWEVER, on Mac, you CANNOT, because the Ruby API does not see the current material until it is applied with the native SU Paint tool. So you need to cycle through the model materials using the small arrows in the palette or TAB / Shift TAB. You can also sample the material from the model. I may have to build a custom selector in a next version.
ThruPaint is installed as part of FredoTools.. It requires LibFredo6 4.4 or above.
See the main post for this plugin for Installation of FredoTools
No user manual (see section Quick Start and Videos below)
- SU Versions: SU6, SU7, SU8 – works better with SU8 M1 and above
- Platforms: Windows and Mac (with limitation of Material selector)
- Languages: English, French, Spanish Spain (by Oxer), Spanish Latin America (by Defisto), Chinese (by guanjin)
- Menus: by default, ThruPaint is installed in Tools > FredoTools. It does NOT appear in the Contextual menu.
- Icon toolbar: Fredo6 Tools. There is only a single icon. By default, it is not shown. You need to go to the Default Parameters… dialog of FredoTools to enable the icon.
- The plugin is free, for private and commercial usage.
Selecting the Current Material
- On Windows, you can use the Material selector, whether for materials in the Model or in libraries.
WARNING: On Mac, the Material selector cannot be used, due to a bug in the API. When you click on a material thumbnail, the Ruby API does not see it.
- Sampling material from the model: hover faces in the model and press Return. You have also 2 small icons in the button palette to perform this operation, either just for the material or for both the material and UV mode. When you hover on a textured face, you can also press any arrow to switch to its material and UV mode (and then start edition)
- Cycling through the materials in the model. Use the small arrows in the palette button or the TAB / Shift-TAB keys
- You can set the current material to Default Material for Unpainting by clicking on the small icon.
Basic Painting of faces
- Choose the Faces Selection in the palette: single face, surface, all connected faces, adjacent faces with same color, adjacent faces with same color and UV mode.
- Choose the Face side. Visible face (default), Front, Back, Front+Back. By default the auto-flip mode is On.
- For Colors, mouse over the first face to paint and Click.
For Texturing, mouse over to choose the U axis (in Red) and V axis (in green) from an edge of the face.
- Click & Drag painting: This is to extend the painting from a face already painted. The extended faces depends on the Face Selection parameter. Useful to paint face by face, or to fill an area after painting its contour.
- Choose the UV Mode, depending on the shape you have, then pick the U and V directions by hovering on face edges, then click on a face.
- Texturing is always generated from the first face painted.
- In Natural mode, texture continuity is propagated from the first face
- In Projected mode, the default plane is the plane of the initial face. So it does matter which one you choose. Try to start from a face defining an average plane.
- In QuadMesh mode, only faces with 3 or 4 edges are painted. The first face fixes width and height references, which are then propagated to the neighbor faces. So you don’t get the same result depending on where you start from. Try also to avoid starting from a spike face. After painting, the quad mesh is shown in red and green. In this mode, you may have faces which cannot be painted (in Red if this is critical), in yellow if they can be just ignored. Usually, this is a problem with the construction of the Mesh. You can guide ThruPaint to better construct the mesh by using the diagonal tool to mark edge as diagonal, which are ignored in the mesh.
- For the Transfer UV mode, just select a new textured material and click on a textured area (anywhere). The UV mapping and UV mode are preserved and the texture is substituted (there may be adjustments if you edit it afterward, as the new texture may have a different ratio Height / Width).
- ThruPaint provides 3 ways to transform texturing
- VCB: you can set the exact value of parameters (like “30d” to rotate by 30 degrees or “3x” to scale by a factor 3 uniformly).
- Arrows: straight arrows are for Translation, Shift-Arrows for Scaling along U and along V, Ctrl-Arrows Left / Right for Rotation, Ctrl-Arrows Up / Down for Uniform scaling.
- Visual Editor. This is a small referential allowing to interactively perform translation, scaling and rotation. The small handles works in Click & Drag mode as well as in Click – Release – Drag – Click mode. Inference for Rotation, Scaling and Translation along axes can be deactivated via the small floating palette, which also features other transformations.
- For Rotation, Scaling and Mirroring, the transformation is always performed about the cursor point or the Visual Editor origin. So check where you mouse-over the cursor. Note also that
- Rotation is clock-wise (green toward red axis)
- Translation is by reference to the UV axis, not the screen viewport (so check the direction of axes when using arrows).
Transformations supported are:
- Translation in U and V
- Scaling, Uniform and non Uniform (except for Natural mode)
- Tiling, 1x1 by default, or choosing the factors in U and V
- Mirroring, about the cursor point, the U axis and the V axis
- If the Current Material in the material selector and current UV mode are the same as the textured material and UV mode on a face, then the cursor should appear as a small cross red / green / black. In this case, you can
- use the arrows
- use the VCB
- Click to activate the Visual Editor
- If the Current Material in the material selector and current UV mode are NOT the same as the textured material and UV mode on a face, then you are in Painting mode. You can however:
- use the arrows
- use the VCB
This will switch the current material and UV mode to the selected face, so that you can further activate the Visual Editor
- Most transformations functions are available from the Contextual menu
- When the textured area has a lot of faces, only a small number of faces (1000 by default) are interactively transformed. The other faces are transformed when you finish the interactive edition. You can change this number in the Default Parameters.
- You can Paint just edges by disabling the Paint Faces option
- You have the choice for selection edges: edge by edge, curve, Follow, All connected
- Hover over the edges and click to paint them
- You can toggle the visibility of hidden edges
- There is a tool to mark diagonal
- You can call the native SU Paint tool
- You can set the option to have ThruPaint activated whenever you call the native SU Paint tool.
ThruPaint 1.2a - 08 May 12: Painting of components, groups, text labels and dimensions. See this post for details.
ThruPaint 1.0n - 21 Apr 12: Small functional evolutions:
- ThruPaint keeps track of the last scaling and rotation parameters by Material. Sampling in model also copy the scaling and rotation parameters
- Painting of a preselection of Faces or Edges
ThruPaint 1.0m - 14 Apr 12: Update to fix a few problems and to integrate the Translation in Spanish and Chinese
ThruPaint 1.0j - 11 Apr 12: initial public release