|
C3D Toolkit
Kernel - 118057, Vision - 2.14.7.1821
|
Parameters of fillet or chamfer of edge. More...
#include <op_shell_parameter.h>
Public Types | |
| enum | CornerForm { ec_pointed = 0 , ec_either = 1 , ec_uniform = 2 , ec_sharp = 3 } |
| Methods of processing corners of connection by three edges. More... | |
Public Member Functions | |
| SmoothValues () | |
| Default constructor. | |
| SmoothValues (double d1, double d2, MbeSmoothForm f, double c, bool pro, CornerForm cor, bool autoS, bool keep, bool str, bool equ) | |
| Constructor. More... | |
| SmoothValues (double d1, double d2, MbeSmoothForm smoothForm, double conicValue, bool bProlong, CornerForm cornerForm, ThreeStates keepForm, bool isStrict, bool isEquable) | |
| Constructor. More... | |
| SmoothValues (const SmoothValues &other, MbRegDuplicate *iReg=nullptr) | |
| Copy-constructor. | |
| virtual | ~SmoothValues () |
| Destructor. | |
| void | Init (const SmoothValues &other) |
| Initialization function. | |
| bool | InitEquidistantFillet (double rad) |
| Function for initializing filleting with a sphere with equal offsets from surfaces. More... | |
| bool | InitEquidistantFillet (double r1, double r2) |
| Function for initializing filleting with a sphere with different offsets from surfaces. More... | |
| bool | InitChordFillet (double chord) |
| Function for initializing filleting by a sphere with a given chord between the points of contact of the surfaces. More... | |
| bool | InitEllipseFillet (double a, double b) |
| Function for initializing the rounding by "ellipse arc". More... | |
| bool | InitChamfer (double dist) |
| Function for initializing a chamfer with equal offsets. More... | |
| bool | InitChamfer (double dist1, double dist2) |
| Function for initializing a chamfer with different offsets. More... | |
| bool | InitOneSideChamfer (bool firstSide, double dist, double ang) |
| Function for initializing chamfers by cathetus and angle. More... | |
| bool | ModifyDistances (double d1, double d2) |
| Function for modifying the size of offsets. More... | |
| void | SetProperties (double c, bool pro, CornerForm cor, bool autoS, bool keep, bool str, bool equ) |
| Setting operation options. More... | |
| virtual void | Transform (const MbMatrix3D &, MbRegTransform *ireg=nullptr) |
| Transform an object according to the matrix. | |
| virtual void | Move (const MbVector3D &, MbRegTransform *=nullptr) |
| Move an object along a vector. | |
| virtual void | Rotate (const MbAxis3D &, double ang, MbRegTransform *ireg=nullptr) |
| Rotate an object at a given angle around an axis. | |
| bool | SetStopObjectAtBeg (const MbSurface *object, bool byObject=true) |
| Set the plane by which parallel will be carry out stop of the fillet at the begin. | |
| bool | SetStopObjectAtEnd (const MbSurface *object, bool byObject=true) |
| Set the plane by which parallel will be carry out stop of the fillet at the end. | |
| void | SetBegVector (const MbVector3D &vect) |
| Set normal to the bound plane at the begin. | |
| void | SetEndVector (const MbVector3D &vect) |
| Set normal to the bound plane at the end. | |
| void | GetBegVector (MbVector3D &vect) const |
| Get normal vector to the bound plane at the begin of the fillet. | |
| void | GetEndVector (MbVector3D &vect) const |
| Get normal vector to the bound plane at the end of the fillet. | |
| double | GetDistance1 () const |
| Get radius of curvature/leg on the first surface. | |
| double | GetDistance2 () const |
| Get radius of curvature/leg on the second surface. More... | |
| MbeSmoothForm | GetForm () const |
| Method of processing corners of connection by three edges. | |
| void | SetSmoothCorner (CornerForm f) |
| Prolong along the tangent. | |
| void | SetProlong (bool p) |
| Auto detection of boundary saving (ts_neutral), surface saving (ts_negative), boundary saving (ts_positive). | |
| void | SetKeepCant (ThreeStates s) |
| If false - round at least what is possible. | |
| void | SetStrict (bool s) |
| In corners of the joint insert toroidal surface (for stamping sheet solid). | |
| void | SetEquable (bool e) |
| Distance from the beginning of fillet to the stop point. | |
| double & | SetBegLength () |
| Distance from the end of fillet to the stop point. | |
| double & | SetEndLength () |
| Coefficient of shape. | |
| SmoothValues & | operator= (const SmoothValues &other) |
| Assignment operator. | |
| bool | IsSame (const SmoothValues &other, double accuracy) const |
| Determine whether an object is equal? | |
| bool | IsSimilar (const SmoothValues &other, double accuracy=PARAM_EPSILON) const |
| Determine whether objects are partially equal. | |
Static Public Member Functions | |
| static double | GetAngleBySide (double d1, double d2) |
| Calculation of an angle using two cathetus. More... | |
Public Attributes | |
| double | distance1 |
| Radius of curvature/leg on the first surface. | |
| double | distance2 |
| Radius of curvature/leg on the second surface. | |
| double | conic |
| Coefficient of shape is changed from 0.05 to 0.95 (if 0 - circular arc). | |
| double | begLength |
| Distance from the beginning of fillet to the stop point (UNDEFINED_DBL - no stop). | |
| double | endLength |
| Distance from the end of fillet to the stop point (UNDEFINED_DBL - no stop). | |
| MbeSmoothForm | form |
| Mate type of fillet/chamfer. | |
| CornerForm | smoothCorner |
| Method of processing corners of connection by three edges. | |
| bool | prolong |
| Prolong along the tangent. | |
| ThreeStates | keepCant |
| Auto detection of boundary saving (ts_neutral), surface saving (ts_negative), boundary saving (ts_positive). | |
| bool | strict |
| If false - round at least what is possible. | |
| bool | equable |
| In corners of the joint insert toroidal surface (for stamping sheet solid). | |
Parameters of fillet or chamfer of edge.
The parameter of fillet or chamfer of edge contain Information necessary to perform the operation.
Methods of processing corners of connection by three edges.
|
inline |
Constructor.
Constructor by parameters.
| [in] | d1,d2 | - Radii of curvature/catheti. |
| [in] | f | - Method of construction of mating surface. |
| [in] | c | - Coefficient of shape is changed from 0.05 to 0.95 (if 0 - circular arc). |
| [in] | pro | - Prolong along the tangent. |
| [in] | cor | - Method for bending corner of three surfaces. |
| [in] | autoS | - Auto detection of boundary/surface saving. |
| [in] | keep | - Keep boundary (true) or keep surface of fillet/chamfer (false). |
| [in] | str | - Strict fillet. If false - round at least what is possible. |
| [in] | equ | - In corners of the joint insert toroidal surface. |
|
inline |
Constructor.
Constructor by parameters.
| [in] | d1,d2 | - Radii of curvature/catheti. |
| [in] | smoothForm | - Method of construction of mating surface. |
| [in] | conicValue | - Coefficient of shape is changed from 0.05 to 0.95 (if 0 - circular arc). |
| [in] | bProlong | - Prolong along the tangent. |
| [in] | cornerForm | - Method for bending corner of three surfaces. |
| [in] | keepForm | - Auto detection of boundary saving (ts_neutral), surface saving (ts_negative), boundary saving (ts_positive). |
| [in] | isStrict | - Strict fillet. If false - round at least what is possible. |
| [in] | isEquable | - In corners of the joint insert toroidal surface. |
| bool SmoothValues::InitEquidistantFillet | ( | double | rad | ) |
Function for initializing filleting with a sphere with equal offsets from surfaces.
The function sets the shape and size of the offsets without changing other properties of the class. The first support curve, laid out along the normal to the first surface at a distance of rad, will coincide with the second support curve, laid out along the normal to the second surface at a distance of rad.
| [in] | rad | - Radius of a sphere. |
| bool SmoothValues::InitEquidistantFillet | ( | double | r1, |
| double | r2 | ||
| ) |
Function for initializing filleting with a sphere with different offsets from surfaces.
The function sets the shape and size of the offsets without changing other properties of the class. The first support curve, laid out along the normal to the first surface at a distance of r1, will coincide with the second support curve, laid out along the normal to the second surface at a distance of r2. Not to be confused with ellipse filleting!
| [in] | r1,r2 | - Offset values. |
| bool SmoothValues::InitChordFillet | ( | double | chord | ) |
Function for initializing filleting by a sphere with a given chord between the points of contact of the surfaces.
The function sets the shape and size of the offsets without changing other properties of the class.
| [in] | chord | - Chord value. |
| bool SmoothValues::InitEllipseFillet | ( | double | a, |
| double | b | ||
| ) |
Function for initializing the rounding by "ellipse arc".
The function sets the shape and size of the offsets without changing other properties of the class. Each fillet section is an ellipse with semi-axes a and b, oriented so that the major semi-axis is directed along the normal to the corresponding surface. Not to be confused with a sphere fillet with different offsets!
| [in] | a,b | - Semi-axes of an ellipse. |
| bool SmoothValues::InitChamfer | ( | double | dist | ) |
Function for initializing a chamfer with equal offsets.
The function sets the shape and size of the offsets without changing other properties of the class.
| [in] | dist | - Offset value. |
| bool SmoothValues::InitChamfer | ( | double | dist1, |
| double | dist2 | ||
| ) |
Function for initializing a chamfer with different offsets.
The function sets the shape and size of the offsets without changing other properties of the class.
| [in] | dist1,dist2 | - Offset values. |
| bool SmoothValues::InitOneSideChamfer | ( | bool | firstSide, |
| double | dist, | ||
| double | ang | ||
| ) |
Function for initializing chamfers by cathetus and angle.
The function sets the shape and size of the offsets without changing other properties of the class.
| [in] | firstSide | - true - if the cathetus is specified for the first surface. |
| [in] | dist | - Cathetus value. |
| [in] | ang | - The angle value in degrees (from 0 to 90). |
|
static |
Calculation of an angle using two cathetus.
| [in] | d1 | - Adjacent cathetus. |
| [in] | d2 | - Opposite cathetus. |
| [in] | ang | - The angle value in degrees (from 0 to 90). |
| bool SmoothValues::ModifyDistances | ( | double | d1, |
| double | d2 | ||
| ) |
Function for modifying the size of offsets.
The function changes the offsets in accordance with the form set in the initialization functions. For chord filleting, only the first offset is used. For chamfering by cathetus and angle, the angle will be recalculated by two cathetus. For other forms, the offsets passed to the function will be set.
| [in] | d1,d2 | - Offset values. |
| void SmoothValues::SetProperties | ( | double | c, |
| bool | pro, | ||
| CornerForm | cor, | ||
| bool | autoS, | ||
| bool | keep, | ||
| bool | str, | ||
| bool | equ | ||
| ) |
Setting operation options.
| [in] | c | - Coefficient of shape is changed from 0.05 to 0.95 (if 0 - circular arc). |
| [in] | pro | - Prolong along the tangent. |
| [in] | cor | - Method for bending corner of three surfaces. |
| [in] | autoS | - Auto detection of boundary/surface saving. |
| [in] | keep | - Keep boundary (true) or keep surface of fillet/chamfer (false). |
| [in] | str | - Strict fillet. If false - round at least what is possible. |
| [in] | equ | - In corners of the joint insert toroidal surface. |
|
inline |
Get radius of curvature/leg on the second surface.
Mate type of fillet/chamfer.