<< Click to Display Table of Contents >> Navigation: User DLLs > Add-In DLLs > Extra DLLs > Move By Value (dcu_xformMv.dll) |
The purpose of this module is to allow parts or features to be translated, rotated or transformed by a specific amount. This amount can be a specified as a constant value or a calculated value from a measurement.
Common Inputs:Object Points Area: Input Object Points or Features Target Points Area: Input Target Points or Features Direction Area: Enter Direction Number and specify all directions as needed Move Parts (Component List) Area: Input Components Strings Area: Input String List Measure. List Area: Input Measure List Values (Constants) Area: Input Constants.
Note:The following Xform routines vary features as well as points: dcsPtAverageMv, Project Point on Feature, and dcsMvChangeDiameterByMeas.
|
|
Move Routines:Rotate by Measure (dcsRotateByMeas) - now included in the Transform move Translate by Measure (dcsTranslateByMeas) - now included in the Transform move Rotate by Value (dcsRotateByValue) - now included in the Transform move Translate by Value (dcsTranslateByValue) - now included in the Transform move Translate by Value in Inches (dcsTranslateByValueInInches) Move to Circle Center (dcsCrCenterMv) Feature Rotate (dcsFeatRotateMv) Translate Point by Measure (dcsTranslatePtByMeas) - now included in the Transform move Translate Point by Value (dcsTranslatePtByValue) - now included in the Transform move Rotate Point by Measure (dcsRotatePtByMeas) - now included in the Transform move Rotate Point by Value (dcsRotatePtByValue) - now included in the Transform move Point Average Move (dcsPtAverageMv) Translate Point to Geometric Center (dcsGeometricCenterMv) Project Point on Feature (dcsProjectPtOnFeat) Change Diameter by Measure (dcsMvChangeDiameterByMeasure) Take Measurements When Executing the Moves (dcsMvTakeMeasValues) Copy Point Deviation (dcsMvCopyDeviation) Translate Two Points to the Closest Position (dcsMvTranslate2PtsToClosest) Rotate Two Points to the Closest Position (dcsMvRotate2PtsToClosest) Translate Two Points To Two Planes Intersection (dcsMvTanslate2PtsToPlanes) Translate One Point To Plane and Line Intersection (dcsMvTanslatePtToPlaneLine) Translate Two Points to LSQ Position and Direction (dcsMvTanslate2PtsToLsqPosDir) Rotate and Translate with Random Value (dcsMvRollTranslateByRandom) Locate Points to the Torus Minor Centers (dcsMvLocatePtAtTorusMinorCnt) Project Point to Feature (dcsMvProjectPtOnPlaneLineCylinder) Position Evaluating Points on Feature (dcsMvPositionEvaluatingPtsOnFeature) Zip Pair Points (dcsMvZipPairPoints) Zip Surfaces (dcsMvZipObjectsToTargets)
|
Measure Routines:Feature to Feature Minimum Measure (dcsFeat2FeatMinMs) Measure Distance from Circle to a Point (dcsMsDistanceFromCircleToPoint) Tolerance Routines:Power Function (dcsTlPowerFnDev) |
Translate by Value in Inches (dcsTranslateByValueInInches)
Output:•This routine translates parts along a vector by a constant value (in inches.) Input:•The direction of translation can be defined with either a direction or a point or feature. If a point or feature is selected, it should be added to the Target Features list. If a direction is used, the Dir. No. should be changed to 1. Then, a direction must be defined. If AssocDir type will be used, the point or feature must be placed in the Target Feature list. •Add the desired Part(s) to the Move Parts list. •Select the [Values] button and Add a value to the Edit Constants List. |
---|
Move an object Point to the center of a calculated circle from three target points. This routine is a move-deviate routine, which is "moving" the object points instead of moving the components. Input:•Object: One Object Point is required. •Target: Three Target Points are required. •Values: 1 value is optionally required. Output:•The output of the routine will depend on the input value. No Value or Val1 = 0: •The Object Point will be moved to the center for the circle created from the three Target Points. •If the Object Point has a diameter, the diameter will change based on the calculated size of the three points. Val1 = 1: •The Object Point is projected to the line formed by the first two Target Points. •The third Target Point is ignored. Val1 = 2: •The Object Point is projected to the plane formed by the three Target Points.
|
---|
Feature Rotate (dcsFeatRotateMv)
Rotate by a calculated angle from selected features. Input:•One Object Feature is required. •Two Target Features are required. (The first feature has to be Cylindrical Type.) •Component List cannot be empty. Output:•Components will be rotated around the first feature (Cylindrical Type) till at least one meshed point on the object feature touches the target plane calculated from the second target feature. Calculation Methods:•The first feature provides an axis, which is calculated with Least-Square Method. •The second target feature provides an infinite plane, which is calculated by Least-Square HP Method. Note:To facilitate the verification of the move routine dcsFeatRotateMv, a feature-based measure, as a User DLL measure routine, is added.
|
---|
Point Average Move (dcsPtAverageMv)
Translate object points to the average center calculated from all target features. This routine is a move-deviate routine, which is deviating the object points instead of moving the components. This routine is used to replace Dynamic Point calculation. Input:•Object Features: At least one Object Point is required. •Target Features: At least one Target Feature is required. •Value (Optional): oFirst Value: Controls how features are treated. Can be not set, zero, or one. ▪If not set or zero, every mesh node on the feature will be used individually to calculate the average center. ▪If one, only the Feature Locator Point is used to calculate the average center. Output:•Object Points will be translated to the average center calculated from all Target Features.
|
---|
Translate Point to Geometric Center (dcsGeometricCenterMv)
Translate object points to the geometric center calculated from all target points. The object point direction is not changed. This routine is a move-deviate routine, which is deviating the object points instead of moving the components. Input:•At least one Object Point is required. •At least one Target Feature is required. Output:•Object Points will be translated to the geometric center calculated from all Target Points. Geometric center = (max xyz + min xyz) / 2. Note:•Treat the cad feature as multiple Points in calculating the geometric center
|
---|
Project Point on Feature (dcsProjectPtOnFeat)
Move an object Point from its current position to the target feature (either sphere, or general surface, or a DCS circle). It is optional to move the object point along a direction. This routine is a move-deviate routine, which is deviating the object points instead of moving the components. Use Cases:•Project Point to the closest feature: Apply no direction. •Project to a target feature along a direction: Set the direction to =1 and apply Type-In to project the point in that direction, or use the target direction. Input:•One Object Point is required. •One Target Feature (surf with mesh) is required. •Optionally, One Direction can be specified. •Set String=1 to project point in the given direction for irregular surface (eg Cones) Output:•The Object Point will be moved to the target feature. When a direction is specified, Point moves along the direction. Notes:•Multi-Points are supported – Object Point moved to Target Point in each pair, or along the optionally specified direction. •Offsets are supported – The Offset Value (if existing) is applied for each pair. •Feature distance measure now used to find the closest target position and direction instead of the closest meshed point. •The object point direction is updated based on the direction of the target point.
|
---|
This routine adds a delta to the existing diameter. The delta value is taken from a measurement input. This routine is a move-deviate routine, which is deviating the diameter(s) associated with object point(s) instead of moving the component(s). Input:•One Center Object Point or Diametrical Feature. One is required. •One Measurement is required. Make sure the measurement provides the delta value. Output:•The diameters associated with Center Object Points or Diametrical Features will be changed by a delta taken from the selected measurement. If an Object Point is a Feature Point and is associated with a Circle, the associated Circle Size will be updated. The feature size (mesh size) is NOT updated when a Feature Point is selected. Notes:At least one point is required but multiple points can be used. All points used in the object field will produce the same size. Even when different measurements are added, only the first measurement will be used. All other measurements will be ignored.
|
---|
Take Measurements When Executing the Moves (dcsMvTakeMeasValues)
This move routine will take measurements at the time the move is executed. This routine does not change any model geometry location. Input:•Measurements are required. •Value - If the user input a value= 1 then the simulation will only collect the data for the builds within the spec limit. Output:•The selected measurements will remember the calculated values at the time this move was executed. Please notice that if a measure is used as condition or interference checking in a move after this current move, the measured value will be re-calculated at the last move execution time.
Special rules:If a TakeMeasValues move is used, the nominal value calculation happens at the move execution. If multiple TakeMeasValues moves are used for the same measurement, the first TakeMeasValues move will calculate the nominal value for the measurement. Notes:The Take-Measure Routine can use most measure types within 3DCS; however, it's not recommended to use the Combination Measure within the Take-Measure routine. See also...Engine Compression Ratio Variation Study
|
---|
Copy Point Deviation (dcsMvCopyDeviation)
This routine deviates the object features based on the deviation of the target features. The deviation includes both position and size with options. This routine is a move-deviating routine, which is deviating both positions and sizes associated with object features instead of moving the components (Move Parts.) Input:Object Features: At least one object feature is required. Target Features: At lease one target feature is required. (Needs the same amount of points that is in the Object Features list to deviate the points in Object Features list). Values: oFirst Value: Position Scale - Can be positive, negative, or zero. When Position Scale is zero, no action is taken for the position deviation. oSecond Value: Size Scale - Can be positive, negative, or zero. When Size Scale is zero, no action is taken for the size deviation. oThird Value: Target Calculation Flag - Can be 0 or 1. Indicates whether the target position and size should be combined or not. If Target Calculation Flag is zero (default), the target positions and sizes are averaged and applied on the object features. If Target Calculation Flag is 1, the target positions and sizes are applied by pairing each target and object feature with the same index. Output:•The object feature position will be deviated by the target feature deviation with the Position-Scale if Position-Scale is non-zero. •The object size will be deviated by the target feature size deviation with the Size-Scale if Size-Scale is non-zero. •The routine only functions properly after the nominal build to get the correct target nominal positions and sizes. •If multiple target features are selected: o(1) When the target-calculation-flag is zero, the average values (position or size) are used. o(2) When the target-calculation-flag is 1, the deviation of target position and size will be applied on the paired object feature with the same index. If an object feature or a target feature is not a feature-of-size, the size deviation will be ignored. |
---|
Translate Two Points to the Closest Position (DCSMvTranslate2PtsToClosest)
This routine identifies the closest position on two features (surface or edge) using two points. (Relocated from dcu_constraint.dll) The routine is used for translating a slider in touch with a cam. Input:•Object Features: Require two coordinate points. •Target Features require two features. •Direction: One direction is optional. When a direction is added, this routine will use the direction to project the points to the closest surface. •Value or Constant: oThe user will need to specify how many features will correspond to the first feature in the Object list. For example, if the Value1 = 3, the first set of 3 surfaces in the Target list will correspond to the first feature in the Object part. The rest of features will correspond to the second feature. oIf no Value is applied, or if the Value = 0, this will automatically correspond the first feature in the Target list with the first feature in Object list by default. Output:•The point Point1 is located to the closest position on Feature1; the point Point2 is located to the closest position on Feature2. If the selected features interfere, the points will move to the estimated maximum amount of interference. The estimate is the same as the one used by the Feature measure. |
---|
Rotate Two Points to the Closest Position (dcsMvRotate2PtsToClosest)
This routine locates two points to the closest positions on two features (surface or edge). The routine is used for rotating two gears in touching position. Input:•Object Features: Requires two coordinate points. •Target Features: Requires three features: Rotating Center and two other features. •Components: Ignored •Direction: One Direction is required as the Rotating Axis. •Value: oValue1 (=Group1) is the group number for features as Feature1( features listed under the Rotating Center feature); rest of features will be as Feature2; If no value or value1 = 0, Group1 = 1 by default. Output: •The point Point1 is located to the closest position on Feature1; the point Point2 is located to the closest position on Feature2. The closest is calculated between Feature1 and Feature2 by rotating at the Rotating Center around the Rotating Axis. |
---|
Translate Two Points To Two Planes Intersection (dcsMvTanslate2PtsToPlanes)
Translates two points to the intersection line of two planes. This routine enables the feature move to support the case when primary plane and secondary plane have a non-90-degree angle. Input:•Object Features: Requires two points. •Target Features: Requires two or three features: oFeature1 always defines the plane. oFeature2 and Feature3 can be points or CADSurfs and will define the line. If Feature3 is not added, then Feature2 must be a CadEdge. •Components: Ignored •Direction: Ignored. Output:•Point1 and Point2 are translated to the intersection line of two target planes. |
---|
Translate One Point To Plane and Line Intersection (dcsMvTanslatePtToPlaneLine)
Translates one point to the intersection of plane and line. This routine enables the feature move to support the case when secondary plane and tertiary plane have a non-90-degree angle. Input:•Object Features: Requires one point. •Target Features: Requires three features: Feature1 - Plane (Surface); Feature2 and Feature3 - Two Points to make a Line. •Components: Ignored •Direction: Ignored. Output:•Point1 is translated to the intersection of plane and line. Please use the example model from the folder below to understand the userdll move. C:\Users\Public\Public Documents\DCS\3DCS_All Platforms_8_0_0_1\3DCS CAD & Example Models\Reference Models\Moves\Translate Pt to Plane Line
|
---|
Translate Two Points to LSQ Position and Direction (dcsMvTanslate2PtsToLsqPosDir)
Translates two points to the LSQ Position and Direction as well as the size if applicable. Input:•Object Features: Requires two points. •Target Features: Requires a set of features. •Components: Ignored •Direction: Ignored. •Value: is the feature combining option: oNo Combination if Value1 = 0; oAll Target Features are combined as one Plane if Value1 = 1; oAll Target Features are combined as one Axis if Value1 = 2. (Enhanced 09/09/13/YZ) Output:•If Target Features are all circles (cylinder, circle edge, point-based circle), Point1 and Point2 are translated to the least-squared axis with the minimum size. •Otherwise, Point1 is translated to the Least-Squared Plane Position and Point2 is translated to the Least-Squared Plane Direction. The distance between Point1 and Point2 is kept as before the action.
|
---|
Rotate and Translate with Random Value (dcsMvRollTranslateByRandom)
Transforms components by rotating and translating with a random value input. The random value provides the translating amount. It can simulate a motion if random value input is set as the 'Step' distribution over multiple steps. Input:•Object Features: ignored •Target Features: two features are required: o1st feature (circle or cylinder) for rotating center and direction and it must provide the rolling diameter; o2nd feature for translating direction •Components: required •Direction (optional): two directions o1st direction for rotating direction; o2nd direction is for translating direction. •Random Parameter: One Random required for translating amount •Values (optional - one value): o0 => rolling, both rotating and translating; 1 => rotating only; 2 => translating only) Output:•The components will be rotated and translated based on the random value. HLM Analysis is supported.
|
---|
Locate Points to the Torus Minor Centers (dcsMvLocatePtAtTorusMinorCnt)
Locates Points to the Torus Minor Centers. The routine deals with a Torus surface. It's a point-locating routine. The routine can be used with the Measure Routine, 'dcsMsDistFrCrToPt', to measure the Profile deviation on a Torus. Input:•Object Features: Object Points to be re-located, required to be a Coordinate point with a Circle Size. •Target Features: Each point should be a Feature-Point associated with a Torus. •Move Parts: ignored •Direction: ignored. Output:•Each Object Point will be relocated to the corresponding Torus Minor Center. The Object Point direction is updated by the Torus Minor Circle direction. If an Object Point is associated with a circle, the circle Radius will be equal to the Torus Minor radius.
|
---|
Translate (Project) Point to Feature (Plane, Line, or Cylinder). This Move routine is used to verify the internal calculations. Input:•Object Features: Object Points to be re-located •Target Features: Target Features used as Plane, Line, or Cylinder •Components: ignored •Directions: Optional Directions; use direction for a two-point direction or a three-point normal direction. Values: (Optional flag Value1 is used)•Value1 = 0 (default): Target Feature is treated as Cylinder if Target Feature is a Size Feature (circle, cylinder, Sphere); otherwise treated as Plane; the object point is projected on the Plane or Axis Line. •Value1 = 1: Projected on the Surface of Target Feature either Plane or Size Feature based on the default feature identification same as Value1 = 0. •Value1 = 2: Projected on the Target Plane •Value1 = 3: Projected on the Target Cylinder Axis •Value1 = 4: Projected on the surface of Target Cylinder Output:•Each Object Point will be translated (projected) on the corresponding Target Features. If Direction is available, the direction will overwrite the Target direction.
|
Evaluating Points Position (dcsMvPositionEvaluatingPtsInMeas)
Description:Translate two points to indicate the evaluating point positions used in a measurement with measure type: Two-Point-List, Feature-Measure, and Circle-Interference. User Input:Object Points: two points. Measure List: the first measure is used Output:Position 1st and 2nd Object Points as two evaluating point used in the selected measure with supported measure types.
|
---|
Position Evaluating Points on Feature (dcsMvPositionEvaluatingPtsOnFeature)
Description: Used for testing GD&T Measurements. Translates points to a surface to indicate the points used to evaluate the GD&T Measurement when the surface is selected as the measurement feature. The surface must be planar or cylindrical (holes and pins).
Planar Surfaces Input:Object Features: Four points Target Features: One planar surface Output:Point 1 is translated to the Feature Locating Point (the center of the surface). Points 2, 3, and 4 are translated to the extreme points of the surface.
Cylindrical Surfaces (Hole or Pin) Input:Object Features: 11 points Target Features: One cylindrical surface (hole or pin) Output:Point 1 is translated to the Feature Locating Point (the center of the cylinder at the middle of the axis). Points 2 and 3 are translated to the center of the cylinder at the ends of the axis. Points 4, 5, 6, and 7 are translated to the surface of the feature in a circle around Point 2 spaced 45° apart. Points 8, 9, 10, and 11 are translated to the surface of the feature in a circle around Point 3 spaced 45° apart.
|
---|
Requires a pair of points on two adjacent features. This type of move will deviate the paired points as one zipped surface, or as a corner. This will also be required to create a closed polyhedron which will be used with the Closed Volume measure.Translate paired points to the common position calculated from corresponding deviated positions. This routine provides the function for visually zip two deviated surfaces together. This routine has the same effect as CopyDeviation function twice. Description: Translate paired points to the common position calculated from corresponding deviated positions. This routine provides the function for visually zip two deviated surfaces together. Input:Object Features: At least one object point is required. Target Features: At lease one target point is required. Output:Translate each paired points to the common position calculated from deviated position. Notes:Some parts may require to add the surface in the Object Feature list and the Target Feature list. For example, zipping or sewing a cylindrical feature, the cylinder surface will be used in the Object field x2 and the Target field after the top surface, if considering a pin-type feature. |
---|
Zip Surfaces (dcsMvZipObjectsToTargets)
Translate object features to paired target features. This routine provides the function for visually zip or sew two deviated surfaces together across the parts. Input:•Object Points: object features. •Target Points: target features •Directions: one direction required for linking plane normal direction Output:Translate each paired points to the target position. |
---|
Feature to Feature Minimum Measure (dcsFeat2FeatMinMs)
To facilitate the verification of the move routine dcsFeatRotateMv, a feature-based measure, as a User DLL measure routine is added. Description:•Measure the minimum distance between two features. Input:•Object Features: Feature is required. Provides an infinite Measure Plane {Plane Point, Plane Direction}. •Target Features: Feature is required. •Scale (Optional). Add a scale to multiply the measure output by a scale. Output:•The minimum distance from all meshed Points on the Group2-Feature to the Measure Plane along the Plane Direction. Calculation Methods:•Measures the minimum distance of, which is calculated by Least-Square High Point Method. |
---|
Measure Distance from Circle to a Point (dcsMsDistanceFromCircleToPoint)
Measures the distance from a circle to a point. This routine is used with the move routine, 'dcsMvLocatePtAtTorusMinorCnt', to measure the Torus Profile deviation. Input:•From Feature (Group1): one Fr-Point associated with a circle. •To Feature (Group2): one To-Point on a surface. Output:•The distance between the circle at Fr-Point and To-Point will be calculated. The calculation direction is from Fr-Point to To-Point. The distance could be either positive or negative. (If multiple pairs of Fr-Points and To-Points are presented, the distance with maximum magnitude is reported.)
|
---|
This routine is designed as a Tolerance to scale the selected features relative to a center plane. It is closely related with Arc Tolerance with Mag as scaling. This routine can be used to simulate the thermal shrinkage and warping (e.g. heat is on a plane). KEY: CNTSCALE, CENTERSCALE
User Input:•Features are required (Support Mesh Nodes or Points) •One Center feature is required as Reference Plane which provides the Reference Center Plane and Main Scaling Direction •Optional One Direction; Default Main DIR = Center Associated DIR •There is Range and Offset applied with a Step distribution oRange - the number shown in the Range field - in the analysis results this number is multiplied by the Distance from the point to the Center Plane or Center Point (if no Scale is applied). oOffset - is a number representing the distance from the point to the Center Plane or Center Point. Offset of 1 is the entire distance. •One Random Value (entered under Constants) is required if Scaling is applied but Scale is optional. oYou can add a Scale for each direction; once you add a scale there will be a deviation along the scaled direction. The Min and Max numbers in the Analysis window are calculated by multiplying the Range x Distance (from the Center Plane/Point) x Scale. oIf a fourth number is added to the Values (a value of 1) the Center Point is used, instead of the Center Plane. When this fourth constant is present the first three Scales and Directions are ignored.
Output:•The selected features are scaled based on the random scaling relative to the distance from the selected Center Plane.
Note:The tolerance mode could be "Group" or "Individual"; Group mode is better for viewing
|
---|
Power Function (dcsTlPowerFnDev)
This routine is designed as a Profile (Linear) Tolerance. This tolerance deviates the selected features with the Power Random Distribution in either Individual or Group mode. Inputs:•Features are required •One Direction is required •One Random Value is required. The distribution type is ignored, instead will use the Power Distribution. Output:•The selected features are deviated based on Power Distribution. |
---|
Transform Feature by Tolerance (dcsTlTransformFeat)
This routine is designed as a Tolerance. Hence, this routine provides two contributors, one for Translating and one for Rotating. The routine transforms (Translate and Rotate) the selected features. Input:•Features are required •Two Directions are required: one for Translating Direction and one for Rotating Axis •Two Random Values are required: one for Translating and one for Rotating (angle) •One center is required for Rotating Center. If the center is missing, the selected feature geo-center will be used as the rotating center Output:•The selected features are translated along the Translating Direction and rotated around the Rotating Center around the Rotating Axis. |
---|
Draft Angle tolerance (dcsTlDraftAngle)
Notes:•Using the Flex Body Defn (Definition) will avoid some dialog validation checks. For example: some User-DLLs don't require a part in the Move Parts list. Activating the Flex Body Defn will not ask to add a part in the Move Parts list.
|