IMPORTANT: Curviloft plugin is still released in BETA and has no documentation yet. Please be aware of potential crashes and therefore always save your work before launching it. In Beta version 1.2d, all three modules Loft By Spline, Loft Along Path and Skinning should be functional. I still need to complete many features.
Curviloft is a script dedicated to Loft and Skinning, that is, generation of surfaces from contours.
Loft by Spline joins separate contours, open or closed, by smooth splines
Loft along Path joins contours, along a given rail curve.
Skinning create surfaces bounded by 4 or 3 contiguous contours
Curviloft examples.png
Because there are many solutions to calculate Loft and Skinning geometries, the script offers various options to adjust parameters depending on the configuration of contours.
Language: English, Spanish (To all kind translators: please do no start translation yet)
Menus: by default, it is installed in Tools > Fredo6 Collection > Curviloft
Icon toolbar: by Default ‘Curviloft’. Three icons are available, but you can configure which ones to display (menu Default Parameters…)
The plugin is free, for private and commercial usage. There is a donation menu however.
1) Download and Open the archive 2) Select All (Ctrl A) 3) Extract into the Sketchup Plugin Directory 4) Answer Yes to overwrite former existing files if any
Note: there is no need for the file ZLoader__Curviloft.rb with LibFredo6 4.2
On Mac the SU plugin directory should be: Macintosh HD/Library/Application Support/Google SketchUp 7/SketchUp/plugins
CAUTION: NEVER rename or move files from their folders. If you are unsure of your unzip operation, do it in a neutral folder and check that you reconstruct the right footprint. Then transfer the folders and files to the SU Plugin Directory.
CONFLICT With Sunposition.rb: there is a conflict with a plugin called sunposition.rb, by Gabriel Miller at Cerebral Meltdown. If installed, it will cause a crash of Sketchup when going to Preview mode in Curviloft. (more details on solving the conflict)
Pre-Selection mode (automatic ordering): Select one or several contours (faces, edges) and Click on the icon
Manual Selection (user-specified ordering): Click on the icon and then pick contours in order. Click in empty space to separate contours when contiguous. Then click again in the empty space when done with the selection
In preview mode, you can adjust parameters via the main button palette (global setting) or the floating palette (individually by section). You can also modify vertex matching by selecting a vertex and dragging it to a new position.
Click in the empty space to validate and generate the shape geometry.
You can go back to Preview mode via the roll-back button
It is a good idea to check the tooltips and contextual menu to see available options
LOFT along PATH
Select the path and click in the empty space (it should be highlighted in thick red)
Select the other contour(s) that should follow the path (currently it works with 1 or 2 contours)
Click in the empty space (or Return) to move to the Preview mode
you have three methods for generating the shape: Stretch (default), Offset and Sweep. See video for illustration. Offset and Sweep ensure a correct thickness of the shape and therefore are more adapted to models with closed contours and winding path. Stretch is based on deformation of the path curve by moving extremities.
SKINNING
Select the contours one by one (click in the empty space between two contours). Then click again in the mepty space to generate the preview shape. All cells should have 3 or 4 bordering contours.
Pre-selection mode works as well, but may not be able to handle ambiguous cases. Also, it is always a good idea to draw small open segments at the vertex which you want to use to separate contours.
you can play with the Interpolation and rail over-sampling to add / remove divisions in the mesh
Curviloft 1.2d – 13 Apr 12: Small update about diagonals to better guide the mesh construction in Thomthom's QuadFaceTools and ThruPaint. In all generation modes, diagonals in the mesh are now generated with property Casts Shadow = false, which is the convention for diagonals (invented by Thomthom). In version 1.2c, this was the case only if the Pseudo-quad option was selected.
Curviloft 1.2c – 15 Nov 11: Slight change for the generation of Quads, to align with new definitions used by Thomthom's QuadFaceTools - Border: Soft + Smooth (+ Cast Shadows) - Diagonal: Soft + Smooth + NO Cast Shadows
Curviloft 1.2b – 26 Sep 11: Include more options in the Default Parameters Dialog box for generating pseudo-quads. By default, pseudo-quads are now generated with: - Border: Soft + Smooth - Diagonal: Soft + Smooth + Hidden See Release Notes for detail
Curviloft 1.2a – 21 Sep 11: Include the generation of Pseudo-quads allowing the usage of the new QuafFaceTools by Thomthom. Also, it avoids generation of empty group if there is a problem. See Release Notes for details on pseudo-quads generation.
Curviloft 1.1c – 29 Jun 11: Fix to a bug concerning mean internmediate curves when the contour are closed loops. Thanks to Defisto for signaling this issue
Curviloft 1.1b – 27 Jun 11: small upgrade to help generating mean curves between contours. This is done by an additional options for geometry, so that you can just draw Junction lines, intermediate lines or both (i.e. mesh) without the faces. See this post for discussion about the feature.
Curviloft 1.1a – 12 Jan 11: Fourth beta version, dedicated to Loft Along Path. Main evolutions are:
Some fixes in Loft by Spline and Skinning.
Loft Along Path should be functional and handle 1, 2 or more contours with 3 methods: Stretch, Offset and Sweep
Two-phase loading of the script
On top of potential bugs and geometry issues (including bugsplats), there are still some limitations and unfinished work:
VCB is not active
No interactive edition in the floating palette
B-Spline and F-Spline do not close nicely in loop mode
No later reedition of shape generated (this will come)
all texts and labels are not reviewed yet
Curviloft 1.0c – LibFredo6 3.5c – 20 Aug 10: Third beta version, dedicated to fix bugs in Loft by Spline and Skinning. Loft Along Path is still not fully functional.
Any chance, once a skin is made, that could be some axial controls that could be dragged to do stretching such that the skin would react like what is done in Soapskin and Bubbles where the forming edges are anchored and the skin stretches relative to the forming edges? Perhaps have a tightness parameter to control how close the skin conforms to a path or to the defining edges? Could the path be altered interactively to reshape the skin?
Tapering. Really would like to create Reduced Elbows for Piping or Ducting systems. Draw a "welded" curve for a path, place circle or "donut" tangential at each end of the path with specific radii/diameter and then form the skin of pipe (inner diameter as well as outer diameter too?). Have a means to minimize the amount a faces formed. Transitions of the ribbing of pipe would be linear versus what looks like an averaging method used in your video for "freeform" skins. It would be fantastic if the end diameters were parametric so user could change their values.
John
Last edited by JClements on Thu May 27, 2010 3:47 am, edited 1 time in total.
Holy crap!!! Is that speed realtime? Looks amazing! Do the number of segments in the rails matter? Could this possibly be used to replace the standard from contours in the sandbox tools to create graded terrains?
A designer is an emerging synthesis of artist, inventor, mechanic, objective economist and evolutionary strategist. - R. Buckminster Fuller Some of my 3D crap
WOW! i love how you ruby greats are dragging SU kicking and screaming into the realm of a "real" 3d modeling program! screw you google. if you won't give us proper tools someone will. thanks Fredo, and everyone; TIG, ThomThom, Chris, Jim, Dedier, Whaat... just to name a few. you guys ARE the real SU team. all we really need from google is poly support. you guys cover the rest.
“There are three classes of people: those who see. Those who see when they are shown. Those who do not see.”
Really big thanks for investing so much time to give us so niceeeee plugins !! I'll try to post a file to test it on terrain modelling, which is my main occupation in SU.
thomthom wrote:Looking very nice. Can one edit the control splines afterwards?
1:24 - Float Pal window: is that done using view.draw* method?
Tom,
Yes the button palettes are all based on view.draw methods. And for Curviloft, I had to introduce the concept of a floating palette to allow edition of each of the individual sections, as shown on this small video:
Float palette.gif
Fredo
Please, register (free) to access all the attachments on the forums.
Fredo6 wrote:And for Curviloft, I had to introduce the concept of a floating palette to allow edition of each of the individual sections, as shown on this small video:
Float palette.gif
Is that adjustments one makes before you end the tool? Or can you take a shape you created earlier and readjust it? On other words, is it parametric?
Fredo6 wrote:And for Curviloft, I had to introduce the concept of a floating palette to allow edition of each of the individual sections, as shown on this small video:
Float palette.gif
Is that adjustments one makes before you end the tool? Or can you take a shape you created earlier and readjust it? On other words, is it parametric?
It's difficult to make things parametric in Sketchup, because all you have at the end is faces and edges. My plan to help a little bit would be to attach some information to the Component created so that you can reedit later on. also, and already working is the possibility to generate the juctions as curves so that when you move the profiles, then the shape deforms accordingly (something that is shown in Kirill's scripts).
Yea - it was something like that I was wondering if it would do. Very promising!
Once I get Vertex Edit out of the way I want to make Bezier Path modelling tools. The control points stored as attributes for later edit-ability. Of course, if the user was to edit the geometry with other tools that would be ignored. If the observers behave better in the next SU I want to make modifiers that one can apply to groups/components. Stack them up and apply the modifications after the user edit the base shape.
I think I've figured out how Fredo is doing all this fantastic work ...... if you listen carefully to the video you will hear a lot of squeeking going on in the background ....... well these can only be Creative Gremlins!