hm_linefilleting
Find the new parameterization of 2D parameterized points in other to have a fillet with a particular radius on the given points.
Syntax
hm_linefilleting u_coords v_coords id_joints fillet_radius id_pointsType
HyperWorks Tcl Query
Description
This command returns the new parameterization of 2D points (u_coords, v_coords). The parameterization is given by the joint list ”id_joints”,( look into hm_lineparameterization for the joints definitions) .The new parameterization will contain arcs, with radius “fillet_radius”, on to the points with id “id_points”.
- parameterization
- N, u_list, v_list , id_joint_list, error_code.
- N: number of the new 2D points.
- u_list: u coordinates of the new 2D points.
- v_list: v coordinates of the new 2D points.
- id_joint_list: id of the 2D points (joints) that identify the new parameterization.
- error code:
- 1 : works fine
- -1 : few points available.
- -2 : possible under cut.
- -3 : no arc with the given radius.
- -4 : possible under cut due to de-fillet.
Example
To get the new parameterization (parameterization) of 2D points (u_coords,v_coords) given the fillet radius (fillet_radius) and the point of application (id_points), it is necessary to define the list of u points coordinates and the list of v points coordinates and to define the joints list id.
set u_coords [list 0.000000 10.378596 10.756999 14.177352 17.237590 30.395608 37.458259 43.931124 49.025821 97.1530504825 75.748947 92.918543 109.903560 127.884944 139.506781146 163.908138 180.403318 181.166188357 204.867479 210.392677 211.051515 211.343926 211.670544 216.586022 221.146301]
set v_coords [ list -0.000000 -18.845814 -39.105208 -55.782483 -59.928431 -67.171536 -68.832775 -70.246115 -72.601062 -45.2114789392 -85.778399 -93.731987 -97.225670 -96.526943 -64.9996973641 -92.430057 -82.680979 -49.3774196602 -62.251118 -46.902765 -16.083103 -6.730220 -3.228096 0.444887 4.299803]
set id_joints [list 0 2 3 4 5 7 8 9 10 11 13 14 16 17 18 19 22 24]
set fillet_radius 10.000
set id_points [list 9 14 17]
set parameterization [hm_linefilleting $u_coords $v_coords $id_joints $fillet_radius $id_points]
27
0 1.02122135162E+001 1.07569990158E+001 1.41773519516E+001 1.72375907898E+001 3.03956089020E+001 4.39311256409E+001 4.90258216858E+001 6.73738708496E+001 7.90940322876E+001 8.11644592285E+001 7.57489471436E+001 9.29185409546E+001 1.10232032776E+002 1.27884941101E+002 1.30136596680E+002 1.36852966309E+002 1.46170837402E+002 1.64143356323E+002 1.80403320313E+002 1.80791213989E+002 1.85560852051E+002 1.95561584473E+002 2.04867477417E+002 2.10392669678E+002 2.11670547485E+002 2.21146301270E+002
0 -1.82229537964E+001 -3.91052093506E+001 -5.57824821472E+001 -5.99284324646E+001 -6.71715393066E+001 -7.02461166382E+001 -7.26010589600E+001 -6.21580810547E+001 -6.34930191040E+001 -7.55157165527E+001 -8.57783966064E+001 -9.37319869995E+001 -9.72526702881E+001 -9.65269393921E+001 -9.04187393188E+001 -8.42395553589E+001 -8.64103469849E+001 -9.24056701660E+001 -8.26809768677E+001 -6.57473602295E+001 -5.74516487122E+001 -5.71889610291E+001 -6.22511177063E+001 -4.69027633667E+001 -3.22809600830E+000 4.29980278015E+000
0 2 3 4 5 6 7 8 10 11 12 14 15 17 19 20 22 23 24 25 26
1
Errors
set parameterization [hm_linefilleting $u_coords $v_coords $id_joints $fillet_radius $id_points]
set error_code [lindex $parameterization end]
if {$error_code <0} {
#Handle error here //I can't find the new parameterization.
}