PolyToolsTopology : GlobalUtilityPlugin
The PolyToolsTopology GlobalUtilityPlugin introduced in 3ds Max 2011 exposes an interface that provides MAXScript access to the Graphite Topology tools.
The functionality was first implemented in 3ds Max 2010 using different functions that were not officially supported as MAXScript tools.
This interface consolidates all relevant properties and methods in one place and let
MAXScript users apply them in their own tools.
Constructor:
Class instances not creatable by MAXScript
PolyToolsTopology interfaces:
Interface: PolyToolsTopology
Methods:
<bool>PolyToolsTopology.Wall ()
Generates a wall type topology with bricks of different sizes.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Wall()
|
|
<bool>PolyToolsTopology.Tiles1 ()
Generates a tile type topology.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step2:
PolyToolsTopology.Tiles1()
|
|
<bool>PolyToolsTopology.Tiles2 ()
Generates a different tile type topology.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step2:
PolyToolsTopology.Tiles2()
|
|
<bool>PolyToolsTopology.Brick ()
Generates brick-like topology.
Requires exactly one edge to be selected. The direction of the selected edge determines
which way is "up".
The method will only succeed if the selected edge is within quad topology.
Returns true on success, false if the above conditions are not met.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Mosaic()
|
|
<bool>PolyToolsTopology.Hive ()
Generates a beehive-like topology.
Requires exactly one edge to be selected. The direction of the selected edge determines
which way is "up".
The method will only succeed if the selected edge is within quad topology.
Returns true on success, false if the above conditions are not met.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 2 --switch to Edge level
PolyOp.SetEdgeSelection p #{61} --select one edge to define up direction
--Step 2:
PolyToolsTopology.Hive()
|
|
<bool>PolyToolsTopology.Mosiac ()
Generates mosaic topology, with random bricks of different sizes.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step2:
PolyToolsTopology.Mosaic()
|
|
<bool>PolyToolsTopology.Floor1 ()
Works like a combination of .EdgeDirection() and .Tiles1() - first turns the edge direction to crossing direction, then removes random edges
to create tiles of different sizes.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Floor1()
|
|
<bool>PolyToolsTopology.Floor2 ()
Works like a combination of .EdgeDirection() and .Wall() - first turns the edge direction to crossing direction, then removes edges to create
bricks of different sizes.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Floor2()
|
|
<bool>PolyToolsTopology.Skin ()
Generates a skin type topology with rounded patches.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Skin()
|
|
<bool>PolyToolsTopology.Holer ()
Generates "holes" in the topology. See also . Tatter() further on this page.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Holer()
|
|
<bool>PolyToolsTopology.EdgeDirection ()
Changes the direction of the topology to a crossing direction.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.EdgeDirection ()
|
|
<bool>PolyToolsTopology.Simplify ()
Simplifies the topology by removing random parts here and there, but keeping areas
of edges intact.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Simplify ()
|
|
<bool>PolyToolsTopology.Chaos ()
When applied to a grid of quads, generates a chaotic topology with randomly shaped
patches.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Chaos()
|
|
<bool>PolyToolsTopology.Fours ()
When applied to a grid of quads, generates a tile type topology which consists of
mostly larger quads.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Fours()
|
|
<bool>PolyToolsTopology.SmoothStar ()
When applied to a grid of quads, generates random smoothed stars topology.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.SmoothStar ()
|
|
<bool>PolyToolsTopology.Cross ()
When applied to a grid of quads, generates topology with cross-like patters.
Returns true on success, false on failure.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Cross()
|
|
<bool>PolyToolsTopology.Planks1 ()
When applied to a grid of quads, generates plank type topology with "planks" of different
sizes.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Planks1()
|
|
<bool>PolyToolsTopology.Planks2 ()
When applied to a grid of quads, generates topology with broader "planks" than the
.Planks1() method.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Planks2()
|
|
<bool>PolyToolsTopology.Planks3 ()
When applied to a grid of quads, generates topology similar to the .Planks1() and .Planks2() methods, but with crossing planks.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Planks3()
|
|
<bool>PolyToolsTopology.Planks4 ()
When applied to a grid of quads, generates topology similar to the previous 3 methods,
but with longer planks.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 4 --switch to Edge level
--Step 2:
PolyToolsTopology.Planks4()
|
|
<bool>PolyToolsTopology.Tatter <integer>size <integer>iterations <integer>smooth
Generates "holes" in the topology, separated by rows of polygons.
The first argument determines the overall size of the generated holes.
The second argument determines the number of different sizes for the generated holes.
The third argument determines how rounded the generated holes will be.
Returns true on success, false on failure.
<bool>PolyToolsTopology.ScrapVerts ()
Removes vertices shared by only two edges.
EXAMPLE:
|
--Step 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --create a plane
convertTo p Editable_Poly --convert to EPoly
select p --select the plane
max modify mode --switch to modify panel
subObjectLevel = 1 --switch to Edge level
PolyOp.SetEdgeSelection p #{105} --select one central edge
for i = 1 to 3 do p.GrowSelection selLevel:#edge --and grow the selection
p.Remove selLevel:#Edge --then remove the selected edges
PolyOp.SetEdgeSelection p #{5,8,11} --select a portion of a loop
p.Remove selLevel:#Edge --and remove it, while leaving some stray vertices
--Step 2:
PolyToolsTopology.ScrapVerts ()
|
|