<< Click to Display Table of Contents >> Navigation: User DLLs > Add-In DLLs > Extra DLLs > 3 Dev Move (dcu_3devmove.dll) |
The purpose of this routine is to deviate an object's location along or about 3 axes.
User Routines
There is only one routine in the dcu_3devmove.dll applied as a User-DLL Move:
1. 3-Dev Move (3-Dev Contribution Move).
Background
The modeling of manufacturing processes requires repetitive modeling structures; i.e., combinations of moves, tolerances and measures to solve a specific modeling problem – over and over again. This routine helps to solve the modeling problem of positioning a part, a "machining feature," in relation to another part, a "machine spindle," and includes deviation/tolerances for machining accuracy and repeatability.
This routine supports 3DCS Rapid Modeling Enhancements requirement #4, "Create Features from CAD Data" and requirement #16, "Maintain spatial relationships."
Objective
•Move a component part.
•The object part will either be translated along, or rotated about three directions by three respective distance-angles.
•The object's location shall be modified within three tolerance ranges respective of the three directions.
•Provide for accurate sensitivity analysis.
Inputs
•List of parts to be moved
•Three directions
•Optional, axis point for rotation mode
•Three distance-angles (basic dimension/angle)
•Three ranges (tolerance ranges)
•Constants list to set several numerical input values
•Optional, string list of equations and keyword expressions
•Optional, measure list, constants list, point groups as needed referenced in the string list equations
•Optional random number list for 3-Dev Contributor Move routine only. If at least 3 random numbers are added to the list, then they will be used in place of the range/offset inputs from the string/constants list. The random number inputs hold the advantage that distribution, truncations, HLM Level, Sigma Num and Scale can all be applied as well.
The 3-Dev Move requires a minimum of 1 Object, 3 Dir, 3 Distance-angles, 3 Ranges, 7 Constants or Keywords
Object | List of the component part(s). |
D1 D2 D3 | 3 vector direction(s) along which to translate or rotate. |
P1 | Point on axes of rotation. (See Note 1.) |
C1 | Constant (integer) enables Mode: |
=1 for Translate Mode (default) |
=2 for Rotate Mode |
C2 | Constant (integer) enables an internal random number -1 < n < 1 as a multiplier with C6 in order to set Range1. |
= 0 to inhibit internal random number stream |
= 1 to enable a random number to be generated and multiplied by C6 input. |
C3 | Constant (integer) enables an internal random number -1 < n < 1 as a multiplier with C8 in order to set Range2. |
= 0 to inhibit internal random number stream |
= 1 to enable a random number to be generated and multiplied by C8 input. |
C4 | Constant (integer) enables an internal random number -1 < n < 1 as a multiplier with C10 in order to set Range3. |
= 0 to inhibit internal random number stream |
= 1 to enable a random number to be generated and multiplied by C10 input. |
C5 | Constant (real) to set basic dimension #1, Offset1. |
= the distance to translate along D1 or, |
= the angle (degrees) to rotate about P1 D1. |
C6 | Constant (real) to set tolerance range #1, Range1. |
= the randomized tolerance to translate along D1 or, |
= the randomized angular tolerance (degrees) to rotate about P1 D1. |
C7 | Constant (real)to set basic dimension #2, Offset2. |
= the distance to translate along D2 or, |
= the angle (degrees) to rotate about P1 D2. |
C8 | Constant (real) to set tolerance range #2, Range2. |
= the randomized tolerance to translate along D2 or, |
= the randomized angular tolerance (degrees) to rotate about P1 D2. |
C9 | Constant (real) to set basic dimension #3, Offset3. |
= the distance to translate along D3 or, |
= the angle (degrees) to rotate about P1 D3. |
C10 | Constant (real) to set tolerance range #3, Range3. |
= the randomized tolerance to translate along D3 or, |
= the randomized angular tolerance (degrees) to rotate about P1 D3. |
[STR:n] | Optional keyword expression to set basic dimension #1. OFFSET1= (See Notes 2, 3, & 4.) |
[STR:n] | Optional keyword expression to set tolerance range #1 RANGE1= (See Notes 2, 3, & 4.) |
[STR:n] | Optional keyword expression to set basic dimension #2 OFFSET2= (See Notes 2, 3, & 4.) |
[STR:n] | Optional keyword expression to set tolerance range #2 RANGE2= (See Notes 2, 3, & 4.) |
[STR:n] | Optional keyword expression to set basic dimension #3 OFFSET3= (See Notes 2, 3, & 4.) |
[STR:n] | Optional keyword expression to set tolerance range #3 RANGE3= (See Notes 2, 3, & 4.) |
R1 | Optional random number to be used for Range1/Offset1 plus other standard DCS random number parameters only in 3-Dev Contributor Move routine |
R2 | Optional random number to be used for Range2/Offset2 plus other standard DCS random number parameters only in 3-Dev Contributor Move routine |
R3 | Optional random number to be used for Range3/Offset3 plus other standard DCS random number parameters only in 3-Dev Contributor Move routine |
Note 1: | Alternative argument lists: |
(A) In Translate Mode, the routine ignores all input points
(B) In Rotate Mode, the routine uses point P1 with respective vectors D1 D2 D3 to define the three axes of rotation. P1 will first be sought out in the target point list, otherwise, the object point list is searched.
Note 2: | Keyword syntax: |
Keyword expressions are defined within the String List area of the dialog and generally follow the scripting rules of the Equation Measure routine. Keywords must be literal followed by an equal sign with no space between the keyword and equal sign. The formula for the keyword value then follows the equal sign. (See Equation Measure.) Keywords OFFSETn and RANGEn are not case sensitive.
Note 3: | Precedence: |
Random Number List takes precedence over the String List and the Constants List when it comes to Range/Offset inputs in the 3-Dev Contributor Move routine. There must be at least 3 random numbers in the list, otherwise they are ignored. Furthermore, if at least 3 exist, only the first 3 random numbers will be used. Keyword expressions in the String List take precedence over the settings in the Constant List. If a keyword is not set in the String List, the routine will use the values set (or defaulted) from the Constant List.
Note 4: | Keywords OFFSETn and RANGEn are interpreted as distances in Translate Mode, and as degrees-of-arc in Rotation Mode. |
Behavior
•In Translate Mode, the object part(s) is/are moved from their current location in space along three vectors for three respective distances. The part(s) orientation remains unchanged.
•In Rotate Mode, the object part(s) is/are moved from their current location in space about three axes for three respective angles. Each axis consists of the origin point and a vector direction. Rotation follows the right-hand rule for signed direction of rotation. The sequence for the three rotations follow in ordinal order.
•During Nominal Build, all RANGEn are interpreted as 0.0, i.e., there is no deviation for tolerance range during a nominal build event.
•During Nominal Build, all OFFSETn are interpreted per expression, i.e., there is translation/rotation for basic dimensions during a nominal build event.
Assumptions
•Object part is located at a known location in space prior to calling this function.
•No bending or deformation of the part is performed.
•Keyword expressions default to "0.0" value.
Limitations
•The original routine, 3-Dev Move, may not be included in sensitivity analysis if the user has not taken scripting precautions. The algorithm is able to internally generate random numbers for tolerance deviations; these are random numbers associated with the RANGEn keywords. This Internally generated random number stream will not be analyzed by sensitivity analysis. It is recommended to generate random numbers via an external tolerance & measurement pair. The measurement then may be referenced through the Measure List and String List.
•A 2'nd routine, 3-Dev Contributor Move, has been added that does not require additional scripting to be implemented for inclusion into the Sensitivity analysis.
Example Usage
Test Case: Irregular Feature Translated
Transmission Case engine mounting face translated to a machine spindle.
Test Case: Irregular Feature Rotated
Transmission Case engine mounting face rotated to a machine spindle.