|
Introduction
JJ_Fillet is a tool for bevelling single points into arcs. With the introduction of rounding for point bevels in modo 201 jj_fillet is less useful than before but still has features that are not natively available in 201 - bevel rounding restricts you to certain increments, for example. More importantly, features like adaptive filleting (to give you even spaced edge lengths over multiple selected points, inverse bevels (great for putting circles in the middle of geometry and the maximum features (which fillet to the maximum degree possible) are all unique. Modo 10x users should continue to use version 1.11 (available at the bottom of this page).
- Updated to work with modo 201
- Creates both convex and concave arcs at a user-specified distance
and step.
- Lets you create an equal number of steps per arc or,
using adaptive, steps that are equidistant.
- Operates on multiple points (but only one layer at a time).
- Has two different maximum modes where the arc will be created at
the maximum possible size i.e. only constrained by the adjacent points.
The two modes are max per poly or max overall.
- Will directly convert single points to circles inside geometry
- Will directly convert squares to circles, rectangles to ovals.
- Can optionally create a centre point and two point poly axis for
further manipulation
- Can smooth out low poly arcs into higher resolution ones
- Works on points/polys at any orientation
- Optionally respects underlying poly selections - only fillets points
on selected polys
Basic Fillet
Simple fillet.
Args:
jj_fillet.pl .25 5
|
 |
Max Fillet The same command but
set to max (which overrides the distance in slot one and makes
the max possible arc using the step setting i.e. 5):
Args:
jj_fillet.pl .25 5 max |
 |
Inverse Fillet Using Invert lets you
take a 'bite' out of a corner:
Args:
jj_fillet.pl .25 5 inv |
 |
Inverse Fillet on Centre Point On a centre point, the fillet will
create a circle
Args:
jj_fillet.pl .25 5 inv |
 |
Inverse Fillet on Multiple
Centre Points On multiple centre points, the fillet
will create multiple circles
Args:
jj_fillet.pl .05 5 inv |
 |
Adaptive Off
If you don't use adaptive
then you'll get exactly the number of steps you specify. On tighter
corners this can lead to the points bunching up or being spread
out on obtuse angles.
Args:
jj_fillet.pl .25 5 |
 |
Adaptive On With adaptive on, the script tries
to create an even spacing between all the points so that the
edge lengths are all similar. The unit distance is distance divided
by step.
Args:
jj_fillet.pl .25 5 adapt |
 |
Max and Max 2
With max on (not max2) each point on each poly will be filleted
to its maximum extent (see image adjacent).
Args:
jj_fillet.pl .25 5 max |
 |
Max and Max 2 (Cont.)
However, it's probably best to turn on adaptive so that the edge lengths along
each arc are more or less equal.
Args:
jj_fillet.pl .25 5 max adapt |
 |
Max and Max 2 (Cont.)
With max2 on the fillet is constrained to the smallest max available on all the
adjacent polys. This is usually neater.
Args:
jj_fillet.pl .25 5 max2 |
 |
Axes
You can create a two point poly with one point at the centre of the circle that
defines each fillet. You can use the two point poly as a rotation axis for
the rotate tool. The axis is 5cm long. Email me if you want to know how to
change that :-).
Args:
jj_fillet.pl .25 5 axis |
 |
Poly Selections Only
New in version 1.1 is the ability to constrain the fillet to selected polys
only. If you have an underlying poly selection, jj_fillet will only fillet
points on those polys. Note that if you use this to create a circle from
a quad, none of the resulting points will be merged with the rest of
the surrounding geometry.
Args:
jj_fillet.pl .25 5 selpolys |
 |
Special Cases
In this case you'd almost always want to turn adaptive on otherwise (as
on the image on the right) your edges will vary in length around the
circle.
Args:
jj_fillet.pl .25 5 inv |
 |
Special Cases (cont.)
With adaptive on the edge lengths will be much more even - however, they will
not be exactly even i.e. it won't be a perfect circle. Sadly,
because I have to round up the edge lengths, I can't guarantee they'll be floating
point accurate for each segment.
Args:
jj_fillet.pl .25 5 inv adapt |
 |
Special Cases
Square to circle.
Args:
jj_fillet.pl .25 5 max |
 |
Special Cases
Square to arch
Args:
jj_fillet.pl .25 5 max |
 |
Special Cases
Smoothing out low poly geometry..
Args:
jj_fillet.pl .25 5 max |
 |
How to Install JJ_Fillet with the Form

There are currently two components to jj_fillet - the script itself,
and a configuration file to set up the form.
jj_fillet.pl - the perl script itself
jj_fillet.cfg - the file that creates the form.
Option 1 (Modo 2 only)
On both a PC and Mac you have a default location for Application Data. Inside the application data directory there is a Luxology directory which usually hosts your config/preference files and licence data. Within that directory modo provides the ultra useful Configs and Scripts directories. Any scripts and configs you place in here will be automatically available to you. This has to be the preferred option.
Option 2
The way the form is configured at the moment means that if you place it directly
into your modo resrc folder (on OSX you'll need to open the modo package contents
and place it in the Resources folder), the form will become available to you
next time you launch the application. This relies on modo's default behaviour
but can result in a very cluttered resrc directory (especially if you're leeching a lot of cool stuff from Vertex Monkey). If you then place the script itself
in the same directory as modo.app/modo.exe it will be available to the form without
any further alterations being required.
Option 3
Alternatively, you can create your own location to store both the script and
config file but will need to adjust the path locations in the jj_fillet.cfg
file. The benefit of this approach is that you have control over where you keep
your external files and they won't get overwritten should you update modo.
It doesn't really matter where you put them so long as you make sure you have
correct paths in the relevant files.
Once you've chosen a location for both files then you need to open up the jj_fillet.cfg
file in a text editor and put in the relevant path to the actual script using
search and replace so that every time the script is called it has the correct
path. Here's an example of how a single entry should look (but, remember, every
entry for the script should be changed to the correct path using a single search
and replace).
On a Mac:
<list type="Control" val="cmd @{/Users/julianjo/Desktop/current
pbs/jj_fillet.pl} user">
<atom type="Label">JJ_Fillet</atom>
<atom type="Hash">54409416674:control</atom>
</list>
On a PC:
<list type="Control" val="cmd @{C:\Directory
with Spaces\subdirectory\jj_fillet.pl} user">
<atom type="Label">JJ_Fillet</atom>
<atom type="Hash">54409416674:control</atom>
</list>
If the path has a space in it then the script needs to enclosed in curly brackets
e.g.
@{/Users/julianjo/folder with
spaces/jj_fillet.pl}
It's easy to mistakenly delete a quote mark or a space, so make sure you find
and replace just the path.
Once you've configured the path in the config file you're nearly ready to roll.
Fire up modo, go to File:Config Import and import the jj_fillet.cfg file you've
just amended. This tells modo to load that file (i.e. the menu for Loop Hop),
every time you launch modo.
For ease of access to the form simply assign the form to a key.
When The Script Runs I Get Bombarded With an Error Message
The 'General Failure' message is a known issue with modo and can be easily
fixed.
Luxology themselves have released a patch for this error message on Vertex
Monkey:
http://www.vertexmonkey.com/scripts_bugfix.php
Alternatively, you can just set the 'In the future' drop down to let modo know
you don't want to see this message again. The error sounds dramatic but isn't,
it's totally inconsequential. Luxology's bugfix script does simply that - it
turns off that specific error message.
Known Issues
1. When you first use the form, the values for each of the fields don't exist
and the form looks corrupted. You need to run the script once so that modo is
aware of the existence of the step, distance, toggle fields etc. You can do this
by using F6 to navigate to the script and firing it off once.
Versions
Version 2.0: jj_fillet.pl
- Current version.
Version 1.11: jj_fillet.pl
Fixed bug where polys could be flipped when using
inv/max functions (24th Oct 2005).
Version 1.1: jj_fillet.pl
- Added
feature to fillet only selected polys
Version 1.0: jj_fillet.pl
- Original version
Julian Johnson
julian@exch.demon.co.uk
|