History
|
V15.0 change: The UF_MODL_bead_ends enumerated type is new.
|
History
|
In V15.0, the following fields were added to the
UF_MODL_bead_section_parms_s structure: blend_radius, end_cap_radius,
end_cap_angle, end_cap_option, attach, and hollow.
|
Parameter |
Description |
shape
|
Cross sectional shape type of the bead This should be set to one
of the following values:
UF_MODL_U_SHAPED, UF_MODL_V_SHAPED, UF_MODL_CIRCULAR_SHAPED |
radius
|
Radius of the blend between the bead walls and the secondary face
if one is defined or just between the bead walls if there isn't one
Currently only UF_MODL_PARM_CONSTANT is allowed as the method type, and not the law options. |
placement_width
|
Distance used in offsetting the centerline in the placement face.
Currently only
UF_MODL_PARM_CONSTANT is allowed as the method type, and not the law options. |
placement_width_relative
|
Indication of how the placement_width is measured.
Currently only UF_MODL_RELATIVE_THEORETICAL is allowed. This defines the width as the intersection of the walls and the placement face. |
secondary_width
|
Distance used in offsetting the centerline in the secondary face.
Refer to secondary_width_relative for how this definition may be altered when a
radius is also specified.
Currently only UF_MODL_PARM_CONSTANT is allowed as the method type, and not the law options. |
secondary_width_relative
|
When a radius is specified along with a secondary_width you may
further clarify how the secondary_width is measured.
UF_MODL_RELATIVE_THEORETICAL - defines the width as the intersection of the walls and the secondary face. UF_MODL_RELATIVE_TANGENT - defines the width as the distance between the tangent points of the radius and the secondary face. |
taper_angle
|
Angle between the bead walls and the section axis at the
centerline. Refer to taper_angle_relative for how this definition may be
altered when defined relative to face normals.
Currently only UF_MODL_PARM_CONSTANT is allowed as the method type, and not the law options. |
taper_angle_relative
|
Indication of how the taper_angle is measured. UF_MODL_RELATIVE_CENTERLINE - defines the angle between the bead walls and the section axis at the centerline. UF_MODL_RELATIVE_WALL - defines the angle between the bead walls and the face normals derived at the intersection of the bead section walls and the placement face. |
height
|
Distance to offset the centerline along the section axis.
|
blend_radius
|
Radius of blend between side walls and placement faces.
|
end_cap_radius
|
Radius of the end cap on the circular bead. This is measured
tangent to the end of the centerline. It must be greater than the height or the
radius (whichever is greater).
|
end_cap_angle
|
Angle of the end cap taper on the v shaped bead.
|
end_cap_option
|
Indicates where end caps should be placed on the bead.
|
attach
|
If TRUE, boolean bead to target body. Otherwise, a separate body
will result.
|
hollow
|
If TRUE, create a hollow bead which preserves the thickness of the
target solid body. Only applicable when attach is TRUE.
|
Parameter |
Description |
plane_normal_type
|
Indication of how the section plane normal is being defined,
either as tangent along the centerline or as a fixed direction. This should be
set to one of the following values:
UF_MODL_TANGENT_ALONG_CENTERLINE UF_MODL_FIXED_DIRECTION |
normal_direction
|
Additional information required if plane_normal_type is
UF_MODL_FIXED_DIRECTION.
normal_direction - pointer to direction information to define the fixed normal of the orientation plane. |
Parameter |
Description |
num
|
Number of items in the string array and dir array. (min = 1, max = 150) |
string
|
Number of items in the id array for each string. (min = 1, max = 402) |
dir
|
Indication of whether the string defined in id should start from
the beginning of the first curve or the end of the first curve. This should be
set to one of the following values: UF_MODL_CURVE_START_FROM_BEGIN UF_MODL_CURVE_START_FROM_END |
id
|
The array of items defining the string. This array should be as
long as the total of the number of items indicated in string. Although not all functions allow all the data types, this array can typically include curves, faces, and edges. |
Parameter |
Description |
trim_objects
|
Array of objects to which to trim
|
trim_count
|
trim_object array size
|
sign
|
type of trim:
UF_MODL_SWEEP_TRIM_NONE UF_MODL_SWEEP_TRIM_TO_FACE - only unite, subtract, and intersect operations are supported. UF_MODL_SWEEP_TRIM_BETW_TWO_FACES - only unite, subtract, and intersect operations are supported. The same body must contain the trimming faces. UF_MODL_SWEEP_TRIM_TO_ALL - only subtract boolean is supported. |
thru_bodies
|
Not used since V11.0
|
num_thru_bodies
|
Not used since V11.0
|
Parameter |
Description |
first_set
|
Array of tags of faces and/or bodies which make up the first set
of faces
|
first_set_size
|
Size of the first_set array
|
flip_first_normal
|
Determine which side of the first face from the first set of faces
the blend lies.
TRUE = the blend lies in the direction of the face normal |
second_set
|
Array of tags of faces and/or bodies which make up the second set
of faces
|
second_set_size
|
Size of the second_set array
|
flip_second_normal
|
Determine which side of the first face from the second set of
faces the blend lies.
TRUE = the blend lies in the direction of the face normal |
propagate
|
TRUE = blend is allowed to propagate past smooth edges beyond the
provided sets of faces
|
cliff_edges
|
Array of edge tags. The blend is constrained to be cliffedge blend
in the region of the given edges
|
n_cliff_edges
|
Size of the cliff_edges array
|
thls
|
Array of edges or curves. The blend is constrained to be a tangent
hold line blend in the region of the given edges or curves.
|
n_thls
|
Size of the thls array
|
proj_on_first_set
|
TRUE = Project thls curves on the first face set, otherwise
on the second project set. Used only when thls curves are provided.
|
end_overflow
|
TRUE if allow end tangent and notch overflow.
|
blend_tolerance
|
Tolerance associated with the blend
|
trim_option
|
Blend trimming option:
UF_TRIM_AND_ATTACH = trim blend and faces and attach blend. UF_TRIM_ALL = trim blend and faces. UF_TRIM_BLEND = trim blend to faces. UF_NO_TRIM = do not trim blend. |
radius_type
|
Blend radius type:
UF_CONSTANT = constant radius blend UF_LAW_CONTROLLED = law controlled radius blend. law_parameters must be provided UF_TANGENCY_CONTROLLED = tangency controlled radius blend. Tangency hold lines must be provided. |
default_radius
|
Radius for the constant radius blend
|
law_parameters
|
Law parameters for the law controlled blend.
|
Parameter |
Description |
use_start_limit
|
TRUE = the blend is trimmed to start in a constant parameter line
determined by a start limiting plane. The blend lies on the positive side of
the plane
|
start_limit
|
Start limit plane (point and normal vector)
|
use_end_limit
|
TRUE = the blend is trimmed to end in a constant parameter line
determined by a start limiting plane. The blend lies on the positive side of
the plane
|
end_limit
|
End limit plane (point and normal vector)
|
use_help_point
|
TRUE = use a help point to differentiate between multiple
alternative possible blends between the faces. If there is a blend which passes
close to the help point, it is the one created
|
help_point
|
Coordinates of the help point
|
Parameter |
Description |
check_overlap
|
Flag for controlling overlap checking = UF_MODL_OVERLAP_CHECKING_OFF = UF_MODL_OVERLAP_CHECKING_ON |
num_target_faces
|
Number of tags in target_faces array
|
target_faces
|
Pointer to array of target faces tags.
|
inside_distance
|
Interior distance tolerance
|
inside_angle
|
Interior angle tolerance
|
edge_distance
|
Edge distance tolerance
|
edge_angle
|
Edge angle tolerance
|
Parameter |
Description |
quilt_data
|
Structure of common elements of the quilt feature.
|
projection_vector
|
Projection direction vector
|
primary_curves
|
Pointer to primary list structure int num Total number of primary string (min=1,max=150) int string[] Total number of segment curves/ sketch id of each primary string (min=1,max=402) int dir[] Direction of each primary string 1 = Start to End -1 = End to Start tag_t id[] Identifier of primary curves |
cross_curves
|
Pointer to cross list structure int num Total number of cross string (min=1,max=150) int string[] Total number of segment curves/ sketch id of each cross string (min=1,max=402) int dir[] Direction of each cross string 1 = Start to End -1 = End to Start tag_t id[] Identifier of cross curves |
Parameter |
Description |
quilt_data
|
Structure of common elements of the quilt feature.
|
projection_limit
|
Projection distance limit (=0 if no limit)
|
primary_curves
|
Pointer to primary list structure int num Total number of primary string (min=1,max=150) int string[] Total number of segment curves/ sketch id of each primary string (min=1,max=402) int dir[] Direction of each primary string 1 = Start to End -1 = End to Start tag_t id[] Identifier of primary curves |
cross_curves
|
Pointer to cross list structure int num Total number of cross string (min=1,max=150) int string[] Total number of segment curves/ sketch id of each cross string (min=1,max=402) int dir[] Direction of each cross string 1 = Start to End -1 = End to Start tag_t id[] Identifier of cross curves |
Parameter |
Description |
quilt_data
|
Structure of common elements of the quilt feature.
|
projection_vector
|
Projection direction vector
|
driver_surface
|
Driver b-surface
|
Parameter |
Description |
quilt_data
|
Structure of common elements of the quilt feature.
|
projection_limit
|
Projection distance limit (=0 if no limit)
|
driver_surface
|
Driver b-surface
|
Parameter |
Description |
driver_surface
|
Driver b-surface
|
inside_distance
|
Interior distance tolerance
|
inside_angle
|
Interior angle tolerance
|
edge_distance
|
Edge distance tolerance
|
edge_angle
|
Edge angle tolerance
|
Parameter |
Description |
quilt_type1
|
pointer to UF_MODL_curve_mesh_along_fixed_vector_data_t structure.
|
quilt_type2
|
pointer to UF_MODL_curve_mesh_along_driver_normals_data_t
structure.
|
quilt_type3
|
pointer to UF_MODL_b_surface_along_fixed_vector_data_t structure.
|
quilt_type4
|
pointer to UF_MODL_b_surface_along_driver_normals_data_t
structure.
|
quilt_type5
|
pointer to UF_MODL_self_refit_data_t structure.
|
History
|
In V15.0 the following four constants were added to
UF_MODL_secsrf_cre_method enumerated type: UF_MODL_secsrf_two_points_radius,
UF_MODL_secsrf_ends_slopes_cubic, UF_MODL_secsrf_fillet_cubic, and
UF_MODL_secsrf_point_radius_angle_arc.
|
History
|
In V15.0, the following two additonal data methods were added: UF_MODL_secsrf_two_points_radius
and UF_MODL_secsrf_point_radius_angle_arc section surfaces. |
History
|
V15.0 change: the UF_MODL_secsrf_param_method was added.
|
Enumerated Constant
|
Description
|
UF_MODL_secsrf_no_data
|
No Rho, radius, law, etc.
|
UF_MODL_secsrf_constant
|
data constant
|
UF_MODL_secsrf_linear
|
data_value[2]
|
UF_MODL_secsrf_cubic
|
data_value[2]
|
UF_MODL_secsrf_tension
|
NULL
|
UF_MODL_secsrf_general
|
general law (UF_MODL_parm general law)
|
History
|
V15.0 change: the UF_MODL_secsrf_param_s structure was added.
|
Field
|
Description
|
data_method
|
Method type value
|
data_constant
|
Constant value
|
data_exp[2]
|
Cubic/linear expression tags
|
data_value[2]
|
Cubic/linear law values
|
general_law
|
General law structure
|
Enumerated Constant
|
Description
|
UF_MODL_secsrf_no_rho
|
No rho
|
UF_MODL_secsrf_constant
|
constant rho
|
UF_MODL_secsrf_linear
|
rho[2]
|
UF_MODL_secsrf_cubic
|
rho[2]
|
UF_MODL_secsrf_tension
|
NULL
|
UF_MODL_secsrf_general
|
rho_law (Not implemented)
|
Field
|
Description
|
rho_method
|
Rho method value
|
constant_rho
|
Constant rho value
|
rho_exp[2]
|
Cubic/linear expression tags
|
rho[2]
|
Cubic/linear rho values
|
rho_law
|
Private value - Do Not change
|
History
|
V15.0 change: the UF_MODL_secsrf_data_s structure was modified to
add the following fields: radius_data, angle_data, and direction_indicator.
|
Field
|
Description
|
create_method
|
Creation method
|
Polynomial_status
|
Polynomial status
|
rho_data
|
Rho data
|
tolerance
|
Tolerance used to create surface
|
tangent_faces[2]
|
Face tags of tangent faces
|
control_strings[6]
|
Control string array
|
spine_string
|
Spine curve string
|
radius_data
|
radius data
|
angle_data
|
angle data
|
direction_indicator
|
Surface direction
|
UF_MODL_secsrf_data_t section_surface; section_surface.polynomial_status = 0; make surface rational (exact) 1; make surface polynomial (approximate) section_surface.tolerance = any valid NX tolerance value; section_surface.direction_indicator = 1; create surface in direction of the face normal 1-; create surface opposite the face normal (UF_MODL_secsrf_point_radius_angle_arc only)The following shows the options for section surface that contain rho data: UF_MODL_secsrf_ends_apex_rho, UF_MODL_secsrf_ends_slopes_rho and UF_MODL_secsrf_fillet_rho section surfaces. Valid rho values are described in the "Section" section of the "Free Form Features" chapter of the Modeling User Manual.
section_surface.rho_data.data_method = UF_MODL_secsrf_no_data;If the rho method is set to a constant rho then a valid rho value must be placed in data_values structure.
section_surface.rho_data.data_method = UF_MODL_secsrf_constant; section_surface.rho_data.data_values.data_constant = valid rho value;If the rho method is set to a linear or cubic rho then a valid rho value must be placed in data_values structure. The expression tag will take precedence over the a real value. Both rho values need to be populated.
section_surface.rho_data.data_method = UF_MODL_secsrf_linear or UF_MODL_secsrf_cubic; section_surface.rho_data.data_values.data_value[0]=valid rho value; or section_surface.rho_data.data_values.data_exp[0]=expression tag;and
section_surface.rho_data.data_values.data_value[1]=valid rho value; or section_surface.rho_data.data_values.data_exp[1]=expression tag;If the rho method is set to least tension then the rho_values must be set to NULL.
section_surface.rho_data.data_method = UF_MODL_secsrf_tension; section_surface.rho_data.data_values.general_law = NULL;If the rho value is set to general the user is required NOT to change the data_values.
section_surface.rho_data.data_method = UF_MODL_secsrf_general; section_surface.rho_data.data_values.general_law = pointer data to a law function;The following shows the options for section surface that contain radius data: UF_MODL_secsrf_two_points_radius and UF_MODL_secsrf_point_radius_angle_arc section surfaces. Valid radius values are described in the Section Surface documentation.
section_surface.radius_data.data_method = UF_MODL_secsrf_no_data;If the radius method is set to a constant radius then a valid radius value must be placed in data_values structure.
section_surface.radius_data.data_method = UF_MODL_secsrf_constant; section_surface.radius_data.data_values.data_constant = valid radius value;If the radius method is set to a linear or cubic then a valid radius value must be placed in data_values structure. The expression tag will take precedence over the a real value. Both radius values need to be populated.
section_surface.radius_data.data_method = UF_MODL_secsrf_linear or UF_MODL_secsrf_cubic; section_surface.radius_data.data_values.data_value[0]=valid radius value; or section_surface.radius_data.data_values.data_exp[0]=expression tag;and
section_surface.radius_data.data_values.data_value[1]=valid radius value; or section_surface.radius_data.data_values.data_exp[1]=expression tag;If the radius value is set to general the user is required NOT to change the data_values.
section_surface.radius_data.data_method = UF_MODL_secsrf_general; section_surface.radius_data.data_values.general_law = pointer data to a law function;The following shows the options for a section surface that contain angle data: UF_MODL_secsrf_point_radius_angle_arc section surface. Valid angle values are described in the Section Surface documentation.
section_surface.angle_data.data_method = UF_MODL_secsrf_no_data;If the angle method is set to a constant angle then a valid angle value must be placed in data_values structure.
section_surface.angle_data.data_method = UF_MODL_secsrf_constant; section_surface.angle_data.data_values.data_constant = valid angle value;If the angle method is set to a linear or cubic angle then a valid angle value must be placed in data_values structure. The expression tag will take precedence over the a real value. Both angle values need to be populated.
section_surface.angle_data.data_method = UF_MODL_secsrf_linear or UF_MODL_secsrf_cubic; section_surface.angle_data.data_values.data_value[0]=valid angle value; or section_surface.angle_data.data_values.data_exp[0]=expression tag;and
section_surface.angle_data.data_values.data_value[1]=valid angle value; or section_surface.angle_data.data_values.data_exp[1]=expression tag;If the angle value is set to general the user is required NOT to change the data_values.
section_surface.angle_data.data_method = UF_MODL_secsrf_general; section_surface.angle_data.data_values.general_law = pointer data to a law function;Note: The UF_MODL_secsrf_general data method can not be used directly. It is a place holder for any section surface which contains a law value that is populated during an UF_MODL_ask_section_surface call. Do not modify this data.
section_surface.create_method = UF_MODL_secsrf_five_points; section_surface.control_strings[0] = Start curve tag; section_surface.control_strings[1] = First interior curve tag; section_surface.control_strings[2] = Second interior curve tag; section_surface.control_strings[3] = Third interior curve tag; section_surface.control_strings[4] = End curve tag; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = NULL; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_four_points_slope; section_surface.control_strings[0] = Start curve tag; section_surface.control_strings[1] = Start slope curve tag; section_surface.control_strings[2] = First interior curve tag; section_surface.control_strings[3] = Second interior curve tag; section_surface.control_strings[4] = End curve tag; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = NULL; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_ends_slopes_shoulder; section_surface.control_strings[0] = Start curve tag; section_surface.control_strings[1] = Start slope curve tag; section_surface.control_strings[2] = End curve tag; section_surface.control_strings[3] = End slope curve tag; section_surface.control_strings[4] = Shoulder curve tag; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = NULL; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_ends_apex_shoulder; section_surface.control_strings[0] = Start curve tag; section_surface.control_strings[1] = Apex curve tag; section_surface.control_strings[2] = End curve tag; section_surface.control_strings[3] = Shoulder curve tag; section_surface.control_strings[4] = NULL; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = NULL; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_ends_apex_rho; section_surface.control_strings[0] = Start curve tag; section_surface.control_strings[1] = Apex curve tag; section_surface.control_strings[2] = End curve tag; section_surface.control_strings[3] = NULL; section_surface.control_strings[4] = NULL; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = must be populated section_surface.tangent_faces[0] = NULL; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_ends_slopes_rho; section_surface.control_strings[0] = Start curve tag; section_surface.control_strings[1] = Start Slope curve tag; section_surface.control_strings[2] = End curve tag; section_surface.control_strings[3] = End Slope curve tag; section_surface.control_strings[4] = NULL; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = must be populated section_surface.tangent_faces[0] = NULL; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_ends_slope_arc; section_surface.control_strings[0] = Start curve tag; section_surface.control_strings[1] = Start Slope curve tag; section_surface.control_strings[2] = End curve tag; section_surface.control_strings[3] = NULL; section_surface.control_strings[4] = NULL; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = NULL; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_three_points_arc; section_surface.control_strings[0] = Start curve tag; section_surface.control_strings[1] = First Interior curve tag; section_surface.control_strings[2] = End curve tag; section_surface.control_strings[3] = NULL; section_surface.control_strings[4] = NULL; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = NULL; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_fillet_shoulder; section_surface.control_strings[0] = Curve tag on first face; section_surface.control_strings[1] = Curve tag on second face; section_surface.control_strings[2] = Shoulder curve tag; section_surface.control_strings[3] = NULL; section_surface.control_strings[4] = NULL; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = First face tag; section_surface.tangent_faces[1] = Second face tag; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_fillet_rho; section_surface.control_strings[0] = Curve tag on first face; section_surface.control_strings[1] = Curve tag on second face; section_surface.control_strings[2] = NULL; section_surface.control_strings[3] = NULL; section_surface.control_strings[4] = NULL; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = must be populated with rho data section_surface.tangent_faces[0] = First face tag; section_surface.tangent_faces[1] = Second face tag; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_ends_slopes_hilite; section_surface.control_strings[0] = Start curve tag; section_surface.control_strings[1] = Start Slope curve tag; section_surface.control_strings[2] = End curve tag; section_surface.control_strings[3] = End Slope curve tag; section_surface.control_strings[4] = Start highlight curve tag; section_surface.control_strings[5] = End highlight curve tag; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = NULL; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_ends_apex_hilite; section_surface.control_strings[0] = Start curve tag; section_surface.control_strings[1] = Apex curve tag; section_surface.control_strings[2] = End curve tag; section_surface.control_strings[3] = Start highlight curve tag; section_surface.control_strings[4] = End highlight curve tag; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = NULL; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_fillet_hilite; section_surface.control_strings[0] = Curve tag on first face; section_surface.control_strings[1] = Curve tag on second face; section_surface.control_strings[3] = Start highlight curve tag; section_surface.control_strings[4] = End highlight curve tag; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = must be populated with rho data section_surface.tangent_faces[0] = Face tag one; section_surface.tangent_faces[1] = Face tag two; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_two_points_radius; section_surface.control_strings[0] = Start curve tag; section_surface.control_strings[1] = End curve tag; section_surface.control_strings[2] = NULL; section_surface.control_strings[3] = NULL; section_surface.control_strings[4] = NULL; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = NULL; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = must be populated with radius data section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_ends_slopes_cubic; section_surface.control_strings[0] = Start curve tag; section_surface.control_strings[1] = Start Slope curve tag; section_surface.control_strings[2] = End curve tag; section_surface.control_strings[3] = End Slope curve tag; section_surface.control_strings[4] = NULL; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = NULL; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_fillet_cubic; section_surface.control_strings[0] = Curve tag on first face; section_surface.control_strings[1] = Curve tag on second face; section_surface.control_strings[2] = NULL; section_surface.control_strings[3] = NULL; section_surface.control_strings[4] = NULL; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = First face tag; section_surface.tangent_faces[1] = Second face tag; section_surface.radius_data = NULL; section_surface.angle_data = NULL; section_surface.create_method = UF_MODL_secsrf_point_radius_angle_arc; section_surface.control_strings[0] = Start curve tag; section_surface.control_strings[1] = NULL; section_surface.control_strings[2] = NULL; section_surface.control_strings[3] = NULL; section_surface.control_strings[4] = NULL; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = First face tag; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = must be populated with radius data section_surface.angle_data = must be populated with angle data; section_surface.direction_indicator = must be 1 or -1; section_surface.create_method = UF_MODL_secsrf_full_circle; section_surface.control_strings[0] = Guide edge curve tag; section_surface.control_strings[1] = Orientation edge curve tag; section_surface.control_strings[2] = NULL; section_surface.control_strings[3] = NULL; section_surface.control_strings[4] = NULL; section_surface.control_strings[5] = NULL; section_surface.spine_string = Spine curve tag; section_surface.rho_data = NULL; section_surface.tangent_faces[0] = NULL; section_surface.tangent_faces[1] = NULL; section_surface.radius_data = must be populated with radius data section_surface.angle_data = NULL;Faces
Parameter |
Description |
number_of_faces
|
The number of faces supplied in the following array
|
faces[]
|
An array of faces to be used in the function, note that some
functions may allow planes and datum_planes in this array.
|
face_extension
|
An indication of how the faces should be extended if the function
allows for face extension, it should be set to one of the following values:
UF_MODL_FACE_EXTENSION_NONE, UF_MODL_FACE_EXTENSION_LINEAR, UF_MODL_FACE_EXTENSION_NATURAL, UF_MODL_FACE_EXTENSION_CURV, UF_MODL_FACE_EXTENSION_CIRC |
Parameter |
Description |
faces
|
The faces to be offset or translated.
|
method_type
|
Indication of whether the faces are to be offset or translated,
this should be set to one of the following values: UF_MODL_OFFSET_OF_FACES, UF_MODL_TRANSLATION_OF_FACES |
distance
|
A character string containing the constant value desired to offset
or translate the specified faces.
|
direction
|
A vector defining the direction of translation, only used if
method_type = UF_MODL_TRANSLATION_OF_FACES, can be NULL otherwise
|
Parameter |
Description |
method_type
|
indication of how the parameter is being defined, either through a
constant value, of which an expression is made, or by a law. This should be set
to one of the following values:
UF_MODL_PARM_CONSTANT UF_MODL_PARM_LAW_SPINE UF_MODL_PARM_LAW_NO_SPINE |
constant
|
Information used to define the parameter if method_type =
UF_MODL_PARM_CONSTANT
value - a character string containing the constant value desired, note that this string can be a numeric value (e.g., "25"), a fully defined expression (e.g., "p5=25"), an existing expression name (e.g., "p5"), or an expression string (i.e.,"p5+p7"). If the fully defined expression exists then an error occurs. If the expression name does not exist then an error occurs. Otherwise an expression is created. |
law_spine
|
Information used to define the parameter if method_type =
UF_MODL_PARM_LAW_SPINE
law definition of the law. |
law_no_spine
|
Information used to define the parameter if method_type =
UF_MODL_PARM_LAW_NO_SPINE
law definition of the law. |
Parameter |
Description |
spine_profile
|
A profile used to define the spine of the law.
|
method_type
|
Indication of how the law is being defined. This should be set to
one of the following values: UF_MODL_LAW_CONSTANT UF_MODL_LAW_LINEAR, UF_MODL_LAW_CUBIC UF_MODL_LAW_SPINE_PTS_LINEAR UF_MODL_LAW_SPINE_PTS_CUBIC UF_MODL_LAW_EQUATION UF_MODL_LAW_CURVE |
constant
|
Information used to define the law if method_type =
UF_MODL_LAW_CONSTANT,
the law evaluates to this constant value along the entire parameter range of the law. value - a character string containing the constant value desired |
linear_cubic
|
Information used to define the law if method_type =
UF_MODL_LAW_LINEAR or UF_MODL_LAW_CUBIC The law evaluates in a linear progression, or cubic progression along the parameter range of the law. start_value - a character string containing the starting value desired end_value - a character string containing the ending value desired |
spine_pts_linear_cubic
|
Information used to define the law if method_type =
UF_MODL_LAW_SPINE_PTS_LINEAR or UF_MODL_LAW_SPINE_PTS_CUBIC The law evaluates to the values supplied at the corresponding spine points, and varies linearly or cubically in between these values. number_of_pts_vals - number of elements in the following array pts_vals - array of points on spine curves at which values are defined, and the corresponding values |
equation
|
Information used to define the law if method_type =
UF_MODL_LAW_EQUATION The law evaluates to the result of solving the equation while varying the variable specified from 0 to 1. parm - a character string containing the dependant variable of the equation, this variable varies from 0 to 1 during evaluation of the law function - a character string containing the equation that should be solved to determine the value of the law, note that this equation must have the variable defined in parm in it. |
curve
|
Information used to define the law if method_type =
UF_MODL_LAW_CURVE The law evaluates to the "Y" distance between the given profile and the base curve, the profile should be in the X-Y plane. If a base curve is not supplied, then the X axis is used as a base. law_profile - profile defining the law base - base curve of law, if a base is not desired then set this to NULL_TAG. direction - indication if the base curve should start from the beginning or end of the curve, this should be set to one of the following values: UF_MODL_CURVE_START_FROM_BEGIN UF_MODL_CURVE_START_FROM_END can be 0 if no base curve defined. |
Parameter |
Description |
method_type
|
indication of how the law is being defined. This should be set to
one of the following values: UF_MODL_LAW_CONSTANT UF_MODL_LAW_LINEAR, UF_MODL_LAW_CUBIC UF_MODL_LAW_EQUATION UF_MODL_LAW_CURVE |
constant
|
Information used to define the law if method_type =
UF_MODL_LAW_CONSTANT,
the law evaluates to this constant value along the entire parameter range of the law. value - a character string containing the constant value desired |
linear_cubic
|
Information used to define the law if method_type =
UF_MODL_LAW_LINEAR or UF_MODL_LAW_CUBIC The law evaluates in a linear progression, or cubic progression along the parameter range of the law. start_value - a character string containing the starting value desired end_value - a character string containing the ending value desired |
equation
|
Information used to define the law if method_type =
UF_MODL_LAW_EQUATION The law evaluates to the result of solving the equation while varying the variable specified from 0 to 1. parm - a character string containing the dependant variable of the equation, this variable varies from 0 to 1 during evaluation of the law function - a character string containing the equation that should be solved to determine the value of the law, note that this equation must have the variable defined in parm in it. |
curve
|
Information used to define the law if method_type =
UF_MODL_LAW_CURVE The law evaluates to the "Y" distance between the given profile and the base curve, the profile should be in the X-Y plane. If a base curve is not supplied, then the X axis is used as a base. law_profile - profile defining the law base - base curve of law, if a base is not desired then set this to NULL_TAG. direction - indication if the base curve should start from the beginning or end of the curve, this should be set to one of the following values: UF_MODL_CURVE_START_FROM_BEGIN UF_MODL_CURVE_START_FROM_END can be 0 if no base curve defined. |
Parameter |
Description |
pt[3]
|
Point coordinates at which to associate the corresponding value.
The closest point on the spine to this point is used. If the spine is closed
and the end point is put in the array twice, the beginning of the spine is used
for the first point and the ending for the second point.
|
value
|
The value assigned to the law at the given point.
|
Parameter |
Description |
outline_type
|
Indication of whether the pocket/pad is being defined with a
single outline at either the placement face or the floor/top face of the
pocket/pad, or if the pocket/pad is being defined with outlines at both the
placement face and the floor/top face of the pocket/pad, this should be set to
one of the following values: UF_MODL_SINGLE_OUTLINE UF_MODL_DOUBLE_OUTLINE |
single_outline
|
Information used to define the outline used to generate the
pocket/pad if outline_type = UF_MODL_SINGLE_OUTLINE outline_curves - the curves making up the outline. curves_represent - indication of whether the curves represent theoreticals or tangents, this should be set to one of the following values: UF_MODL_THEORETICAL_INTERSECT UF_MODL_TANGENT_AT_END_OF_BLEND outline_represents - indication of whether this outline is defining the shape of the pocket/pad at the placement face of the pocket/pad, at the floor face o the pocket, or at the top face of the pad, this should be set to one of the following values UF_MODL_SHAPE_AT_PLACEMENT UF_MODL_SHAPE_AT_FLOOR UF_MODL_SHAPE_AT_TOP taper_angle - the parameter containing the angle value desired for the taper taper_relative_to - indication of how the taper angle is measured, either relative to face normals, or to a fixed vector, this should be set to one of the following values UF_MODL_TAPER_FACE_NORMALS UF_MODL_TAPER_FIXED_VECTOR taper_vector - the vector from which the taper angle is measured, if the taper is relative to a fixed vector |
double_outline
|
Information used to define the outlines used to generate the
pocket/pad if outline_type = UF_MODL_DOUBLE_OUTLINE placement_curves - the curves making up the outline for the placement faces placement_curves_represent - indication of whether the curves represent theoreticals or tangents, this should be set to one of the following values: UF_MODL_THEORETICAL_INTERSECT UF_MODL_TANGENT_AT_END_OF_BLEND floor_top_curves - the curves making up the outline for the floor/top faces floor_top_curves_represent - indication of whether the curves represent theoreticals or tangents, this should be set to one of the following values: UF_MODL_THEORETICAL_INTERSECT UF_MODL_TANGENT_AT_END_OF_BLEND |
single_outline_corner
|
Information used to define the outline used to generate the
pocket/pad if outline_type = UF_MODL_SINGLE_OUTLINE_CORNER Note that all the information in this structure is the same as that in single_outline except for the addition of the corner_radius variable described below. Note also that if parameters of a pocket/pad are retrieved, and that pocket/pad had a corner radius defined, then the information is returned in this structure. corner_radius - the parameter containing the radius value desired for "corner" of non-smooth outlines. Non-smooth outlines are outlines whose curve tangents are not within angle tolerance across their end points. This radius is applied on the side of the pocket/pad at these points. |
double_outline_corner
|
Information used to define the outline used to generate the
pocket/pad if outline_type = UF_MODL_DOUBLE_OUTLINE_CORNER Note that all the information in this structure is the same as that in double_outline except for the addition of the corner_radius variable described below. Note also that if parameters of a pocket/pad are retrieved, and that pocket/pad had a corner radius defined, then the information is returned in this structure. corner_radius - the parameter containing the radius value desired for "corner" of non-smooth outlines. Non-smooth outlines are outlines whose curve tangents are not within angle tolerance across their end points. This radius is applied on the side of the pocket/pad at these points. |
Parameter |
Description |
outline_type
|
Indication of whether the pocket/pad is being defined with a
single outline at either the placement face or the floor/top face of the
pocket/pad, or if the pocket/pad is being defined with outlines at both the
placement face and the floor/top face of the pocket/pad, this should be set to
one of the following values: UF_MODL_SINGLE_OUTLINE UF_MODL_DOUBLE_OUTLINE |
single_outline
|
Information used to define the outline used to generate the
pocket/pad if outline_type = UF_MODL_SINGLE_OUTLINE outline_curves - the curves making up the outline. curves_represent - indication of whether the curves represent theoreticals or tangents, this should be set to one of the following values: UF_MODL_THEORETICAL_INTERSECT UF_MODL_TANGENT_AT_END_OF_BLEND outline_represents - indication of whether this outline is defining the shape of the pocket/pad at the placement face of the pocket/pad, at the floor face o the pocket, or at the top face of the pad, this should be set to one of the following values UF_MODL_SHAPE_AT_PLACEMENT UF_MODL_SHAPE_AT_FLOOR UF_MODL_SHAPE_AT_TOP taper_angle - the parameter containing the angle value desired for the taper taper_relative_to - indication of how the taper angle is measured, either relative to face normals, or to a fixed vector, this should be set to one of the following values UF_MODL_TAPER_FACE_NORMALS UF_MODL_TAPER_FIXED_VECTOR taper_vector - the vector from which the taper angle is measured, if the taper is relative to a fixed vector |
double_outline
|
Information used to define the outlines used to generate the
pocket/pad if outline_type = UF_MODL_DOUBLE_OUTLINE placement_curves - the curves making up the outline for the placement faces placement_curves_represent - indication of whether the curves represent theoreticals or tangents, this should be set to one of the following values: UF_MODL_THEORETICAL_INTERSECT UF_MODL_TANGENT_AT_END_OF_BLEND floor_top_curves - the curves making up the outline for the floor/top faces floor_top_curves_represent - indication of whether the curves represent theoreticals or tangents, this should be set to one of the following values: UF_MODL_THEORETICAL_INTERSECT UF_MODL_TANGENT_AT_END_OF_BLEND |
Parameter |
Description |
number_of_curves
|
the number of curves in the following array
|
curves
|
the array of curves
|
curve_projection_type
|
indication of whether the curves should be projected along their
plane normal or along the following vector, this should be set to one of the
following values: UF_MODL_PROJ_NORMAL_TO_CURVES UF_MODL_PROJ_ALONG_VECTOR |
curve_projection_vector
|
the vector along which to project the curves if
curve_projection_type = UF_MODL_PROJ_ALONG_VECTOR, can be NULL otherwise
|
Parameter |
Description |
reverse_vector
|
Indicates if the vector calculated should then be reversed before
being used. = 0 -> do not reverse != 0 -> reverse |
vector_type
|
Indication of which structure within the union is being used to
define the vector, this should be one of the following values: UF_MODL_VECTOR_DIRECTION, UF_MODL_VECTOR_AXIS, UF_MODL_VECTOR_FACE_NORMAL, UF_MODL_VECTOR_TWO_POINTS, UF_MODL_VECTOR_PLANE_OF_CURVES |
direction
|
Information used to define vector if vector_type =
UF_MODL_VECTOR_DIRECTION
xyz[3] - 3D direction vector |
axis
|
Information used to define vector if vector_type =
UF_MODL_VECTOR_AXIS identifier - tag of datum plane or plane whose normal is to be used to define the vector, or the tag of a datum axis. |
face_normal
|
Information used to define vector if vector_type =
UF_MODL_VECTOR_FACE_NORMAL
face - tag of face whose normal or reverse normal is to be used to define the vector. point[3] - point coordinates on the face to determine the normal or reverse normal at, the closest point on the face to this point is used. |
two_points
|
Information used to define vector if vector_type =
UF_MODL_VECTOR_TWO_POINTS
from_point[3] - point coordinates from which the vector is to start. to_point[3} - point coordinates to which the vector is to point. |
plane_of_curves
|
Information used to define vector if vector_type =
UF_MODL_VECTOR_PLANE_OF_CURVES
number_of_curves - number of curves in the following array curves[] - array of curves whose plane normal is to be found |
Parameter |
Description |
cyl_face
|
Cylindrical face to be threaded
|
start_face
|
Face at which the thread starts
|
axis_direction
|
Direction of the thread
|
include_instances
|
Instancing flag -
UF_MODL_NO_INSTANCES - no thread on instances of cylindrical face UF_MODL_INCL_INSTANCES - threads on instances of the cylindrical face |
rotation
|
Rotation -
UF_MODL_RIGHT_HAND - right-handed thread UF_MODL_LEFT_HAND - left-handed thread |
length_flag
|
Indicates the thread is a fixed length or full thread.
UF_MODL_FULL_THREAD - full thread length UF_MODL_FIXED_LENGTH - fixed thread length |
tapered
|
Indicates the thread is tapered or non-tapered
UF_MODL_TAPERED - tapered thread UF_MODL_NON_TAPERED - non-tapered thread |
num_starts
|
Number of starts
|
length
|
Thread length expression
|
form
|
Thread form
|
method
|
Thread method
|
callout
|
Thread callout.
In creation, if you specify a callout, the major diameter, minor diameter, pitch, tapped drill/shaft diameter, length, and tapered indicator are read from the thread table and the values of those parameters from the structure are ignored except for the length value. If the length value is specified in the structure, it will be used instead of the one read from the table. If no callout is specified, the values of those parameters are used in creating the thread. Not specifying a callout means to pass a NULL pointer, passing an empty string ("") causes an error. In Inquiry, if a callout is specified in creating the thread, those parameters also return in the structure together with the callout. |
major_dia
|
Major diameter expression of the thread
|
minor_dia
|
Minor diameter expression of the thread
|
tapped_dia
|
Tapped diameter expression of the thread
|
pitch
|
Thread pitch expression
|
angle
|
Thread angle expression
|
History
|
V15.0 changes: UF_SMHOLE_direction_type_e_t was renamed to UF_MODL_smhole_direction_type_e_t.
UF_SMHOLE_hole_type_e_t was renamed to UF_MODL_smhole_type_e_t.
|
Field |
Description |
diameter
|
Diameter of SMHole
|
depth
|
Depth of SMHole. Only used for depth type SMHoles
|
tip_angle
|
Tip angle of SMHole. Only used for depth type SMHoles
|
edge1
|
Tag of the first offset edge
|
offset1
|
Offset distance from first offset edge
|
edge2
|
Tag of the second offset edge
|
offset2
|
Offset distance from second offset edge
|
hole_face
|
Tag of the face on which the SMHole will be placed
|
thru_face
|
Tag of the face through which the Through SMHole will be created
|
method
|
Method used to determine angle of central axis of the SMHole.
UF_FACE_NORMALS = use face normals UF_ALONG_VECTOR = use a vector UF_ALONG_DATUM_AXIS = use a datum axis |
datum_axis
|
Tag of the datum axis used to determine the angle of the central
axis of the SMHole. Used with UF_ALONG_DATUM_AXIS method.
|
vec_dir[3]
|
Vector used to determine the angle of the central axis of the
SMHole. Used with UF_ALONG_VECTOR method.
|
type
|
Type of SMHole to be created. UF_DEPTH_SMHOLE = depth type SMHole UF_THROUGH_SMHOLE = thru type SMHole UF_PUNCH_SMHOLE = punch type SMHole |
History
|
V15.0 changes: UF_SMHOLE_direction_type_e_t was renamed to UF_MODL_smhole_direction_type_e_t.
UF_SMSLOT_slot_type_e_t was renamed to UF_MODL_smslot_type_e_t.
|
Field |
Description |
length
|
Length of SMSlot
|
width
|
Width of SMSlot
|
depth
|
Depth of SMSlot. Only used for depth type SMSlots
|
edge1
|
Tag of the first offset edge
|
offset1
|
Offset distance from first offset edge
|
edge2
|
Tag of the second offset edge
|
offset2
|
Offset distance from second offset edge
|
slot_face
|
Tag of the face on which the SMSlot will be placed
|
thru_face
|
Tag of the face through which the Through SMSlot will be created
|
dir_method
|
Method used to determine angle of central axis of the SMSlot.
UF_FACE_NORMALS = use face normals UF_ALONG_VECTOR = use a vector UF_ALONG_DATUM_AXIS = use a datum axis |
d_datum_axis
|
Tag of the datum axis used to determine the angle of the central
axis of the SMSlot. Used when dir_method is UF_ALONG_DATUM_AXIS.
|
d_vec_dir[3]
|
Direction vector used to determine the angle of the central axis
of the SMSlot. Used when dir_method is UF_ALONG_VECTOR.
|
orient_method
|
Method used to determine angle of the orientation along the length
of the SMSlot.
UF_FACE_NORMALS = use face normals UF_ALONG_VECTOR = use a vector UF_ALONG_DATUM_AXIS = use a datum axis |
o_datum_axis
|
Tag of the datum axis used to determine the orientation along the
length of the SMSlot. Used when orient_method is UF_ALONG_DATUM_AXIS.
|
o_vec_dir[3]
|
Orientation vector used to determine the orientation along the
length of the SMSlot. Used when orient_method is UF_ALONG_VECTOR.
|
type
|
Type of SMSlot to be created. UF_DEPTH_SMSLOT = depth type SMSlot UF_THROUGH_SMSLOT = thru type SMSlot UF_PUNCH_SMSLOT = punch type SMSlot |
typedef struct UF_MODL_smcutout_data_s
|
||
{
|
|
|
|
tag_t
|
placement_face;
|
|
int
|
n_curves;
|
|
tag_t
|
*curves;
|
|
UF_MODL_smcutout_direction_type_e_t
|
proj_method;
|
|
double
|
proj_vector[3];
|
|
tag_t
|
datum_axis;
|
|
logical
|
flip_discard_region;
|
}
|
UF_MODL_smcutout_data_t, *UF_MODL_smcutout_data_p_t;
|
Field |
Description |
placement_face
|
The face on which the SMCutout will be placed.
|
n_curves
|
The number of curves in the curves array.
|
curves
|
An array holding the tags to the curves that define the outline
shape of the SMCutout.
|
proj_method
|
The method used to determine the projection vector of the outline
curves as well as the direction in which the cutout will be punched through the
solid body. Can be one of
UF_FACE_NORMALS: project along the placement face reverse normal. UF_ALONG_VECTOR: project along a given vector. See proj_vector below. UF_ALONG_DATUM_AXIS: project along a given datum axis. See datum_axis below. |
proj_vector[3]
|
Used when proj_method is UF_ALONG_VECTOR. This is the vector along
which the outline curves will be projected. It also indicates the vector along
which the cutout will be punched through the solid body.
|
datum_axis
|
Used when proj_method is UF_ALONG_DATUM_AXIS. This is the tag of a
datum axis that will be used to determine the vector along which the outline
curves will be projected. It also indicates the vector along which the cutout
will be punched through the solid body.
|
flip_discard_region
|
When true the discard region is flipped from its normal
calculation. See discussion below on the discard region.
|
typedef struct UF_MODL_simpl_data_s
|
||
{
|
|
|
|
int
|
n_retained_faces;
|
|
tag_t
|
*retained_faces;
|
|
int
|
n_boundary_faces;
|
|
tag_t
|
*boundary_faces;
|
|
int
|
n_removed_faces;
|
|
tag_t
|
*removed_faces;
|
|
int
|
n_boundary_edges;
|
|
tag_t
|
*boundary_edges;
|
|
int
|
n_non_boundary_edges;
|
|
tag_t
|
*non_boundary_edges;
|
|
int
|
n_imprint_features;
|
|
tag_t
|
*imprint_features;
|
|
tag_t
|
max_hole_dia_expression;
|
}
|
UF_MODL_simpl_data_t, *UF_MODL_simpl_data_p_t;
|
Field |
Description |
n_retained_faces
|
Number of retained faces
|
retained_faces
|
Array of retained faces
|
n_boundary_faces
|
Number of boundary faces
|
boundary_faces
|
Array of boundary faces
|
n_removed_faces
|
Number of removed faces
|
removed_faces
|
Array of removed faces
|
n_boundary_edges
|
Number of boundary edges
|
boundary_edges
|
Array of boundary edges
|
n_non_boundary_edges
|
Number of non-boundary edges
|
non_boundary_edges
|
Array of non-boundary edges
|
n_imprint_features
|
Number of imprint features to apply
|
imprint_features
|
Array of imprint features whose edges are to be boundaries
|
n_non_boundary_faces
|
Expression for maximum diameter holes to remove
|
typedef struct UF_MODL_imprint_faces_data_s
|
||
{
|
|
|
|
int
|
n_imprint_faces;
|
|
tag_t
|
*imprint_faces;
|
|
tag_t
|
imprint_datum_plane;
|
}
|
UF_MODL_imprint_faces_data_t,
*UF_MODL_imprint_faces_data_p_t; |
Field |
Description |
n_imprint_faces
|
The number of faces
|
imprint_faces
|
Array of faces to be imprinted
|
imprint_datum_plane
|
The datum plane of intersection
|
typedef struct UF_MODL_imprint_loop_data_s
|
||
{
|
|
|
|
tag_t
|
imprint_face;
|
|
tag_t
|
imprint_datum_plane;
|
}
|
UF_MODL_imprint_loop_data_t,
*UF_MODL_imprint_loop_data_p_t; |
Field |
Description |
imprint_face
|
The face defining the starting point of the imprint
|
imprint_datum_plane
|
The datum plane of intersection
|