Glyph Version 3.18.4 Mode Types - - DatabaseMesher |
pw:: DatabaseMesherThe database mesher mode type Derives FromNotesThis mode is used to create grid entities on database entities. 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 DatabaseMesher specified, like this: set mesher [pw::Application begin DatabaseMesher $models] Summary
MergeTolerance
This attribute is the tolerance to use when merging connectors. TypeThis attribute is a float with the range [0, infinity), where 0 means no merging will be done. DefaultThe default for this attribute is 0. JoinDomainAngle
This attribute is the turning angle to use when joining domains. This is only applicable to unstructured domains TypeThis attribute is a float with the range [0, 180), where 0 means no joining will be done. DefaultThe default for this attribute is 0. MinimumSpacingMode
This attribute is the preferred method for setting the minimum spacing. TypeThis attribute is of type string with values < Subdivisions | Spacing >. DefaultThe default for this attribute is Subdivisions. InformationThis attribute will be set to match the last attribute set between MinimumBoundarySubdivisions and MinimumEdgeSpacing. MinimumBoundarySubdivisionsThis attribute is the minimum number of mesh subdivisions per database boundary. TypeThis attribute is an integer with the range [2, inf) that specifies the minimum number of boundary subdivisions. DefaultThe default for this attribute is 2. InformationThis attribute and the MinimumEdgeSpacing attribute will be adjusted to match each other depending on the last one set, and the MinimumSpacingMode will be set to Subdivisions. MinimumEdgeSpacing
This attribute is the minimum edge spacing for the mesh. TypeThis attribute is a positive float that specifies the minimum edge spacing for the mesh. DefaultThe default for this attribute is the minimum edge spacing based on the default for the <MinimumBoundarySubdivision> attribute. InformationThis attribute and the MinimumBoundarySubdivisions attribute will be adjusted to match each other depending on the last one set, and the MinimumSpacingMode will be set to Spacing. MaximumSpacingMode
This attribute is the preferred method for setting the maximum spacing. TypeThis attribute is of type string with values < Subdivisions | Spacing >. DefaultThe default for this attribute is Subdivisions. InformationThis attribute will be set to match the last attribute set between MaximumExtentsSubdivisions and MaximumEdgeSpacing. MaximumExtentsSubdivisions
This attribute is the maximum number of mesh subdivisions per the extents of the entities being meshed. TypeThis attribute is an integer with the range [2, inf) that specifies the maximum number of mesh subdivisions. DefaultThe default for this attribute is 150. InformationThis attribute and the MaximumEdgeSpacing attribute will be adjusted to match each other depending on the last one set, and the MaximumSpacingMode will be set to Subdivisions. MaximumEdgeSpacing
This attribute is the maximum edge spacing for the mesh. TypeThis attribute is a positive float that specifies the maximum edge spacing for the mesh. DefaultThe default for this attribute is the maximum spacing based on the default for the <MaximumExtentsSubdivision> attribute. InformationThis attribute and the MaximumExtentsSubdivisions attribute will be adjusted to match each other depending on the last one set, and the MaximumSpacingMode will be set to Spacing. CurvatureResolutionAngle
This attribute is the curvature angle resolution in degrees. TypeThis attribute is a float with the range [0, 180), where 0 means the curvature resolution will not be applied. DefaultThe default for this attribute is 15. MaximumAspectRatio
This attribute specifies the maximum aspect ratio. TypeThis attribute is a float with the range [0, infinity), where 0 means the aspect ratio will not be enforced. DefaultThe default for this attribute is 10. BoundaryGrowthRate
This attribute specifies the boundary growth rate. TypeThis attribute is a float with the range [1.0, 2.0]. DefaultThe default for this attribute is 1.2. DomainAlgorithm
This attribute determines the algorithm to use when meshing domains. TypeThis attribute is of type string with values < AdvancingFront | QuadDominant >. DefaultThe default for this attribute is AdvancingFront. RefinementFactor
This attribute is the refinement factor used to globally scale the parameters of the mesher in order to increase the refinement. TypeThis attribute is a float with the range [0.125, 8], where 1 means no refinement, 2 means 2x refinement, 0.5 means 2x coarser, etc. DefaultThe default for this attribute is 1. MappedSurfaceSubdivisionRatio
This attribute is the ratio between the number of subdivisions used to detect domains that can be initialized from structured domains. TypeThis attribute is a float with the range [0, infinity), where a value of 0.0 disables thin surface detection. DefaultThe default for this attribute is 10. BoundaryProximityInfluence
This attribute controls how nearby boundaries influence clustering on a surface. TypeThis attribute is of type string with values < Orientation | All | None >. DefaultThe default for this attribute is Orientation. NoteIf the value is set to All, then all boundaries influence the mesh on a surface. If the value is set to None, then no boundaries influence the mesh. If the value is set to the default value of Orientation, then a boundary only contributes to the clustering on the surface if the majority of the boundary is on the outward side of the surface. For example, this would prevent boundaries on a wing pylon from influencing the clustering on the other side of the wing. Be aware that this computation can be very expensive for very large numbers of surfaces. BoundaryGroupAngle
This attribute is the turning angle to use when grouping boundaries. A connector will be built on each boundary group. TypeThis attribute is a float with the range [0, 180), where 0 means no grouping will be done. DefaultThe default for this attribute is 40. BoundaryCurvatureRatio
This attribute is the ratio between the surface and curve curvature along a boundary to use when detecting Curvature boundaries. TypeThis attribute is a float with the range [0, infinity), where 0 means no Curvature boundaries will be detected. DefaultThe default for this attribute is 2.5. BoundaryCurvatureUseGrowth
This attribute controls whether TRex growth should occur along curvature manifold boundaries. TypeThis attribute is a boolean. DefaultThe default for this attribute is True. BoundaryCurvatureSpacingFactor
This attribute is the factor used to scale the spacing of curvature manifold boundaries. TypeThis attribute is a float with the range (0, 1], where 1 means no refinement, 0.5 means 2x refinement, etc. DefaultThe default for this attribute is 1. BoundaryHardAngle
This attribute is the angle between normals to use when detecting Convex and Concave manifold boundaries. TypeThis attribute is a float with the range [0, 180), where 0 means no Convex and Concave boundaries will be detected. DefaultThe default for this attribute is 45. BoundaryConvexUseGrowth
This attribute controls whether TRex growth should occur along convex manifold boundaries. TypeThis attribute is a boolean. DefaultThe default for this attribute is True. BoundaryConvexSpacingFactor
This attribute is the factor used to scale the spacing of convex manifold boundaries. TypeThis attribute is a float with the range (0, 1], where 1 means no refinement, 0.5 means 2x refinement, etc. DefaultThe default for this attribute is 1. BoundaryConcaveUseGrowth
This attribute controls whether TRex growth should occur along concave manifold boundaries. TypeThis attribute is a boolean. DefaultThe default for this attribute is False. BoundaryConcaveSpacingFactor
This attribute is the factor used to scale the spacing of concave manifold boundaries. TypeThis attribute is a float with the range (0, 1], where 1 means no refinement, 0.5 means 2x refinement, etc. DefaultThe default for this attribute is 0.5. DomainAreaRatioThreshold
This attribute is the metric threshold for domain area ratio. TypeThis attribute is a float with the range [1, inf) DefaultThe default for this attribute is 1.0. InformationThis attribute has no effect on the meshing algorithm, and is used by the GUI when displaying metrics on the resulting mesh. DomainAspectRatioThreshold
This attribute is the metric threshold for domain aspect ratio. TypeThis attribute is a float with the range [1, inf) DefaultThe default for this attribute is 1.0. InformationThis attribute has no effect on the meshing algorithm, and is used by the GUI when displaying metrics on the resulting mesh. DomainMaximumAngleThreshold
This attribute is the metric threshold for domain maximum angle. TypeThis attribute is a float with the range [1, inf) DefaultThe default for this attribute is 1.0. InformationThis attribute has no effect on the meshing algorithm, and is used by the GUI when displaying metrics on the resulting mesh. KeepExistingDomains
This attribute controls whether any pre-existing domains constrained to the quilts in the mode are retained or destroyed. If this attribute is true (the default) and new grid entities are created through the createGridEntities function, then any previously existing domains that were constrained to the models’ quilts will be destroyed, along with any blocks that used those domains and any connectors that were used exclusively by those domains. TypeThis attribute is a boolean value. DefaultThe default for this attribute is false. getExtents
This action gets the extents of the models of the mode. ParametersThis action has no parameters. ReturnsThis action returns a list of two vectors representing the min and max points of the extents. ExampleCode # $mesher is a DatabaseMesher mode Output {-1.0408340855860843e-16 -8.537024980200823e-18 1.0376479089327297} {1.3993905942253984 0.5000000036000275 1.1816511795199895} getMinimumBoundaryGroup
This action gets the quilt boundary group with the minimum length. ParametersThis action has no parameters. ReturnsThis action returns a list of quilt boundaries forming the group with the minimum length. ExampleCode # $mesher is a DatabaseMesher mode Output {::pw::Quilt_1 1} getMinimumBoundaryGroupLength
This action gets the length of the minimum boundary group. ParametersThis action has no parameters. ReturnsThis action returns a float minimum length. ExampleCode # $mesher is a DatabaseMesher mode Output 5.9917162670408274e-5 getSymmetryLoops
This action gets a list of symmetry loops, where each loop is a list of quilt boundaries that are lamina and lie on a symmetry plane. Parameters
ReturnsThis action returns a list of quilt boundary lists. ExampleCode # $mesher is a DatabaseMesher mode Output : getLaminaBoundaryGroups
This action gets a list of lamina quilt boundary lists of a certain classification. Parameters
ReturnsThis action returns a list of quilt boundary lists. NoteIt is possible for boundary groups to be classified as both Curvature and Symmetry or NonSymmetry, but Symmetry and NonSymmetry groups will always be distinct. Also, the Symmetry groups will be returned as loops using the getSymmetryLoops action. ExampleCode # $mesher is a DatabaseMesher mode Output Symmetry: getManifoldBoundaryGroups
This action gets a list of manifold quilt boundary lists of a certain classification. Since all of the boundaries returned are manifold, they will be organized in pairs of boundaries that are topologically the same, one from each neighboring quilt. Parameters
ReturnsThis action returns a list of quilt boundary lists. ExampleCode # $mesher is a DatabaseMesher mode Output None: createGridEntities
This action creates grid entities on the database entities of this mode. The current settings of the mode will control how the connectors, domains, and/or blocks will be created and the parameters to use. The grid entities created by previous invocations of this action will be deleted as part of the process. Parameters
ReturnsThis action returns a list of new pw::Connector or pw::Domain objects, depending on the ent_type parameter. See Alsopw::Connector.createOnDatabase, pw::DomainStructured.createOnDatabase and pw::DomainUnstructured.createOnDatabase, which work similar to this action except that it does not allow as much control over the process. ExampleCode # $mesher is a DatabaseMesher mode Output ::pw::DomainUnstructured_1 (dom-1) getRejectedEntities
This action gets a list of database entities that a surface mesh was not able to be constructed on during the <createSurfaceMesh> action. ParametersThis action has no parameters. ReturnsThis action returns a list of pw::DatabaseEntity objects. ExampleCode # $mesher is a DatabaseMesher mode Output rejected: getExistingDomains
This action gets a list of domains that are dependent upon the quilts included in the mode. If <createSurfaceMesh> is called and the mode is ended through the <end> call, these domains, along with any connectors used exclusively by the domains, will be destroyed. ParametersThis action has no parameters. ReturnsThis action returns a list of pw::Domain objects. getExistingSources
This action gets a list of sources that are dependent upon the quilts included in the mode. If <createSurfaceMesh> is called and the mode is ended through the <end> call, these sources will be destroyed. ParametersThis action has no parameters. ReturnsThis action returns a list of pw::SourceEntity objects. getMappingResult
This action gets whether or not a created unstructured domain was mapped to a structured domain. It also optionally provides details as to why a domain was not mapped. Parameters
ReturnsThis action returns a boolean value of true if the domain was mapped. getFilterTypes
This action returns a list of supported filter type names. ParametersThis action has no parameters. ReturnsA list of strings of the filter type names. These names are suitable for use as -type filter_type parameters. ExampleCode # $mesher is a DatabaseMesher mode Output $mesher getFilterTypes: MaximumEdgeSpacing addFilter
This action adds a new, mesher mode filter to a filter queue. Parameters
ReturnsThis action returns the name of the added filter. NotesWhen applying filters, each entity’s name is matched against each filter in a queue. Within a queue, each filter is tried in priority order. The first match within a queue stops searching, applies the filter to the matched entity, and then continues matching with the next filter queue. MaximumEdgeSpacing filters are matched against quilts. For each match, a quilt source with the specified max edge length is created. Ranges
See AlsogetFilterDefinition, getFilterDefinitions ExampleCode # $mesher is a DatabaseMesher mode Output $mesher getFilterDefinitions -dict deleteFilter
This action deletes a filter. Parameters
ReturnsThis action returns nothing. See AlsoaddFilter, getFilterDefinition, getFilterDefinitions ExampleCode # $mesher is a DatabaseMesher mode Output $mesher addFilter F1 0.1 {quilt-1*} getFilterNames
This action returns a list of filter names defined in the mesher mode filter_type. Parameters
ReturnsA list of strings of the filter names that match the pattern. If a pattern is not given, all filter names will be returned. ExampleCode # $mesher is a DatabaseMesher mode Output $mesher getFilterNames: {F1 F2 F3 Global} getFilterCount
This action returns the number of filters of the given filter_type defined in the mesher mode. Parameters
ReturnsThe integer number of filters. ExampleCode # $mesher is a DatabaseMesher mode Output $mesher getFilterCount: 1 getFilterDefinition
This action gets the definition of a filter identified by index or name. Parameters
ReturnsThis action returns the filter definition as a list. A returned list contains { type priority name value patterns }. A return dictionary is suitable for use with the dict command and is of the form: { Type type Priority priority Name name Value value Patterns patterns } Where,
See AlsoaddFilter, getFilterDefinitions ExampleCode # $mesher is a DatabaseMesher mode Output $mesher getFilterDefinition F1: getFilterDefinitions
This action gets a list of all filter definitions of the given filter_type. Parameters
ReturnsThis action returns a list of all filter definitions in priority order. See getFilterDefinition See AlsoaddFilter, getFilterDefinition ExampleCode # $mesher is a DatabaseMesher mode Output $mesher getFilterDefinitions: getFilterEntityCounts
This action matches the name of each mode entity against the filter patterns in filter priority order and returns the match count for each filter. Parameters
ReturnsThis action returns the entity match count for each filter as a list or dictionary. See AlsoaddFilter, getFilterDefinition NoteOnce an entity matches a filter, it is removed from consideration for lower priority filters. That is, each entity is only counted once. A return list is of the form: {filtername entcnt ?entitylist? ... filtername entcnt ?entitylist?} A return dictionary is suitable for use with the dict command and is of the form: {filtername {Count entcnt ?Entities entitylist?} ... filtername {Count entcnt ?Entities entitylist?}} Filters that do not match any mode entity names, are not included in the return. Mode entities that do not match any filter are included in the return in the Global filter. ExampleCode # $mesher is a DatabaseMesher mode Output All Database Entities: setFilterPriority
This action sets the priority of one or more existing filters. Parameters
ReturnsThis action returns nothing. See AlsoaddFilter, getFilterDefinition, getFilterDefinitions NoteThe relative ordering of the re-prioritized filters will be maintained. ExampleCode # $mesher is a DatabaseMesher mode Output Starting filter priority: setFilterPatterns
This action sets the patterns of an existing filters. Parameters
ReturnsThis action returns nothing. See AlsoaddFilter, getFilterDefinition, getFilterDefinitions ExampleCode $mesher addFilter F1 0.1 {quilt-4 quilt-5} Output patterns: quilt-4 quilt-5 setFilterEntities
This action modifies filter patterns as needed to guarantee that the entities in dbentity_list are captured by the specified filter. Parameters
ReturnsThis action returns nothing. See AlsoaddFilter, getFilterDefinition, getFilterDefinitions NoteOther filters may need to be adjusted to properly fulfill the requested configure operation. For instance, to add or set entities on filter, those same entities will be removed from other filters as needed so that they no longer capture these entities. ExampleCode # $mesher is a DatabaseMesher mode Output All Database Entities: setFilterValue
This action sets a filter’s value. Parameters
ReturnsThis action returns nothing. See AlsoaddFilter, getFilterDefinition, getFilterDefinitions Ranges
ExampleCode # $mesher is a DatabaseMesher mode Output value: 0.1 setFilterName
This action renames a filter. Parameters
ReturnsThis action returns newName. See AlsoaddFilter, getFilterDefinition, getFilterDefinitions ExampleCode # $mesher is a DatabaseMesher mode Output set nm [$mesher addFilter {} 0.1] |
This attribute is the tolerance to use when merging connectors.
$mesher get/setMergeTolerance tol
This attribute is the turning angle to use when joining domains.
$mesher get/setJoinDomainAngle angle
This attribute is the preferred method for setting the minimum spacing.
$mesher get/setMinimumSpacingMode mode
This attribute is the minimum edge spacing for the mesh.
$mesher get/setMinimumEdgeSpacing spacing
This attribute is the preferred method for setting the maximum spacing.
$mesher get/setMaximumSpacingMode mode
This attribute is the maximum number of mesh subdivisions per the extents of the entities being meshed.
$mesher get/setMaximumExtentsSubdivisions subdivisions
This attribute is the maximum edge spacing for the mesh.
$mesher get/setMaximumEdgeSpacing spacing
This attribute is the curvature angle resolution in degrees.
$mesher get/setCurvatureResolutionAngle angle
This attribute specifies the maximum aspect ratio.
$mesher get/setMaximumAspectRatio ratio
This attribute specifies the boundary growth rate.
$mesher get/setBoundaryGrowthRate rate
This attribute determines the algorithm to use when meshing domains.
$mesher get/setDomainAlgorithm < AdvancingFront | QuadDominant >
This attribute is the refinement factor used to globally scale the parameters of the mesher in order to increase the refinement.
$mesher get/setRefinementFactor factor
This attribute is the ratio between the number of subdivisions used to detect domains that can be initialized from structured domains.
$mesher get/setMappedSurfaceSubdivisionRatio factor
This attribute controls how nearby boundaries influence clustering on a surface.
$mesher get/setBoundaryProximityInfluence < Orientation | All | None >
This attribute is the turning angle to use when grouping boundaries.
$mesher get/setBoundaryGroupAngle angle
This attribute is the ratio between the surface and curve curvature along a boundary to use when detecting Curvature boundaries.
$mesher get/setBoundaryCurvatureRatio ratio
This attribute controls whether TRex growth should occur along curvature manifold boundaries.
$mesher get/setBoundaryCurvatureUseGrowth growth
This attribute is the factor used to scale the spacing of curvature manifold boundaries.
$mesher get/setBoundaryCurvatureSpacingFactor factor
This attribute is the angle between normals to use when detecting Convex and Concave manifold boundaries.
$mesher get/setBoundaryHardAngle angle
This attribute controls whether TRex growth should occur along convex manifold boundaries.
$mesher get/setBoundaryConvexUseGrowth growth
This attribute is the factor used to scale the spacing of convex manifold boundaries.
$mesher get/setBoundaryConvexSpacingFactor factor
This attribute controls whether TRex growth should occur along concave manifold boundaries.
$mesher get/setBoundaryConcaveUseGrowth growth
This attribute is the factor used to scale the spacing of concave manifold boundaries.
$mesher get/setBoundaryConcaveSpacingFactor factor
This attribute is the metric threshold for domain area ratio.
$mesher get/setDomainAreaRatioThreshold threshold
This attribute is the metric threshold for domain aspect ratio.
$mesher get/setDomainAspectRatioThreshold threshold
This attribute is the metric threshold for domain maximum angle.
$mesher get/setDomainMaximumAngleThreshold threshold
This attribute controls whether any pre-existing domains constrained to the quilts in the mode are retained or destroyed.
$mesher get/setKeepExistingDomains value
This action gets the extents of the models of the mode.
$mesher getExtents
This action gets the quilt boundary group with the minimum length.
$mesher getMinimumBoundaryGroup
This action gets the length of the minimum boundary group.
$mesher getMinimumBoundaryGroupLength
This action gets a list of symmetry loops, where each loop is a list of quilt boundaries that are lamina and lie on a symmetry plane.
$mesher getSymmetryLoops ?symmetry?
This action gets a list of lamina quilt boundary lists of a certain classification.
$mesher getLaminaBoundaryGroups classify
This action gets a list of manifold quilt boundary lists of a certain classification.
$mesher getManifoldBoundaryGroups classify
This action creates grid entities on the database entities of this mode.
$mesher createGridEntities ent_type
This action gets a list of database entities that a surface mesh was not able to be constructed on during the createSurfaceMesh action.
$mesher getRejectedEntities
This action gets a list of domains that are dependent upon the quilts included in the mode.
$mesher getExistingDomains
This action gets a list of sources that are dependent upon the quilts included in the mode.
$mesher getExistingSources
This action gets whether or not a created unstructured domain was mapped to a structured domain.
$mesher getMappingResult ?-details detailVar? domain
This action returns a list of supported filter type names.
$mesher getFilterTypes
This action adds a new, mesher mode filter to a filter queue.
$mesher addFilter ?-type filter_type? ?-priority < index | name >? ?-name name? value ?pattern_list?
This action deletes a filter.
$mesher deleteFilter ?-type filter_type? < index | name >
This action returns a list of filter names defined in the mesher mode filter_type.
$mesher getFilterNames ?-type filter_type? ?-regex? ?pattern?
This action returns the number of filters of the given filter_type defined in the mesher mode.
$mesher getFilterCount ?-type filter_type?
This action gets the definition of a filter identified by index or name.
$mesher getFilterDefinition ?-type filter_type? ?-dict? < index | name >
This action gets a list of all filter definitions of the given filter_type.
$mesher getFilterDefinitions ?-type filter_type? ?-dict?
This action matches the name of each mode entity against the filter patterns in filter priority order and returns the match count for each filter.
$mesher getFilterEntityCounts ?-type filter_type? ?-includeEntities? ?-dict?
This action sets the priority of one or more existing filters.
$mesher setFilterPriority ?-type filter_type? name_list
This action sets the patterns of an existing filters.
$mesher setFilterPatterns ?-type filter_type? < index | name > pattern_list
This action modifies filter patterns as needed to guarantee that the entities in dbentity_list are captured by the specified filter.
$mesher setFilterEntities ?-type filter_type? ?-op op_type? < index | name > dbentity_list
This action sets a filter’s value.
$mesher setFilterValue ?-type filter_type? < index | name > value
This action renames a filter.
$mesher setFilterName ?-type filter_type? < index | name > newName
This action begins a mode in the application.
pw::Application begin ?-mode_specific_flags? mode ?entities?
This action creates new connector objects on the given database entities.
pw::Connector createOnDatabase ?-merge tolerance? ?-splitConnectors split_angle? ?-joinConnectors join_angle? ?-parametricConnectors mode? ?-reject rejectVar? ?-type type? entity_or_boundary_list
This action creates new structured domain objects on the given database entities.
pw::DomainStructured createOnDatabase ?-merge tolerance? ?-splitConnectors split_angle? ?-joinConnectors join_angle? ?-parametricConnectors mode? ?-reject rejectVar? entities
This creates new unstructured domain objects on the given database entities.
pw::DomainUnstructured createOnDatabase ?-merge tolerance? ?-splitConnectors split_angle? ?-joinConnectors join_con_angle? ?-joinDomains join_dom_angle? ?-parametricConnectors mode? ?-reject rejectVar? entities