pw::DatabaseQuilter

The database quilter mode type

Derives From

pw::Object pw::Mode

Notes

This mode is used to create and modify quilts of database models.

Unlike other modes, the state of the mode is saved when it is ended and subsequent modes will be created with the same state.  This state is also saved in the application project file, so a new mode created after a file is loaded will have the same state as the last mode ended before saving the file.

To create a mode of this type, use the pw::Application.begin command with the mode DatabaseQuilter specified, like this:

set quilter [pw::Application begin DatabaseQuilter $models]
Summary
pw::DatabaseQuilterThe database quilter mode type
Instance Attributes
BoundaryCurvatureAngleThis attribute is the curvature angle in degrees to use when detecting Curvature boundaries.
BoundaryCurvatureRatioThis attribute is the ratio between the surface and curve curvature along a boundary to use when detecting Curvature boundaries.
BoundaryHardAngleThis attribute is the angle between normals to use when detecting Convex and Concave manifold boundaries.
Instance Actions
addBoundaryFilterThis action adds a new boundary filter to control how quilting is applied to the matching boundaries.
deleteBoundaryFilterThis function deletes an existing boundary filter.
getBoundaryFilterNamesThis function returns a list of the names of the current boundary filters.
setBoundaryFilterNameThis action changes the name of an existing boundary filter.
setBoundaryFilterDefinitionThis action specifies the patterns used to select which quilt boundaries will have the boundary conditions applied.
getBoundaryFilterDefinitionThis function returns the current definition for a boundary filter.
addBoundaryFilterDefinitionThis method adds a new entry to the end of a current boundary filter definition.
getBoundaryFilterQuiltReassembleThis action gets the quilt reassemble mode or max bend angle associated with the boundary filter.
setBoundaryFilterQuiltReassembleThis action specifies the quilt reassemble mode or bend angle for the boundary filter.
getBoundaryFilterBoundaryReassembleThis action gets the boundary reassemble mode or max bend angle associated with the boundary filter.
setBoundaryFilterBoundaryReassembleThis action specifies the boundary reassemble mode or bend angle for the boundary filter.
getBoundaryFilterGroupsThis action returns a list of quilt boundaries associated with a boundary filter.
setBoundaryFilterPriorityThis sets the priority of one or more existing boundary filters.
assembleQuiltsThis action joins and splits the quilts of the models of this mode.

Instance Attributes

BoundaryCurvatureAngle

$quilter get/setBoundaryCurvatureAngle angle

This attribute is the curvature angle in degrees to use when detecting Curvature boundaries.

Type

This attribute is a float with the range [0, 180), where 0 means no curvature boundaries will be detected.

Default

The default for this attribute is 15.

BoundaryCurvatureRatio

$quilter get/setBoundaryCurvatureRatio ratio

This attribute is the ratio between the surface and curve curvature along a boundary to use when detecting Curvature boundaries.

Type

This attribute is a float with the range [0, infinity), where 0 means no Curvature boundaries will be detected.

Default

The default for this attribute is 2.5.

BoundaryHardAngle

$quilter get/setBoundaryHardAngle angle

This attribute is the angle between normals to use when detecting Convex and Concave manifold boundaries.

Type

This attribute is a float with the range [0, 180), where 0 means no Convex and Concave boundaries will be detected.

Default

The default for this attribute is 45.

Instance Actions

addBoundaryFilter

$quilter addBoundaryFilter ?filter_name?

This action adds a new boundary filter to control how quilting is applied to the matching boundaries.

Parameters

filter_nameThis optional parameter specifies the name of the filter.  If not specified, a generated name will be automatically provided.  The name should be unique.  If not, an integer suffix will be added to the name.  If the specified name already had an integer suffix of the form “-N”, then the integer portion will be modified to an available value in order to make the name unique.

Returns

This function returns the name of the newly created boundary filter.

See Also

deleteBoundaryFilter, getBoundaryFilterNames, setBoundaryFilterDefinition, and addBoundaryFilterDefinition.

Example

Code

# $quilter is a DatabaseQuilter mode
puts "set filter(1) \[\$quilter addBoundaryFilter\]"
set filter(1) [$quilter addBoundaryFilter]
puts "filter(1) is $filter(1)"
puts "set filter(2) \[\$quilter addBoundaryFilter TrailingEdge\]"
set filter(2) [$quilter addBoundaryFilter TrailingEdge]
puts "filter(2) is $filter(2)"
puts "set filter(3) \[\$quilter addBoundaryFilter TrailingEdge\]"
set filter(3) [$quilter addBoundaryFilter TrailingEdge]
puts "filter(3) is $filter(3)"

Output

set filter(1) [$quilter addBoundaryFilter]
filter(1) is bf-1
set filter(2) [$quilter addBoundaryFilter TrailingEdge]
filter(2) is TrailingEdge
set filter(3) [$quilter addBoundaryFilter TrailingEdge]
filter(3) is TrailingEdge-2

deleteBoundaryFilter

$quilter deleteBoundaryFilter filter_name

This function deletes an existing boundary filter.

Parameters

filter_nameThis required parameter is the name of an existing filter to be deleted.

Returns

This action returns nothing.

See Also

addBoundaryFilter, getBoundaryFilterNames, and setBoundaryFilterName.

Example Code

# $quilter is a DatabaseQuilter mode
puts "set filter(1) \[\$quilter addBoundaryFilter\]"
set filter(1) [$quilter addBoundaryFilter]
puts "set filter(2) \[\$quilter addBoundaryFilter TrailingEdge\]"
set filter(2) [$quilter addBoundaryFilter TrailingEdge]
puts "Filter names:"
foreach f [$quilter getBoundaryFilterNames] {
  puts "  f"
}
puts "--"
puts "\$quilter deleteBoundaryFilter \$filter(1)"
$quilter deleteBoundaryFilter $filter(1)
puts "\$quilter deleteBoundaryFilter \$filter(2)"
$quilter deleteBoundaryFilter $filter(2)
puts "Filter names:"
foreach f [$quilter getBoundaryFilterNames] {
  puts "  f"
}
puts "--"

Output

set filter(1) [$quilter addBoundaryFilter]
set filter(2) [$quilter addBoundaryFilter TrailingEdge]
Filter names:
  bf-1
  TrailingEdge
--
$quilter deleteBoundaryFilter $filter(1)
$quilter deleteBoundaryFilter $filter(2)
Filter names:
--

getBoundaryFilterNames

$quilter getBoundaryFilterNames

This function returns a list of the names of the current boundary filters.

Parameters

None.

Returns

This function returns a list of string values with each value representing the name of a boundary filter.  The names are in priority order with the highest priority boundary filter listed first.

See Also

addBoundaryFilter and deleteBoundaryFilter.

Example

Code

# $quilter is a DatabaseQuilter mode
puts "set filter(1) \[\$quilter addBoundaryFilter\]"
set filter(1) [$quilter addBoundaryFilter]
puts "set filter(2) \[\$quilter addBoundaryFilter TrailingEdge\]"
set filter(2) [$quilter addBoundaryFilter TrailingEdge]
puts "Filter names:"
foreach f [$quilter getBoundaryFilterNames] {
  puts "  f"
}
puts "--"

Output

set filter(1) [$quilter addBoundaryFilter]
set filter(2) [$quilter addBoundaryFilter TrailingEdge]
Filter names:
  bf-1
  TrailingEdge
--

setBoundaryFilterName

$quilter setBoundaryFilterName old_name new_name

This action changes the name of an existing boundary filter.  The new name should be unique.  If the name collides with an existing boundary filter name, the new name will be updated to be unique.

Parameters

old_nameThis parameter is a string value representing an existing boundary filter name.
new_nameThis parameter is a string value representing the desired name of the boundary filter.

Returns

This action returns the actual updated name as a string value.

See Also

addBoundaryFilter and getBoundaryFilterNames.

Example

Code

# $quilter is a DatabaseQuilter mode
puts "set filter(1) \[\$quilter addBoundaryFilter\]"
set filter(1) [$quilter addBoundaryFilter]
puts "filter(1) is $filter(1)"
puts "set filter(2) \[\$quilter addBoundaryFilter\]"
set filter(2) [$quilter addBoundaryFilter]
puts "filter(2) is $filter(2)"

puts "set filter(1) \[\$quilter setBoundaryFilterName \$filter(1) \"My Filter\"\]"
set filter(1) [$quilter setBoundaryFilterName $filter(1) "My Filter"]
puts "filter(1) is $filter(1)"
puts "set filter(2) \[\$quilter setBoundaryFilterName \$filter(2) \"My Filter\"\]"
set filter(2) [$quilter setBoundaryFilterName $filter(2) "My Filter"]
puts "filter(2) is $filter(2)"

Output

set filter(1) [$quilter addBoundaryFilter]
filter(1) is bf-1
set filter(2) [$quilter addBoundaryFilter]
filter(2) is bf-2
set filter(1) [$quilter setBoundaryFilterName $filter(1) "My Filter"]
filter(1) is My Filter
set filter(2) [$quilter setBoundaryFilterName $filter(2) "My Filter"]
filter(2) is My Filter-2

setBoundaryFilterDefinition

$quilter setBoundaryFilterDefinition filter_name pattern_list

This action specifies the patterns used to select which quilt boundaries will have the boundary conditions applied.

Parameters

filter_nameThis parameter is the string boundary filter name.
pattern_listThis parameter is a list of filter patterns.  A filter pattern entry must consist of a “Pattern A” element.  It may optionally include a “Pattern B” element and/or a boundary classification element.  See the Notes section for a description of each element.

Returns

This action returns nothing.

Notes

Filter Entry: A boundary filter entry consists of the following parts: pattern A, pattern B, and a list of boundary classifications.

Pattern A: This string can either be the name of a quilt or a pattern that can match multiple quilts.  Wildcard patterns are specified with ‘*’, ‘?’, and ‘[‘ - ‘]’ pairs.  A ‘*’ character matches any number (including zero) of characters.  A ‘?’ character matches any single character.  Brackets indicate a range of characters to match or exclude and has the following 4 available forms: “[abc]” matches one character given in the bracket, “[a-c]” matches one character from the range (inclusive) given in the bracket, “[!abc]” matches one character that is not in the bracket, and “[!a-c]” matches one character that is not in the range specified by the bracket.  A backslash “\” can be used to escape any special meaning by a wildcard character.  For example, “\?” will match a question mark while “?” will match any single character.

Pattern B: This string follows the same syntax as ‘Pattern A’.  If the B pattern is empty, then this filter entry will be applied to lamina boundaries on the quilts that match pattern A.  If the B pattern is non-empty, then the filter entry will only be applied to manifold boundaries shared between quilts that match pattern A and quilts that match pattern B and are not excluded by the specified boundary classifications.  If omitted, an empty string is assumed.

Boundary Classifications: This list of 5 possible string values restricts the filter entry to boundaries that match the quilt patterns specified with Pattern A and Pattern B based on their classifications.  The five classification options are: “All”, “None”, “Curvature”, “Convex”, and “Concave”.  The “All” option indicates that all boundaries regardless of classification should be allowed.  Note that “None” means boundaries that are not classified as either “Curvature”, “Convex”, or “Concave”.  If the boundary classification list is not specified, “All” is assumed.

See Also

addBoundaryFilterDefinition and getBoundaryFilterDefinition.

Example

Code

# Each entry has the following meaning:
#     Entry 1: any boundaries between any quilt that matches "upper-*" and
#         any quilt that matches "lower-*" regardless of classification
#         will be included.
#     Entry 2: any convex boundaries shared between any quilt that matches
#         "left-*" and any quilt that matches "right-*" will be included.
#     Entry 3: any boundaries not classified as convex or concave shared
#         between any quilt that matches "forward-*" and any quilt that
#         matches "aft-*" will be included.
#     Entry 4: any lamina boundaries on a quilt that matches "inner-*"
#         will be included, regardless of classification.
#     Entry 5: any lamina boundaries not classified as curvature, convex,
#         or concave on any quilt that matches "outer-*-aft" will be
#         included.
#     Entry 6: any lamina boundaries not classified as curvature, convex,
#         or concave on any quilt that matches "fuselage-*" will be
#         included.
#     Entry 7: any manifold boundaries not classified as curvature,
#         convex, or concave shared between a quilt that matches
#         "fuselage-*" and any other quilt will be included.
#     Entry 8: any boundaries regardless of classification shared between
#         any quilt that matches "canard-upper-*" and any quilt that
#         matches "canard-lower-*" will be included.
#     Entry 9: any curvature boundaries between the quilt named
#         "canard-upper-inner" and "canard-lower-inner" will be excluded.
#
# $quilter is a DatabaseQuilter mode
set filter_name [$quilter addBoundaryFilter]
$quilter setBoundaryFilterDefinition $filter_name [list \
  {upper-* lower-*} \
  {left-* right-* Convex} \
  {forward-* aft-* {None Curvature}} \
  {inner-*} \
  {outer-*-aft None} \
  {fuselage-* None} \
  {fuselage-* * None} \
  {canard-upper-* canard-lower-*} \
  {!canard-upper-inner canard-lower-inner Curvature} \
  ]
puts "$filter_name elements:"
foreach entry [$quilter getBoundaryFilterDefinition $filter_name] {
  puts "  $entry"
}

Output

bf-1 elements:
 upper-* lower-* All
 left-* right-* Convex
 forward-* aft-* {None Curvature}
 inner-* {} All
 outer-*-aft {} None
 fuselage-* {} None
 fuselage-* * None
 canard-upper-* canard-lower-* All
 !canard-upper-inner canard-lower-inner Curvature

getBoundaryFilterDefinition

$quilter getBoundaryFilterDefinition filter_name

This function returns the current definition for a boundary filter.

Parameters

filter_nameThis parameter is the string boundary filter name.

Returns

This action returns a list of boundary filter patterns.  Each entry in the list will consist of 3 entries.  The first entry will be “Pattern A” (see the Notes section of setBoundaryFilterDefinition).  The second entry will be the “Pattern B” value, while the third entry will be the boundary classification specification.

See Also

addBoundaryFilter and setBoundaryFilterDefinition.

Example

Code

# $quilter is a DatabaseQuilter mode
set filter_name [$quilter addBoundaryFilter]
$quilter setBoundaryFilterDefinition $filter_name [list \
  {upper-* lower-*} \
  {left-* right-* Convex} \
  {forward-* aft-* {None Curvature}} \
  {inner-*} \
  {outer-*-aft None} \
  {fuselage-* None} \
  {fuselage-* * None} \
  {canard-upper-* canard-lower-*} \
  {!canard-upper-inner canard-lower-inner Curvature} \
  ]
puts "$filter_name elements:"
foreach entry [$quilter getBoundaryFilterDefinition $filter_name] {
  puts "  $entry"
}

Output

bf-1 elements:
 upper-* lower-* All
 left-* right-* Convex
 forward-* aft-* {None Curvature}
 inner-* {} All
 outer-*-aft {} None
 fuselage-* {} None
 fuselage-* * None
 canard-upper-* canard-lower-* All
 !canard-upper-inner canard-lower-inner Curvature

See Also

setBoundaryFilterDefinition.

Example

addBoundaryFilterDefinition

$quilter addBoundaryFilterDefinition filter_name pattern_list

This method adds a new entry to the end of a current boundary filter definition.

Parameters

filter_nameThis parameter is the string boundary filter name.
pattern_listThis parameter is a list of filter patterns.  See setBoundaryFilterDefinition for an explanation of filter patterns.

Note

While similar to setBoundaryFilterDefinition, this extends the existing filter and may remove earlier entries.  This only occurs with explicit namings (no special pattern matching characters in the patterns) and only among entries after an entry that does use special pattern matching characters.  For example, if a definition ends with the entry “{quilt-1 quilt-2 Curvature}” (additive entry) and this function adds “{!quilt-1 quilt-2 Curvature}” (subtractive entry), then the second entry nullifies the first entry, removing it from the list instead of adding to the list.  Conversely, if a list ends with a subtractive entry and a matching additive entry is added, the subtractive entry will be removed from the list in addition to the additive entry being appended.

Returns

This action returns nothing.

See Also

setBoundaryFilterDefinition.

Example

Code

# $quilter is a DatabaseQuilter mode
# Set the initial definition
set filter_name [$quilter addBoundaryFilter]
$quilter setBoundaryFilterDefinition $filter_name [list \
  {upper-* lower-*} \
  {left-tail right-tail Convex} \
  {canard-upper-* canard-lower-*} \
  {!canard-upper-inner canard-lower-inner Curvature} \
  ]
puts "$filter_name elements:"
foreach entry [$quilter getBoundaryFilterDefinition $filter_name] {
  puts "  $entry"
}
puts "--"
# Cancel the subtractive entry
puts "\$quilter addBoundaryFilterDefinition \$filter_name \[list {canard-upper-inner canard-lower-inner Curvature}\]"
$quilter addBoundaryFilterDefinition $filter_name [list {canard-upper-inner canard-lower-inner Curvature}]
puts "$filter_name elements:"
foreach entry [$quilter getBoundaryFilterDefinition $filter_name] {
  puts "  $entry"
}
puts "--"
# Cancel the additive entry just added
puts "\$quilter addBoundaryFilterDefinition \$filter_name \[list {!canard-upper-inner canard-lower-inner Curvature}\]"
$quilter addBoundaryFilterDefinition $filter_name [list {!canard-upper-inner canard-lower-inner Curvature}]
puts "$filter_name elements:"
foreach entry [$quilter getBoundaryFilterDefinition $filter_name] {
  puts "  $entry"
}
puts "--"
# Add the convex boundaries between left-tail and right-tail to
# the list. Note the earlier matching subtractive entry wasn't
# removed because an entry with wildcard patterns exists after it.
puts "\$quilter addBoundaryFilterDefinition \$filter_name \[list {!left-tail right-tail Convex}\]"
$quilter addBoundaryFilterDefinition $filter_name [list {left-tail right-tail Convex}]
puts "$filter_name elements:"
foreach entry [$quilter getBoundaryFilterDefinition $filter_name] {
  puts "  $entry"
}

Output

bf-1 elements:
  upper-* lower-* All
  left-tail right-tail Convex
  canard-upper-* canard-lower-* All
  !canard-upper-inner canard-lower-inner Curvature
--
$quilter addBoundaryFilterDefinition $filter_name [list {canard-upper-inner canard-lower-inner Curvature}]
bf-1 elements:
  upper-* lower-* All
  left-tail right-tail Convex
  canard-upper-* canard-lower-* All
  canard-upper-inner canard-lower-inner Curvature
--
$quilter addBoundaryFilterDefinition $filter_name [list {!canard-upper-inner canard-lower-inner Curvature}]
bf-1 elements:
  upper-* lower-* All
  left-tail right-tail Convex
  canard-upper-* canard-lower-* All
--
$quilter addBoundaryFilterDefinition $filter_name [list {!left-tail right-tail Convex}]
bf-1 elements:
  upper-* lower-* All
  left-tail right-tail Convex
  canard-upper-* canard-lower-* All
  left-tail right-tail Convex

getBoundaryFilterQuiltReassemble

$quilter getBoundaryFilterQuiltReassemble filter_name

This action gets the quilt reassemble mode or max bend angle associated with the boundary filter.

Parameters

filter_nameThis parameter is the string boundary filter name.

Returns

A string with options < None | ForceSplit | ForceJoin > or an explicit float bend angle value in the range [0, 180].

See Also

setBoundaryFilterQuiltReassemble

Example

Code

# $quilter is a DatabaseQuilter mode
set filter_name [$quilter addBoundaryFilter]
puts "Quilt bend angle: [$quilter getBoundaryFilterQuiltReassemble $filter_name]"
puts "\$quilter setBoundaryFilterQuiltReassemble \$filter_name 15.0"
$quilter setBoundaryFilterQuiltReassemble $filter_name 15.0
puts "Quilt bend angle: [$quilter getBoundaryFilterQuiltReassemble $filter_name]"

Output

Quilt bend angle: 0.0
$quilter setBoundaryFilterQuiltReassemble $filter_name 15.0
Quilt bend angle: 15.0

setBoundaryFilterQuiltReassemble

$quilter setBoundaryFilterQuiltReassemble filter_name < mode | angle >

This action specifies the quilt reassemble mode or bend angle for the boundary filter.

Parameters

filter_nameThis parameter is the string boundary filter name.
modeA string with options < None | ForceSplit | ForceJoin > or an explicit float bend angle value in the range [0, 180].

Returns

This action returns nothing.

See Also

<getBoundaryFilterQuiltBendAngle>

Example

Code

# $quilter is a DatabaseQuilter mode
set filter_name [$quilter addBoundaryFilter]
puts "Quilt bend angle: [$quilter getBoundaryFilterQuiltReassemble $filter_name]"
puts "\$quilter setBoundaryFilterQuiltReassemble \$filter_name 15.0"
$quilter setBoundaryFilterQuiltReassemble $filter_name 15.0
puts "Quilt bend angle: [$quilter getBoundaryFilterQuiltReassemble $filter_name]"

Output

Quilt bend angle: 0.0
$quilter setBoundaryFilterQuiltReassemble $filter_name 15.0
Quilt bend angle: 15.0

getBoundaryFilterBoundaryReassemble

$quilter getBoundaryFilterBoundaryReassemble filter_name

This action gets the boundary reassemble mode or max bend angle associated with the boundary filter.

Parameters

filter_nameThis parameter is the string boundary filter name.

Returns

A string with options < None | ForceSplit | ForceJoin > or an explicit float bend angle value in the range [0, 180].

See Also

setBoundaryFilterBoundaryReassemble

Example

Code

# $quilter is a DatabaseQuilter mode
set filter_name [$quilter addBoundaryFilter]
puts "Quilt bend angle: [$quilter getBoundaryFilterBoundaryReassemble $filter_name]"
puts "\$quilter setBoundaryFilterBoundaryReassemble \$filter_name 15.0"
$quilter setBoundaryFilterBoundaryReassemble $filter_name 15.0
puts "Quilt bend angle: [$quilter getBoundaryFilterBoundaryReassemble $filter_name]"

Output

Quilt bend angle: 0.0
$quilter setBoundaryFilterBoundaryReassemble $filter_name 15.0
Quilt bend angle: 15.0

setBoundaryFilterBoundaryReassemble

$quilter setBoundaryFilterBoundaryReassemble filter_name < mode | angle >

This action specifies the boundary reassemble mode or bend angle for the boundary filter.

Parameters

filter_nameThis parameter is the string boundary filter name.
modeA string with options < None | ForceSplit | ForceJoin > or an explicit float bend angle value in the range [0, 180].

Returns

This action returns nothing.

See Also

<getBoundaryFilterQuiltBendAngle>

Example

Code

# $quilter is a DatabaseQuilter mode
set filter_name [$quilter addBoundaryFilter]
puts "Quilt bend angle: [$quilter getBoundaryFilterBoundaryReassemble $filter_name]"
puts "\$quilter setBoundaryFilterBoundaryReassemble \$filter_name 15.0"
$quilter setBoundaryFilterBoundaryReassemble $filter_name 15.0
puts "Quilt bend angle: [$quilter getBoundaryFilterBoundaryReassemble $filter_name]"

Output

Quilt bend angle: 0.0
$quilter setBoundaryFilterBoundaryReassemble $filter_name 15.0
Quilt bend angle: 15.0

getBoundaryFilterGroups

$quilter getBoundaryFilterGroups filter_name

This action returns a list of quilt boundaries associated with a boundary filter.

Parameters

filter_nameThis parameter is the string boundary filter name.  In addition to any boundary filters created with addBoundaryFilter, the reserved boundary filter names of Unspecified, Concave, Convex, and Curvature and be used to get the boundaries associated with those classifications.  These reserved names are populated with boundary curves that were not filtered out by any of the added boundary filters.  The Unspecified group will be populated with all boundary curves not filtered out and without any classification of convex, concave, or curvature.

Returns

This action returns a list of quilt boundary groups, where each item of the list is a list of one or more quilt boundaries that are aliased.  Each quilt boundary is specified as a two item list with the quilt as the first item and the boundary index as the second item.  For example, if the third boundary of quilt A (::pw::Quilt_1) shares a boundary with the second boundary of quilt B (::pw::Quilt_2), the entry for this boundary will be {{::pw::Quilt_1 3} {::pw::Quilt_2 2}}.  A lamina boundary would have just have a single boundary in the element, such as {{::pw::Quilt_1 4}}.

See Also

addBoundaryFilter

setBoundaryFilterPriority

$quilter setBoundaryFilterPriority ordered_filter_names

This sets the priority of one or more existing boundary filters.

Parameters

ordered_filter_namesThis parameter is the ordered list of boundary filter names to make the highest priority.  Any boundary filters not in ordered_filter_names will be prioritized after the specified boundary filters (preserving their same relative order).  Note that only user added boundary filters can be prioritized.  The default boundary filters of Curvature, Convex, and Concave remain the lowest priority boundary filters.  The getBoundaryFilterNames can be used to get the current priority order.

Returns

This action returns nothing.

See Also

getBoundaryFilterNames.

Example

Code

# $quilter is a DatabaseQuilter mode
set filter(1) [$quilter addBoundaryFilter One]
set filter(2) [$quilter addBoundaryFilter Two]
set filter(3) [$quilter addBoundaryFilter Three]
set filter(4) [$quilter addBoundaryFilter Four]
puts "Filters by priority:"
set n 1
foreach f [$quilter getBoundaryFilterNames] {
  puts "  $n: $f"
  incr n
}
puts "\$quilter setBoundaryFilterPriority \[list \$filter(3) \$filter(2)\]"
$quilter setBoundaryFilterPriority [list $filter(3) $filter(2)]
puts "Filters by priority:"
set n 1
foreach f [$quilter getBoundaryFilterNames] {
  puts "  $n: $f"
  incr n
}

Output

Filters by priority:
  1: One
  2: Two
  3: Three
  4: Four
$quilter setBoundaryFilterPriority [list $filter(3) $filter(2)]
Filters by priority:
  1: Three
  2: Two
  3: One
  4: Four

assembleQuilts

$quilter assembleQuilts

This action joins and splits the quilts of the models of this mode.  The current settings of the mode will control how the joining and splitting is carried out.

Parameters

This action has no parameters.

Returns

This action returns a list of pw::Quilt objects modified by the assembly.

$quilter get/setBoundaryCurvatureAngle angle
This attribute is the curvature angle in degrees to use when detecting Curvature boundaries.
$quilter get/setBoundaryCurvatureRatio ratio
This attribute is the ratio between the surface and curve curvature along a boundary to use when detecting Curvature boundaries.
$quilter get/setBoundaryHardAngle angle
This attribute is the angle between normals to use when detecting Convex and Concave manifold boundaries.
$quilter addBoundaryFilter ?filter_name?
This action adds a new boundary filter to control how quilting is applied to the matching boundaries.
$quilter deleteBoundaryFilter filter_name
This function deletes an existing boundary filter.
$quilter getBoundaryFilterNames
This function returns a list of the names of the current boundary filters.
$quilter setBoundaryFilterName old_name new_name
This action changes the name of an existing boundary filter.
$quilter setBoundaryFilterDefinition filter_name pattern_list
This action specifies the patterns used to select which quilt boundaries will have the boundary conditions applied.
$quilter getBoundaryFilterDefinition filter_name
This function returns the current definition for a boundary filter.
$quilter addBoundaryFilterDefinition filter_name pattern_list
This method adds a new entry to the end of a current boundary filter definition.
$quilter getBoundaryFilterQuiltReassemble filter_name
This action gets the quilt reassemble mode or max bend angle associated with the boundary filter.
$quilter setBoundaryFilterQuiltReassemble filter_name < mode | angle >
This action specifies the quilt reassemble mode or bend angle for the boundary filter.
$quilter getBoundaryFilterBoundaryReassemble filter_name
This action gets the boundary reassemble mode or max bend angle associated with the boundary filter.
$quilter setBoundaryFilterBoundaryReassemble filter_name < mode | angle >
This action specifies the boundary reassemble mode or bend angle for the boundary filter.
$quilter getBoundaryFilterGroups filter_name
This action returns a list of quilt boundaries associated with a boundary filter.
$quilter setBoundaryFilterPriority ordered_filter_names
This sets the priority of one or more existing boundary filters.
$quilter assembleQuilts
This action joins and splits the quilts of the models of this mode.
Base type for all glyph types
The mode base type
pw::Application begin ?-mode_specific_flags? mode ?entities?
This action begins a mode in the application.
A float is a fractional number.
A string is an array of characters.
Database quilt type
Close