/****************************************************************************** Copyright (c) 1999 Unigraphics Solutions, Inc. Unpublished - All Rights Reserved *******************************************************************************/ /* The following example creates an isocline curve feature using one face selected by the user. The output is a family of curves at angles 0, 30, 60, and 90 degrees, relative to the Y axis. */ #include #include #include #include #include #include void ufusr (char *param ,int *retcod, int param_len) { int rc, response; tag_t view, iso_feat, faces[1] = {NULL_TAG}; double dir[3] = { 0.0, 1.0, 0.0 }; char *start = "0.0", *end = "90.0", *step = "30.0 "; double cursor[3]; UF_UI_selection_options_t opts; UF_UI_mask_t mask = {UF_solid_type, 0, UF_UI_SEL_FEATURE_ANY_FACE}; UF_initialize(); /* Ask user to select a face */ opts.other_options = 0; opts.reserved = NULL; opts.num_mask_triples = 1; opts.mask_triples = &mask; opts.scope = UF_UI_SEL_SCOPE_WORK_PART; UF_UI_select_single( "Select Isocline Face", &opts, &response, &faces[0], cursor, &view ); if ( faces[0] != NULL_TAG ) { /* Create isocline feature on selected face */ rc = UF_CURVE_create_isocline( 1, faces, dir, start, end, step, &iso_feat ); } UF_terminate(); }