La función extruida de desarrollo secundario de UG no puede estirar 6 prismas
¿Es este un ejemplo en el archivo de ayuda? El mío es casi igual al tuyo, lo he conseguido, puedes probarlo
double l1_endpt1[3] = {-1.4476606170268,2.3788333712953,0.0};
double l1_endpt2[3] = { 1.5471310496399, 2.2539419253757,0.0};
doble l2_endpt1[3] = {-1.4476606170268,1.2548103580189,0.0};
doble l2_endpt2[3] = { 1.5471310 496399,1.37970180 39385, 0.0}; p>
doble l3_endpt1[3] = {-1.4710981170268,1.8168218646571,0.0};
doble l3_endpt2[3] = { 1.5289018829732,1.8168218646571,0.0};
doble dirección [3] = {0.0,0.0,1.0};
doble ref_pt[3];
// doble arc1_start_ang = (PI/180)*87.611984536731;
// doble arc1_end_ang = (PI/180)*272.38801546327;
doble arc1_start_ang = (PI/180)*0;
doble arc1_end_ang = (PI /180)*360 ;
doble arc1_rad = 0.5625;
doble arc2_start_ang = (PI/180)*272.38801546327;
doble arc2_end_ang = (PI/180 )*447.61198453673;
doble arc2_rad = 0.4375;
char *part_name = "brazo";
char *taper_angle = "0.0";
char * limit1[2] = {"1.0", "1.25"};
int english_units = 2, i, count = 4;
tag_t objarray[5] , parte, wcs_tag, Matrix_tag;
uf_list_p_t loop_list, características;
UF_FEATURE_SIGN create = UF_NULLSIGN;
UF_CURVE_line_t línea1, línea2, línea3;
UF_CURVE_arc_t arc1, arc2;
line1.start_point[0] = l1_endpt1[0];
line1.start_point[1] = l1_endpt1[1];
línea1.start_point [2] = l1_endpt1[2];
línea1.end_point[
0] = l1_endpt2[0];
line1.end_point[1] = l1_endpt2[1];
line1.end_point[2] = l1_endpt2[2];
línea2.start_point[0] = l2_endpt1[0];
línea2.start_point[1] = l2_endpt1[1];
línea2.start_point[2] = l2_endpt1[ 2];
línea2.end_point[0] = l2_endpt2[0];
línea2.end_point[1] = l2_endpt2[1];
línea2. end_point[2] = l2_endpt2[2];
line3.start_point[0] = l3_endpt1[0];
line3.start_point[1] = l3_endpt1[1]; p> p>
line3.start_point[2] = l3_endpt1[2];
line3.end_point[0] = l3_endpt2[0];
line3.end_point[1 ] = l3_endpt2[1];
line3.end_point[2] = l3_endpt2[2];
arc1.start_angle = arc1_start_ang;
arc1.end_angle = arc1_end_ang;
arc1.arc_center[0] = l3_endpt1[0];
arc1.arc_center[1] = l3_endpt1[1];
arc1.arc_center [2 ] = l3_endpt1[2];
arc1.radius = arc1_rad;
arc2.start_angle = arc2_start_ang;
arc2.end_angle = arc2_end_ang; p>
arc2.arc_center[0] = l3_endpt2[0];
arc2.arc_center[1] = l3_endpt2[1];
arc2.arc_center[2] = l3_endpt2[ 2];
arc2.radius = arc2_rad;
UF_CALL(UF_PART_new(part_name, english_units, &part));
UF_CALL(UF_CURVE_create_line(&line1, &objarray[ 0]));
UF_CALL(UF_CURVE_create_line(&line2,&objarray[1]));
UF_CALL(UF_CURVE_create_line(&line3,&objarray[4]));
UF_CALL(UF_CSYS_ask_wcs(&wcs_tag));
UF_CALL(UF
_CSYS_ask_matrix_of_object(wcs_tag, &matrix_tag));
arc1.matrix_tag = Matrix_tag;
arc2.matrix_tag = Matrix_tag;
UF_CALL(UF_CURVE_create_arc(&arc1, &objarray[2 ]));
UF_CALL(UF_CURVE_create_arc(&arc2, &objarray[3]));
UF_CALL(UF_MODL_create_list(&loop_list));
// for( i = 0; i < cuenta; i++) {
UF_CALL(UF_MODL_put_list_item(loop_list, objarray[2]));
// }
UF_CALL( UF_MODL_create_extruded(loop_list, taper_angle, limit1,
ref_pt, direction, create, &features));
He eliminado mi UG, ¿puedes probar esto primero?