Interference
 
Functions Introduced:
ProFitClearanceCompute()
ProFitGlobalinterferenceCompute()
ProFitInterferenceCompute()
ProFitInterferencevolumeCompute()
ProFitInterferencevolumeDisplay()
ProInterferenceDataFree()
ProInterferenceInfoProarrayFree()
ProVolumeInterferenceCompute()
ProVolumeInterferenceDisplay()
ProVolumeInterferenceBodiesGet()
ProVolumeInterferenceDisplayForBody()
ProVolumeInterferenceInfoArrayFree()
The function ProFitClearanceCompute() computes the clearance between two objects. When the function computes clearance between two parts, it also tries to determine if there is interference between them.
Use the function ProFitGlobalinterferenceCompute() to compute the interference in the specified assembly. If the assembly is regenerated, the interference must be recalculated. The enumerated data type ProFitComputeSetup specifies the set up to compute the interference for parts or subassemblies. The valid values are:
PRO_FIT_PART—Computes interference between the pairs of parts in an assembly. The interference is computed only for those pairs whose volume can be calculated. The pairs whose volume could not be calculated are removed.
PRO_FIT_SUB_ASSEMBLY—Computes interference between the pairs of subassemblies in an assembly, that is, computes interference between parts of different subassemblies. The interference is computed only for pairs whose volume can be calculated. The pairs whose volume could not be calculated are removed.
PRO_FIT_PART_DETAILED—Computes interference between the pairs of parts in an assembly. The interference is computed for all the pairs irrespective of whether the volume can be calculated.
PRO_FIT_SUB_ASSEMBLY_DETAILED—Computes interference between the pairs of subassemblies in an assembly, that is, computes interference between parts of different subassemblies. The interference is computed for all the pairs irrespective of whether the volume can be calculated.
The function ProFitInterferenceCompute() returns the interference information specified between two items. In assembly mode, each item is either a component part or a solid body of a part. In Part mode, each item is a solid body of the current part. If the items are regenerated, the interferences must be recalculated. The input arguments follow:
sel_1—The first part or solid body.
sel_2—The second part or solid body.
set_facets—The option to include facets for parts.
set_quilts—The option to include quilts for parts.
Note:
 
Set the ProBoolean arguments set_facets and set_quilts to PRO_B_TRUE to include facets or quilts in the model, respectively.
Note:
 
The interference data obtained from the functions ProFitGlobalinterferenceCompute() and ProFitInterferenceCompute() must be passed as input to the functions ProFitInterferencevolumeCompute() and ProFitInterferencevolumeDisplay(). The interference data must not include facets or quilts. They must include information about only interfering solids.
The function ProFitInterferenceCompute() returns an error PRO_TK_NOT_EXIST if one or more items specified by either of the input arguments sel_1 and sel_2 could not be found or does not contain any geometry with which to compute interference.
The function returns the error PRO_TK_GENERAL_ERROR if the interference could not be computed. The function returns the error PRO_TK_NOT_VALID if the value of the interference volume is invalid.
The function ProFitInterferencevolumeCompute() calculates volume of interference between two specified components. Use the function ProFitInterferencevolumeDisplay() to display the volume of interference between the two specified components.
Use the functions ProInterferenceDataFree() and ProInterferenceInfoProarrayFree() to free the interference data obtained from the functions ProFitInterferenceCompute() and ProFitGlobalinterferenceCompute() respectively.
The function ProVolumeInterferenceCompute() calculates the volume interference between the selected closed quilt and an assembly. The output argument p_intf_infos is a pointer to the ProArray, where the interference results are stored. The interference data is returned as a ProVolumeInterferenceInfo structure.
Use the function ProVolumeInterferenceInfoArrayFree() to free the interference data obtained from the function ProVolumeInterferenceCompute(). The function is supported only in DLL mode.
The function ProVolumeInterferenceDisplay() displays the curves and surfaces that interfere with the selected quilt in the specified color or hides them. This function must be called after the interference data is computed. The input arguments are:
inetrf_data — Specifies a pointer to the interference data.
color— Specifies the color to use for highlighting the interference.
hilite— Specifies if the curves and surfaces that interfere with the selected quilt must be displayed or hidden. Specify PRO_B_TRUE for displaying the interfering component and PRO_B_FALSE for hiding it.
Use the function ProVolumeInterferenceBodiesGet() to obtain the solid bodies of the specified component that participate in the interference with the selected closed quilt. The input argument interf_data specified through the structure ProVolumeInterferenceData is the pointer to the interference data for the corresponding component that interferes with the quilt. The output argument r_bodies returns an array of the bodies through the structure ProSolidBody which is allocated by the function.
Call the function ProVolumeInterferenceCompute() before using ProVolumeInterferenceBodiesGet().
The function ProVolumeInterferenceBodiesGet() returns an error PRO_TK_E_NOT_FOUND if there are no solid bodies in the interference data.
The function ProVolumeInterferenceDisplayForBody() displays or hides the curves and surfaces of the specified solid body that interfere with the quilt that is selected. The input arguments follow:
interf_data— Pointer to the interference data for the corresponding component that interferes with the quilt.
p_body—Pointer to the solid body in the specified component.
color— Specifies the color to be used for highlighting the interference and is defined by the enumerated data type ProColortype.
hilite— Specifies if the curves and surfaces that interfere with the selected quilt must be displayed or hidden. Specify PRO_B_TRUE for displaying the interference geometry of the specified body and PRO_B_FALSE for hiding it.
The function ProVolumeInterferenceDisplayForBody() returns an error PRO_TK_E_NOT_FOUND if the given body does not interfere with the quilt.
Call the function ProVolumeInterferenceInfoArrayFree() to remove the interference highlighted by the function ProVolumeInterferenceDisplay() or partially highlighted by the function ProVolumeInterferenceDisplayForBody().
這是否有幫助?