uc6560 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
Error Handler:
Returns the Error message from the last call to a solids routine. The
error message from the previous solid routine called is lost if UF6560
is not called right after that solid routine.

Environment
Internal and External
 
Required License(s)
gateway

 
int uc6560
(
char cr1 [ 300 ]
)
charcr1 [ 300 ] OutputReturned Error Message (40 char max)

 


 
uf5300 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5300 create cylinder
 
Required License(s)
gateway

 
void uf5300
(
double * ra1,
double * ra2,
double * rp3,
int * ip4,
tag_t * nr5
)
double *ra1
double *ra2
double *rp3
int *ip4
tag_t *nr5

 


 
uf5301 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5301 read cylinder data
 
Required License(s)
gateway

 
void uf5301
(
tag_t * np1,
double * rar2,
double * rar3,
double * rr4
)
tag_t *np1
double *rar2
double *rar3
double *rr4

 


 
uf5303 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5303 read cylinder endpoint and vector
 
Required License(s)
gateway

 
void uf5303
(
tag_t * np1,
double * rar2,
double * rar3
)
tag_t *np1
double *rar2
double *rar3

 


 
uf5305 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5305 read cylinder radius
 
Required License(s)
gateway

 
void uf5305
(
tag_t * np1,
double * rr2
)
tag_t *np1
double *rr2

 


 
uf5309 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5309 read cylinder real data
 
Required License(s)
gateway

 
void uf5309
(
tag_t * np1,
double * rar2
)
tag_t *np1
double *rar2

 


 
uf5310 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5310 create cone
 
Required License(s)
gateway

 
void uf5310
(
double * rp1,
double * rp2,
double * ra3,
double * ra4,
double * rp5,
int * ip6,
tag_t * nr7
)
double *rp1
double *rp2
double *ra3
double *ra4
double *rp5
int *ip6
tag_t *nr7

 


 
uf5311 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5311 read cone data
 
Required License(s)
gateway

 
void uf5311
(
tag_t * np1,
double * rr2,
double * rr3,
double * rar4,
double * rar5
)
tag_t *np1
double *rr2
double *rr3
double *rar4
double *rar5

 


 
uf5313 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5313 read cone axis vector
 
Required License(s)
gateway

 
void uf5313
(
tag_t * np1,
double * rar2
)
tag_t *np1
double *rar2

 


 
uf5315 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5315 read cone vertex coordinate
 
Required License(s)
gateway

 
void uf5315
(
tag_t * np1,
double * rar2
)
tag_t *np1
double *rar2

 


 
uf5317 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5317 read cone angle
 
Required License(s)
gateway

 
void uf5317
(
tag_t * np1,
double * rr2
)
tag_t *np1
double *rr2

 


 
uf5319 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5319 read cone real data
 
Required License(s)
gateway

 
void uf5319
(
tag_t * np1,
double * rar2
)
tag_t *np1
double *rar2

 


 
uf5320 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5320 create sphere
 
Required License(s)
gateway

 
void uf5320
(
double * ra1,
double * rp2,
int * ip3,
tag_t * nr4
)
double *ra1
double *rp2
int *ip3
tag_t *nr4

 


 
uf5321 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5321 read sphere data
 
Required License(s)
gateway

 
void uf5321
(
tag_t * np1,
double * rar2,
double * rr3
)
tag_t *np1
double *rar2
double *rr3

 


 
uf5323 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5323 read sphere axis vector
 
Required License(s)
gateway

 
void uf5323
(
tag_t * np1,
double * rar2
)
tag_t *np1
double *rar2

 


 
uf5325 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5325 read sphere center
 
Required License(s)
gateway

 
void uf5325
(
tag_t * np1,
double * rar2
)
tag_t *np1
double *rar2

 


 
uf5327 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5327 read sphere radius
 
Required License(s)
gateway

 
void uf5327
(
tag_t * np1,
double * rr2
)
tag_t *np1
double *rr2

 


 
uf5329 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5329 read sphere real data
 
Required License(s)
gateway

 
void uf5329
(
tag_t * np1,
double * rar2
)
tag_t *np1
double *rar2

 


 
uf5330 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5330 create body of revolution
 
Required License(s)
gateway

 
void uf5330
(
tag_t * np1,
double * ra2,
double * ra3,
double * ra4,
tag_t * nr5
)
tag_t *np1
double *ra2
double *ra3
double *ra4
tag_t *nr5

 


 
uf5331 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5331 read body of revolution axis vector
 
Required License(s)
gateway

 
void uf5331
(
tag_t * np1,
double * rar2
)
tag_t *np1
double *rar2

 


 
uf5333 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5333 read body of revolution point on axis
 
Required License(s)
gateway

 
void uf5333
(
tag_t * np1,
double * rar2
)
tag_t *np1
double *rar2

 


 
uf5339 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5339 read body of revolution real data
 
Required License(s)
gateway

 
void uf5339
(
tag_t * np1,
double * rar2
)
tag_t *np1
double *rar2

 


 
uf5340 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5340 create tabulated cylinder
 
Required License(s)
gateway

 
void uf5340
(
tag_t * np1,
double * ra2,
double * ra3,
tag_t * nr4
)
tag_t *np1
double *ra2
double *ra3
tag_t *nr4

 


 
uf5341 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5341 read tabulated cylinder axis vector
 
Required License(s)
gateway

 
void uf5341
(
tag_t * np1,
double * rar2
)
tag_t *np1
double *rar2

 


 
uf5349 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5349 read tabulated cylinder real data
 
Required License(s)
gateway

 
void uf5349
(
tag_t * np1,
double * rar2
)
tag_t *np1
double *rar2

 


 
uf5350 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5350 create ruled sheet
 
Required License(s)
gateway

 
void uf5350
(
tag_t * np1,
tag_t * np2,
int * ip3,
tag_t * nr4
)
tag_t *np1
tag_t *np2
int *ip3
tag_t *nr4

 


 
uf5360 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5360 create bounded plane
 
Required License(s)
gateway

 
void uf5360
(
int * ip1,
int ip2 [ ] ,
tag_t np3 [ ] ,
double * rp4,
tag_t * nr5,
int * ir6
)
int *ip1
intip2 [ ]
tag_tnp3 [ ]
double *rp4
tag_t *nr5
int *ir6

 


 
uf5363 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5363 read face anchor counts
 
Required License(s)
gateway

 
void uf5363
(
tag_t * np1,
int * ir2,
int * ir3,
int * ir4
)
tag_t *np1
int *ir2
int *ir3
int *ir4

 


 
uf5364 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5364 read face anchor object
 
Required License(s)
gateway

 
void uf5364
(
tag_t * np1,
int * ip2,
tag_t * nr3,
int * ir4
)
tag_t *np1
int *ip2
tag_t *nr3
int *ir4

 


 
uf5368 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5368 read face edge curve data
 
Required License(s)
gateway

 
void uf5368
(
tag_t * np1,
int * ip2,
int * ip3,
tag_t * nr4,
double * rr5,
int * ir6,
int * ir7
)
tag_t *np1
int *ip2
int *ip3
tag_t *nr4
double *rr5
int *ir6
int *ir7

 


 
uf5374 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5374 create plane
Replaced by UF_MODL_create_plane
 
Required License(s)
gateway

 
void uf5374
(
double * rp1,
double * rp2,
double * rp3,
tag_t * nr4
)
double *rp1
double *rp2
double *rp3
tag_t *nr4

 


 
uf5375 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5375 read plane data
Replaced by UF_MODL_ask_plane
 
Required License(s)
gateway

 
void uf5375
(
tag_t * np1,
double * rr2,
double * rr3
)
tag_t *np1
double *rr2
double *rr3

 


 
uf5376 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5376 edit plane data
Replaced by UF_MODL_edit_plane
 
Required License(s)
gateway

 
void uf5376
(
tag_t * np1,
double * rp2,
double * rp3
)
tag_t *np1
double *rp2
double *rp3

 


 
uf5380 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5380 create curve mesh sheet
 
Required License(s)
gateway

 
void uf5380
(
tag_t * na1,
tag_t * na2,
int * ip3,
int * ip4,
tag_t * nr5
)
tag_t *na1
tag_t *na2
int *ip3
int *ip4
tag_t *nr5

 


 
uf5381 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5381 read curve mesh sheet primary and
 
Required License(s)
gateway

 
void uf5381
(
tag_t * np1,
int * ir2,
int * ir3
)
tag_t *np1
int *ir2
int *ir3

 


 
uf5382 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5382 read curve mesh sheet primary curve
 
Required License(s)
gateway

 
void uf5382
(
tag_t * np1,
int * ip2,
tag_t * nr3
)
tag_t *np1
int *ip2
tag_t *nr3

 


 
uf5384 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5384 read curve mesh sheet cross curve
 
Required License(s)
gateway

 
void uf5384
(
tag_t * np1,
int * ip2,
tag_t * nr3
)
tag_t *np1
int *ip2
tag_t *nr3

 


 
uf5400 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5400 read face grid counts
Replaced by UF_MODL_ask_face_grid_count
 
Required License(s)
gateway

 
void uf5400
(
tag_t * np1,
int * iar2
)
tag_t *np1
int *iar2

 


 
uf5401 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5401 edit face grid counts
Replaced by UF_MODL_edit_face_grid_count
 
Required License(s)
gateway

 
void uf5401
(
tag_t * np1,
int * ia2
)
tag_t *np1
int *ia2

 


 
uf5404 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5404 read face u-v minimum/maximum -- replaced by UF_MODL_ask_face_uv_minma
x
 
Required License(s)
gateway

 
void uf5404
(
tag_t * np1,
double * rar2
)
tag_t *np1
double *rar2

 


 
uf5405 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5405 create bounding box for a face
 
Required License(s)
gateway

 
void uf5405
(
tag_t * np1,
double * rr2,
int * ir3
)
tag_t *np1
double *rr2
int *ir3

 


 
uf5406 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5406 read face normal direction
 
Required License(s)
gateway

 
void uf5406
(
tag_t * np1,
int * ir2
)
tag_t *np1
int *ir2

 


 
uf5407 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5407 edit face normal direction
 
Required License(s)
gateway

 
void uf5407
(
tag_t * np1,
int * ip2
)
tag_t *np1
int *ip2

 


 
uf5408 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5408 read face generating curve
 
Required License(s)
gateway

 
void uf5408
(
tag_t * np1,
int * ip2,
tag_t * nr3
)
tag_t *np1
int *ip2
tag_t *nr3

 


 
uf5409 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5409 trim sheet by loops
 
Required License(s)
gateway

 
void uf5409
(
tag_t * np1,
double * rp2,
int * ip3,
int * ip4,
int * ip5,
int * ip6,
tag_t * np7,
int * ip8,
int * ir9
)
tag_t *np1
double *rp2
int *ip3
int *ip4
int *ip5
int *ip6
tag_t *np7
int *ip8
int *ir9

 


 
uf5410 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5410 remove face trim
 
Required License(s)
gateway

 
void uf5410
(
tag_t * np1,
int * ir9
)
tag_t *np1
int *ir9

 


 
uf5411 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5411 read face trim status
 
Required License(s)
solid_modeling

 
int uf5411
(
tag_t * np1
)
tag_t *np1

 


 
uf5412 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5412 trim face by curves and points
 
Required License(s)
gateway

 
void uf5412
(
tag_t * np1,
double * rp2,
int * ip3,
int * ip4,
tag_t * np5,
int * ip6,
int * ip7,
double * rp8,
int * ir9
)
tag_t *np1
double *rp2
int *ip3
int *ip4
tag_t *np5
int *ip6
int *ip7
double *rp8
int *ir9

 


 
uf5440 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5440 create b-surface sheet
 
Required License(s)
gateway

 
void uf5440
(
int * ip1,
int * ip2,
int * ip3,
int * ip4,
int * ip5,
int * ip6,
int * ip7,
double * rp8,
int * ip9,
double * rp10,
double * rp11,
double * rp12,
double * rp13,
tag_t * nr14
)
int *ip1
int *ip2
int *ip3
int *ip4
int *ip5
int *ip6
int *ip7
double *rp8
int *ip9
double *rp10
double *rp11
double *rp12
double *rp13
tag_t *nr14

 


 
uf5441 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5441 read b-surface sheet data
Replaced by UF_MODL_ask_bsurf
 
Required License(s)
gateway

 
void uf5441
(
tag_t * np1,
int * ir2,
int * ir3,
int * ir4,
int * ir5,
int * ir6,
int * ir7,
int * ir8,
double * rr9,
int * ir10,
double * rr11,
double * rr12,
double * rr13,
double * rr14
)
tag_t *np1
int *ir2
int *ir3
int *ir4
int *ir5
int *ir6
int *ir7
int *ir8
double *rr9
int *ir10
double *rr11
double *rr12
double *rr13
double *rr14

 


 
uf5442 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5442 create b-surface sheet from body of
 
Required License(s)
gateway

 
void uf5442
(
tag_t * np1,
double * rp2,
double * rp3,
double * rp4,
tag_t * nr5
)
tag_t *np1
double *rp2
double *rp3
double *rp4
tag_t *nr5

 


 
uf5443 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5443 create b-surface sheet from list of curves
 
Required License(s)
gateway

 
void uf5443
(
int * ip1,
tag_t * np2,
int * ip3,
int * ip4,
int * ip5,
tag_t * nr6
)
int *ip1
tag_t *np2
int *ip3
int *ip4
int *ip5
tag_t *nr6

 


 
uf5444 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5444 approximate a face with a b-surface
 
Required License(s)
gateway

 
void uf5444
(
tag_t * np1,
double * rp2,
double * rp3,
tag_t * nr4,
int * ir5
)
tag_t *np1
double *rp2
double *rp3
tag_t *nr4
int *ir5

 


 
uf5448 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5448 create b-surface sheet from
Replaced by UF_MODL_create_bsurf_thru_pts
 
Required License(s)
gateway

 
void uf5448
(
int * ip1,
int * ip2,
int * ip3,
int * ip4,
int * ip5,
int * ip6,
int * ip7,
double * rp8,
double * rp9,
tag_t * nr10,
int * ir11
)
int *ip1
int *ip2
int *ip3
int *ip4
int *ip5
int *ip6
int *ip7
double *rp8
double *rp9
tag_t *nr10
int *ir11

 


 
uf5449 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5449 create free form feature by cubic fit from
 
Required License(s)
gateway

 
void uf5449
(
int * ip1,
tag_t * np2,
int * ip3,
int * ip4,
double * rp5,
tag_t * np6,
int * ip7,
int * ip8,
int * ip9,
double * rp10,
tag_t * nr11,
int * ir12
)
int *ip1
tag_t *np2
int *ip3
int *ip4
double *rp5
tag_t *np6
int *ip7
int *ip8
int *ip9
double *rp10
tag_t *nr11
int *ir12

 


 
uf5450 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5450 create offset face.
Edge curve tolerance controls how accurately the edge curves lie on
the face. The tolerance value cannot be less than .0001 inches or
.00254 mm. The offset distance (RP2) must be nonzero.
Geometry edits made to a base face are reflected in the associated
offsets. Therefore, be extremely careful when modifying base faces.
If an error occurs, NR5 = NULL. Call UF/uc6560 to get the
appropriate error message.

CAUTION:
The option to create a non-associative offset surface
with LP4 is no longer supported as of the V10 release.
 
Required License(s)
gateway

 
void uf5450
(
tag_t * np1,
double * rp2,
double * rp3,
int * lp4,
tag_t * nr5
)
tag_t *np1InputObject identifier of the base face
double *rp2InputOffset Distance
double *rp3InputEdge Curve Tolerance
int *lp4InputNot used.
tag_t *nr5OutputObject identifier of the offset surface. Set to
NULL if the offset surface was unable to be created.

 


 
uf5451 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5451 read offset distance
 
Required License(s)
gateway

 
void uf5451
(
tag_t * np1,
double * rr2,
int * ir3
)
tag_t *np1
double *rr2
int *ir3

 


 
uf5452 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5452 edit offset distance
 
Required License(s)
gateway

 
void uf5452
(
tag_t * np1,
double * rp2,
double * rp3
)
tag_t *np1
double *rp2
double *rp3

 


 
uf5453 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5453 base face type
 
Required License(s)
gateway

 
void uf5453
(
tag_t * np1,
int * ir2
)
tag_t *np1
int *ir2

 


 
uf5460 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5460 create free form feature using conic face
 
Required License(s)
gateway

 
void uf5460
(
int * ip1,
tag_t * np2,
tag_t * np3,
int * ip4,
double * rp5,
int * ip6,
int * ip7,
double * rp8,
int * ir9,
tag_t * nr10,
tag_t * nr11,
double * rr12
)
int *ip1
tag_t *np2
tag_t *np3
int *ip4
double *rp5
int *ip6
int *ip7
double *rp8
int *ir9
tag_t *nr10
tag_t *nr11
double *rr12

 


 
uf5461 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5461 create free form feature using sweeping
 
Required License(s)
gateway

 
void uf5461
(
int * ip1,
tag_t * np2,
int * ip3,
int * ip4,
tag_t * np5,
int * ip6,
int * ip7,
tag_t * np8,
int * ip9,
int * ip10,
tag_t * np11,
int * ip12,
double * rp13,
int * ip14,
tag_t * np15,
int * ip16,
int * ip17,
double * rp18,
double * rp19,
int * ir20,
tag_t * nr21
)
int *ip1
tag_t *np2
int *ip3
int *ip4
tag_t *np5
int *ip6
int *ip7
tag_t *np8
int *ip9
int *ip10
tag_t *np11
int *ip12
double *rp13
int *ip14
tag_t *np15
int *ip16
int *ip17
double *rp18
double *rp19
int *ir20
tag_t *nr21

 


 
uf5462 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5462 create b-surface face
 
Required License(s)
gateway

 
void uf5462
(
int * ip1,
tag_t * np2,
int * ip3,
tag_t * np4,
int * ip5,
double * rp6,
int * ir7,
tag_t * nr8
)
int *ip1
tag_t *np2
int *ip3
tag_t *np4
int *ip5
double *rp6
int *ir7
tag_t *nr8

 


 
uf5464 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5464 reads the count of poles
 
Required License(s)
gateway

 
void uf5464
(
tag_t * np1,
int * ir2,
int * ir3,
int * ir4,
int * ir5
)
tag_t *np1
int *ir2
int *ir3
int *ir4
int *ir5

 


 
uf5465 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf5465 create a b-surface face from a face
 
Required License(s)
gateway

 
void uf5465
(
tag_t * np1,
double * rp2,
tag_t * nr3
)
tag_t *np1
double *rp2
tag_t *nr3

 


 
uf6500 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6500 create a block
 
Required License(s)
gateway

 
void uf6500
(
double * rp1,
double * rp2,
double * rp3,
tag_t * nr4
)
double *rp1
double *rp2
double *rp3
tag_t *nr4

 


 
uf6501 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6501 create a sphere
 
Required License(s)
gateway

 
void uf6501
(
double * rp1,
double * rp2,
tag_t * nr3
)
double *rp1
double *rp2
tag_t *nr3

 


 
uf6502 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6502 create a cylinder
 
Required License(s)
gateway

 
void uf6502
(
double * rp1,
double * rp2,
double * rp3,
double * rp4,
tag_t * nr5
)
double *rp1
double *rp2
double *rp3
double *rp4
tag_t *nr5

 


 
uf6503 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6503 create a torus
 
Required License(s)
gateway

 
void uf6503
(
double * rp1,
double * rp2,
double * rp3,
tag_t * nr4
)
double *rp1
double *rp2
double *rp3
tag_t *nr4

 


 
uf6504 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6504 create a cone
 
Required License(s)
gateway

 
void uf6504
(
double * rp1,
double * rp2,
double * rp3,
double * rp4,
tag_t * nr5
)
double *rp1
double *rp2
double *rp3
double *rp4
tag_t *nr5

 


 
uf6505 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6505 create a prism
 
Required License(s)
gateway

 
void uf6505
(
double * rp1,
double * rp2,
double * rp3,
int * ip4,
double * rp5,
tag_t * nr6
)
double *rp1
double *rp2
double *rp3
int *ip4
double *rp5
tag_t *nr6

 


 
uf6506 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6506 create a sewn solid from a series of sheets
 
Required License(s)
gateway

 
void uf6506
(
tag_t * np1,
int * ip2,
int * ip3,
tag_t * nr4
)
tag_t *np1
int *ip2
int *ip3
tag_t *nr4

 


 
uf6507 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6507 create an extruded body
 
Required License(s)
gateway

 
void uf6507
(
tag_t * np1,
int * ip2,
double * rp3,
double * rp4,
tag_t * nr5
)
tag_t *np1
int *ip2
double *rp3
double *rp4
tag_t *nr5

 


 
uf6508 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6508 create a body of revolution
 
Required License(s)
gateway

 
void uf6508
(
tag_t * np1,
int * ip2,
double * rp3,
double * rp4,
double * rp5,
tag_t * nr6
)
tag_t *np1
int *ip2
double *rp3
double *rp4
double *rp5
tag_t *nr6

 


 
uf6509 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6509 convert a face to a sheet
 
Required License(s)
gateway

 
void uf6509
(
tag_t * np1,
int * ip2,
double * rp3,
tag_t * nr4
)
tag_t *np1
int *ip2
double *rp3
tag_t *nr4

 


 
uf6511 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6511 copy a body
 
Required License(s)
gateway

 
void uf6511
(
tag_t * np1,
tag_t * nr2
)
tag_t *np1
tag_t *nr2

 


 
uf6520 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6520 unite, intersect, or subtract solids
 
Required License(s)
gateway

 
void uf6520
(
int * ip1,
tag_t * np2,
tag_t * np3,
int * ip4,
int * ip5,
int * ir6,
int * ir7,
tag_t * nr8
)
int *ip1
tag_t *np2
tag_t *np3
int *ip4
int *ip5
int *ir6
int *ir7
tag_t *nr8

 


 
uf6523 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6523 split solids
Replaced by UF_MODL_split_body
 
Required License(s)
gateway

 
void uf6523
(
tag_t * np1,
int * ip2,
tag_t * np3,
int * ip4,
int * ir5,
int * ir6,
tag_t * nr7
)
tag_t *np1
int *ip2
tag_t *np3
int *ip4
int *ir5
int *ir6
tag_t *nr7

 


 
uf6524 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6524 section solids
 
Required License(s)
gateway

 
void uf6524
(
tag_t * np1,
int * ip2,
tag_t * np3,
int * ip4,
int * ir5,
int * ir6,
tag_t * nr7
)
tag_t *np1
int *ip2
tag_t *np3
int *ip4
int *ir5
int *ir6
tag_t *nr7

 


 
uf6525 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6525 cut solids
uf6525 can be replaced by UF_MODL_split_bo
Note: UF_MODL_split_body does similar work but uses a
different parasolid call. It can handle the splitting of bodies
other than solids or planes.
 
Required License(s)
gateway

 
void uf6525
(
tag_t * np1,
int * ip2,
tag_t * np3,
int * ip4,
int * ir5,
int * ir6,
tag_t * nr7,
int * ir8
)
tag_t *np1
int *ip2
tag_t *np3
int *ip4
int *ir5
int *ir6
tag_t *nr7
int *ir8

 


 
uf6526 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6526 add blends to a solid
 
Required License(s)
gateway

 
void uf6526
(
tag_t * np1,
int * ip2,
double * rp3,
tag_t * np4,
int * ip5,
tag_t * np6,
int * ip7,
int * ir8
)
tag_t *np1
int *ip2
double *rp3
tag_t *np4
int *ip5
tag_t *np6
int *ip7
int *ir8

 


 
uf6540 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6540 inquire box containing the specified body
Replaced by UF_MODL_ask_bounding_box
 
Required License(s)
gateway

 
void uf6540
(
tag_t * np1,
int * ir2,
double * rr3
)
tag_t *np1
int *ir2
double *rr3

 


 
uf6541 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6541 inquire containment of the specified point
Replaced by UF_MODL_ask_point_containment
 
Required License(s)
gateway

 
void uf6541
(
double * rp1,
tag_t * np2,
int * ir3,
int * ir4
)
double *rp1
tag_t *np2
int *ir3
int *ir4

 


 
uf6542 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6542 check the validity of bodies
Replaced by UF_MODL_validate_body
 
Required License(s)
gateway

 
void uf6542
(
tag_t * np1,
int * ip2,
int * ir3,
int * ir4
)
tag_t *np1
int *ip2
int *ir3
int *ir4

 


 
uf6543 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6543 return the mass properties of a body
 
Required License(s)
gateway

 
void uf6543
(
tag_t * np1,
double * rp2,
int * ip3,
int * ir4,
double * rr5,
double * rr6
)
tag_t *np1
double *rp2
int *ip3
int *ir4
double *rr5
double *rr6

 


 
uf6544 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6544 check the interference of bodies
Replaced by UF_MODL_check_inteference
 
Required License(s)
gateway

 
void uf6544
(
tag_t * np1,
tag_t * np2,
int * ip3,
int * ir4,
int * ir5
)
tag_t *np1
tag_t *np2
int *ip3
int *ir4
int *ir5

 


 
uf6545 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6545 intersect a ray with a list of bodies
Replaced by UF_MODL_trace_a_ray
 
Required License(s)
gateway

 
void uf6545
(
const tag_t * np1,
const int * ip2,
const double * rp3,
const double * rp4,
const int * ip5,
const double * rp6,
const double * rp7,
int * ir8,
int * ir9,
double * rr10,
double * rr11,
int * ir12
)
const tag_t *np1
const int *ip2
const double *rp3
const double *rp4
const int *ip5
const double *rp6
const double *rp7
int *ir8
int *ir9
double *rr10
double *rr11
int *ir12

 


 
uf6546 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6546 read number of faces
 
Required License(s)
gateway

 
void uf6546
(
tag_t * np1,
int * ir2,
int * ir3
)
tag_t *np1
int *ir2
int *ir3

 


 
uf6547 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6547 read density of solid
 
Required License(s)
gateway

 
void uf6547
(
tag_t * np1,
int * ip2,
int * ir3,
double * rr4
)
tag_t *np1
int *ip2
int *ir3
double *rr4

 


 
uf6548 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
uf6548 edit density of solid
 
Required License(s)
gateway

 
void uf6548
(
tag_t * np1,
double * rp2,
int * ip3,
int * ir4
)
tag_t *np1
double *rp2
int *ip3
int *ir4

 


 
uf6549 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
Read global (default) solid density
Replaced by UF_MODL_ask_default_density
 
Required License(s)
gateway

 
void uf6549
(
int * ip1,
int * ir2,
double * rr3
)
int *ip1units of denisty
1 - lb/cu in
2 - lb/cu ft
3 - g /cu cm
4 - kg/cu m
int *ir2error code
0 - success
1 - fail
double *rr3

 


 
uf6550 (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
Edit global (default) solid density
Replaced by UF_MODL_set_default_density
 
Required License(s)
gateway

 
void uf6550
(
double * rp1,
int * ip2,
int * ir3
)
double *rp1new density
int *ip2units of denisty
1 - lb/cu in
2 - lb/cu ft
3 - g /cu cm
4 - kg/cu m
int *ir3

 


 
UF_MODL_active_part (view source)
 
Defined in: uf_modl.h
 
Overview
The input to UF_MODL_active_part is a solid body (type 70, subtype 0).
A subtle difference between interactive and programmatic access
to NX can be seen in the area of selection. In Open API,
when you have more than one solid in a given part, you must specify
which solid is "active." This operation is done automatically in
interactive mode. For example, to add features to two solids
interactively, you select a face on one solid, add the feature, and then
select the next solid.

To simulate this in Open API, you need to know the body obj_id's
for each solid in order to move from one solid to the next. So before
you can add a feature to a particular solid, you need to call
UF_MODL_active_part with the appropriate solid body. If you have
only one solid in the part, then it is always the "active" solid, and
calling UF_MODL_active_part is unnecessary.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_active_part
(
tag_t body_obj_id,
int flag
)
tag_tbody_obj_idInputBody obj_id.
intflagInputDisplay flag:
TRUE for change display color,
FALSE for do not change display color.

 


 
UF_MODL_add_thru_faces (view source)
 
Defined in: uf_modl.h
 
Overview
Adds thru faces to a hole or slot feature. A hole uses one thru face and a
slot uses two.

Environment
Internal and External

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_add_thru_faces
(
tag_t feature_eid,
int number_of_faces,
tag_t face_eids [ ]
)
tag_tfeature_eidInputThe object identifier of the feature to which the
thru faces will be added.
intnumber_of_facesInputThe number of thru faces to add.
tag_tface_eids [ ] InputAn array of thru faces that will be added to the
feature.

 


 
UF_MODL_ask_2dtrim_bsurf (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Returns the B-surface data associated with the input face or the body
(with a single face) tag. The underlying data in this structure should be
freed by calling UF_MODL_free_bsurf_data.

Note: This function support all face types

Environment
Internal and External

See Also
Refer to example
UF_MODL_create_bsurf_thru_pts
UF_MODL_free_bsurf_data
UF_MODL_ask_face_type

History
Originally released in NX5
 
Required License(s)
gateway

 
int UF_MODL_ask_2dtrim_bsurf
(
tag_t face,
int opts [ 4 ] ,
double tolerance,
UF_MODL_bsurface_p_t bsurf,
int * loop_count,
int * * edge_count,
int * * edge_sense,
tag_t * * edge_bcurves
)
tag_tfaceInputFace or body (with a single face) tag being
inquired. for all face types
intopts [ 4 ] InputConvert options.
[0] - cubic degree ( N/A )
[1] - non rational ( N/A )
[2] - non periodic ( 1-yes, 0-no )
[3] - normalize parameter ( 1-yes, 0-no )
doubletoleranceInputTolerance for convert B-surface and the
2D-trimming-curves.
UF_MODL_bsurface_p_tbsurfOutputReturned B-surface information. The user
should allocate a UF_MODL_bsurface_t structure
and pass in a pointer to this structure. This
routine will fill this structure with
dynamically allocated data. This must be
freed by calling UF_MODL_free_bsurf_data.
int *loop_countOutputNumber of trimming loops.
int * *edge_countOutput to UF_*free*Array for edge count in each loop.
This should be freed by calling the UF_free.
int * *edge_senseOutput to UF_*free*Array for edge sense of each edge curve.
This should be freed by calling the UF_free.
tag_t * *edge_bcurvesOutput to UF_*free*Array for 2D-trimming curve ID.
All temporary curves must be deleted
before the array can be freed by a UF_free call.

 


 
UF_MODL_ask_adjac_faces (view source)
 
Defined in: uf_modl.h
 
Overview
Get faces adjacent to a face. Adjacency is the connection along edges
and not at vertices. This function returns faces immediately adjacent
to a face.

If face is an occurrence, then the return values are relative to the
occurrence, and not the prototype.

Environment
Internal and External

History
Modified in V15.0 to work relative to the occurrence.
 
Required License(s)
gateway

 
int UF_MODL_ask_adjac_faces
(
tag_t face,
uf_list_p_t * adjacent_faces
)
tag_tfaceInputFace object identifier
uf_list_p_t *adjacent_facesOutput to UF_*free*Address of a pointer to a List of features. Use
UF_MODL_delete_list to free space allocated for
this linked list.

 


 
UF_MODL_ask_alive_edge (view source)
 
Defined in: uf_modl.h
 
Overview
When an edge is merged with another edge, this creates a new edge that has 2
different edge labels, the program returns the original edge.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_alive_edge
(
tag_t edge,
tag_t * alive_edge
)
tag_tedgeInputObject identifier of a new edge
tag_t *alive_edgeOutputObject identifier of an alive edge

 


 
UF_MODL_ask_alive_face (view source)
 
Defined in: uf_modl.h
 
Overview
When a face is merged with another face, this creates a new face that has two
different face labels. The program returns the alive face that the original
was merged into.

This function does not work when edges have been merged via a Sew operation.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_alive_face
(
tag_t face,
tag_t * alive_face
)
tag_tfaceInputObject identifier of a new face
tag_t *alive_faceOutputObject identifier of an alive face

 


 
UF_MODL_ask_all_members_of_set (view source)
 
Defined in: uf_modl.h
 
Overview
Return an array of features that the set has as members.

Environment
Internal and External

History
Released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_all_members_of_set
(
tag_t set,
tag_t * * features,
int * number_of_features
)
tag_tsetInputTag of feature set
tag_t * *featuresOutput to UF_*free*Array of member features. This array
must be freed by calling UF_free
int *number_of_featuresOutputNumber of features in array

 


 
UF_MODL_ask_angle_edge (view source)
 
Defined in: uf_modl.h
 
Overview
The routine UF_MODL_ask_angle_edge returns the values
associated to the angle-edge constraint. All coordinates are with
respect to the dimension plane, therefore there are only two values
(x,y).

Using UF_MODL_ask_constraints and UF_MODL_ask_constraint_type, find the
feature's "LINK_FACE_PARMS" constraint. Use this constraint tag as the
"link_face_parms" input argument to the function UF_MODL_ask_link_face_plane
to obtain the dimension plane coordinate system.

Environment
Internal and External

See Also
UF_MODL_ask_constraints.
UF_MODL_ask_constraint_type

History
In V13.0, the tool argument was modified to output a NULL_TAG
for a centerline.
 
Required License(s)
gateway

 
int UF_MODL_ask_angle_edge
(
tag_t feature_obj_id,
tag_t constraint,
int edit,
double fixed1 [ 2 ] ,
double fixed2 [ 2 ] ,
double feature1 [ 2 ] ,
double feature2 [ 2 ] ,
char * * how_far,
tag_t * tool,
tag_t * part
)
tag_tfeature_obj_idInputIdentifier for the feature.
tag_tconstraintInputIdentifier for constraint
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
doublefixed1 [ 2 ] OutputDimension attachment point on the part
doublefixed2 [ 2 ] OutputPoint on part that along with the fixed1 point,
defines the line on the part that the dimension is
parallel/at an angle to.
doublefeature1 [ 2 ] OutputDimension attachment point on the feature
doublefeature2 [ 2 ] OutputPoint on the feature that along with the feature1
point, defines the line on the feature that the
dimension is parallel/at an angle to.
char * *how_farOutput to UF_*free*Expression distance. This must be freed by calling
UF_free.
tag_t *toolOutputEdge on the tool or NULL_TAG for centerline
tag_t *partOutputEdge on the part

 


 
UF_MODL_ask_angle_tolerance (view source)
 
Defined in: uf_modl.h
 
Overview
Gets the angle tolerance found in the Modeling Preferences dialog
box. The angle tolerance is returned in degrees.

Return
Void.

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MODL_ask_angle_tolerance
(
double * tolerance
)
double *toleranceOutputAngle tolerance (in degrees)

 


 
UF_MODL_ask_ball_groove_parms (view source)
 
Defined in: uf_modl_grooves.h
 
Overview
Gets ball groove parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_ball_groove_parms
(
tag_t feature_obj_id,
int edit,
char * * groove_dia,
char * * ball_dia
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char * *groove_diaOutput to UF_*free*Groove diameter. This must be freed by calling
UF_free.
char * *ball_diaOutput to UF_*free*Ball diameter. This must be freed by calling
UF_free.

 


 
UF_MODL_ask_ball_slot_parms (view source)
 
Defined in: uf_modl_slots.h
 
Overview
Gets ball slot parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_ball_slot_parms
(
tag_t feature_obj_id,
int edit,
char * * ball_dia,
char * * depth,
char * * distance,
int * thru_flag
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char * *ball_diaOutput to UF_*free*Ball diameter. This must be freed by calling
UF_free.
char * *depthOutput to UF_*free*Slot depth. This must be freed by calling
UF_free.
char * *distanceOutput to UF_*free*Slot distance for a non-thru slot. This must
be freed by calling UF_free.
int *thru_flagOutputA thru flag can be TRUE or FALSE, if set to
TRUE then there is no distance to the slot.

 


 
UF_MODL_ask_bead (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Retrieves the parameters used to create a bead.

Environment
Internal and External

See Also
UF_MODL_free_bead

History
Original release was in V13.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_bead
(
tag_t bead_tag,
UF_MODL_project_curves_p_t centerline,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t secondary_faces,
UF_MODL_bead_section_plane_p_t section_plane,
UF_MODL_vector_p_t section_axis,
UF_MODL_bead_section_parms_p_t section_parms
)
tag_tbead_tagInputObject tag for the bead feature
UF_MODL_project_curves_p_tcenterlineOutput to UF_*free*Pointer to information which defines
the centerline of the bead. The caller
must allocate a UF_MODL_project_curves_t
structure and pass in a pointer to it.
This routine will fill the structure
with allocated data which must be freed
by calling UF_MODL_free_bead.
UF_MODL_faces_p_tplacement_facesOutput to UF_*free*Pointer to information which defines the
placement faces for the bead. The caller
must allocate a UF_MODL_faces_t
structure and pass in a pointer to it.
This routine will fill the structure
with allocated data which must be freed
by calling UF_MODL_free_bead.
UF_MODL_offset_trans_faces_p_tsecondary_facesOutput to UF_*free*Pointer to information used to define the
optional secondary faces for the bead. The
caller must allocate a
UF_MODL_offset_trans_faces_t
structure and pass in a pointer to it.
This routine will fill the structure
with allocated data which must be freed
by calling UF_MODL_free_bead.
UF_MODL_bead_section_plane_p_tsection_planeOutput to UF_*free*Pointer to direction information for the
orientation plane normal of the bead
sections. The caller must allocate a
UF_MODL_bead_section_plane_t
structure and pass in a pointer to it.
This routine will fill the structure
with allocated data which must be freed
by calling UF_MODL_free_bead.
UF_MODL_vector_p_tsection_axisOutput to UF_*free*Pointer to direction information for
the centerline of the bead cross
section. The caller must allocate a
UF_MODL_vector_t structure and pass in a
pointer to it. This routine will fill the
structure with allocated data which must be
freed by calling UF_MODL_free_bead.
UF_MODL_bead_section_parms_p_tsection_parmsOutput to UF_*free*Pointer to information which defines the cross
sectional shape of the bead. The caller must
allocate a UF_MODL_bead_section_parms_t
structure and pass in a pointer to it. This
routine will fill the structure with allocated
data which must be freed by calling
UF_MODL_free_bead.

 


 
UF_MODL_ask_bend_allowance_formula (view source)
 
Defined in: uf_modl_smd.h
 
Overview
This routine asks for the Bend Allowance Formula (BAF) of a
Flange, Inset Flange, General Flange, SMBridge, or SMBend feature.
The expression returned is in the form:

(Radius+(Thickness)0.44)rad(Angle)

Return
Return code:
=0 : Successful
>0 : Failing error number
<0 : Failing error number
= UF_MODL_ERR_NOT_A_FORMABLE_FEATURE : The given tag was not
the tag of a formable
feature.
= UF_MODL_ERR_FEATURE_NOT_USING_BAF : The given feature is not
using a bend allowance
formula. This is the case
when the user has selected
"Using Bend Allowance Table"
in the preferences dialog.

Environment
Internal and External

See Also
UF_MODL_edit_bend_allowance_formula

History
Originally released in V18.0
 
Required License(s)
gateway

 
int UF_MODL_ask_bend_allowance_formula
(
const tag_t feature_tag,
char * * exp_str
)
const tag_tfeature_tagInputThe tag of a Flange, Inset Flange,
General Flange, SMBridge, or
SMBend feature.
char * *exp_strOutput to UF_*free*The Bend Allowance Formula.
This must be freed using
UF_free.

 


 
UF_MODL_ask_bend_operation (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Ask an Unbend/Rebend operation

Return
Return code :

Environment
Internal and External

History
Released in V19.0
 
Required License(s)
gateway

 
int UF_MODL_ask_bend_operation
(
tag_t operation_tag,
UF_MODL_bend_operation_data_p_t bend_data
)
tag_toperation_tagInputThe operation tag
UF_MODL_bend_operation_data_p_tbend_dataOutputThe operation data

 


 
UF_MODL_ask_blend_face_data (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Ask face blend data

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_blend_face_data
(
tag_t feature_tag,
UF_MODL_face_blend_create_data_p_t read_data,
UF_MODL_blend_faces_limit_data_p_t limit_data
)
tag_tfeature_tagInputThe object identifier of the blend
UF_MODL_face_blend_create_data_p_tread_dataOutputData describing the blend
UF_MODL_blend_faces_limit_data_p_tlimit_dataOutputData describing the blend

 


 
UF_MODL_ask_blend_face_data1 (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Returns the defining data for a collector enabled Edge Blend feature.
To be used in place of UF_MODL_ask_edge_blend() when collection objects are desired.

Environment
Internal and External

See Also
UF_MODL_create_face_blend
UF_MODL_ask_blend_face_data

History
This function was originally released in NX2.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_blend_face_data1
(
tag_t feature_tag,
UF_MODL_face_blend_create_data_p_t read_data,
UF_MODL_blend_faces_limit_data_p_t limit_data
)
tag_tfeature_tagInputThe object identifier of the blend
UF_MODL_face_blend_create_data_p_tread_dataOutputData describing the blend
UF_MODL_blend_faces_limit_data_p_tlimit_dataOutputData describing the blend

 


 
UF_MODL_ask_blend_parms (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Gets blend parameter.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_blend_parms
(
tag_t feature_obj_id,
int edit,
char * * radius
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char * *radiusOutput to UF_*free*Blend radius. This must be freed by calling
UF_free.

 


 
UF_MODL_ask_block_parms (view source)
 
Defined in: uf_modl_primitives.h
 
Overview
Gets block parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_block_parms
(
tag_t feature_obj_id,
int edit,
char * size [ 3 ]
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char *size [ 3 ] Output to UF_*free*Block dimension (length , width , height)
The string space allocated for the three elements
should be freed via UF_free when they are not used.

 


 
UF_MODL_ask_body_boundaries (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the number of boundary edges of a sheet body, the number of
edges in each of these boundaries, and the tags for the edges in each
boundary. These edges bound only a single face found in the input
sheet body.

The array num_edges is dimensioned by the number of boundaries
found (e.g. includes boundaries of holes). Each element in the array
contains the number of edges in the corresponding boundary. The
array edge_tags is dimensioned large enough to contain all the tags of
all the edges in all the boundaries. The edges belonging to boundary
1 are listed first in the array, followed immediately by the edges for
boundary 2, etc.

If body_tag is an occurrence, then the return values are relative to the
occurrence, and not the prototype.

Environment
Internal and External

See Also
For example please see example

History
Modified in V15.0 to work relative to the occurrence.
 
Required License(s)
gateway

 
int UF_MODL_ask_body_boundaries
(
tag_t body_tag,
int * num_boundaries,
int * * num_edges,
tag_t * * edge_tags
)
tag_tbody_tagInputTag of sheet body to check for boundaries
int *num_boundariesOutputNumber of boundaries found
int * *num_edgesOutput to UF_*free*Array of number of edges in each boundary found. This
must be freed by calling UF_free.
tag_t * *edge_tagsOutput to UF_*free*Array of edge tags in each boundary. This must be freed
by calling UF_free.

 


 
UF_MODL_ask_body_consistency (view source)
 
Defined in: uf_modl.h
 
Overview
A geometry check routine.
Determine whether the body provided by the caller passes the consistency
check. This routine should be called before UF_MODL_ask_face_face_intersect.

Environment
Internal and External

See Also
UF_MODL_ask_face_face_intersect
UF_MODL_ask_body_structures
 
Required License(s)
gateway

 
int UF_MODL_ask_body_consistency
(
tag_t body_tag,
int * num_tags,
int * * fault_tokens,
tag_t * * fault_tags
)
tag_tbody_tagInputbody tag
int *num_tagsOutputThe number of faces/edges in the input
body which don't pass the consistency
check.
int * *fault_tokensOutput to UF_*free*Array of fault tokens. Each token is
a UF_MODL error code, which can be
translated to a string by passing it
to UF_get_fail_message. This array
must be freed by calling UF_free.
tag_t * *fault_tagsOutput to UF_*free*Array of tags of faces/edges
which don't pass the consistency check
This array must be freed by calling
UF_free.

 


 
UF_MODL_ask_body_density (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the density of a body (solid or sheet body).

Environment
Internal and External

History
Originally released in V15.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_body_density
(
const tag_t body,
UF_MODL_density_units_t units,
double * density
)
const tag_tbodyInputsolid/sheet body
UF_MODL_density_units_tunitsInputunits of 'density'
double *densityOutputdensity of body

 


 
UF_MODL_ask_body_edges (view source)
 
Defined in: uf_modl.h
 
Overview
Calling UF_MODL_ask_body_edges, with a solid body (type 70,
subtype 0) as input, returns a list of edges associated to that body.
The handling of this list can be done by using the UF_MODL__list
routines. The appropriate input to this routine can be obtained by
calling UF_MODL_ask_object() and inputting the above type, and
subtype.

If body is an occurrence, then the return values are relative to the
occurrence, and not the prototype.

Environment
Internal and External

History
Modified in V15.0 to work relative to the occurrence.
 
Required License(s)
gateway

 
int UF_MODL_ask_body_edges
(
tag_t body,
uf_list_p_t * edge_list
)
tag_tbodyInputBody object identifier
uf_list_p_t *edge_listOutput to UF_*free*Address of a Pointer to a list of Edge object
identifiers. Use UF_MODL_delete_list to free
space allocated for this linked list.

 


 
UF_MODL_ask_body_faces (view source)
 
Defined in: uf_modl.h
 
Overview
Calling UF_MODL_ask_body_faces, with a solid body (type 70,
subtype 0) as input, returns a list of faces associated to that body. The
handling of this list can be done by using the UF_MODL__list
routines. The appropriate input to this routine can be obtained by
calling UF_MODL_ask_object() and inputting the above type, and
subtype.

If body is an occurrence, then the return values are relative to the
occurrence, and not the prototype.

Environment
Internal and External

History
Modified in V15.0 to work relative to the occurrence.
 
Required License(s)
gateway

 
int UF_MODL_ask_body_faces
(
tag_t body,
uf_list_p_t * face_list
)
tag_tbodyInputBody object identifier
uf_list_p_t *face_listOutput to UF_*free*Address of a Pointer to a list of Face object
identifiers. Null pointer is returned if an error
occurs (`error' > 0). Use UF_MODL_delete_list to
free space allocated for this linked list.

 


 
UF_MODL_ask_body_feats (view source)
 
Defined in: uf_modl.h
 
Overview
Calling UF_MODL_ask_body_feats, with a solid body (type 70,
subtype 0) as input, returns a list of features associated to that body.
The handling of this list can be done by using the UF_MODL__list
routines. The appropriate input to this routine can be obtained by
calling UF_MODL_ask_object() and inputting the above type, and subtype.

The features are returned in the current creation order.

No longer returns information about sketches or datum planes. Does not
include features of type symbolic thread on the list since the symbolic
thread feature is an annotation feature and does not have a body that
contributes to the solid body. Use UF_MODL_ask_feat_relatives to obtain
the symbolic thread feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_body_feats
(
tag_t body,
uf_list_p_t * feature_tag_list
)
tag_tbodyInputBody object identifier
uf_list_p_t *feature_tag_listOutput to UF_*free*Address of a pointer to a list of Feature tags.
Null pointer is returned if an error occurs
(`error' > 0). Use UF_MODL_delete_list to free
space allocated for this linked list.

 


 
UF_MODL_ask_body_features (view source)
 
Defined in: uf_modl.h
 
Overview
Returns a tabulation of all features found organized by feature type
showing the number of each type found and a total number of
features in the body selected.

Environment
Internal and External

See Also
Please see example
 
Required License(s)
gateway

 
int UF_MODL_ask_body_features
(
tag_t body_id,
int* features_count,
UF_MODL_features_p_t* * features_node
)
tag_tbody_idInputBody object id
int*features_countOutputNumber of features
UF_MODL_features_p_t* *features_nodeOutput to UF_*free*features_count
Features node

 


 
UF_MODL_ask_body_structures (view source)
 
Defined in: uf_modl.h
 
Overview
A geometry check routine.
Determine whether the body provided by the caller passes the data structures
check. This routine should be called before UF_MODL_ask_face_face_intersect.

Environment
Internal and External

See Also
UF_MODL_ask_face_face_intersect
 
Required License(s)
gateway

 
int UF_MODL_ask_body_structures
(
tag_t body_tag,
int * num_tags,
tag_t * * fault_tags
)
tag_tbody_tagInputbody tag
int *num_tagsOutputNumber of faces/edges in the input
body which don't pass data structures
check.
tag_t * *fault_tagsOutput to UF_*free*array of tags of faces/edges which
don't pass data structures check.
This must be freed by calling UF_free.

 


 
UF_MODL_ask_body_type (view source)
 
Defined in: uf_modl.h
 
Overview
Determines if a body is a solid or sheet.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_body_type
(
tag_t body_id,
int * body_type
)
tag_tbody_idInputObject identifier for the body
int *body_typeOutputBody type:
UF_MODL_SOLID_BODY
UF_MODL_SHEET_BODY
0 : None of the above

 


 
UF_MODL_ask_body_type_pref (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the current setting for the sheet/solid body type modeling
preference. This preference is used when creating bodies through
curves to allow you to control the type of body created. The body type
option is used in the Through Curve Mesh, Through Curves, Extruded
Body, Body of Revolution, Swept, Section Surface and Ruled Free
Form Feature creation options.

Environment
Internal and External

See Also
UF_MODL_set_body_type_pref
 
Required License(s)
gateway

 
int UF_MODL_ask_body_type_pref
(
int * body_type
)
int *body_typeOutputCurrent setting of the body type preference
UF_MODL_SOLID_BODY
UF_MODL_SHEET_BODY

 


 
UF_MODL_ask_boolean_with_retained_options (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the information stored in the record of the input boolean feature.

Environment
Internal and External

See Also
UF_MODL_unite_bodies_with_retained_options ,
UF_MODL_subtract_bodies_with_retained_options ,
UF_MODL_intersect_bodies_with_retained_options
UF_MODL_edit_boolean_with_retained_options
UF_MODL_replace_boolean_body

History
Release version 19.
 
Required License(s)
gateway

 
int UF_MODL_ask_boolean_with_retained_options
(
tag_t feature_eid,
UF_FEATURE_SIGN * sign,
tag_t * original_target,
tag_t * original_tool,
logical * retain_target_body,
logical * retain_tool_body
)
tag_tfeature_eidInputBoolean feature
UF_FEATURE_SIGN *signOutputType of boolean:
- UF_POSITIVE : unite
- UF_NEGATIVE : subtract
- UF_UNSIGNED : intersect
tag_t *original_targetOutputOriginal target body
tag_t *original_toolOutputOriginal tool body
logical *retain_target_bodyOutputIndicate whether to retain the target body.
If TRUE - the resulting body is the new body and
target body is retained,
FALSE - the resulting body is the modified target body.
logical *retain_tool_bodyOutputIndicate whether to retain the tool body.
If TRUE - the tool body is not consumed.
FALSE - the tool body is consumed

 


 
UF_MODL_ask_boss_parms (view source)
 
Defined in: uf_modl_form_features.h
 
Overview
Gets boss parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_boss_parms
(
tag_t feature_obj_id,
int edit,
char * * diameter,
char * * height,
char * * taper_angle
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char * *diameterOutput to UF_*free*Boss diameter. This must be freed by calling
UF_free.
char * *heightOutput to UF_*free*Boss height. This must be freed by calling
UF_free.
char * *taper_angleOutput to UF_*free*Boss taper angle. This must be freed by calling
UF_free.

 


 
UF_MODL_ask_bounding_box (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Returns the bounding box of wireframe and solid type objects.
Wireframe objects include lines, arcs, splines, and conics. Solid type
objects include bodies, faces, and edges. Bounding box values are
returned in absolute coordinate values according to where the object
exists in the part file.

If you call this function with an occurrence, the bounding box
of the underlying geometry is transformed into assembly space. This
may cause the bounding box that is returned to be larger than
expected. This happens in cases when the axes of the component part
are transformed such that they don't align with the axes of the
assembly coordinate system.

Note that the box returned favors speed over accuracy. The returned
box will contain the given entity and it will usually be close
to the minimum bounding box but this is not guaranteed.

This function may not return the correct information when the body
has been trimmed or is the result of a boolean operation. In those
cases UF_MODL_ask_extreme can be used to get the correct bounding box size.

Environment
Internal and External

See Also
Please see example
 
Required License(s)
gateway

 
int UF_MODL_ask_bounding_box
(
tag_t object,
double bounding_box [ 6 ]
)
tag_tobjectInputObject identifier of object to ask bounding box.
doublebounding_box [ 6 ] OutputBounding box of object.
[0] - minimum x value
[1] - minimum y value
[2] - minimum z value
[3] - maximum x value
[4] - maximum y value
[5] - maximum z value

 


 
UF_MODL_ask_bounding_box_aligned (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Returns the bounding box information of wireframe and solid type objects
aligned to a CSYS.

Wireframe objects include lines, arcs, splines, and conics. Solid type
objects include bodies, faces, and edges. Bounding box values are
returned in absolute coordinate values according to where the object
exists in the part file and aligned to the input CSYS.

If you call this function with an occurrence, the bounding box
of the underlying geometry is transformed into assembly space.

Use occurrence object tags when working in an assembly context and prototype
object tags when working in non-assembly situations. Passing in a prototype
object tag when in an assembly may produce undesired results.

The csys_tag should always be in the context of the current work part.

Due to distance and angle tolerances, the data returned cannot be guaranteed
to be larger than the original object. The expand parameter allows for an
expanded box to be created. The expand option will expand the box in all
directions by a factor of 0.1 of the prototype part units.

To derive the corner points, use the X,Y,X components of the
min_corner and then add the X,Y,Z components of the directions multiplied
by the X,Y,Z distances. For Example, to derive the 2 corner points:
corner_pts[2][3]

corner_pts[0][0] = min_corner[0]
corner_pts[0][1] = min_corner[1]
corner_pts[0][2] = min_corner[2]
for i = 0 -> 2 inclusive
corner_pts[1][i] = min_corner[i]
for j = 0 -> 2 inclusive
corner_pts[1][i] += directions[j][i] distances[j]

Note that the box returned favors speed over accuracy. The returned
box will contain the given entity and it will usually be close
to the minimum bounding box but this is not guaranteed.

Environment
Internal and External

See Also


History
Originally released in V19.0
 
Required License(s)
gateway

 
int UF_MODL_ask_bounding_box_aligned
(
tag_t object,
tag_t csys_tag,
logical expand,
double min_corner [ 3 ] ,
double directions [ 3 ] [ 3 ] ,
double distances [ 3 ]
)
tag_tobjectInputObject identifier of object to ask bounding box.
tag_tcsys_tagInputCSYS to use for box alignment.
NULL_TAG - Use Work CSYS
logicalexpandInputExpand the box to increase enclosure coverage
FALSE - Do not expand
TRUE - Expand
doublemin_corner [ 3 ] OutputMinimum corner of box of object.
[0] - minimum x value
[1] - minimum y value
[2] - minimum z value
doubledirections [ 3 ] [ 3 ] Output: direction vectors of bounding box
[0][] - X Direction
[1][] - Y Direction
[2][] - Z Direction
doubledistances [ 3 ] OutputDistances to move along directions of CSYS
to derive all points of the bounding box.
[0] - X distance value
[1] - Y distance value
[2] - Z distance value

 


 
UF_MODL_ask_bounding_box_exact (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Returns the bounding box information of wireframe and solid type objects
aligned to a CSYS.

Wireframe objects include lines, arcs, splines, and conics. Solid type
objects include bodies, faces, and edges. Bounding box values are
returned in absolute coordinate values according to where the object
exists in the part file and aligned to the input CSYS.

If you call this function with an occurrence, the bounding box
of the underlying geometry is transformed into assembly space.

Use occurrence object tags when working in an assembly context and prototype
object tags when working in non-assembly situations. Passing in a prototype
object tag when in an assembly may produce undesired results.

The csys_tag should always be in the context of the current work part.

To derive the corner points, use the X,Y,X components of the
min_corner and then add the X,Y,Z components of the directions multiplied
by the X,Y,Z distances. For Example, to derive the 2 corner points:
corner_pts[2][3]

corner_pts[0][0] = min_corner[0]
corner_pts[0][1] = min_corner[1]
corner_pts[0][2] = min_corner[2]
for i = 0 -> 2 inclusive
corner_pts[1][i] = min_corner[i]
for j = 0 -> 2 inclusive
corner_pts[1][i] += directions[j][i] distances[j]

While a more accurate box is produced, processing time may be increased
significantly.

Environment
Internal and External

See Also


History
Originally released in NX V4.0
 
Required License(s)
gateway

 
int UF_MODL_ask_bounding_box_exact
(
tag_t object,
tag_t csys_tag,
double min_corner [ 3 ] ,
double directions [ 3 ] [ 3 ] ,
double distances [ 3 ]
)
tag_tobjectInputObject identifier of object to ask bounding box.
tag_tcsys_tagInputCSYS to use for box alignment.
NULL_TAG - Use Work CSYS
doublemin_corner [ 3 ] OutputMinimum corner of box of object.
[0] - minimum x value
[1] - minimum y value
[2] - minimum z value
doubledirections [ 3 ] [ 3 ] Output: direction vectors of bounding box
[0][] - X Direction
[1][] - Y Direction
[2][] - Z Direction
doubledistances [ 3 ] OutputDistances to move along directions of CSYS
to derive all points of the bounding box.
[0] - X distance value
[1] - Y distance value
[2] - Z distance value

 


 
UF_MODL_ask_bplane (view source)
 
Defined in: uf_modl_form_features.h
 
Overview
Returns the creation data with which a bounded plane was created.

Environment
Internal and External

History
Original release was in V13.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_bplane
(
tag_t feature_obj_id,
UF_STRING_p_t s_section,
double tol [ 2 ]
)
tag_tfeature_obj_idInputFeature object identifier
UF_STRING_p_ts_sectionOutput to UF_*free*Pointer to the string list structure. Contains the
string loops which define the feature.
Use UF_MODL_free_string_list to deallocate memory.
doubletol [ 2 ] OutputTolerances:
[0] = Distance
[1] = Angle (in radians)

 


 
UF_MODL_ask_bsurf (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Returns the B-surface data associated with the input face or the body
(with a single face) tag. The underlying data in this structure should be
freed by calling UF_MODL_free_bsurf_data.

Note: The valid face types are UF_MODL_PARAMETRIC_FACE and UF_MODL_OFFSET_FACE.
All the other types do not have any bsurface data.

Environment
Internal and External

See Also
Refer to example
UF_MODL_create_bsurf_thru_pts
UF_MODL_free_bsurf_data
UF_MODL_ask_face_type

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_bsurf
(
tag_t face,
UF_MODL_bsurface_p_t bsurf
)
tag_tfaceInputFace or body (with a single face) tag being
inquired. Only face types
UF_MODL_PARAMETRIC_FACE and UF_MODL_OFFSET_FACE
will have any bsurface data.
UF_MODL_bsurface_p_tbsurfOutputReturned B-surface information. The user
should allocate a UF_MODL_bsurface_t structure
and pass in a pointer to this structure. This
routine will fill this structure with
dynamically allocated data. This must be
freed by calling UF_MODL_free_bsurf_data.

 


 
UF_MODL_ask_bsurf_knot_display (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Get the B-surface knot flag.

Environment
Internal and External

History
Originally released in NX5.0
 
Required License(s)
solid_modeling

 
int UF_MODL_ask_bsurf_knot_display
(
tag_t face,
logical * state
)
tag_tfaceInputFace tag being inquired
logical *stateOutputReturned B-surface knot flag information

 


 
UF_MODL_ask_bsurf_pole_display (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Get the B-surface pole flag.

Environment
Internal and External

History
Originally released in NX2.0
 
Required License(s)
gateway

 
int UF_MODL_ask_bsurf_pole_display
(
tag_t face,
logical * state
)
tag_tfaceInputFace tag being inquired
logical *stateOutputReturned B-surface pole flag information

 


 
UF_MODL_ask_c_bore_hole_parms (view source)
 
Defined in: uf_modl_holes.h
 
Overview
Gets counterbore hole parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_c_bore_hole_parms
(
tag_t feature_obj_id,
int edit,
char * * diameter1,
char * * diameter2,
char * * depth1,
char * * depth2,
char * * tip_angle,
int * thru_flag
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char * *diameter1Output to UF_*free*Counterbore diameter. This must be freed by
calling UF_free.
char * *diameter2Output to UF_*free*Hole diameter. This must be freed by
calling UF_free.
char * *depth1Output to UF_*free*Counterbore depth. This must be freed by
calling UF_free.
char * *depth2Output to UF_*free*Hole depth for a none thru hole. This must be freed by
calling UF_free.
char * *tip_angleOutput to UF_*free*Tip angle. This must be freed by
calling UF_free.
int *thru_flagOutputA thru flag can be TRUE or FALSE, if set to
TRUE then there is no depth to the hole.

 


 
UF_MODL_ask_c_sunk_hole_parms (view source)
 
Defined in: uf_modl_holes.h
 
Overview
Gets countersunk hole parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_c_sunk_hole_parms
(
tag_t feature_obj_id,
int edit,
char * * diameter1,
char * * diameter2,
char * * depth1,
char * * csink_angle,
char * * tip_angle,
int * thru_flag
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char * *diameter1Output to UF_*free*Countersunk diameter. This must be freed
by calling UF_free.
char * *diameter2Output to UF_*free*Hole diameter. This must be freed
by calling UF_free.
char * *depth1Output to UF_*free*Hole depth for a none thru hole. This must be freed
by calling UF_free.
char * *csink_angleOutput to UF_*free*Countersunk angle. This must be freed
by calling UF_free.
char * *tip_angleOutput to UF_*free*Tip angle. This must be freed
by calling UF_free.
int *thru_flagOutputA thru flag can be TRUE or FALSE, if set to
TRUE then there is no depth to the hole.

 


 
UF_MODL_ask_chamfer_parms (view source)
 
Defined in: uf_modl.h
 
Overview
Gets chamfer parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_chamfer_parms
(
tag_t feature_obj_id,
int edit,
int * subtype,
char * * radius1,
char * * radius2,
char * * theta
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
int *subtypeOutputChamfer subtype
1 = Single offset.
2 = Double offsets.
3 = Offset and angle.
4 = Freeform Single Offset
5 = Freeform Double Offset
char * *radius1Output to UF_*free*Chamfer offset. This must be freed by calling
UF_free.
char * *radius2Output to UF_*free*Chamfer offset not valid for subtype 1 and 3.
This must be freed by calling UF_free.
char * *thetaOutput to UF_*free*Chamfer angle not valid for subtype 1 and 2.
This must be freed by calling UF_free.

 


 
UF_MODL_ask_circular_iset_parms (view source)
 
Defined in: uf_modl_isets.h
 
Overview
Gets circular instance parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_circular_iset_parms
(
tag_t feature_obj_id,
int edit,
char * * radius,
char * * number,
char * * angle
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char * *radiusOutput to UF_*free*Iset radius. This must be freed by calling
UF_free.
char * *numberOutput to UF_*free*Number of instances. This must be freed by calling
UF_free.
char * *angleOutput to UF_*free*Angle between instances. This must be freed by
calling UF_free.

 


 
UF_MODL_ask_circular_pattern_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function returns the parameters of a circular pattern_face.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_circular_pattern_face
(
tag_t feature_tag,
UF_MODL_dfo_region_p_t * region,
tag_t * axis,
int * n_pattern,
char * * angle
)
tag_tfeature_tagInputthe feature
UF_MODL_dfo_region_p_t *regionOutput to UF_*free*region
tag_t *axisOutputaxis to define pattern
int *n_patternOutputpattern number
char * *angleOutput to UF_*free*angle between instance

 


 
UF_MODL_ask_cnnc_edges (view source)
 
Defined in: uf_modl.h
 
Overview
Get two lists of edges connected at each endpoint of a given edge.
The first list belongs to the endpoint closer to a given 3D point.
An edge may have zero, one, or two vertices. Consequently, null
pointers may be returned for both or either of the two lists. If one of
the lists is null, then the first list always returns the list of edges and
the second list is null.

If edge is an occurrence, then the return values are relative to the
occurrence, and not the prototype.

Environment
Internal and External

History
Modified in V15.0 to work relative to the occurrence.
 
Required License(s)
gateway

 
int UF_MODL_ask_cnnc_edges
(
tag_t edge,
double reference [ 3 ] ,
uf_list_p_t * edges1,
uf_list_p_t * edges2
)
tag_tedgeInputEdge object identifier
doublereference [ 3 ] Input3D point to determine the first endpoint of`edge'
uf_list_p_t *edges1Output to UF_*free*Address of list of object identifiers of edges
connected at the endpoint closer to `reference'. Use
UF_MODL_delete_list to free space allocated for this
linked list.
uf_list_p_t *edges2Output to UF_*free*Address of list of object identifiers of edges
connected at the endpoint further from `reference'.
Use UF_MODL_delete_list to free space allocated
for this linked list.

 


 
UF_MODL_ask_cone_parms (view source)
 
Defined in: uf_modl_primitives.h
 
Overview
Gets cone parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_cone_parms
(
tag_t feature_obj_id,
int edit,
char * * base_diameter,
char * * top_diameter,
char * * height,
char * * half_angle
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char * *base_diameterOutput to UF_*free*Base diameter. This must be freed by calling UF_free.
char * *top_diameterOutput to UF_*free*Top diameter. This must be freed by calling UF_free.
char * *heightOutput to UF_*free*Cone height. This must be freed by calling UF_free.
char * *half_angleOutput to UF_*free*Cone angle. This must be freed by calling UF_free.

 


 
UF_MODL_ask_constraint_type (view source)
 
Defined in: uf_modl_sketch.h
 
Overview
The routine UF_MODL_ask_constraint_type returns a character
string describing the type of constraint that was input.
The appropriate constraint inquiry routine to ask for the constraint
values.

Environment
Internal and External

See Also
UF_MODL_ask_angle_edge
UF_MODL_ask_horz_dime
UF_MODL_ask_para_dist
UF_MODL_ask_para_edge
UF_MODL_ask_perp_dist
UF_MODL_ask_vert_dime
 
Required License(s)
gateway

 
int UF_MODL_ask_constraint_type
(
tag_t constraint,
char * * type
)
tag_tconstraintInputConstraint to inquire on.
char * *typeOutput to UF_*free*Pointer to the character string describing the
constraint. Use UF_free to deallocate memory
when done.

 


 
UF_MODL_ask_constraints (view source)
 
Defined in: uf_modl_sketch.h
 
Overview
The routine UF_MODL_ask_constraints has a single feature as input,
and returns a list of constraints. The list can be manipulated by the
UF_MODL__list_ routines.

Environment
Internal and External

See Also
UF_MODL_ask_constraint_type
UF_MODL_delete_list
 
Required License(s)
gateway

 
int UF_MODL_ask_constraints
(
tag_t feature,
uf_list_p_t * constraints
)
tag_tfeatureInputIdentifier for the feature.
uf_list_p_t *constraintsOutput to UF_*free*Address of pointer to the list of constraints for
that feature. Use UF_MODL_delete_list to free space
allocated for this linked list.

 


 
UF_MODL_ask_current_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Return the current feature. Any newly created feature will be created right
after this feature. When a new feature is created, it is made the current
feature.

Environment
Internal and External

History
This function was originally released in NX2.
 
Required License(s)
gateway

 
int UF_MODL_ask_current_feature
(
tag_t part,
tag_t * feature_id
)
tag_tpartInputNX part tag.
tag_t *feature_idOutputFeature which is the current
feature in the given part.

 


 
UF_MODL_ask_curve_closed (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Returns whether a curve is a closed curve or not.

Return
Return code:
0 = The identifier given is not a closed curve.
1 = The identifier given is a closed curve.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_curve_closed
(
tag_t tag
)
tag_ttagInputIdentifier of the curve.

 


 
UF_MODL_ask_curve_fit_method (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Returns the current setting of the curve fit method modeling preference.

Environment
Internal and External

See Also
UF_MODL_set_curve_fit_method

History
This function was originally released in V15.0
 
Required License(s)
gateway

 
int UF_MODL_ask_curve_fit_method
(
int * fit_method
)
int *fit_methodOutputcurve fit method 0=cubic, 1=quinti

 


 
UF_MODL_ask_curve_mesh (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Returns the creation parameters with which a Curve Mesh feature was created.

Environment
Internal and External

History
Original release was in V13.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_curve_mesh
(
tag_t feature_obj_id,
UF_STRING_p_t s_prim,
UF_STRING_p_t s_cross,
UF_STRING_p_t s_spine,
int * emphasis,
int * body_type,
int * spline_pts,
double tol [ 3 ] ,
tag_t c_face_id [ 4 ] ,
int c_flag [ 4 ]
)
tag_tfeature_obj_idInputFeature object identifier
UF_STRING_p_ts_primOutput to UF_*free*Pointer to the string list structure, containing the
data defining the primary curves used to create the
feature. See structure section of manual for details.
Use UF_MODL_free_string_list to deallocate memory.
UF_STRING_p_ts_crossOutput to UF_*free*Pointer to the string list structure, containing the
data defining the cross curves used to create the
feature. See structure section of manual for details.
Use UF_MODL_free_string_list to deallocate memory.
UF_STRING_p_ts_spineOutput to UF_*free*Pointer to the string list structure for the spine
string. See structure section of manual for details.
Use UF_MODL_free_string_list to deallocate memory.
int *emphasisOutputEmphasis flag
1 = Primary curves
2 = Cross curves
3 = Both
int *body_typeOutputType of body:
0 = Sheet
1 = Solid
int *spline_ptsOutputSpline points flag:
0 = Do not reparameterize curves
1 = Reparameterize through spline points
doubletol [ 3 ] OutputTolerances:
[0] = Distance
[1] = Angle (in degrees)
[2] = Intersection
tag_tc_face_id [ 4 ] OutputObject identifiers of neighbor surfaces from which
constraints are obtained
[0] = first primary string
[1] = last primary string
[2] = first cross string
[3] = last cross string
No constraint is imposed on the corresponding
string if id = NULL_TAG
intc_flag [ 4 ] Output[0] = first primary string constraint type
[1] = last primary string constraint type
[2] = first cross string constraint type
[3] = last cross string constraint type

The constraint types are as follows:
0 = no constraint
1 = tangency constraint
2 = curvature constraint

 


 
UF_MODL_ask_curve_mesh1 (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Returns the creation parameters with which a Curve Mesh feature was created.

Environment
Internal and External

History
Original release was in NX2.
 
Required License(s)
gateway

 
int UF_MODL_ask_curve_mesh1
(
tag_t feature_obj_id,
UF_STRING_p_t s_prim,
UF_STRING_p_t s_cross,
UF_STRING_p_t s_spine,
int * emphasis,
int * body_type,
int * spline_pts,
double tol [ 3 ] ,
tag_t c_collector_id [ 4 ] ,
int c_flag [ 4 ]
)
tag_tfeature_obj_idInputFeature object identifier
UF_STRING_p_ts_primOutput to UF_*free*Pointer to the string list structure, containing the
section builder objects defining the primary curves
used to create the feature. See structure section of
manual for details.
Use UF_MODL_free_string_list to deallocate memory.
UF_STRING_p_ts_crossOutput to UF_*free*Pointer to the string list structure, containing the
section builder objects defining the cross curves used to create the
feature. See structure section of manual for details.
Use UF_MODL_free_string_list to deallocate memory.
UF_STRING_p_ts_spineOutput to UF_*free*Pointer to the string list structure for the spine
string. See structure section of manual for details.
Use UF_MODL_free_string_list to deallocate memory.
int *emphasisOutputEmphasis flag
1 = Primary curves
2 = Cross curves
3 = Both
int *body_typeOutputType of body:
0 = Sheet
1 = Solid
int *spline_ptsOutputSpline points flag:
0 = Do not reparameterize curves
1 = Reparameterize through spline points
doubletol [ 3 ] OutputTolerances:
[0] = Distance
[1] = Angle (in degrees)
[2] = Intersection
tag_tc_collector_id [ 4 ] OutputCollector containing the neighbor surfaces from which
constraints are obtained
[0] = first primary string
[1] = last primary string
[2] = first cross string
[3] = last cross string
No constraint is imposed on the corresponding
string if id = NULL_TAG
intc_flag [ 4 ] Output[0] = first primary string constraint type
[1] = last primary string constraint type
[2] = first cross string constraint type
[3] = last cross string constraint type

The constraint types are as follows:
0 = no constraint
1 = tangency constraint
2 = curvature constraint

 


 
UF_MODL_ask_curve_parm (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Returns the parameter and a point on a curve given a reference point.

Environment
Internal and External

See Also
UF_MODL_ask_point_along_curve_2 which may handle curves with
sharp corners better
 
Required License(s)
gateway

 
int UF_MODL_ask_curve_parm
(
tag_t curve_id,
double ref_pnt [ 3 ] ,
double * parm,
double curve_pnt [ 3 ]
)
tag_tcurve_idInputCurve identifier.
doubleref_pnt [ 3 ] InputReference point in absolute space (3 element array)
double *parmOutputParameter on curve.
doublecurve_pnt [ 3 ] OutputPoint on curve (3 element array).

 


 
UF_MODL_ask_curve_parm_no_ext (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Returns the parameter value of the point on a curve (without
extension) closest to the input point.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_curve_parm_no_ext
(
tag_t curve_id,
double ref_point [ 3 ] ,
double * parm
)
tag_tcurve_idInputObject identifier for the curve
doubleref_point [ 3 ] InputReference point (in absolute coordinates)
double *parmOutputParameter of the point on the curve

 


 
UF_MODL_ask_curve_periodicity (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Inquires the periodicity of the curve. OPEN_CURVE may be periodic
(mathematically speaking, for example a sinusoidal curve) but it is not closed.

Environment
Internal and External

See Also
For the glossary definition see glossary
 
Required License(s)
gateway

 
int UF_MODL_ask_curve_periodicity
(
tag_t curve_id,
int * status
)
tag_tcurve_idInputObject identifier for the curve
int *statusOutputStatus of the curve.
UF_MODL_OPEN_CURVE
UF_MODL_CLOSED_PERIODIC_CURVE
UF_MODL_CLOSED_NON_PERIODIC_CURVE

 


 
UF_MODL_ask_curve_points (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Returns an array of 3D point coordinates (x,y,z) based on an input
curve, chordal tolerance, angular tolerance, and step tolerance.
A chord is the straight line between adjacent coordinates. The
tolerances provide independent values for controlling the output of
the coordinates located on the curve. The chordal tolerance (ctol) is
the maximum allowable distance from a chord to the curve between
the ends of the chord. The angular tolerance (atol) is the maximum
allowable sum of the angles between the chord and the tangents to the
curve at the ends of the chord. The step length (stol) is the maximum
allowable chordal length.

This routine does not create point objects as the GRIP and interactive
methods do.

If curve_id is an occurrence, then the points returned are relative to
the occurrence, and not the prototype.

Return
Error code:
0 = OK
1 = Invalid curve
2 = Modeler error

Note that this function treats the input "ctol" and "stol" tolerances
and returns point coordinates in the base units of the current displayed
part rather than the units of the part containing the input curve/edge.

In order it to return the expected coordinatesthe displayed part must be
set to the part containing the curve (or any other part using the units
of that part) and the display must have also been refreshed after setting
the new displayed part.

For example:

orig = UF_PART_ask_display_part();
UF_PART_ask_units(orig, &display_units);

UF_PART_ask_units(curve_owner, &units);
if (units != display_units)
{
UF_PART_set_display_part(curve_owner);
UF_DISP_refresh(); // required!
}
...
UF_MODL_ask_curve_points(curve, ...
...
UF_PART_set_display_part(orig);

Environment
Internal and External

See Also
Refer to example

History
Modified in V15.0 to work relative to the occurrence.
Added comments in NX8.5 regarding part units.
 
Required License(s)
gateway

 
int UF_MODL_ask_curve_points
(
tag_t curve_id,
double ctol,
double atol,
double stol,
int * numpts,
double * * pts
)
tag_tcurve_idInputThe identifier of the curve on which the points are
to be determined.
doublectolInputThe chordal tolerance.
0= do not use chordal tolerance.
doubleatolInputThe angular tolerance in radians
0= do not use angular tolerance.
doublestolInputMaximum step length.
0 = do not use
int *numptsOutputNumber of points in the points array.
double * *ptsOutput to UF_*free*Pointer to the array containing the 3D points. The
array returned is a single dimension array of size
pts[3numpts]. The allocated arrays must be freed
with UF_free.

 


 
UF_MODL_ask_curve_props (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Returns the point, tangent, unit principal normal, unit binormal,
torsion, and radius of curvature on a curve at a given parameter.
The input curve parameter, parm, is normalized between 0 and 1.

UF_EVAL_evaluate should be used to evaluate curves and edges instead
of using this routine. For a full circle, the routines may return
different results, as the parameterization of the circle may be done in
two different directions.

Environment
Internal and External

See Also
UF_EVAL_evaluate
 
Required License(s)
gateway

 
int UF_MODL_ask_curve_props
(
tag_t curve_id,
double parm,
double point [ 3 ] ,
double tangent [ 3 ] ,
double p_norm [ 3 ] ,
double b_norm [ 3 ] ,
double * torsion,
double * rad_of_cur
)
tag_tcurve_idInputCurve identifier.
doubleparmInputCurve parameter.
doublepoint [ 3 ] OutputPoint on curve (3 element array).
doubletangent [ 3 ] OutputTangent of curve (3 element array).
doublep_norm [ 3 ] OutputUnit Principal normal of curve (3 element array).
doubleb_norm [ 3 ] OutputUnit Binormal of curve (3 element array).
double *torsionOutputTorsion.
double *rad_of_curOutputRadius of Curvature.

 


 
UF_MODL_ask_cyl_pocket_parms (view source)
 
Defined in: uf_modl_pockets.h
 
Overview
Gets cylinder pocket parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_cyl_pocket_parms
(
tag_t feature_obj_id,
int edit,
char * * diameter,
char * * depth,
char * * floor_rad,
char * * taper_angle
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char * *diameterOutput to UF_*free*Cylinder diameter. This must be freed by
calling UF_free.
char * *depthOutput to UF_*free*Cylinder depth. This must be freed by
calling UF_free.
char * *floor_radOutput to UF_*free*Floor radius. This must be freed by
calling UF_free.
char * *taper_angleOutput to UF_*free*Taper angle. This must be freed by
calling UF_free.

 


 
UF_MODL_ask_cylinder_parms (view source)
 
Defined in: uf_modl_primitives.h
 
Overview
Gets cylinder parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_cylinder_parms
(
tag_t feature_obj_id,
int edit,
char * * diameter,
char * * height
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char * *diameterOutput to UF_*free*Cylinder diameter. This must be freed by calling UF_free.
char * *heightOutput to UF_*free*Cylinder height. This must be freed by calling UF_free.

 


 
UF_MODL_ask_datum_axis_parms (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Get datum axis parameters.

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
gateway

 
int UF_MODL_ask_datum_axis_parms
(
tag_t feature_id,
double origin [ 3 ] ,
double normal [ 3 ]
)
tag_tfeature_idInputFeature tag for datum axis
doubleorigin [ 3 ] OutputDatum axis base point
doublenormal [ 3 ] OutputDatum axis direction

 


 
UF_MODL_ask_datum_csys_components (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Returns the components of a datum CSYS and the parent smart CSYS.
There are the total of 7 components as follows:
origin - origin point
daxes[3] - datum axes coincident with the CSYS coordinate axes
dplanes[3] - datum planes coincident with the CSYS coordinate planes

The application is responsible for allocating memory for the arrays

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MODL_ask_datum_csys_components
(
tag_t datum_csys_tag,
tag_t * csys_tag,
tag_t * origin,
tag_t daxes [ 3 ] ,
tag_t dplanes [ 3 ]
)
tag_tdatum_csys_tagInputTag of the datum CSYS feature
tag_t *csys_tagOutputTag of the smart CSYS
tag_t *originOutputTag of the origin point
tag_tdaxes [ 3 ] OutputTag of the three datum axes coincident
with the coordinate axes
tag_tdplanes [ 3 ] OutputTag of the three datum planes coincident
with the coordinate planes

 


 
UF_MODL_ask_datum_plane (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the data of a datum plane object.

Environment
Internal and External

See Also
UF_MODL_edit_plane
UF_MODL_create_plane
Refer to example

History
Originally released in N5.0
 
Required License(s)
gateway

 
int UF_MODL_ask_datum_plane
(
tag_t dplane_tag,
double dplane_point [ 3 ] ,
double dplane_normal [ 3 ]
)
tag_tdplane_tagInputDatum plane
doubledplane_point [ 3 ] OutputOrigin point of the datum plane
doubledplane_normal [ 3 ] OutputNormal direction of the datum plane

 


 
UF_MODL_ask_datum_plane_parms (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Gets datum plane parameters. Plane center and normal are given in
an array of three floating point numbers with X value in the first
element, Y in the second, and Z in the third. Parameters for offset
distance from plane and offset angle from plane are returned in
expression format which needs to be deallocated using UF_free. If
these two parameters are not applicable, the pointers are NULL.
acquires and prints out the parameters for the selected datum plane.

Environment
Internal and External

See Also
See example
 
Required License(s)
gateway

 
int UF_MODL_ask_datum_plane_parms
(
tag_t feature_obj_id,
double origin [ 3 ] ,
double normal [ 3 ] ,
char * * offset,
char * * angle
)
tag_tfeature_obj_idInputFeature object identifier of datum plane.
doubleorigin [ 3 ] OutputDatum plane center.
doublenormal [ 3 ] OutputDatum plane normal.
char * *offsetOutput to UF_*free*Offset distance from plane. This must be freed by calling
UF_free.
char * *angleOutput to UF_*free*Offset angle from plane. This must be freed by calling UF_free.

 


 
UF_MODL_ask_datum_point_and_direction (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Returns the point and direction of a datum feature.

If the datum does not have a point or direction tag, NULL_TAG is returned.

Environment
Internal and External

See Also
UF_MODL_ask_object_feat
UF_MODL_create_point_dirr_daxis
UF_MODL_create_point_dirr_dplane
UF_MODL_edit_datum_point
UF_MODL_edit_datum_direction

History
Original release was in V16.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_datum_point_and_direction
(
tag_t datum_feature_tag,
tag_p_t point,
tag_p_t direction
)
tag_tdatum_feature_tagInputThe datum feature tag.
tag_p_tpointOutputThe point of the datum.
tag_p_tdirectionOutputThe direction of a datum axis or, the normal to the datum
plane.

 


 
UF_MODL_ask_daxis_size (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Returns the size of a datum axis

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_daxis_size
(
tag_t daxis_tag,
double * length
)
tag_tdaxis_tagInputThe datum tag
double *lengthOutputLength of the datum axis

 


 
UF_MODL_ask_default_density (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the global solid density in the desired unit. The density units can be
any one of the following:

UF_MODL_pounds_inches
UF_MODL_pounds_feet
UF_MODL_grams_centimeters
UF_MODL_kilograms_meters

Environment
Internal and External

See Also
Refer to example
UF_MODL_set_default_density

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_default_density
(
UF_MODL_density_units_t units,
double * density
)
UF_MODL_density_units_tunitsInputunits of 'density'
double *densityOutputdefault density

 


 
UF_MODL_ask_descriptor_of_exp (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Return descriptor of the expression else return NULL. Currently, only feature
expressions have descriptors.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_descriptor_of_exp
(
tag_t exp,
char * * descriptor
)
tag_texpInputExpression to query
char * *descriptorOutput to UF_*free*Expression descriptor. This must be freed
by calling UF_free.

 


 
UF_MODL_ask_die_tip (view source)
 
Defined in: uf_modl_dieeng.h
 
Overview
Outputs the product orientation information for the input die tip feature.

Return
error code

Environment
Internal and External

History
Original release was in V19.0

 
int UF_MODL_ask_die_tip
(
tag_t die_tip_feature,
UF_MODL_die_tip_info_p_t die_tip_info
)
tag_tdie_tip_featureInputdie tip feature to inquire
UF_MODL_die_tip_info_p_tdie_tip_infoOutput to UF_*free*die tip information

 


 
UF_MODL_ask_distance_tolerance (view source)
 
Defined in: uf_modl.h
 
Overview
Gets the distance tolerance found in the Modeling Preferences dialog
box. This value is in the units of the part.

Return
Void.

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MODL_ask_distance_tolerance
(
double * tolerance
)
double *toleranceOutputDistance tolerance

 


 
UF_MODL_ask_dovetail_slot_parms (view source)
 
Defined in: uf_modl_slots.h
 
Overview
Gets dove tail slot parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_dovetail_slot_parms
(
tag_t feature_obj_id,
int edit,
char * * width,
char * * depth,
char * * angle,
char * * distance,
int * thru_flag
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char * *widthOutput to UF_*free*Slot width. This must be freed by calling
UF_free.
char * *depthOutput to UF_*free*Slot depth. This must be freed by calling
UF_free.
char * *angleOutput to UF_*free*Dove tail angle. This must be freed by calling
UF_free.
char * *distanceOutput to UF_*free*Slot distance for a none thru slot. This must
be freed by calling UF_free.
int *thru_flagOutputA thru flag can be TRUE or FALSE, if set to
TRUE then there is no distance to the slot.

 


 
UF_MODL_ask_dynamic_update (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the current setting for the modeling dynamic update preference. This
preference is used when editing a curve or a bridge curve feature from which
we can derive visible sheet or solid bodies. If UF_MODL_NO_DYNAMIC_UPDATE is
used, NX will not update the children features of the curve. If
UF_MODL_DYNAMIC_UPDATE_INCREMENTAL or UF_MODL_DYNAMIC_UPDATE_CONTINUOUS is used,
NX will dynamically update the children, depending on the immediate
children preference, of the curve each time the mouse stops moving or moves,
respectively.

Environment
Internal and External

See Also
UF_MODL_set_dynamic_update
UF_MODL_set_immediate_children
UF_MODL_ask_immediate_children

History
V17.0
 
Required License(s)
gateway

 
int UF_MODL_ask_dynamic_update
(
int * update_type
)
int *update_typeOutputCurrent setting of dynamic update:
UF_MODL_NO_DYNAMIC_UPDATE,
UF_MODL_DYNAMIC_UPDATE_INCREMENTAL,
UF_MODL_DYNAMIC_UPDATE_CONTINUOUS

 


 
UF_MODL_ask_edge_blend (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Ask an edge blend data

Environment
Internal and External

History
V17 release
 
Required License(s)
gateway

 
int UF_MODL_ask_edge_blend
(
tag_t feature_eid,
UF_MODL_edge_blend_data_p_t blend_data
)
tag_tfeature_eidInputFeature object identifier of a created blend
UF_MODL_edge_blend_data_p_tblend_dataOutput to UF_*free*Data describing the created blend

 


 
UF_MODL_ask_edge_blend1 (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Returns the defining data for a collector enabled Edge Blend feature.
To be used in place of UF_MODL_ask_edge_blend() when collection objects are desired.

Environment
Internal and External

See Also
UF_MODL_create_edge_blend
UF_MODL_ask_edge_blend

History
This function was originally released in NX2.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_edge_blend1
(
tag_t feature_obj_id,
UF_MODL_edge_blend_data_p_t blend_data
)
tag_tfeature_obj_idInputFeature object identifier for the Edge Blend feature
UF_MODL_edge_blend_data_p_tblend_dataOutput to UF_*free*Data describing the Edge Blend feature

 


 
UF_MODL_ask_edge_blend_is_mult (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Enquire whether it is a radius blend with multiple chainset capability
feature or not.

Environment
Internal and External

History
NX3.0 Release
 
Required License(s)
gateway

 
logical UF_MODL_ask_edge_blend_is_mult
(
tag_t feature_eid
)
tag_tfeature_eidInputFeature object identifier of a created blend

 


 
UF_MODL_ask_edge_blend_mult (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Ask an edge blend data of a multiple radius blend feature. This API
will work even if it is a single constant radius blend.

Environment
Internal and External

History
NX3.0 Release
 
Required License(s)
gateway

 
int UF_MODL_ask_edge_blend_mult
(
tag_t feature_eid,
UF_MODL_edge_blend_mult_data_p_t blend_data
)
tag_tfeature_eidInputFeature object identifier of a created blend
UF_MODL_edge_blend_mult_data_p_tblend_dataOutput to UF_*free*Data describing the created blend

 


 
UF_MODL_ask_edge_body (view source)
 
Defined in: uf_modl.h
 
Overview
When the user calls UF_MODL_ask_edge_body, and inputs a solid
edge, the program returns the solid body (type 70, subtype 0) it is
associated to. This identifier can be used in the other
UF_MODL_ask_body_ routines.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_edge_body
(
tag_t edge,
tag_t * body_obj_id
)
tag_tedgeInputEdge object identifier
tag_t *body_obj_idOutputObject identifier of body.

 


 
UF_MODL_ask_edge_faces (view source)
 
Defined in: uf_modl.h
 
Overview
When the user calls UF_MODL_ask_edge_faces, and inputs a solid
edge, the program returns a list of solid faces associated to that edge.
The handling of this list can be done by using the UF_MODL__list
routines.

If the edge is an occurrence, then the return values are relative to the
occurrence, and not the prototype.

Environment
Internal and External

History
Modified in V15.0 to work relative to the occurrence.
 
Required License(s)
gateway

 
int UF_MODL_ask_edge_faces
(
tag_t edge,
uf_list_p_t * face_list
)
tag_tedgeInputEdge object identifier
uf_list_p_t *face_listOutput to UF_*free*Address of Pointer to a list of Face object
identifiers. Null pointer is returned if an error
occurs (`error' > 0). Use UF_MODL_delete_list to
free space allocated for this linked list.

 


 
UF_MODL_ask_edge_feats (view source)
 
Defined in: uf_modl.h
 
Overview
When the user calls UF_MODL_ask_edge_feats, and inputs a solid
edge, the program returns a list of features associated to that edge.
The handling of this list can be done by using the UF_MODL__list
routines. The features within the list may only be used within other
UF_MODL_ routines that require a feature as input.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_edge_feats
(
tag_t edge_obj_id,
uf_list_p_t * feature_list
)
tag_tedge_obj_idInputObject identifier of the edge.
uf_list_p_t *feature_listOutput to UF_*free*Address of a pointer to a List of features. Use
UF_MODL_delete_list to free space allocated for this
linked list.

 


 
UF_MODL_ask_edge_smoothness (view source)
 
Defined in: uf_modl.h
 
Overview
A geometry check routine.
The condition for smoothness is defined as being that the angle
between the normals of the two faces that meet at the edge does not
at any point along that edge exceed the angle supplied by the user. If
the tolerance entered = 0, the current modeling angle tolerance is
used. Edges with only one adjacent face are reported as smooth.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_edge_smoothness
(
tag_t edge_tag,
double tolerance,
logical * is_smooth
)
tag_tedge_tagInputTag of edge to check
doubletoleranceInputAngle tolerance against which to check (in degrees)
logical *is_smoothOutputFALSE = edge is not smooth;
TRUE = edge is smooth

 


 
UF_MODL_ask_edge_tolerance (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the tolerance of the input edge.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_edge_tolerance
(
tag_t edge_tag,
double * tolerance
)
tag_tedge_tagInputTag of solid edge to check tolerance of
double *toleranceOutputTolerance of edge_tag

 


 
UF_MODL_ask_edge_type (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the edge type. Inquire routines only return geometric data for linear,
circular, elliptical and spline edges.

Environment
Internal and External

See Also
uf_modl_types.h for edge_type information.
 
Required License(s)
gateway

 
int UF_MODL_ask_edge_type
(
tag_t edge_id,
int * edge_type
)
tag_tedge_idInputObject identifier for the edge
int *edge_typeOutputEdge type:
UF_MODL_LINEAR_EDGE
UF_MODL_CIRCULAR_EDGE
UF_MODL_ELLIPTICAL_EDGE
UF_MODL_INTERSECTION_EDGE
UF_MODL_SPLINE_EDGE
UF_MODL_SP_CURVE_EDGE
UF_MODL_FOREIGN_EDGE
UF_MODL_CONST_PARAMETER_EDGE
UF_MODL_TRIMMED_CURVE_EDGE
UF_MODL_CONVERGENT_EDGE

 


 
UF_MODL_ask_edge_verts (view source)
 
Defined in: uf_modl.h
 
Overview
Given a solid edge as input, returns the vertices (endpoints) of the
edge. An edge may have zero, one, or two vertices, based on the edge
given. For example, a circle is an edge with a zero vertex and a line is
an edge with two vertices. It is also possible to create a circular edge
with one vertex. An example is extruding a triangle into a cylinder and
then performing a union on the results to obtain a body as shown.



When the input edge is an occurrence, the coordinates for point1 and
point2 are relative to the occurrence.

Environment
Internal and External

See Also
Refer to example

History
Modified in V15.0 to work relative to the occurrence.
 
Required License(s)
gateway

 
int UF_MODL_ask_edge_verts
(
tag_t edge,
double point1 [ 3 ] ,
double point2 [ 3 ] ,
int * vertex_count
)
tag_tedgeInputObject identifier of edge containing vertices
doublepoint1 [ 3 ] Outputfirst endpoint of edge.
doublepoint2 [ 3 ] Outputsecond endpoint of edge.
int *vertex_countOutputNumber of endpoints returned. If only one
endpoint is returned, it is contained in `point1'.

 


 
UF_MODL_ask_enlarge (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Returns the information stored in the record of the input enlarged sheet feature.

Environment
Internal and External

History
This function is provided in v17 initially.
 
Required License(s)
gateway

 
int UF_MODL_ask_enlarge
(
tag_t feat_obj_tag,
tag_t * face,
int * type,
char * percent_size [ 4 ] ,
double * tolerance
)
tag_tfeat_obj_tagInputtag of the feature record of the enlarged sheet
tag_t *faceOutputtag of the base face of the enlarged sheet
int *typeOutputenlarge extension type: 0-linear extension; 1-natural extension
char *percent_size [ 4 ] Output to UF_*free*Array of the percent increase for the surface parameters. These are character
pointers to allow for input expressions.
For linear type extensions, the range is from [0 ,100], with 0 meaning no increase,
and 100 meaning a 100% increase.
For natural type extensions, the range is from [-99, +100], with -99 meaning a 99%
decrease or shrinkage of the surface, and +100 meaning a 100% increase.

percent_size[0] is the percent for U-min
percent_size[1] is the percent for U-max
percent_size[2] is the percent for V-min
percent_size[3] is the percent for V-max

This array must be free by calling
UF_free ( percent_size[0])
UF_free ( percent_size[1])
UF_free ( percent_size[2])
UF_free ( percent_size[3])
double *toleranceOutputDistance tolerance for approximations

 


 
UF_MODL_ask_exp (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
The input to UF_MODL_ask_exp is a character string containing the
name of the expression. What is returned to the user is the entire
expression string.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_exp
(
char * exp_name,
char exp_defn [ UF_MAX_EXP_BUFSIZE ]
)
char *exp_nameInputName of expression.
charexp_defn [ UF_MAX_EXP_BUFSIZE ] OutputComplete expression string. This includes the left
hand side, equal sign, and right hand side.

 


 
UF_MODL_ask_exp_desc_of_feat (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Returns expressions and expression descriptions related to the
supplied feature.

Environment
Internal and External

History
Original release was in V14.0. V15.0 change: This function was
renamed from UF_MODL_ask_exp_desc_of_frec to UF_MODL_ask_exp_desc_of_feat.
 
Required License(s)
gateway

 
int UF_MODL_ask_exp_desc_of_feat
(
tag_t feature_obj_id,
int * number_of_exps,
char * * * descriptions,
tag_t * * exps
)
tag_tfeature_obj_idInputFeature object identifier of created rectangular
groove
int *number_of_expsOutputNumber of expressions returned
char * * *descriptionsOutput to UF_*free*number_of_exps
Array of expression descriptions related to feature.
Use UF_free_string_array to deallocate memory when done.
tag_t * *expsOutput to UF_*free*number_of_exps
Array of object identifiers to expressions related to
feature. Use UF_free to deallocate memory when done.

 


 
UF_MODL_ask_exp_desc_of_frec (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Use UF_MODL_ask_desc_of_feat instead.
Returns expressions and expression descriptions related to the supplied feature.

Environment
Internal and External

History
Original release was in V14.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_exp_desc_of_frec
(
tag_t feature_obj_id,
int * number_of_exps,
char * * * descriptions,
tag_t * * exps
)
tag_tfeature_obj_idInputFeature object identifier of created rectangular
groove
int *number_of_expsOutputNumber of expressions returned
char * * *descriptionsOutput to UF_*free*number_of_exps
Array of expression descriptions related to feature.
Use UF_free_string_array to deallocate memory when done.
tag_t * *expsOutput to UF_*free*number_of_exps
Array of object identifiers to expressions related to
feature. Use UF_free to deallocate memory when done.

 


 
UF_MODL_ask_exp_tag_string (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Returns the string that represents an expression. This is of the form:
<name>=<value>.

For example:
p1=p2+5
p10=3.1415926

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_exp_tag_string
(
tag_t expression_tag,
char * * string
)
tag_texpression_tagInputTag to evaluate.
char * *stringOutput to UF_*free*String that represents the expression. The caller must
free this by calling UF_free.

 


 
UF_MODL_ask_exp_tag_value (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Asks the value of an expression tag.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_exp_tag_value
(
tag_t expression_tag,
double * value
)
tag_texpression_tagInputTag to evaluate.
double *valueOutputValue of expression

 


 
UF_MODL_ask_exps_of_feature (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Gets all expressions related to the supplied feature.

Environment
Internal and External

See Also
UF_MODL_ask_exps_of_part
UF_MODL_ask_features_of_exp
please see example
 
Required License(s)
gateway

 
int UF_MODL_ask_exps_of_feature
(
tag_t feature,
int * number_of_exps,
tag_t * * exps
)
tag_tfeatureInputFeature to query
int *number_of_expsOutputnumber of expressions returned
tag_t * *expsOutput to UF_*free*Array of expressions related to feature. This array must
be freed by calling UF_free.

 


 
UF_MODL_ask_exps_of_part (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Gets all the numeric expressions of a part.

Environment
Internal and External

See Also
UF_MODL_ask_exps_of_feature
UF_MODL_ask_features_of_exp
please see example
 
Required License(s)
gateway

 
int UF_MODL_ask_exps_of_part
(
tag_t part_tag,
int * number_of_exps,
tag_t * * exps
)
tag_tpart_tagInputTag of the part to be queried
int *number_of_expsOutputNumber of expressions returned
tag_t * *expsOutput to UF_*free*All the expressions in the part. Use UF_free to
deallocate memory.

 


 
UF_MODL_ask_extreme (view source)
 
Defined in: uf_modl.h
 
Overview
Finds the extreme point of a face or an edge. Three direction vectors
are used to find the point. If there is a unique extreme point in the
first direction, then the other directions are ignored. Otherwise,
second and third directions are used successively to reduce the
number of extreme points to one.

The object identifier of the subobject containing the extreme point is
also returned.

For faces, the subobject is an edge containing the extreme point. If the
point does not lie on an edge, then a null object identifier (zero) is
returned for the subobject. For edges, the object identifier of the
subobject is always null (zero).

If object is an occurrence, then the return values are relative to the
occurrence, and not the prototype.

The vectors you input should be based on the ACS (Absolute Coordinate System)
of the Display part, so if your work part is a component and the Display
part is the assembly, you would want to enter in vectors for the Assembly's
ACS.

The coordinates returned will also be based on the Absolute Coordinate System
of the Display Part.

Environment
Internal and External

History
Modified in V15.0 to work relative to the occurrence.
 
Required License(s)
gateway

 
int UF_MODL_ask_extreme
(
tag_t object,
double dir1 [ 3 ] ,
double dir2 [ 3 ] ,
double dir3 [ 3 ] ,
tag_t * subent,
double point [ 3 ]
)
tag_tobjectInputObject identifier of object (valid objects are faces
and edges)
doubledir1 [ 3 ] InputFirst direction vector
doubledir2 [ 3 ] InputSecond direction vector
doubledir3 [ 3 ] InputThird direction vector
tag_t *subentOutputObject identifier of subobject containing the
extreme point (Null object identifier (zero) is
returned, if the point does not lie on a subobject).
doublepoint [ 3 ] OutputCoordinates of the extreme point.

 


 
UF_MODL_ask_extrude_offset_dir (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Retrieves the offset direction for an extruded feature.

The offset point is defined as the middle point of the first profile curve of
an extruded feature.

The offset direction is defined by the cross product of the first profile curve
direction and the extruded direction. This direction starts from the offset point.

Environment
Internal and External

See Also
UF_MODL_ask_sweep_direction()

History
Originally released in V19.0 (NX1.0)
 
Required License(s)
gateway

 
int UF_MODL_ask_extrude_offset_dir
(
tag_t feature_id,
double point [ 3 ] ,
double direction [ 3 ]
)
tag_tfeature_idInputObject tag for an extruded feature.
doublepoint [ 3 ] OutputThe middle point of the first profile curve.
This must be declared as double point[3].
doubledirection [ 3 ] OutputThe offset direction for an extruded feature.
This must be declared as double direction[3].

 


 
UF_MODL_ask_extrusion (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Retrieves the parameters used to create an extrusion.

Environment
Internal and External

See Also
UF_MODL_create_extrusion

History
Original release was in V13.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_extrusion
(
tag_t feature_obj_id,
int* num_objects,
tag_t* * objects,
UF_MODL_SWEEP_TRIM_object_p_t* trim_ptr,
char* * taper_angle,
char* limits [ 2 ] ,
char* offsets [ 2 ] ,
double region_point [ 3 ] ,
logical* region_specified,
logical* solid_creation,
double direction [ 3 ]
)
tag_tfeature_obj_idInputObject tag for the extruded feature
int*num_objectsOutputNumber of curves
tag_t* *objectsOutput to UF_*free*Pointer to an array containing the tags of the extruded curves.
This array must be freed by calling UF_free.
UF_MODL_SWEEP_TRIM_object_p_t*trim_ptrOutput to UF_*free*Pointer to structure for trimming data.
This pointer may be returned as NULL,
if trimming objects are not used.
Use function UF_MODL_SWEEP_free_trim_data to free the trimming data.
char* *taper_angleOutput to UF_*free*Taper angle. This must be freed by calling UF_free.
char*limits [ 2 ] Output to UF_*free*Limits of extrusion. Each element of this array must be
freed by calling UF_free.
char*offsets [ 2 ] Output to UF_*free*Offsets for open strings. Each element of this array must be
freed by calling UF_free.
doubleregion_point [ 3 ] OutputPoint on region desired.
logical*region_specifiedOutputTrue or False for region desired.
logical*solid_creationOutputTRUE = a solid body.
doubledirection [ 3 ] OutputExtrusion direction

 


 
UF_MODL_ask_face_blend_law_radii (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Ask face blend law radii

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_face_blend_law_radii
(
tag_t feature,
double * * radii_values,
int * rad_num
)
tag_tfeatureInputThe object identifier of the blend
double * *radii_valuesOutput to UF_*free*Array of law radii values. This is
an array that must be freed by calling
UF_free.
int *rad_numOutputData describing the blend

 


 
UF_MODL_ask_face_blend_law_range1_radii (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Ask conic face blend law radii for offset1

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_face_blend_law_range1_radii
(
tag_t feature,
double * * radii_values,
int * rad_num
)
tag_tfeatureInputThe object identifier of the blend
double * *radii_valuesOutput to UF_*free*Array of law radii values. This is an
array that must be freed by calling UF_free.
int *rad_numOutputNumber of radii

 


 
UF_MODL_ask_face_blend_law_range2_radii (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Ask conic face blend law radii for offset2

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_face_blend_law_range2_radii
(
tag_t feature,
double * * radii_values,
int * rad_num
)
tag_tfeatureInputThe object identifier of the blend
double * *radii_valuesOutput to UF_*free*Array of law radii values. This is an
array that must be freed by calling UF_free.
int *rad_numOutputNumber of radii

 


 
UF_MODL_ask_face_body (view source)
 
Defined in: uf_modl.h
 
Overview
The input to UF_MODL_ask_face_body is a single solid face. What
is returned is a solid body (type 70, subtype 0), which can be later
used in the UF_MODL_ask_body_ routines.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_face_body
(
tag_t face,
tag_t * body_obj_id
)
tag_tfaceInputFace object identifier
tag_t *body_obj_idOutputObject identifier of Body.

 


 
UF_MODL_ask_face_constraint (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function ask the parameters of a face constraint.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_face_constraint
(
tag_t feature_tag,
UF_MODL_dfo_region_t * * region,
UF_MODL_dfo_constraint_t * * constraint
)
tag_tfeature_tagInputfeature_tag.
UF_MODL_dfo_region_t * *regionOutput to UF_*free*faces to be operated
UF_MODL_dfo_constraint_t * *constraintOutput to UF_*free*constraints imposed on the region.

 


 
UF_MODL_ask_face_data (view source)
 
Defined in: uf_modl.h
 
Overview
Queries the data associated with a face. The data ouput depends on the type
of face receiving the query. The data can include the object type of
the face, center point, axis direction, etc.

Note that the normal vector and surface derivative vectors may be obtained
for all types of faces using UF_MODL_ask_face_props.

Environment
Internal and External

See Also
UF_MODL_ask_face_props
 
Required License(s)
gateway

 
int UF_MODL_ask_face_data
(
tag_t face,
int * type,
double point [ 3 ] ,
double dir [ 3 ] ,
double box [ 6 ] ,
double * radius,
double * rad_data,
int * norm_dir
)
tag_tfaceInputFace obj_id
int *typeOutputFace type is NX surface type code
16 = cylinder
17 = cone
18 = sphere
19 = revolved (toroidal)
20 = extruded
22 = bounded plane
23 = fillet (blend)
43 = b-surface
65 = offset surface
66 = foreign surface
67 = Convergent surface
doublepoint [ 3 ] OutputPoint information is returned according to the value
of type as follows.
Plane = Position in plane
Cylinder= Position on axis
Cone = Position on axis
Sphere = Center position
Torus = Center position
Revolved = Position on axis
doubledir [ 3 ] OutputDirection information is returned according to the
value of type as follows.
Plane = Normal direction
Cylinder= Axis direction
Cone = Axis direction
Torus = Axis direction
Revolved = Axis direction
doublebox [ 6 ] OutputFace boundary. The coordinates of the opposite
corners of a rectangular box with sides parallel to X,
Y, and Z axes (Absolute Coordinate System) are
returned. The box contains the specified face and is
usually close to the minimum possible size, but this
is not guaranteed.
box[0] = Xmin
box[1] = Ymin
box[2] = Zmin
box[3] = Xmax
box[4] = Ymax
box[5] = Zmax
double *radiusOutputFace major radius:
For a cone, the radius is taken at the point[3]
position on the axis.
For a torus, the radius is taken at the major axis.
double *rad_dataOutputFace minor radius: only a torus or cone has rad_data as
a minor radius.
For a cone, rad_data is the half angle in radians.
For a torus, rad_data is taken at the minor axis.
int *norm_dirOutputFace normal direction: +1 if the face normal is in the
same direction as the surface normal (cross product of
the U- and V-derivative vectors), -1 if reversed.

 


 
UF_MODL_ask_face_edges (view source)
 
Defined in: uf_modl.h
 
Overview
The input to UF_MODL_ask_face_edges is a single solid face. What
is returned is a list of solid edges associated to that face. The
handling of this list can be done by using the UF_MODL__list routines.

If the face is an occurrence, then the return values are relative to the
occurrence, and not the prototype.

Environment
Internal and External

History
Modified in V15.0 to work relative to the occurrence.
 
Required License(s)
gateway

 
int UF_MODL_ask_face_edges
(
tag_t face,
uf_list_p_t * edge_list
)
tag_tfaceInputFace object identifier
uf_list_p_t *edge_listOutput to UF_*free*Address of a pointer to a list of Edge object
identifiers. Use UF_MODL_delete_list to free
space allocated for this linked list.

 


 
UF_MODL_ask_face_face_intersect (view source)
 
Defined in: uf_modl.h
 
Overview
A geometry check routine.
Determine whether the body provided by the caller passes the face-face
intersection check. This routine should be called after
UF_MODL_ask_body_consistency has returned no errors.

Environment
Internal and External

See Also
UF_MODL_ask_body_consistency
UF_MODL_ask_body_structures
 
Required License(s)
gateway

 
int UF_MODL_ask_face_face_intersect
(
tag_t body_tag,
int * num_tags,
tag_t * * fault_tags
)
tag_tbody_tagInputbody tag
int *num_tagsOutputNumber of faces in the input body which
have a face to face intersection
tag_t * *fault_tagsOutput to UF_*free*Array of face tags which have a face to
face intersection. This must be freed by
calling UF_free.

 


 
UF_MODL_ask_face_feats (view source)
 
Defined in: uf_modl.h
 
Overview
The input to UF_MODL_ask_face_feats is a single solid face. What
is returned is a list of features to which the input face belongs (usually
a single feature). The handling of this list can be done by using the
UF_MODL__list routines. The features within the list may only be
used within other UF_MODL_ routines that require a feature as
input.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_face_feats
(
tag_t face_obj_id,
uf_list_p_t * feature_list
)
tag_tface_obj_idInputFace object identifier
uf_list_p_t *feature_listOutput to UF_*free*Address of a pointer to a List of features to which
the face belongs. The feature is the parent of the
face (features cannot belong to a face). Use
UF_MODL_delete_list to free space allocated for this
linked list.

 


 
UF_MODL_ask_face_grid_count (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the u and v grid counts of a face or a body. It returns -1 as the
count when the faces of the selected body differ in the grid count.

Environment
Internal and External

See Also
Refer to example
UF_MODL_edit_face_grid_count

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_face_grid_count
(
tag_t object,
int * u_count,
int * v_count
)
tag_tobjectInputtag of face or body
int *u_countOutputu grid counts
int *v_countOutputv grid counts

 


 
UF_MODL_ask_face_loops (view source)
 
Defined in: uf_modl.h
 
Overview
The input to UF_MODL_ask_face_loops is a single solid face. What
is returned is a list of type 'loop_list.' This is a pointer to a list of loop
structures. Each loop structure contains a list of edges that makeup a
particular loop. This structure is detailed within the uf_modl.h include
file.

If the face is an occurrence, then the return values are relative to the
occurrence, and not the prototype.

Environment
Internal and External

History
Modified in V15.0 to work relative to the occurrence.
 
Required License(s)
gateway

 
int UF_MODL_ask_face_loops
(
tag_t face,
uf_loop_p_t * loop_list
)
tag_tfaceInputObject identifier of face containing loops
uf_loop_p_t *loop_listOutput to UF_*free*Address of a Pointer to a loop_list structure. Null
pointer is returned if face has no loops, or if an
error occurs (`error' > 0). Use
UF_MODL_delete_loop_list to free space allocated
for this linked list.

 


 
UF_MODL_ask_face_min_radii (view source)
 
Defined in: uf_modl.h
 
Overview
Gets the minimum radius of curvature on each side of the given face
where one exists, and its position and u-v parameters. The position
is returned in the same units as the current part.

A minimum radius of curvature is deemed not to exist on one side of
the surface if it is nowhere concave on that side. So the function can
return 0 (in the case of a plane), 1 (in the case of a cylinder, for
example) or 2 minima.

The magnitude of the radius has a positive sign if the surface is
concave with respect to its normal and a negative sign if the surface is
convex with respect to its normal.

If face is an occurrence, then the return values are relative to the
occurrence, and not the prototype.

Environment
Internal and External

See Also
For fragment code see example

History
Modified in V15.0 to work relative to the occurrence.
 
Required License(s)
gateway

 
int UF_MODL_ask_face_min_radii
(
tag_t face,
int * num_radii,
double radii [ 2 ] ,
double positions [ 6 ] ,
double params [ 4 ]
)
tag_tfaceInputinput face
int *num_radiiOutputnumber of radii found
doubleradii [ 2 ] Outputminimum radii of curvature
doublepositions [ 6 ] Outputpoint locations of minimum radii.
doubleparams [ 4 ] Outputu-v parameters of each radii

 


 
UF_MODL_ask_face_parm (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the parameter and point on the surface of a face
given a reference point.

Note that the returned point will be on the underlying surface
but may not be on the portion which is bounded by the edges
of the face.

Note that in some cases, there is a potential risk that the returned point might
be adjusted incorrectly where the underlying surface has an extended UV range.
Please use UF_MODL_ask_face_parm_2 instead.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_face_parm
(
tag_t face_id,
double ref_pnt [ 3 ] ,
double parm [ 2 ] ,
double face_pnt [ 3 ]
)
tag_tface_idInputFace identifier.
doubleref_pnt [ 3 ] InputReference point in absolute space (ref_pnt[3]).
doubleparm [ 2 ] OutputParameter (u,v) on face (parm[2]).
doubleface_pnt [ 3 ] OutputPoint on the surface of the given face (face_pnt[3])

 


 
UF_MODL_ask_face_parm_2 (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the parameter and point on the surface of a face
given a reference point.

Note that the returned point will be on the underlying surface
but may not be on the portion which is bounded by the edges
of the face.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_face_parm_2
(
tag_t face_id,
double ref_pnt [ 3 ] ,
double parm [ 2 ] ,
double face_pnt [ 3 ]
)
tag_tface_idInputFace identifier.
doubleref_pnt [ 3 ] InputReference point in absolute space (ref_pnt[3]).
doubleparm [ 2 ] OutputParameter (u,v) on face (parm[2]).
doubleface_pnt [ 3 ] OutputPoint on the surface of the given face (face_pnt[3])

 


 
UF_MODL_ask_face_periodicity (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the periodicity of the underlying surface of a face (opened or closed).

Environment
Internal and External

See Also
See glossary
 
Required License(s)
gateway

 
int UF_MODL_ask_face_periodicity
(
tag_t face_id,
int * U_status,
double * U_period,
int * V_status,
double * V_period
)
tag_tface_idInputObject identifier for the face
int *U_statusOutputU status:
UF_MODL_NON_PERIODIC - not periodic in the U direction
UF_MODL_PERIODIC - periodic in U direction
UF_MODL_BOTH_X_PERIODIC - cross-periodic (poles at both ends)
UF_MODL_MIN_X_PERIODIC - cross-periodic (poles at U min)
UF_MODL_MAX_X_PERIODIC - cross-periodic (poles at U max)
double *U_periodOutputPeriod in U direction
int *V_statusOutputV status-
UF_MODL_NON_PERIODIC - not periodic in the V direction
UF_MODL_PERIODIC - periodic in V direction
UF_MODL_BOTH_X_PERIODIC - cross-periodic (poles at both ends)
UF_MODL_MIN_X_PERIODIC - cross-periodic (poles at V min)
UF_MODL_MAX_X_PERIODIC - cross-periodic (poles at V max)
double *V_periodOutputPeriod in V direction

 


 
UF_MODL_ask_face_props (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the point, first derivative in U, first derivative in V, second
derivative in U, second derivative in V, unit face normal, and the principal
radii of curvature on a face at a given parameter. Face parameters are
not normalized and the input parameter (param[2]) must be between the
Umin, Umax, Vmin, and Vmax of the face.

The unit face normal may be the same as the surface normal (cross product
of the U- and V-derivative vectors) or may be reversed. For a solid body
face, the face normal may have been reversed so as to point out of the solid
body(for a valid solid body, all the face normals will point out of the body).
For a sheet body face, the face normal may be reversed if a REVERSE_NORMAL
feature has been applied (see UF_MODL_create_reverse_normal).

The face normal direction can be obtained from UF_MODL_ask_face_data.

Environment
Internal and External

See Also
UF_MODL_ask_face_data
UF_MODL_create_reverse_normal
 
Required License(s)
gateway

 
int UF_MODL_ask_face_props
(
tag_t face_id,
double param [ 2 ] ,
double point [ 3 ] ,
double u1 [ 3 ] ,
double v1 [ 3 ] ,
double u2 [ 3 ] ,
double v2 [ 3 ] ,
double unit_norm [ 3 ] ,
double radii [ 2 ]
)
tag_tface_idInputFace identifier.
doubleparam [ 2 ] InputParameter (u,v) on face (param[2]).
doublepoint [ 3 ] OutputPoint at parameter (point[3]).
doubleu1 [ 3 ] OutputFirst derivative in U (u1[3]).
doublev1 [ 3 ] OutputFirst derivative in V (v1[3]).
doubleu2 [ 3 ] OutputSecond derivative in U (u2[3]).
doublev2 [ 3 ] OutputSecond derivative in V (v2[3]).
doubleunit_norm [ 3 ] OutputUnit face normal (unit_norm[3]).
doubleradii [ 2 ] OutputPrincipal radii of curvature (radii[2]).

 


 
UF_MODL_ask_face_self_intersect (view source)
 
Defined in: uf_modl.h
 
Overview
A geometry check routine.
Determines whether the face provided is self-intersecting.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_face_self_intersect
(
tag_t face_tag,
int * fault_token,
double point [ 3 ]
)
tag_tface_tagInputface tag
int *fault_tokenOutputFault token. If 0, then the face is
not self-intersecting. Otherwise
it is a model error code that can be
converted to a string by calling
UF_get_fail_message.
doublepoint [ 3 ] OutputPoint of self-intersection in ABS
coordinates

 


 
UF_MODL_ask_face_smoothness (view source)
 
Defined in: uf_modl.h
 
Overview
A geometry check routine.
Determines whether the face provided is smooth (G1 continuous) or not.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_face_smoothness
(
tag_t face_tag,
logical * is_smooth
)
tag_tface_tagInputface tag to be queried.
logical *is_smoothOutputlogical result:
If TRUE, the input face is smooth.
If FALSE, the input face is not smooth.

 


 
UF_MODL_ask_face_spikes (view source)
 
Defined in: uf_modl.h
 
Overview
A geometry check routine.
Returns whether the input solid face has a spike or cut. This function
uses the following method: The angle between each pair of adjoining
edges is checked. If this angle is very small, the system checks several
points along the shorter edge; if the distance between each of those
points and the longer edge is less than the current Modeling Distance
Tolerance, then the face is determined to have a spike or cut.
You can find the current Modeling Distance Tolerance with
UF_MODL_ask_distance_tolerance. You can change this tolerance
with UF_MODL_set_distance_tolerance.

Environment
Internal and External

See Also
UF_MODL_ask_distance_toleranc
e
UF_MODL_set_distance_toleranc
e
 
Required License(s)
gateway

 
int UF_MODL_ask_face_spikes
(
tag_t face_tag,
logical * is_spike
)
tag_tface_tagInputTag of face to check for spikes or cuts
logical *is_spikeOutputFALSE = face has no spike/cut
TRUE = face has a spike/cut

 


 
UF_MODL_ask_face_topology (view source)
 
Defined in: uf_modl.h
 
Overview
Inquires the topology of a face.

The topology is determined from the peripheral edge loops of the face. The
topology is related to, but does not describe the type of surface used to
create the face. For example, a truncated cone has two closed loops and will
return UF_MODL_CYLINDRICAL_TOPOLOGY, not UF_MODL_CONICAL_TOPOLOGY.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_face_topology
(
tag_t face_id,
int * topo_type
)
tag_tface_idInputObject identifier for the face
int *topo_typeOutputTopological type of a face:
UF_MODL_FLAT_TOPOLOGY = 1 peripheral loop
UF_MODL_CYLINDRICAL_TOPOLOGY = 2 peripheral loops, no pole
UF_MODL_CONICAL_TOPOLOGY = 2 peripheral loops, 1 pole
UF_MODL_SPHERICAL_TOPOLOGY = 2 peripheral loops, 2 poles
UF_MODL_TOROIDAL_TOPOLOGY = no peripheral loops
0 = if error, or if input was a body with multiple faces

 


 
UF_MODL_ask_face_torus_type (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the type of toroidal surface.
In the following descriptions
for the string defined constants, a is the major axis and b is
the minor axis.

Environment
Internal and External

See Also
The example program requires a work part with a torus.
 
Required License(s)
gateway

 
int UF_MODL_ask_face_torus_type
(
tag_t face,
int * torus_type
)
tag_tfaceInputtag of the face
int *torus_typeOutputType of torus. Returns a defined constant for
the type of torus. For example UF_MODL_DOUGHNUT_TORUS.

 


 
UF_MODL_ask_face_type (view source)
 
Defined in: uf_modl.h
 
Overview
Gets the type of a face.

Environment
Internal and External

See Also
The following example creates a feature
(cylinder), extracts the faces, and inputs a face tag into
UF_MODL_ask_face_type.
 
Required License(s)
gateway

 
int UF_MODL_ask_face_type
(
tag_t face,
int * type
)
tag_tfaceInputtag of the face
int *typeOutputFace type is NX surface type code
= UF_MODL_CYLINDRICAL_FACE
= UF_MODL_CONICAL_FACE
= UF_MODL_SPHERICAL_FACE
= UF_MODL_TOROIDAL_FACE
= UF_MODL_SWEPT_FACE
= UF_MODL_PLANAR_FACE
= UF_MODL_BLENDING_FACE
= UF_MODL_PARAMETRIC_FACE
= UF_MODL_OFFSET_FACE
= UF_MODL_FOREIGN_FACE
= UF_MODL_CONVERGENT_FACE

 


 
UF_MODL_ask_face_uv_minmax (view source)
 
Defined in: uf_modl.h
 
Overview
Computes the u,v parameter space min, max of a face.

Environment
Internal and External

History
Original release was in V14.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_face_uv_minmax
(
tag_t face_tag,
double uv_min_max [ 4 ]
)
tag_tface_tagInputFace tag
doubleuv_min_max [ 4 ] Output[0] - umin
[1] - umax
[2] - vmin
[3] - vmax

 


 
UF_MODL_ask_facepair_parms (view source)
 
Defined in: uf_modl.h
 
Overview
Returns parameter data from a face pair feature.

Environment
Internal and External
 
Required License(s)
( solid_modeling  or  nx_masterfem )

 
int UF_MODL_ask_facepair_parms
(
tag_t facepair_feature_obj_id,
int * face_pair_type,
tag_p_t midsrf_feature_obj_id,
tag_p_t defining_face_1,
tag_p_t defining_face_2,
tag_p_t user_selected_midsurface,
uf_list_p_t * side_1,
uf_list_p_t * side_2,
tag_p_t midsurface_sheet_body
)
tag_tfacepair_feature_obj_idInputFace Pair Feature tag
int *face_pair_typeOutputFace Pair Feature type
1 Defining face
2 User Selected
tag_p_tmidsrf_feature_obj_idOutputMidsurface Feature tag of the Face Pair
tag_p_tdefining_face_1OutputDefining face for side 1
tag_p_tdefining_face_2OutputDefining face for side 2
tag_p_tuser_selected_midsurfaceOutputA Face or a sheet solid used to represent the
midsurface of the Face Pair feature.
uf_list_p_t *side_1Output to UF_*free*List of target solid faces for side 1. This must be
freed by calling UF_MODL_delete_list.
uf_list_p_t *side_2Output to UF_*free*List of target solid faces for side 2. This must be
freed by calling UF_MODL_delete_list.
tag_p_tmidsurface_sheet_bodyOutputMidsurface of the Face Pair Feature

 


 
UF_MODL_ask_feat_body (view source)
 
Defined in: uf_modl.h
 
Overview
The input to UF_MODL_ask_feat_body is a feature that can be
obtained from using the UF_MODL_ask__feats routines. The
output is a solid body (type 70, subtype 0) that can be used in the
UF_MODL_ask_body_ routines.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_body
(
tag_t feature_obj_id,
tag_t * body_obj_id
)
tag_tfeature_obj_idInputFeature object identifier.
tag_t *body_obj_idOutputBody object identifier which the feature belongs to.

 


 
UF_MODL_ask_feat_direction (view source)
 
Defined in: uf_modl.h
 
Overview
Gets feature direction. The direction of the feature is dependent on
the feature type. Some features have either one or two directions and
some have none.

Environment
Internal and External

See Also
Here is a list of features and their direction
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_direction
(
tag_t feature_obj_id,
double dir_x [ 3 ] ,
double dir_y [ 3 ]
)
tag_tfeature_obj_idInputA feature object identifier
doubledir_x [ 3 ] OutputX direction
doubledir_y [ 3 ] OutputY direction

 


 
UF_MODL_ask_feat_display_name (view source)
 
Defined in: uf_modl.h
 
Overview
Get the display name of the given feature.

Environment
Internal and External

History
NX8.0.3
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_display_name
(
tag_t feature_tag,
char * * feature_name
)
tag_tfeature_tagInputThe feature being inquired.
char * *feature_nameOutput to UF_*free*The display name of the feature.
The caller is responsible for calling UF_free to free this array.

 


 
UF_MODL_ask_feat_edges (view source)
 
Defined in: uf_modl.h
 
Overview
The input to UF_MODL_ask_feat_edges is a feature that can be
obtained from using the UF_MODL_ask__feats routines. The
output is a list of solid edges associated to that feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_edges
(
tag_t feature_obj_id,
uf_list_p_t * object_list
)
tag_tfeature_obj_idInputFeature object identifier to perform the inquiry
function upon.
uf_list_p_t *object_listOutput to UF_*free*Address of pointer to List of edges on the given
feature. Use UF_MODL_delete_list to free space
allocated for this linked list.

 


 
UF_MODL_ask_feat_error (view source)
 
Defined in: uf_modl.h
 
Overview
Given a feature, get all update fail messages of that feature.

Environment
Internal and External

History
NX8.0.3
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_error
(
tag_t feature_tag,
int * errNum,
char * * * errMessage
)
tag_tfeature_tagInputThe feature being inquired.
int *errNumOutputNumber of error messages.
char * * *errMessageOutput to UF_*free*Array of error messages.
The caller is responsible for calling UF_free to free this array.

 


 
UF_MODL_ask_feat_faces (view source)
 
Defined in: uf_modl.h
 
Overview
The input to UF_MODL_ask_feat_faces is a feature that can be
obtained from using the UF_MODL_ask__feats routines. The
output is a list of solid faces associated to that feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_faces
(
tag_t feature_obj_id,
uf_list_p_t * object_list
)
tag_tfeature_obj_idInputFeature object identifier to inquire upon.
uf_list_p_t *object_listOutput to UF_*free*Address of pointer to list of faces on the given
feature. Use UF_MODL_delete_list to free space
allocated for this linked list.

 


 
UF_MODL_ask_feat_fail_list (view source)
 
Defined in: uf_modl.h
 
Overview
Get all failed feature records after update. Including feature records with
warning messages.

Environment
Internal and External

History
NX8.5.1
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_fail_list
(
uf_list_p_t * failure_frec_list
)
uf_list_p_t *failure_frec_listOutput to UF_*free*Failed feature record list.
The caller is responsible for calling UF_MODL_delete_list
to delete this list.

 


 
UF_MODL_ask_feat_location (view source)
 
Defined in: uf_modl.h
 
Overview
Inquires a single feature object and retrieves the location
of the feature in the absolute coordinate system. The location of
the feature is dependent on the feature type.

AXIS_ANGLE_DATUM_PLANE - NO LOCATION
AXIS_NORMAL_DATUM_PLANE - NO LOCATION
BALL_GROOVE - Location at the center of the groove.
BALL_SLOT - Location at the center slot attach face.
BLEND - NO LOCATION.
BLOCK - Location at the block corner.
BOSS - Location at the center of the boss attach face.
CBORE_HOLE - Location at the center of the hole attach face.
CHAMFER - NO LOCATION.
CIRCULAR_ISET - Location at the center of the iset rotation point.
CONE - Location at the center of the lower face.
CSUNK_HOLE - Location at the center of the hole attach face.
CYL_DATUM_PLANE - NO LOCATION
CYL_NORMAL_DATUM_PLANE - NO LOCATION
CYL_PARALLEL_DATUM_PLANE - NO LOCATION
CYLINDER - Location at the center of the lower face.
CYL_POCKET - Location at the center of the pocket attach face.
DATUM_AXIS - NO LOCATION
DATUM_PLANE - NO LOCATION
DOVE_TAIL_SLOT - Location at the center slot attach face.
HOLLOW - NO LOCATION.
INSTANCE - x, y location
LINEAR_ISET - Location of the first instance.
META - NO LOCATION
OFFSET - NO LOCATION.
PRISM - Location at the prism center.
PROJ_DCURVE - NO LOCATION
RECT_GROOVE - Location at the center of the groove.
RECT_PAD - Location at the corner of the pad attach face.
RECT_POCKET - Location at the center of the pocket attach face.
RECT_SLOT - Location at the center slot attach face.
SKETCH - NO LOCATION
SIMPLE HOLE - Location at the center of the hole attach face.
SPHERE - Location at the center of the sphere.
SWP104 - NO LOCATION.
TANGENT_PARALLEL_DATUM_PLANE - NO LOCATION
TRANSFORM_ISET - NO LOCATION
TAPER - The location and the direction of the taper specifies a
plane, and the intersection between this plane and the taper face
specify the axis of rotation.
TORUS - Location at the center of the lower face.
T_SLOT - Location at the center slot attach face.
UDF - Location of the first feature in the UDF.
U_GROOVE - Location at the center of the groove.
U_SLOT - Location at the center slot attach face.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_location
(
tag_t feature_obj_id,
double location [ 3 ]
)
tag_tfeature_obj_idInputA feature object identifier
doublelocation [ 3 ] OutputLocation of feature in absolute coordinate system.

 


 
UF_MODL_ask_feat_name (view source)
 
Defined in: uf_modl.h
 
Overview
Returns a character string containing the feature type and time stamp
of the feature passed into the function. The time stamp refers to the
order of creation. For example, if you created two blocks they would
be time stamped as BLOCK(0) and BLOCK(1).

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_name
(
tag_t feature_tag,
char * * feature_name
)
tag_tfeature_tagInputObject identifier of feature to inquire.
char * *feature_nameOutput to UF_*free*String containing feature name (feature type and
time stamp). Use UF_free to deallocate memory
when done.

 


 
UF_MODL_ask_feat_object (view source)
 
Defined in: uf_modl.h
 
Overview
Get the object identifiers from a feature.

This function will return the display object identifiers of the following
features:

DATUM_PLANE - returns object identifiers of type UF_datum_plane_type
DATUM_AXIS - returns object identifiers of type UF_datum_axis_type
SKETCH - returns object identifiers of type UF_sketch_type
CURVE feature (like projection curve, extract.. ) returns object
identifiers of the curves.

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_object
(
tag_t feature,
int * n_eids,
tag_t * * eids
)
tag_tfeatureInputFeature tag
int *n_eidsOutputNumber of objects
tag_t * *eidsOutput to UF_*free*objects array. Free this by calling UF_free.

 


 
UF_MODL_ask_feat_or_udf_sysname (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Returns full name (type and time stamp) of feature. The name is the
NX system defined name and will not reflect renaming that the user
may have applied to the feature.

In some cases, further refinement of the feature type is neccessary to
distinguish which functions are usable for a given feature. For example,
UF_MODL_ask_feat_type will indicate that a feature is a SWEEP, but further
refinement of the feature is needed to know if UF_MODL_ask_extrusion or
the UF_MODL_ask_sweep... functions can be used to retrieve the parameters
for the given SWEEP.

Environment
Internal and External

See Also
UF_MODL_ask_feat_name
UF_MODL_ask_feat_type

History
Originally released in NX6.0.1
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_or_udf_sysname
(
tag_t feature_eid,
char * * feature_name
)
tag_tfeature_eidInputFeature to inguire upon
char * *feature_nameOutput to UF_*free*String containing feature name.
Must be freed using UF_free

 


 
UF_MODL_ask_feat_relatives (view source)
 
Defined in: uf_modl.h
 
Overview
Get the relatives (parents and children) of a feature. This function
works on all features, including datums, sketches, and projected
curves.

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_relatives
(
tag_t feature_tag,
int * num_parents,
tag_t * * parent_array,
int * num_children,
tag_t * * children_array
)
tag_tfeature_tagInputfeature on which we are inquiring.
int *num_parentsOutputnumber of parents tags in parent array.
tag_t * *parent_arrayOutput to UF_*free*Pointer to an array holding the feature tags of the
parents. This must be freed by calling UF_free.
int *num_childrenOutputnumber of children tags in the children array.
tag_t * *children_arrayOutput to UF_*free*Pointer to an array holding the feature tags of the
children. This must be freed by calling UF_free.

 


 
UF_MODL_ask_feat_sysname (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Returns full name (type and time stamp) of feature. The name is the
NX system defined name and will not reflect renaming that the user
may have applied to the feature unless the feature is a UDF.
If the input feature is a user defined feature (UDF) the system feature name
'User Defined Feature' is considered insignificant compared to any name
applied by the user. UDF features will return the user applied feature name.

In some cases, further refinement of the feature type is neccessary to
distinguish which functions are usable for a given feature. For example,
UF_MODL_ask_feat_type will indicate that a feature is a SWEEP, but further
refinement of the feature is needed to know if UF_MODL_ask_extrusion or
the UF_MODL_ask_sweep... functions can be used to retrieve the parameters
for the given SWEEP.

Environment
Internal and External

See Also
UF_MODL_ask_feat_name
UF_MODL_ask_feat_type

History
Originally released in V19.0
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_sysname
(
tag_t feature_eid,
char * * feature_name
)
tag_tfeature_eidInputFeature to inguire upon
char * *feature_nameOutput to UF_*free*String containing feature name.
Must be freed using UF_free

 


 
UF_MODL_ask_feat_tolerance (view source)
 
Defined in: uf_modl.h
 
Overview
Gets the tolerance of the input feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_tolerance
(
tag_t feature_obj_id,
logical * tolerance_exists,
double * tolerance
)
tag_tfeature_obj_idInputFeature to inquire upon
logical *tolerance_existsOutputReturns TRUE if distance tolerance exists for the feature
double *toleranceOutputDistance tolerance of feature

 


 
UF_MODL_ask_feat_type (view source)
 
Defined in: uf_modl.h
 
Overview
Gets the type of the input feature.

Environment
Internal and External

See Also
UF_MODL_ask_feat_name
feature_name_test.c
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_type
(
tag_t feature_obj_id,
char * * feature_type
)
tag_tfeature_obj_idInputFeature to inquire upon.
char * *feature_typeOutput to UF_*free*String containing feature type. Use UF_free to
deallocate memory when done.

 


 
UF_MODL_ask_feat_warning_messages (view source)
 
Defined in: uf_modl.h
 
Overview
Given a feature, get all update warning messages of that feature.

Environment
Internal and External

History
NX8.5.1
 
Required License(s)
gateway

 
int UF_MODL_ask_feat_warning_messages
(
tag_t feature_eid,
int * wanNum,
char * * * wanMessage
)
tag_tfeature_eidInputThe feature being inquired.
int *wanNumOutputNumber of warning messages.
char * * *wanMessageOutput to UF_*free*Array of warning messages.
The caller is responsible for calling UF_free to free this array.

 


 
UF_MODL_ask_feature_boolean (view source)
 
Defined in: uf_modl.h
 
Overview
Returns information about the boolean status of a solid feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_feature_boolean
(
tag_t feature_obj_id,
UF_FEATURE_SIGN * boolean_status
)
tag_tfeature_obj_idInputFeature object identifier to inquire.
UF_FEATURE_SIGN *boolean_statusOutputUF_NO_BOOLEAN - feature has not been
booleaned.
UF_TOP_TARGET - feature is not booleaned into
any other features but has
at least one tool as a child.
UF_UNITE - feature has been united to a
target solid.
UF_SUBTRACT - feature has been subtracted
from a target solid.
UF_INTERSECT - feature has been intersected
with a target solid.
UF_DEFORM_POSITIVE - feature used to deform
the positive side of the
target sheet.
UF_DEFORM_NEGATIVE - feature used to deform
the negative side of the
target sheet.

 


 
UF_MODL_ask_feature_sign (view source)
 
Defined in: uf_modl.h
 
Overview
Gets the sign of a feature. You input the object identifier of the
feature and this routine retrieves the "sign". The "sign" is a
numerical value representing the type of Boolean operation performed.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_feature_sign
(
tag_t feature_obj_id,
UF_FEATURE_SIGN * sign
)
tag_tfeature_obj_idInputFeature object identifier
UF_FEATURE_SIGN *signOutputSign of resultant feature.
The sign of the feature is:
UF_NULLSIGN = 0, create new target solid
UF_POSITIVE = 1, add to target solid
UF_NEGATIVE = 2, subtract from target solid
UF_UNSIGNED = 3, intersect with target solid
UF_DEFORM_POSITIVE = 9, deform on the positive side
of target
UF_DEFORM_NEGATIVE = 10 deform on the negative side
of target

 


 
UF_MODL_ask_features_of_exp (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Gets all the features that use the supplied expression.

Environment
Internal and External

See Also
UF_MODL_ask_exps_of_feature
UF_MODL_ask_exps_of_part
please refer to example
 
Required License(s)
gateway

 
int UF_MODL_ask_features_of_exp
(
tag_t exp,
int * number_of_features,
tag_t * * features
)
tag_texpInputExpression to query
int *number_of_featuresOutputNumber of feature tags returned
tag_t * *featuresOutput to UF_*free*Features related to given expression. This array must be
freed by calling UF_free.

 


 
UF_MODL_ask_features_of_mirror_set (view source)
 
Defined in: uf_modl.h
 
Overview
This function ask for all the features inside the mirror set.
The routine will return only the input features, to ask for the
output feature use UF_MODL_ask_all_members_of_set().

See Also
UF_MODL_ask_all_members_of_set

Environment
Internal and External

History
Released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_features_of_mirror_set
(
tag_t mirror_set,
tag_t * * features,
int * number_of_features
)
tag_tmirror_setInputThe tag of the mirror feature
tag_t * *featuresOutput to UF_*free*An array of input features. This array must
be freed by calling UF_free.
int *number_of_featuresOutputNumber of features in the array

 


 
UF_MODL_ask_features_of_udf (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Query the features that make up the given UDF. The UDF is a collection of
features.
Note: The features of udfs have the same name as the udf.
This routine works only with new-style UDFs released in V15

Environment
Internal and External

History
Originally released in V15.0
 
Required License(s)
gateway

 
int UF_MODL_ask_features_of_udf
(
tag_t udf_tag,
tag_t * * features,
int * num_feature
)
tag_tudf_tagInputThe object identifier of either a UDF_INS or UDF_DEF
feature.
tag_t * *featuresOutput to UF_*free*Array of features inside the udf. This array must
be freed by calling UF_free.
int *num_featureOutputNumber of features

 


 
UF_MODL_ask_flange_parms (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Returns the parameters of an existing straight-brake flange feature.
The structure returns the thickness, width, angle, length, radius and
the taper/miter/butt for the left and right side of the feature.
The memory for the structure is allocated by the routine and must be
freed by the caller of the routine.

Environment
Internal and External

History
Original release was in V14.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_flange_parms
(
tag_t feature_tag,
UF_MODL_flange_data_p_t * parameters
)
tag_tfeature_tagInputObject identifier of an existing
straight-brake flange feature.
UF_MODL_flange_data_p_t *parametersOutput to UF_*free*The parameters associated with the
existing straight-brake flange feature.
Use UF_free to deallocate memory
when done.
NEEDS FREE ROUTINE

 


 
UF_MODL_ask_flange_proc_factor (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Inquires the current process factor.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_flange_proc_factor
(
tag_t flange,
double * proc_factor
)
tag_tflangeInputObject identifier for the flange feature.
double *proc_factorOutputProcess factor

 


 
UF_MODL_ask_formable_feature_state (view source)
 
Defined in: uf_modl_smd.h
 
Overview
This routine will return the current state of the given feature.
The given feature tag must be the tag Flange, Inset Flange,
General Flange, SMBridge, or SMBend feature.

The state returned will be either UF_MODL_formed_state,
UF_MODL_unformed_state, or UF_MODL_other_state.

When UF_MODL_other_state is returned and a non-NULL pointer to a
UF_MODL_state_info structure is given, this structure will be filled
with the current intermediate state of the feature.

The UF_MODL_state_info structure will hold a Process Factor if the
feature tag belongs to a Flange, Inset Flange feature. The Process
Factor can be thought of as a percentage of the design angle of the
feature. For example, a Process Factor of 1.0 represents a fully
Flange. A Process Factor of 0.0 represents a fully unformed
Flange. A Process Factor of 0.5 represents a Flange in an intermediate
state that is half-formed.

The UF_MODL_state_info structure will hold a State Index if the feature
tag belongs to a General Flange or SMBridge. The State Index
represents an index into the array of states stored by the General
Flange or SMBridge feature. Note: this value is currently not used.

If the given_feature is an SMBend, no state information other than
UF_MODL_formed_state or UF_MODL_unfromed_state will be returned.

Return
Return code:
=0 : Successful
>0 : Failing error number
<0 : Failing error number
= UF_MODL_ERR_NOT_A_FORMABLE_FEATURE : The given tag was not
the tag of a formable
feature.
= UF_MODL_ERR_NOT_A_SUPPORTED_FEATURE : A given tag belongs to a
formable feature that is
not yet supported.

Environment
Internal and External

See Also
UF_MODL_edit_formable_feature_state

History
Originally released in V18.0
 
Required License(s)
gateway

 
int UF_MODL_ask_formable_feature_state
(
const tag_t feature_tag,
UF_MODL_state_e_t * const state,
UF_MODL_state_info_t * const state_info
)
const tag_tfeature_tagInputThe tag of a Flange, Inset
Flange, General Flange,
SMBridge, or SMBend feature.
UF_MODL_state_e_t * conststateOutputThe current state of an
SMBend feature: either
UF_MODL_formed_state,
UF_MODL_unformed_state or
UF_MODL_other_state.
UF_MODL_state_info_t * conststate_infoOutputOptional.
If a non-NULL pointer to a
UF_MODL_state_info_t structure
is given here, it will be filled
with the state information of
the feature.

 


 
UF_MODL_ask_free_form_result (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Returns the the current setting of the free form construction result
preference. This preference controls free form feature creation in
Through Curves, Through Curves Mesh, Swept, and Ruled functions.
If the free form construction result is 0 and the selected curves are
coplanar, a bounded plane is created. Otherwise, a B-surface is
created.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_free_form_result
(
int * free_form_result
)
int *free_form_resultOutputfree form construction result preference
0 = create bounded plane, if selected curves are
coplanar.
1 = always create B-surface.

 


 
UF_MODL_ask_general_flange (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Retrieves the parameters used to create a general flange.

Environment
Internal and External

History
Original release was in V13.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_general_flange
(
tag_t general_flange_tag,
UF_STRING_p_t bend_edge_string,
UF_STRING_p_t spine_string,
int * step_count,
int * poly_cubic,
int * reverse_normal,
int * reverse_thicken,
char thickness_str [ UF_MAX_EXP_BUFSIZE ] ,
char tolerance_str [ UF_MAX_EXP_BUFSIZE ] ,
UF_MODL_parm_p_t plus,
UF_MODL_parm_t bend_radius [ ] ,
UF_MODL_parm_t bend_angle [ ] ,
UF_MODL_parm_t web_length [ ]
)
tag_tgeneral_flange_tagInputAttachment face for the generalized flange. The
flange is constrained to be tangent to this face
along the bend edge.
UF_STRING_p_tbend_edge_stringOutputAn edge in the tangent face, used as the
attachment edge the generalized flange.
UF_STRING_p_tspine_stringOutputAn edge or curve used to define the section
planes for the bend and web. If this value is null,
the bend edge string is used as the spine string.
int *step_countOutputThe number of steps in the generalized flange.
Zero is an invalid number. For each step include
a value for the bend radius, bend angle and web.
int *poly_cubicOutput=0 Use Rational Exact B-splines curves represented by exact
conics.
=1 Use Polynomial approximate to produce a surface with better
parameterization. This does not produce exact conics.
int *reverse_normalOutput=0 Use the tangent face normal at the center of
the bend edge to determine the direction of the flange.
=1 Use the reverse of the tangent face normal at the center
of the bend edge to determine the direction of the flange.
int *reverse_thickenOutput=0 If Body type is solid, thicken the plus bend
and web along the direction of the bend.
=1 If Body type is solid, thicken the plus bend
and web opposite to the direction of the bend.
charthickness_str [ UF_MAX_EXP_BUFSIZE ] OutputThickness of the solid body created if the
Modeling preference for body type is set to solid. The
calling program must pass in a character array large
enough to hold the thickness string.
chartolerance_str [ UF_MAX_EXP_BUFSIZE ] OutputThis is initially set from the the modeling
distance tolerance. This value has the same
effect as the modeling distance tolerance. The calling
program must pass in a character array large enough to
hold the tolerance string.
UF_MODL_parm_p_tplusOutputThe law specification of the target face extension
between the bend edge and the start of the bend.
UF_MODL_parm_tbend_radius [ ] OutputThe law specification of the radius of the bend.
There will be one value in this array for each
step in the flange. The caller is responsible
for allocating an array large enough to handle
the number of steps.
UF_MODL_parm_tbend_angle [ ] OutputThe law specification of the angle of the bend.
There will be one value in this array for each
step in the flange. The caller is responsible
for allocating an array large enough to handle
the number of steps.
UF_MODL_parm_tweb_length [ ] OutputThe law specification of the length of the surface
extension after the bend. There will be one value
in this array for each step in the flange. The
caller is responsible for allocating an array
large enough to handle the number of steps.

 


 
UF_MODL_ask_general_pad (view source)
 
Defined in: uf_modl_pads.h
 
Overview
Retrieves the parameters used to create a general pad.

Environment
Internal and External

See Also
please see example
UF_MODL_create_general_pad
UF_MODL_edit_general_pad
UF_MODL_free_general_pad
 
Required License(s)
gateway

 
int UF_MODL_ask_general_pad
(
tag_t general_pad_tag,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t top_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t top_radius
)
tag_tgeneral_pad_tagInputObject identifier of the general pad
feature whose parameters are to be
retrieved.
UF_MODL_faces_p_tplacement_facesOutput to UF_*free*The faces used to define the shape of
the pad at the placement faces. The
first face is used to determine the
target body. The caller must allocate
a UF_MODL_faces_t structure and pass a
pointer to that structure. This will be
filled with allocated data which must be
freed by calling UF_MODL_free_general_pad.
UF_MODL_offset_trans_faces_p_ttop_facesOutput to UF_*free*The definition of the top of the pad. The
top can either be an offset or translation
of the specified faces. If the top was
an offset or translate of the placement
faces, then the UF_MODL_faces_p_t pointer
within this structure, points to the
placement faces structure. The caller must
allocate a UF_MODL_offset_trans_faces_t
structure and pass a pointer to that
structure. This will be filled with
allocated data which must be freed by
calling UF_MODL_free_general_pad.
UF_MODL_pocketpad_outline_p_toutlineOutput to UF_*free*The definition of the curves used to
define the shape of the pad. The
shape can be defined by a single set of
curves at either the placement face or
the top face, and then the other curves
are derived with a taper angle. The
shape can also be defined by specifying
curves at both the placement face and the
top face. The caller must allocate a
UF_MODL_pocketpad_outline_t structure and
pass a pointer to that structure. This will
be filled with allocated data which must be
freed by calling UF_MODL_free_general_pad.
UF_MODL_parm_p_tplacement_radiusOutput to UF_*free*The specification of the radius desired
between the side of the pad and the
placement face. The caller must allocate a
UF_MODL_parm_t structure and pass a
pointer to that structure. This will
be filled with allocated data which must be
freed by calling UF_MODL_free_general_pad.
UF_MODL_parm_p_ttop_radiusOutput to UF_*free*The specification of the radius desired
between the side of the pad and the top of the pad.
The caller must allocate a UF_MODL_parm_t
structure and pass a pointer to that structure.
This will be filled with allocated data which must
be freed by calling UF_MODL_free_general_pad.

 


 
UF_MODL_ask_general_pad1 (view source)
 
Defined in: uf_modl_pads.h
 
Overview
Retrieves the parameters with face collectors and section builders
used to create a general pad.

Environment
Internal and External

See Also
please see example
UF_MODL_create_general_pad
UF_MODL_edit_general_pad
UF_MODL_free_general_pad
 
Required License(s)
gateway

 
int UF_MODL_ask_general_pad1
(
tag_t general_pad_tag,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t top_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t top_radius
)
tag_tgeneral_pad_tagInputObject identifier of the general pad
feature whose parameters are to be
retrieved.
UF_MODL_faces_p_tplacement_facesOutput to UF_*free*The face collector used to define the shape of
the pad at the placement faces. The
first face of the face collector is used to determine the
target body. The caller must allocate
a UF_MODL_faces_t structure and pass a
pointer to that structure. This will be
filled with allocated data which must be
freed by calling UF_MODL_free_general_pad.
UF_MODL_offset_trans_faces_p_ttop_facesOutput to UF_*free*The definition of the top of the pad. The
top can either be an offset or translation
of the specified face collector. If the top was
an offset or translate of the placement
faces, then the UF_MODL_faces_p_t pointer
within this structure, points to the
placement faces structure. The caller must
allocate a UF_MODL_offset_trans_faces_t
structure and pass a pointer to that
structure. This will be filled with
allocated data which must be freed by
calling UF_MODL_free_general_pad.
UF_MODL_pocketpad_outline_p_toutlineOutput to UF_*free*The definition of the curves used to
define the shape of the pad. The
shape can be defined by a single section builder
at either the placement face or
the top face, and then the other section builder
is derived with a taper angle. The
shape can also be defined by specifying
section builders at both the placement face and the
top face. The caller must allocate a
UF_MODL_pocketpad_outline_t structure and
pass a pointer to that structure. This will
be filled with allocated data which must be
freed by calling UF_MODL_free_general_pad.
UF_MODL_parm_p_tplacement_radiusOutput to UF_*free*The specification of the radius desired
between the side of the pad and the
placement face. The caller must allocate a
UF_MODL_parm_t structure and pass a
pointer to that structure. This will
be filled with allocated data which must be
freed by calling UF_MODL_free_general_pad.
UF_MODL_parm_p_ttop_radiusOutput to UF_*free*The specification of the radius desired
between the side of the pad and the top of the pad.
The caller must allocate a UF_MODL_parm_t
structure and pass a pointer to that structure.
This will be filled with allocated data which must
be freed by calling UF_MODL_free_general_pad.

 


 
UF_MODL_ask_general_pocket (view source)
 
Defined in: uf_modl_pockets.h
 
Overview
Retrieves the parameters used to create a general pocket.

Environment
Internal and External

See Also
UF_MODL_create_general_pocket
UF_MODL_edit_general_pocket
UF_MODL_free_general_pocket
Refer to example
 
Required License(s)
gateway

 
int UF_MODL_ask_general_pocket
(
tag_t general_pocket_tag,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t floor_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t floor_radius
)
tag_tgeneral_pocket_tagInputObject identifier of the general pocket
feature whose parameters are to be
retrieved.
UF_MODL_faces_p_tplacement_facesOutput to UF_*free*The faces used to define the shape of the
pocket at the placement faces. The first face
is used to determine the target body. The
caller must allocate a UF_MODL_faces_t
structure, and pass in a pointer to that
structure. The structure will be filled
with allocated data which can be freed by
calling UF_MODL_free_general_pocket.
UF_MODL_offset_trans_faces_p_tfloor_facesOutput to UF_*free*The definition of the floor of the pocket.
The floor can either be an offset or
translation of the specified faces. If the
floor was an offset or translate of the
placement faces, then the UF_MODL_faces_p_t
pointer within this structure, points to the
placement faces structure. The caller must
allocate a UF_MODL_offset_trans_faces_t
structure, and pass in a pointer to that
structure. The structure will be filled
with allocated data which can be freed by
calling UF_MODL_free_general_pocket.
UF_MODL_pocketpad_outline_p_toutlineOutput to UF_*free*The definition of the curves used to
define the shape of the pocket. The
shape can be defined by a single set of
curves at either the placement face or
the floor face, and then the other
curves are derived with a taper angle.
The shape can also be defined by specifying
curves at both the placement face and the
floor face. The caller must allocate a
UF_MODL_pocketpad_outline_t structure, and
pass in a pointer to that structure. The
structure will be filled with allocated
data which can be freed by calling
UF_MODL_free_general_pocket.
UF_MODL_parm_p_tplacement_radiusOutput to UF_*free*The specification of the radius desired
between the side of the pocket and the
placement face. The caller must allocate a
UF_MODL_parm_p_t structure, and
pass in a pointer to that structure. The
structure will be filled with allocated
data which can be freed by calling
UF_MODL_free_general_pocket.
UF_MODL_parm_p_tfloor_radiusOutput to UF_*free*The specification of the radius desired
between the side of the pocket and the
floor of the pocket. The caller must allocate a
UF_MODL_parm_p_t structure, and
pass in a pointer to that structure. The
structure will be filled with allocated
data which can be freed by calling
UF_MODL_free_general_pocket.

 


 
UF_MODL_ask_general_pocket1 (view source)
 
Defined in: uf_modl_pockets.h
 
Overview
Retrieves the parameters with face collectors and section builders
used to create a general pocket.

Environment
Internal and External

See Also
UF_MODL_create_general_pocket
UF_MODL_edit_general_pocket
UF_MODL_free_general_pocket
Refer to example
 
Required License(s)
gateway

 
int UF_MODL_ask_general_pocket1
(
tag_t general_pocket_tag,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t floor_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t floor_radius
)
tag_tgeneral_pocket_tagInputObject identifier of the general pocket
feature whose parameters are to be
retrieved.
UF_MODL_faces_p_tplacement_facesOutput to UF_*free*The face collector used to define the shape of the
pocket at the placement faces. The first face
of the collector is used to determine the target body. The
caller must allocate a UF_MODL_faces_t
structure, and pass in a pointer to that
structure. The structure will be filled
with allocated data which can be freed by
calling UF_MODL_free_general_pocket.
UF_MODL_offset_trans_faces_p_tfloor_facesOutput to UF_*free*The definition of the floor of the pocket.
The floor can either be an offset or
translation of the specified face collector. If the
floor was an offset or translate of the
placement faces, then the UF_MODL_faces_p_t
pointer within this structure, points to the
placement faces structure. The caller must
allocate a UF_MODL_offset_trans_faces_t
structure, and pass in a pointer to that
structure. The structure will be filled
with allocated data which can be freed by
calling UF_MODL_free_general_pocket.
UF_MODL_pocketpad_outline_p_toutlineOutput to UF_*free*The definition of the curves used to
define the shape of the pocket. The
shape can be defined by a single section builder
at either the placement face or
the floor face, and then the other
section builder is derived with a taper angle.
The shape can also be defined by specifying
section builders at both the placement face and the
floor face. The caller must allocate a
UF_MODL_pocketpad_outline_t structure, and
pass in a pointer to that structure. The
structure will be filled with allocated
data which can be freed by calling
UF_MODL_free_general_pocket.
UF_MODL_parm_p_tplacement_radiusOutput to UF_*free*The specification of the radius desired
between the side of the pocket and the
placement face. The caller must allocate a
UF_MODL_parm_p_t structure, and
pass in a pointer to that structure. The
structure will be filled with allocated
data which can be freed by calling
UF_MODL_free_general_pocket.
UF_MODL_parm_p_tfloor_radiusOutput to UF_*free*The specification of the radius desired
between the side of the pocket and the
floor of the pocket. The caller must allocate a
UF_MODL_parm_p_t structure, and
pass in a pointer to that structure. The
structure will be filled with allocated
data which can be freed by calling
UF_MODL_free_general_pocket.

 


 
UF_MODL_ask_gflange (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Retrieves the parameters of general flange used to create a
general flange.

Return
Return code:
= 0 No Error
= not 0 Error code

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_gflange
(
tag_t gflange_tag,
UF_MODL_gflange_data_p_t * gflange_data
)
tag_tgflange_tagInputgeneral flange tag
UF_MODL_gflange_data_p_t *gflange_dataOutput to UF_*free*general flange data structure.
This should be freed by calling
UF_MODL_free_gflange_data.

 


 
UF_MODL_ask_hollow_data (view source)
 
Defined in: uf_modl_hollow.h
 
Overview
Ask the data for a hollow feature.

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_hollow_data
(
tag_t feature_id,
int * type,
double * tolerance,
char * * thickness,
int * n_pierced_faces,
tag_t * * pierced_faces,
int * n_boundary_faces,
tag_t * * boundary_faces,
int * n_offset_faces,
tag_t * * offset_faces,
char * * * offset_thickness
)
tag_tfeature_idInputFeature identifier
int *typeInputHollow type:
1 = face
2 = region
3 = body
double *toleranceOutputTolerance.
char * *thicknessOutput to UF_*free*Default thickness. This must be freed by
calling UF_free.
int *n_pierced_facesOutputNumber of pierced faces
tag_t * *pierced_facesOutput to UF_*free*n_pierced_faces
Array of pierced face identifiers. This
array must be freed by calling UF_free.
int *n_boundary_facesOutputNumber of boundary faces
tag_t * *boundary_facesOutput to UF_*free*n_boundary_faces
Array of boundary face identifers. This
array must be freed by calling UF_free.
int *n_offset_facesOutputNumber of offset faces
tag_t * *offset_facesOutput to UF_*free*n_offset_faces
Array of offset face ids. This array must
be freed by calling UF_free.
char * * *offset_thicknessOutput to UF_*free*n_offset_faces
Array of offset thickness expressions. This
array must be freed by calling UF_free_string_array.

 


 
UF_MODL_ask_hollow_parms (view source)
 
Defined in: uf_modl_hollow.h
 
Overview
Gets the hollow parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_hollow_parms
(
tag_t feature_obj_id,
int edit,
char * * thickness
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char * *thicknessOutput to UF_*free*The offset from the faces. This must be
freed by calling UF_free.

 


 
UF_MODL_ask_horz_dime (view source)
 
Defined in: uf_modl.h
 
Overview
The routine UF_MODL_ask_horz_dime returns the values associated
to the horizontal dimension constraint. All coordinates are with respect
to the dimension plane, therefore there are only two values (x,y).

Using UF_MODL_ask_constraints and UF_MODL_ask_constraint_type, find the
feature's "LINK_FACE_PARMS" constraint. Use this constraint tag as the
"link_face_parms" input argument to the function UF_MODL_ask_link_face_plane
to obtain the dimension plane coordinate system.

Environment
Internal and External

History
In V13.0, the tool argument was modified to output a NULL_TAG
for a centerline.
 
Required License(s)
gateway

 
int UF_MODL_ask_horz_dime
(
tag_t feature_obj_id,
tag_t constraint,
int edit,
double fixed [ 2 ] ,
double feature [ 2 ] ,
double fixc [ 2 ] ,
double feac [ 2 ] ,
char * * how_far,
tag_t * tool,
tag_t * part
)
tag_tfeature_obj_idInputIdentifier for the feature.
tag_tconstraintInputIdentifier for constraint
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
doublefixed [ 2 ] OutputDimension attachment point on the part
doublefeature [ 2 ] OutputDimension attachment point on the feature
doublefixc [ 2 ] OutputCenter of arc if attachment point is tangent to arc
edge on part, otherwise it is the same as the fixed
point.
doublefeac [ 2 ] OutputCenter of arc if attachment point is tangent to arc
edge on feature, otherwise it is the same as the
feature point.
char * *how_farOutput to UF_*free*Expression distance. This must be freed by calling UF_free.
tag_t *toolOutputEdge on the tool or NULL_TAG for centerline
tag_t *partOutputEdge on the part

 


 
UF_MODL_ask_immediate_children (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the current setting for the modeling immediate children preference.
This preference is used when editing curve whose is parent of features that
create sheet and/or solid bodies and the modeling dynamic update is either
UF_MODL_DYNAMIC_UPDATE_INCREMENTAL or UF_MODL_DYNAMIC_UPDATE_CONTINUOUS.

If the user edits a curve through edit feature or edit bridge curve feature,
this preference is not applicable. If UF_MODL_UPDATE_FIRST_LEVEL is used,
NX will update the first visible sheet or solid bodies that can be
derived from the curve. If UF_MODL_UPDATE_ALL, NX will update all
features related to editing curve.

Environment
Internal and External

See Also
UF_MODL_set_immediate_children
UF_MODL_ask_dynamic_update
UF_MODL_set_dynamic_update

History
V17.0
 
Required License(s)
gateway

 
int UF_MODL_ask_immediate_children
(
int * update_level
)
int *update_levelOutputCurrent setting of immediate children:
UF_MODL_UPDATE_FIRST_LEVEL,
UF_MODL_UPDATE_ALL

 


 
UF_MODL_ask_impr_edges (view source)
 
Defined in: uf_modl_simplify.h
 
Overview
For any imprint feature, return an array containing the edges created
by it. Only edges with associated geometry will be returned.

Environment
Internal and External

History
This function was originally released in V15.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_impr_edges
(
tag_t feature_tag,
int * n_edges,
tag_t * * edges
)
tag_tfeature_tagInputThe imprint feature
int *n_edgesOutputThe number of edges created by the imprint feature
tag_t * *edgesOutput to UF_*free*The array of edges created by the imprint feature. This must
be freed by calling UF_free.

 


 
UF_MODL_ask_impr_faces_parms (view source)
 
Defined in: uf_modl_simplify.h
 
Overview
Returns the current parameters of the imprint faces feature. The array
in the returned UF_modl_imprint_faces_data_p_t must be freed by the user
with UF_free().

Environment
Internal and External

History
This function was originally released in V15.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_impr_faces_parms
(
tag_t feature_tag,
UF_MODL_imprint_faces_data_p_t parms
)
tag_tfeature_tagInputThe imprint feature
UF_MODL_imprint_faces_data_p_tparmsOutput to UF_*free*The parameters of the imprint feature.

 


 
UF_MODL_ask_impr_loop_parms (view source)
 
Defined in: uf_modl_simplify.h
 
Overview
Returns the current parameters of the imprint loop feature.

Environment
Internal and External

History
This function was originally released in V15.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_impr_loop_parms
(
tag_t feature_tag,
UF_MODL_imprint_loop_data_p_t parms
)
tag_tfeature_tagInputThe imprint feature
UF_MODL_imprint_loop_data_p_tparmsOutputThe parameters of the imprint feature

 


 
UF_MODL_ask_inset_flange_parms (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Returns the parameters of an existing straight-brake inset flange
feature. Returns the thickness, width, angle, length, radius, and the
independent taper angles for the left and right side of the feature,
along with the inset distance and left and right reliefs for the feature.
The memory for the structure is allocated by the routine and must be
freed by the caller of the routine.

Environment
Internal and External

History
Original release was in V14.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_inset_flange_parms
(
tag_t feature_tag,
UF_MODL_inset_flange_data_p_t * parameters
)
tag_tfeature_tagInputObject identifier of an existing
straight-brake inset flange
feature.
UF_MODL_inset_flange_data_p_t *parametersOutput to UF_*free*The parameters associated with
the existing straight-brake inset
flange feature. Use UF_free to
deallocate memory.
NEEDS FREE ROUTINE

 


 
UF_MODL_ask_instance (view source)
 
Defined in: uf_modl_isets.h
 
Overview
UF_MODL_ask_instance() gets instance feature records of a linear or a
circular instance set.

The instances of a two dimensional rectangular array are returned in
column major order. As an example, for a 2x3 rectangular array, the
instances are serialized in this order:
element 1 - (0,0)
element 2 - (0,1)
element 3 - (0,2)
element 4 - (1,0)
element 5 - (1,1)
element 6 - (1,2)

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_instance
(
tag_t feature_obj_id,
uf_list_p_t * instances_feature_list
)
tag_tfeature_obj_idInputA feature object identifier of linear_iset or
circular_iset
uf_list_p_t *instances_feature_listOutput to UF_*free*List of instances feature records.
This must be freed by calling
UF_MODL_delete_list.

 


 
UF_MODL_ask_instance_iset (view source)
 
Defined in: uf_modl_isets.h
 
Overview
Gets the instance set feature of an instance.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_instance_iset
(
tag_t feature_obj_id,
tag_t * iset_feature_obj_id
)
tag_tfeature_obj_idInputA feature object identifier of the instance
tag_t *iset_feature_obj_idOutputPointer to the iset feature object identifier

 


 
UF_MODL_ask_instances_of_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Returns all instances of the given feature from "pattern" features, i.e. features
of type LINEAR_PATTERN, CIRCULAR_PATTER, or MIRROR_SET.

Environment
Internal and External

History
NX4.0.2
 
Required License(s)
gateway

 
int UF_MODL_ask_instances_of_feature
(
tag_t feature_tag,
tag_t * * feature_patterns,
int * n_feature_patterns
)
tag_tfeature_tagInputTag of a feature
tag_t * *feature_patternsOutput to UF_*free*Array of feature instances.
This array must be freed using UF_free
int *n_feature_patternsOutputNumber of feature patterns

 


 
UF_MODL_ask_instantiated_udf (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Function description:
User function for requiring a UDF instantiated feature defining data.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

It can accept single UDF references and Smart Collectors and Sections in
UF_MODL_udf_ref_data_t.

See Also
UF_MODL_udf_init_insert_data_from_def and
UF_MODL_create_instantiated_udf1

History
This function was originally released in NX3.
 
Required License(s)
gateway

 
int UF_MODL_ask_instantiated_udf
(
tag_t udf_insert_tag,
UF_MODL_udf_exp_data_t * exp_data,
UF_MODL_udf_ref_data_t * ref_data
)
tag_tudf_insert_tagInputTag of UDF instantiated feature
UF_MODL_udf_exp_data_t *exp_dataOutput to UF_*free*Expression data
UF_MODL_udf_ref_data_t *ref_dataOutput to UF_*free*Parent data

 


 
UF_MODL_ask_law_extension (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Inquires Law Extension feature and populates Law Extension Open API data
structure. A copy of length and angle law is provided in the data structure.
The memory allocated for the structure may be freed using
UF_MODL_free_law_extension().

This function will always return an array of faces no matter if that array
is defined by a collection. See UF_MODL_ask_law_extension1() for the
collector enabled version of this function.

Environment
Internal and External

See Also
UF_MODL_create_law_extension
UF_MODL_edit_law_extension
UF_MODL_free_law_extension
 
Required License(s)
gateway

 
int UF_MODL_ask_law_extension
(
tag_t law_extension,
UF_MODL_lawext_data_p_t law_extension_data
)
tag_tlaw_extensionInputLaw Extension feature
object identifier.
UF_MODL_lawext_data_p_tlaw_extension_dataOutputLaw Extension Open
API data structure.

 


 
UF_MODL_ask_law_extension1 (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Inquires Law Extension feature and populates Law Extension Open API data
structure. A copy of length and angle law is provided in the data structure.
The memory allocated for the structure may be freed using
UF_MODL_free_law_extension().

If this is a collector enabled Law Extension then the collection will be
retuned instead of the array of faces. See UF_MODL_ask_law_extension() for
the non-collector enabled version of this function.

Environment
Internal and External

See Also
UF_MODL_create_law_extension
UF_MODL_edit_law_extension
UF_MODL_free_law_extension
 
Required License(s)
gateway

 
int UF_MODL_ask_law_extension1
(
tag_t law_extension,
UF_MODL_lawext_data_p_t law_extension_data
)
tag_tlaw_extensionInputLaw Extension feature
object identifier.
UF_MODL_lawext_data_p_tlaw_extension_dataOutputLaw Extension Open
API data structure.

 


 
UF_MODL_ask_linear_iset_parms (view source)
 
Defined in: uf_modl_isets.h
 
Overview
Returns the parameters for a linear instance set.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_linear_iset_parms
(
tag_t feature_obj_id,
int edit,
char * * number_in_x,
char * * number_in_y,
char * * distance_x,
char * * distance_y
)
tag_tfeature_obj_idInputLinear instance set feature identifier.
inteditInputThis is an unused flag. It normally determines
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned. Set the value of this flag to
integer value 1.
char * *number_in_xOutput to UF_*free*Expression containing the number of instances in
the X direction. This must be freed by calling
UF_free.
char * *number_in_yOutput to UF_*free*Expression containing the number of instances in
the Y direction. This must be freed by calling
UF_free.
char * *distance_xOutput to UF_*free*The distance between instances in the X direction.
This must be freed by calling UF_free.
char * *distance_yOutput to UF_*free*The distance between instances in the Y direction.
This must be freed by calling UF_free.

 


 
UF_MODL_ask_link_face_plane (view source)
 
Defined in: uf_modl.h
 
Overview
The routine UF_MODL_ask_link_face_plane returns the plane
defining the link face constraint. To ask for a feature's
constraints see UF_MODL_ask_constraints. To make an inquiry
on the list of constraints see UF_MODL_ask_constraint_type.

Environment
Internal and External

See Also
UF_MODL_ask_constraint_type
UF_MODL_ask_constraints
 
Required License(s)
gateway

 
int UF_MODL_ask_link_face_plane
(
tag_t feature_obj_id,
tag_t link_face_parms,
double cplane_csys [ 12 ]
)
tag_tfeature_obj_idInputFeature to inquire upon.
tag_tlink_face_parmsInputLink face identifier.
doublecplane_csys [ 12 ] OutputPlane system for the link face.
[0-2] X direction
[3-5] Y direction
[6-8] Z direction
[9-11] Origin

 


 
UF_MODL_ask_link_faces (view source)
 
Defined in: uf_modl.h
 
Overview
Inquires about the target face, tool face, horizontal/ vertical reference
of a feature.

Environment
Internal and External

See Also
UF_MODL_reattach_target_face
 
Required License(s)
gateway

 
int UF_MODL_ask_link_faces
(
tag_t feature_eid,
tag_t * target_face_eid,
tag_t * tool_face_eid,
tag_t * dir_ref,
logical * ref_is_horizontal
)
tag_tfeature_eidInputthe feature being inquired
tag_t *target_face_eidOutputthe target placement face
tag_t *tool_face_eidOutputthe tool placement face
tag_t *dir_refOutputthe directional reference
logical *ref_is_horizontalOutputTRUE = horizontal reference
FALSE = vertical reference

 


 
UF_MODL_ask_linked_exterior (view source)
 
Defined in: uf_linked_exterior.h
 
Overview
This function reads the data of a Linked Exterior feature.
This feature is implemeted as a feature set which owns hidden
subfeatures similar to Linked Regions. The subfeatures should not be
edited or deleted individually. Bodies are owned by the hidden subfeatures.

See Also
UF_MODL_create_linked_exterior
UF_MODL_edit_linked_exterior
UF_MODL_identify_exterior_using_hl
UF_MODL_identify_exterior_using_rays
UF_MODL_ask_all_members_of_set

Environment
Internal and External

History
Released in V18.0
 
Required License(s)
gateway

 
int UF_MODL_ask_linked_exterior
(
tag_t feature_tag,
UF_MODL_linked_ext_p_t ext_data,
int * num_groups,
tag_t * * groups,
int * num_subfeats,
tag_t * * subfeats,
double mass_props [ 47 ]
)
tag_tfeature_tagInputFeature tag
UF_MODL_linked_ext_p_text_dataOutput to UF_*free*Feature data. The caller defines
the UF_MODL_linked_ext_t structure,
and pass in a pointer to it. This
routine will fill in the structure
based on the feature tag. The caller
is responsible for freeing any data
returned in arrays.
int *num_groupsOutputNumber of groups this feature owns
tag_t * *groupsOutput to UF_*free*Groups this feature owns (may be null)
int *num_subfeatsOutputNumber of subfeatures this feature owns
tag_t * *subfeatsOutput to UF_*free*Subfeatures this feature owns (may be null)
doublemass_props [ 47 ] OutputMass properties (same as UF_MODL_ask_mass_props_3d)
[0] = Surface Area
[1] = Volume
[2] = Mass
[3-5] = Center Of Mass (COFM), WCS
[6-8] = First Moments (centroidal)
[9-11] = Moments Of Inertia, WCS
[12-14] = Moments Of Inertia (centroidal)
[15] = Spherical Moment Of Inertia
[16-18] = Inertia Products, WCS
[19-21] = Inertia Products (centroidal)
[22-30] = Principal Axes, WCS
[31-33] = Principal Moments (centroidal)
[34-36] = Radii Of Gyration, WCS
[37-39] = Radii Of Gyration (centroidal)
[40] = Spherical Radius Of Gyration
[41-45] = Unused
[46] = Density

 


 
UF_MODL_ask_list_count (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Retrieves the count from a linked list of objects. A list of objects may
contain identifiers for bodies, features, faces, and edges.
If one of the nodes in the list contains an object identifier
that is a NULL_TAG, it is possible to receive an incorrect count.

Environment
Internal and External

See Also
UF_MODL_ask_list_item
UF_MODL_create_list
UF_MODL_delete_list
UF_MODL_put_list_item
UF_MODL_delete_list_item
 
Required License(s)
gateway

 
int UF_MODL_ask_list_count
(
uf_list_p_t list,
int * count
)
uf_list_p_tlistInputList of object identifiers.
int *countOutputCount of items in linked list.

 


 
UF_MODL_ask_list_item (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Retrieves an object from a linked list of objects. A list of objects may
contain identifiers for bodies, features, faces, and edges. Normal C
indexing is used; i.e., the list begins at zero.

Environment
Internal and External

See Also
UF_MODL_create_list
UF_MODL_delete_list
UF_MODL_ask_list_count
UF_MODL_put_list_item
UF_MODL_delete_list_item
 
Required License(s)
gateway

 
int UF_MODL_ask_list_item
(
uf_list_p_t list,
int index,
tag_t * object
)
uf_list_p_tlistInputList of object identifiers.
intindexInputCount into the list.
tag_t *objectOutputObject to be located.

 


 
UF_MODL_ask_local_scale (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function inquires the parameters of a local scale feature

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_local_scale
(
tag_t feature_tag,
UF_MODL_dfo_scale_type_t * type,
UF_MODL_dfo_region_t * * region,
tag_t * so_point,
tag_t * so_dir,
tag_t * so_csys,
char factor [ 3 ] [ UF_MAX_EXP_BUFSIZE ]
)
tag_tfeature_tagInputfeature object identifier of a scale
UF_MODL_dfo_scale_type_t *typeOutputscale type
UF_MODL_dfo_region_t * *regionOutput to UF_*free*faces to be operated
tag_t *so_pointOutputsmart point
tag_t *so_dirOutputsmart direction
tag_t *so_csysOutputsmart coordinate system
charfactor [ 3 ] [ UF_MAX_EXP_BUFSIZE ] Outputscale factors

 


 
UF_MODL_ask_loop_list_count (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
This routine returns the count of elements within a loop list specified
by the user.

Environment
Internal and External

See Also
UF_MODL_ask_loop_list_item
UF_MODL_delete_loop_list
 
Required License(s)
gateway

 
int UF_MODL_ask_loop_list_count
(
uf_loop_p_t list,
int * count
)
uf_loop_p_tlistInputPointer to a loop list
int *countOutputPointer to an int for the loop count

 


 
UF_MODL_ask_loop_list_item (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Retrieves an object from a linked list of objects. A list of objects may
contain identifiers for bodies, features, faces and edges.
Loop type for a face is Peripheral only for a non-periodic (topologically flat)
face. Loops on a periodic face are either Holes or "Other".

Environment
Internal and External

See Also
UF_MODL_ask_face_topology
UF_MODL_delete_loop_list
UF_MODL_ask_loop_list_count
 
Required License(s)
gateway

 
int UF_MODL_ask_loop_list_item
(
uf_loop_p_t loop_list,
int index,
int * type,
uf_list_p_t * list
)
uf_loop_p_tloop_listInputList of object identifiers
intindexInputCount into the list
int *typeOutputPeripheral=1, Hole=2, Other=3
uf_list_p_t *listOutput to UF_*free*Pointer to the list of edge object identifiers. This
should not be freed, as it will be freed when the entire
loop list is freed by calling UF_MODL_delete_loop_list.

 


 
UF_MODL_ask_mass_props_3d (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the mass properties of the specified collection of solid or sheet
bodies.

Specify units and a density value, and either an accuracy value
(set accuracy = 1) or relative tolerances (set accuracy = 2) for the mass
property computations.

For simple analytic solid or sheet bodies (e.g., planes, cylinders), an
accuracy value of 0.9 is sufficient. For more complicated solids or
B-Surface sheet body faces, accuracy values closer to 1.0 may be
necessary.

If Relative Tolerances are specified, the system iterates on accuracy
values until successive mass property values are within the specified
relative tolerances.

The relative tolerance values are defined by the test value (or estimated
relative tolerance) is where MP(n) is the mass property value for the n-th
iteration on the accuracy value.

If a relative tolerance of 0.0 is specified, no testing is done for the
corresponding mass property value, although all the mass property
values are computed using the same accuracy values.

Environment
Internal and External

See Also
For example please see example
 
Required License(s)
gateway

 
int UF_MODL_ask_mass_props_3d
(
tag_t * objects,
int num_objs,
int type,
int units,
double density,
int accuracy,
double acc_value [ 11 ] ,
double mass_props [ 47 ] ,
double statistics [ 13 ]
)
tag_t *objectsInputnum_objs
Array of solid or sheet body identifiers,
Solid bodies for analysis type 1,
Sheet bodies for analysis types 2 and 3
intnum_objsInputNumber of objects
inttypeInputType of 3D Analysis
1 = Solid Bodies
2 = Thin Shell - Sheet Bodies
3 = Bounded by Sheet Bodies
intunitsInputUnits of mass and length
1 = Pounds and inches
2 = Pounds and feet
3 = Grams and centimeters
4 = Kilograms and meters
doubledensityInputDensity - Mass per unit volume (Mass per unit area for thin
shell). Not used for solid body analysis; for solid bodies
the densities of the solid bodies are used in the analysis
and the density of the combined set of bodies is output
in the mass properties array (mass_props[46]).
intaccuracyInput1 = Use Accuracy
2 = Use Relative Tolerances
doubleacc_value [ 11 ] Input[0] = Accuracy value between 0.0 and 1.0
if accuracy = 1
[1-10] not used if accuracy = 1
[0] = Relative Tolerance for Area if accuracy = 2
[1] = Relative Tolerance for Volume
[2-4] = Relative Tolerances for First Moments (centroidal)
[5-7] = Relative Tolerances for Moments of Inertia
(centroidal)
[8-10]= Relative Tolerances for Products of Inertia
(centroidal)
doublemass_props [ 47 ] OutputMass properties
[0] = Surface Area
[1] = Volume (0.0 For Thin Shell)
[2] = Mass
[3-5] = Center Of Mass (COFM), WCS
[6-8] = First Moments (centroidal)
[9-11] = Moments Of Inertia, WCS
[12-14] = Moments Of Inertia (centroidal)
[15] = Spherical Moment Of Inertia
[16-18] = Inertia Products, WCS
[19-21] = Inertia Products (centroidal)
[22-30] = Principal Axes, WCS
[31-33] = Principal Moments (centroidal)
[34-36] = Radii Of Gyration, WCS
[37-39] = Radii Of Gyration (centroidal)
[40] = Spherical Radius Of Gyration
[41-45] = Unused
[46] = Density
doublestatistics [ 13 ] OutputErrors are Estimates of the Relative Tolerances
achieved if accuracy = 2; otherwise
+/- range errors are given
[0] = Error For Surface Area
[1] = Error For Volume
[2] = Error For Mass
[3] = Radius Of Error Sphere
[4] = Error For Moment XC
[5] = Error For Moment YC
[6] = Error For Moment ZC
[7] = Error For Moment Of Inertia XC
[8] = Error For Moment Of Inertia YC
[9] = Error For Moment Of Inertia ZC
[10] = Error For Product Of Inertia XCYC
[11] = Error For Product Of Inertia YCZC
[12] = Error For Product Of Inertia XCZC

 


 
UF_MODL_ask_master (view source)
 
Defined in: uf_modl_isets.h
 
Overview
Gets the master feature of an instance.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_master
(
tag_t feature_obj_id,
tag_t * master_feature_obj_id
)
tag_tfeature_obj_idInputA feature object identifier of the instance.
tag_t *master_feature_obj_idOutputThe object identifier of the master feature

 


 
UF_MODL_ask_matching_face_in_instance (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the face in a feature instance that corresponds to a face in the
master of the instance. The feature instance must be a feature created from a
"pattern" feature, i.e. a feature of type LINEAR_PATTERN, CIRCULAR_PATTERN, or
MIRROR_SET. If the corresponding face cannot be found, this routine will
return NULL_TAG

Environment
Internal and External

History
NX4.0.2
 
Required License(s)
gateway

 
int UF_MODL_ask_matching_face_in_instance
(
tag_t face_tag,
tag_t feat_instance,
tag_t * instanced_face
)
tag_tface_tagInputTag of a face whose owning feature is an instance master
tag_tfeat_instanceInputTag of a patterned feature
tag_t *instanced_faceOutputTag of the face in the patterned feature

 


 
UF_MODL_ask_max_curvature (view source)
 
Defined in: uf_modl.h
 
Overview
Calculates maximum curvature data for a curve

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_max_curvature
(
tag_t eid,
double range [ 4 ] ,
int curva_type,
double max_curva [ 5 ] ,
int * status
)
tag_teidInputEntity id (currently curve only)
doublerange [ 4 ] InputEntity's percent parameter range to be searched.
For curve: range[0] = start percent of curve range,
range[1] = end percent of curve range
(so to find the maximum curvature over the whole range
of the curve, use range[0]=0.0, range[1]=100.0)
For surface: range[0-1]= start/end percentages for u-range
range[2-3]= start/end percentages for v-range
intcurva_typeInputCurvature type of the surface. Not used for curve
doublemax_curva [ 5 ] OutputData for the point where curvature is a maximum (curve only)
max_curva[0] = parameter value (not percentage)
between curve min and max parameters
max_curva[1-3] = point coordinates
max_curva[4] = curvature value
int *statusOutput1 if the curve has constant curvature -
in this case, only the curvature value is returned
0 a best (not necessarily unique) maximum
curvature point is returned

 


 
UF_MODL_ask_merged_faces (view source)
 
Defined in: uf_modl.h
 
Overview
Returns all of the merged faces of the given face. For occurrences input from
the face argument, the faces returned from the faces argument are on the
occurrence.

Environment
Internal and External

See Also
UF_MODL_ask_split_faces

History
Introduced in V1604, V1701, V18
 
Required License(s)
gateway

 
int UF_MODL_ask_merged_faces
(
tag_t face,
int * nfaces,
tag_t * * faces
)
tag_tfaceInputObject identifier of face
int *nfacesOutputNumber of merged faces
tag_t * *facesOutput to UF_*free*Array of tags of merged faces. Use UF_free to deallocate memory.

 


 
UF_MODL_ask_midsrf_feature_create_method (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Asks the creation&trim method (either advanced or classic)

Environment
Internal and External

History
Originally released in NX5.0
 
Required License(s)
( solid_modeling  or  nx_masterfem )

 
int UF_MODL_ask_midsrf_feature_create_method
(
tag_t feature_obj_id,
int * adv_crt_and_trm
)
tag_tfeature_obj_idInputMidsurface Feature tag
int *adv_crt_and_trmOutput

 


 
UF_MODL_ask_midsrf_parms (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Reads the midsurface parameter data.

Environment
Internal and External
 
Required License(s)
( solid_modeling  or  nx_masterfem )

 
int UF_MODL_ask_midsrf_parms
(
tag_t feature_obj_id,
uf_list_p_t * facepair_list
)
tag_tfeature_obj_idInputMidsurface Feature tag
uf_list_p_t *facepair_listOutput to UF_*free*List of Face Pair Feature tags in the Midsurface
Feature. The space allocated for the list must be
freed by calling UF_MODL_delete_list.

 


 
UF_MODL_ask_minimum_dist (view source)
 
Defined in: uf_modl.h
 
Overview
UF_MODL_ask_minimum_dist finds the minimum distance between a pair of objects.

The objects can be:
1. any combination of points, curves, planes, edges, faces or bodies.
2. a faceted body and another faceted body or a solid edge, face
or body or a point

For objects not listed in 1, the error INVALID_ENTITY_TYPE is returned.

If an attempt is made to measure between a faceted body and an object
not listed in 2, the error UNSUITABLE_OBJECT_TYPES is returned.

The function returns a pair of points (one for each object)
at which the minimum distance is attained.

The user can optionally specify a point on or near each object that is
considered to be a good guess for the nearest point. The guess point
is ignored if either object is a faceted or solid body.

Or, the user can find the distance to specified point coordinates
by setting the object tag to NULL_TAG and inputting the point coordinates
as the "guess" point.

If either of the objects has a tolerance associated with it, the distance
value may only be acccurate to within that tolerance.

When a faceted body is involved in the measurement, the result may
not be as accurate as that obtained with the equivalent solid body.
It is recommended that UF_MODL_ask_minimum_dist_2 be used in this
case, as an extra argument is provided to output the accuracy of the
measurement.

Environment
Internal and External

See Also
UF_MODL_ask_minimum_dist_2

History
In V15.0 this function was updated to ignore guess points if a
body is passed to it. Prior to V15.0, if you used a guess point
and passed a body, this function returned an error message. A
pre-V15.0 work around was to set the guess flags to a value of
zero when passing in a body and using a guess point.
In V17.0 this function was updated to allow measurement between
faceted bodies and other faceted bodies and solid edges, faces
and bodies. If an attempt is made to measure between a faceted
body and an entity not listed above the error
UNSUITABLE_OBJECT_TYPES is returned.
In NX2.0.3 this function was updated to allow measurement between
faceted bodies and points of type UF_point_type.

Note: To get the best possible results, call UF_MODL_ask_minimum_dist_3() with an opt_level parameter value of "2".
 
Required License(s)
gateway

 
int UF_MODL_ask_minimum_dist
(
tag_t object1,
tag_t object2,
int guess1_given,
double guess1 [ 3 ] ,
int guess2_given,
double guess2 [ 3 ] ,
double * min_dist,
double pt_on_obj1 [ 3 ] ,
double pt_on_obj2 [ 3 ]
)
tag_tobject1InputFirst object (if NULL_TAG, the point coordinates
in guess1 are used instead)
tag_tobject2InputSecond object (if NULL_TAG, the point coordinates
in guess2 are used instead)

If object1 and object2 are both NULL_TAG the distance from
guess1 to guess2 is computed.
intguess1_givenInput1 - if a guess point for object1 is specified
0 otherwise
Ignored if object1 is a body
doubleguess1 [ 3 ] InputGuess for the nearest point on object1, or point
coordinates to use in the distance computation if
object1 is a NULL_TAG. Ignored if object1 is a body.
intguess2_givenInput1 - if a guess point for object2 is specified
0 otherwise
Ignored if object2 is a body
doubleguess2 [ 3 ] InputGuess for the nearest point on object2, or point
coordinates to use in the distance computation if
object2 is a NULL_TAG. Ignored if object2 is a body.
double *min_distOutputResultant minimum distance.
doublept_on_obj1 [ 3 ] OutputMinimum distance Point on object1.
doublept_on_obj2 [ 3 ] OutputMinimum distance Point on object2.

 


 
UF_MODL_ask_minimum_dist_2 (view source)
 
Defined in: uf_modl.h
 
Overview
UF_MODL_ask_minimum_dist_2 finds the minimum distance between a pair of objects.

The objects can be:
1. any combination of points, curves, planes, edges, faces or bodies.
2. a faceted body and another faceted body or a solid edge, face
or body or a point

For objects not listed in 1, the error INVALID_ENTITY_TYPE is returned.

If an attempt is made to measure between a faceted body and an object
not listed in 2, the error UNSUITABLE_OBJECT_TYPES is returned.

The function returns a pair of points (one for each object)
at which the minimum distance is attained.

The user can optionally specify a point on or near each object that is
considered to be a good guess for the nearest point. The guess point
is ignored if either object is a faceted or solid body.

Or, the user can find the distance to specified point coordinates
by setting the object tag to NULL_TAG and inputting the point coordinates
as the "guess" point.

If either of the objects has a tolerance associated with it, the distance
value may only be acccurate to within that tolerance.

When a faceted body is involved in the measurement, the result may
not be as accurate as that obtained with the equivalent solid body.
It is recommended that UF_MODL_ask_minimum_dist_2 be used in this
case, as an extra argument is provided to output the accuracy of the
measurement.

Environment
Internal and External

See Also
UF_MODL_ask_minimum_dist

History
Originally released in V17.0.
In NX2.0.3 this function was updated to allow measurement between
faceted bodies and points of type UF_point_type.

Note: To get the best possible results, call UF_MODL_ask_minimum_dist_3() with an opt_level parameter value of "2".
 
Required License(s)
gateway

 
int UF_MODL_ask_minimum_dist_2
(
tag_t object1,
tag_t object2,
int guess1_given,
double guess1 [ 3 ] ,
int guess2_given,
double guess2 [ 3 ] ,
double * min_dist,
double pt_on_obj1 [ 3 ] ,
double pt_on_obj2 [ 3 ] ,
double * accuracy
)
tag_tobject1InputFirst object (if NULL_TAG, the point coordinates
in guess1 are used instead)
tag_tobject2InputSecond object (if NULL_TAG, the point coordinates
in guess2 are used instead)

If object1 and object2 are both NULL_TAG the distance from
guess1 to guess2 is computed.
intguess1_givenInput1 - if a guess point for object1 is specified
0 otherwise
Ignored if object1 is a body
doubleguess1 [ 3 ] InputGuess for the nearest point on object1, or point
coordinates to use in the distance computation if
object1 is a NULL_TAG. Ignored if object1 is a body.
intguess2_givenInput1 - if a guess point for object2 is specified
0 otherwise
Ignored if object2 is a body
doubleguess2 [ 3 ] InputGuess for the nearest point on object2, or point
coordinates to use in the distance computation if
object2 is a NULL_TAG. Ignored if object2 is a body.
double *min_distOutputResultant minimum distance.
doublept_on_obj1 [ 3 ] OutputMinimum distance Point on object1.
doublept_on_obj2 [ 3 ] OutputMinimum distance Point on object2.
double *accuracyOutputSize of absolute error resulting from the
use of faceted rather than solid bodies.
0.0 is output if neither body is faceted.

 


 
UF_MODL_ask_minimum_dist_3 (view source)
 
Defined in: uf_modl.h
 
Overview
UF_MODL_ask_minimum_dist_3 is a version of UF_MODL_ask_minimum_dist_2
with an additional input argument - opt_level

UF_MODL_ask_minimum_dist_3 ( opt_level , object1, object2, guess1_given, guess1,
guess2_given, guess2, min_dist, pt_on_obj1, pt_on_obj2, accuracy)
 
Required License(s)
gateway

 
int UF_MODL_ask_minimum_dist_3
(
int opt_level,
tag_t object1,
tag_t object2,
int guess1_given,
double guess1 [ 3 ] ,
int guess2_given,
double guess2 [ 3 ] ,
double * min_dist,
double pt_on_obj1 [ 3 ] ,
double pt_on_obj2 [ 3 ] ,
double * accuracy
)
intopt_levelInput0, works the same as UF_MODL_ask_minimum_dist_2
1, uses a newer algorithm but should give the same results
2, should produce more accurate results in some cases, and just as
good in all cases
tag_tobject1InputFirst object (if NULL_TAG, the point coordinates
in guess1 are used instead)
tag_tobject2InputSecond object (if NULL_TAG, the point coordinates
in guess2 are used instead)

If object1 and object2 are both NULL_TAG the distance from
guess1 to guess2 is computed.
intguess1_givenInput1 - if a guess point for object1 is specified
0 otherwise
Ignored if object1 is a body
doubleguess1 [ 3 ] InputGuess for the nearest point on object1, or point
coordinates to use in the distance computation if
object1 is a NULL_TAG. Ignored if object1 is a body.
intguess2_givenInput1 - if a guess point for object2 is specified
0 otherwise
Ignored if object2 is a body
doubleguess2 [ 3 ] InputGuess for the nearest point on object2, or point
coordinates to use in the distance computation if
object2 is a NULL_TAG. Ignored if object2 is a body.
double *min_distOutputResultant minimum distance.
doublept_on_obj1 [ 3 ] OutputMinimum distance Point on object1.
doublept_on_obj2 [ 3 ] OutputMinimum distance Point on object2.
double *accuracyOutputSize of absolute error resulting from the
use of faceted rather than solid bodies.
0.0 is output if neither body is faceted.

 


 
UF_MODL_ask_mirror_pattern_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function returns the parameters of a mirror pattern_face.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_mirror_pattern_face
(
tag_t feature_tag,
UF_MODL_dfo_region_p_t * region,
tag_t * mirror_plane
)
tag_tfeature_tagInputthe feature
UF_MODL_dfo_region_p_t *regionOutput to UF_*free*region
tag_t *mirror_planeOutputmirror plane

 


 
UF_MODL_ask_misalign_geometry (view source)
 
Defined in: uf_modl.h
 
Overview
A geometry check routine.
Returns whether the input object is slightly out of alignment with the input matrix.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_misalign_geometry
(
tag_t obj_tag,
double * matrix,
double tolerance,
logical * is_misaligned
)
tag_tobj_tagInputTag of solid face or curve
double *matrixInputMatrix against which to check for alignment
doubletoleranceInputAngle tolerance within which to check
logical *is_misalignedOutputAlignment flag:
FALSE = object is not misaligned
TRUE = object is misaligned

 


 
UF_MODL_ask_move_region (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function inquires the parameters of a move_region feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_move_region
(
tag_t feature_tag,
UF_MODL_transform_type_t * type,
UF_MODL_dfo_region_p_t * region,
void * * transf_data
)
tag_tfeature_tagInputfeature tag
UF_MODL_transform_type_t *typeOutputscale type
UF_MODL_dfo_region_p_t *regionOutput to UF_*free*faces to be operated
void * *transf_dataOutput to UF_*free*transformation data

 


 
UF_MODL_ask_named_body_object (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the first object on the input body of the requested type with the
given name.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_named_body_object
(
tag_t * body_tag,
int * object_type,
char * object_name,
tag_t * object
)
tag_t *body_tagInputbody identifier
int *object_typeInputUF_solid_face_subtype or UF_solid_edge_subtype
char *object_nameInputcase sensitive object name
tag_t *objectOutputreturned object identifier

 


 
UF_MODL_ask_nested_frecs (view source)
 
Defined in: uf_modl.h
 
Overview
Returns a list of all of the nested features of the given feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_nested_frecs
(
tag_t feature,
uf_list_p_t * feature_list
)
tag_tfeatureInputfeature being inquired
uf_list_p_t *feature_listOutput to UF_*free*list of nested features. This must be
freed by calling UF_MODL_delete_list.

 


 
UF_MODL_ask_next_feature (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Return the next feature in the feature graph based on the time stamp of the
features.

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_next_feature
(
tag_t feature,
tag_t * next_feature
)
tag_tfeatureInputFeature to check
tag_t *next_featureOutputNext feature. If there is not a next feature,
NULL_TAG is returned.

 


 
UF_MODL_ask_obj_dimensionality (view source)
 
Defined in: uf_modl.h
 
Overview
Gets the dimensionality of a geometric object.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_obj_dimensionality
(
tag_t object_id,
int * dimensionality,
double data [ 6 ]
)
tag_tobject_idInputObject ID
int *dimensionalityOutputDimensionality of the object:
-1 = object is not valid
UF_MODL_POINT
UF_MODL_LINEAR
UF_MODL_PLANAR
UF_MODL_THREE_DIMENSIONAL
doubledata [ 6 ] OutputIf dimensionality = UF_MODL_POINT
data[0 - 2] = coordinates of the point
If dimensionality = UF_MODL_LINEAR
data[0 - 2] = coordinates of a point on the line
data[3 - 5] = unit direction vector of the line
If dimensionality = UF_MODL_PLANAR
data[0 - 2] = coordinates of a point on the plane
data[3 - 5] = unit normal of the plane
If dimensionality = UF_MODL_THREE_DIMENSIONAL
data[0 - 5] = not used

 


 
UF_MODL_ask_object (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
This function cycles the database for the first, or next, available object
that matches both the type, and subtype, for the values entered.
When searching for the first object, just input a NULL_TAG for the
value of object identifier. Then, when you need the next object, just
input the previous value, and the next matching object is returned to the
user. When the final object has been returned to the user, the next call
to UF_MODL_ask_object() returns a NULL_TAG value for obj_id and an integer
return code that corresponds to "Invalid object type" when input into
UF_get_fail_message.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_object
(
int ug_type,
int ug_subtype,
tag_t * object
)
intug_typeInputObject Type
intug_subtypeInputObject subtype
tag_t *objectInput / OutputObject's object identifier within a file

 


 
UF_MODL_ask_object_feat (view source)
 
Defined in: uf_modl.h
 
Overview
Gets the feature object identifier for a given object. This function can
handle input datum axis, datum plane, sketch, and derived curve
objects i.e., objects including, but not limited to, the following types:
UF_datum_axis_type
UF_datum_plane_type
UF_sketch_type
UF_line_type
UF_circle_type
UF_conic_type
UF_spline_type
UF_point_type (if the point passed in is related to a DATUM_CSYS or Point Feature
then the tag of the related feature is returned)

These are objects which belong to one feature. This function does not support
solid edges and faces because a single face or edge can belong to multiple
features.

Environment
Internal and External

See Also
UF_MODL_ask_edge_feats
UF_MODL_ask_face_feats
For example please refer to example
 
Required License(s)
gateway

 
int UF_MODL_ask_object_feat
(
tag_t object_tag,
tag_t * feature_tag
)
tag_tobject_tagInputObject identifier.
tag_t *feature_tagOutputFeature object identifier. NULL_TAG will be returned if no feature is found.

 


 
UF_MODL_ask_offset_parms (view source)
 
Defined in: uf_modl.h
 
Overview
Gets the offset parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_offset_parms
(
tag_t feature_obj_id,
int edit,
char * * value
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char * *valueOutput to UF_*free*The offset value. This must be freed by calling
UF_free.

 


 
UF_MODL_ask_offset_region (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function ask the parameters of a offset_region.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_offset_region
(
tag_t feature_tag,
UF_MODL_dfo_region_t * * region,
char * * offset
)
tag_tfeature_tagInputfeature_tag.
UF_MODL_dfo_region_t * *regionOutput to UF_*free*faces to be operated
char * *offsetOutput to UF_*free*offset value, in expression string

 


 
UF_MODL_ask_out_of_date_features (view source)
 
Defined in: uf_modl.h
 
Overview
Query the number of features which are out of date.

Environment
Internal and External

History
This function was originally released in V16.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_out_of_date_features
(
int * num_feature,
tag_t * * features
)
int *num_featureOutputNumber of out of date features.
tag_t * *featuresOutput to UF_*free*Array of features which are out of date. This array
must be freed by calling UF_free.

 


 
UF_MODL_ask_owning_feat_of_exp (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Return the owning feature of the expression.

This is the feature that created it during feature creation. For example,
the expression "p0 = x" is owned by feature "BLOCK(0)".

This works with both normal expressions and expressions created by the
geometric expression feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_owning_feat_of_exp
(
tag_t exp,
tag_t * feature
)
tag_texpInputExpression to query
tag_t *featureOutputFeature if found else NULL_TAG

 


 
UF_MODL_ask_para_dist (view source)
 
Defined in: uf_modl.h
 
Overview
The routine UF_MODL_ask_para_dist returns the values associated
to the parallel-at-a-distance constraint. To ask for a feature's
constraints see UF_MODL_ask_constraints. To make an inquiry on the
list of constraints see UF_MODL_ask_constraint_type.

All coordinates returned are with respect to the dimension plane,
therefore there are only two values (x,y).

Using UF_MODL_ask_constraints and UF_MODL_ask_constraint_type, find the
feature's "LINK_FACE_PARMS" constraint. Use this constraint tag as the
"link_face_parms" input argument to the function UF_MODL_ask_link_face_plane
to obtain the dimension plane coordinate system.

Environment
Internal and External

See Also
UF_MODL_ask_constraints
UF_MODL_ask_constraint_type

History
In V13.0, the tool argument was modified to return a NULL_TAG
for a centerline.
 
Required License(s)
gateway

 
int UF_MODL_ask_para_dist
(
tag_t feature_obj_id,
tag_t constraint,
int edit,
double fixed [ 2 ] ,
double feature [ 2 ] ,
double fixc [ 2 ] ,
double feac [ 2 ] ,
char * * how_far,
tag_t * tool,
tag_t * part
)
tag_tfeature_obj_idInputIdentifier for the feature.
tag_tconstraintInputIdentifier for constraint
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
doublefixed [ 2 ] OutputDimension attachment point on the part
doublefeature [ 2 ] OutputDimension attachment point on the feature
doublefixc [ 2 ] OutputCenter of arc if attachment point is tangent to arc
edge on part, otherwise it is the same as the fixed
point.
doublefeac [ 2 ] OutputCenter of arc if attachment point is tangent to arc
edge on feature, otherwise it is the same as the
feature point.
char * *how_farOutput to UF_*free*Expression distance. This must be freed by the
caller by calling UF_free.
tag_t *toolOutputEdge on the tool or NULL_TAG for a centerline
tag_t *partOutputEdge on the part

 


 
UF_MODL_ask_para_edge (view source)
 
Defined in: uf_modl.h
 
Overview
The routine UF_MODL_ask_para_edge returns the values associated
to the parallel-edge constraint. To ask for a feature's constraints
see UF_MODL_ask_constraints. To make an inquiry on the list of constraints
see UF_MODL_ask_constraint_type.

All coordinates returned are with respect to the dimension plane,
therefore there are only two values (x,y).

Using UF_MODL_ask_constraints and UF_MODL_ask_constraint_type, find the
feature's "LINK_FACE_PARMS" constraint. Use this constraint tag as the
"link_face_parms" input argument to the function UF_MODL_ask_link_face_plane
to obtain the dimension plane coordinate system.

Environment
Internal and External

See Also
UF_MODL_ask_constraints
UF_MODL_ask_constraint_type

History
In V13.0, the tool argument was modified to return a NULL_TAG
for a centerline.
 
Required License(s)
gateway

 
int UF_MODL_ask_para_edge
(
tag_t feature_obj_id,
tag_t constraint,
int edit,
double fixed1 [ 2 ] ,
double fixed2 [ 2 ] ,
double feature1 [ 2 ] ,
double feature2 [ 2 ] ,
int * parallel,
char * * how_far,
tag_t * tool,
tag_t * part
)
tag_tfeature_obj_idInputIdentifier for the feature.
tag_tconstraintInputIdentifier for constraint
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
doublefixed1 [ 2 ] OutputDimension attachment point on the part
doublefixed2 [ 2 ] OutputPoint on the part that along with the fixed1 point,
defines the line on the part that the dimension is
parallel to.
doublefeature1 [ 2 ] OutputDimension attachment point on the feature.
doublefeature2 [ 2 ] OutputPoint on the feature that along with the feature1
point, defines the line on the feature that the
dimension is parallel to.
int *parallelOutputIs this a parallel constraint or a perpendicular constraint?
TRUE=Parallel, FALSE=perpendicular
char * *how_farOutput to UF_*free*Expression distance. This must be freed by calling UF_free.
tag_t *toolOutputEdge on the tool or NULL_TAG for a centerline.
tag_t *partOutputEdge on the part

 


 
UF_MODL_ask_patch_body_parms (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the children and parameters of a patch body feature.

Environment
Internal and External

See Also
UF_MODL_patch_body
 
Required License(s)
gateway

 
int UF_MODL_ask_patch_body_parms
(
tag_t feature_obj_id,
tag_t * target_body,
tag_t * tool_sheet,
int * reverse
)
tag_tfeature_obj_idInputFeature object identifier of patch body feature
tag_t *target_bodyOutputObject id of target body
tag_t *tool_sheetOutputObject id of sheet body tool
int *reverseOutputPatch direction flag
UF_MODL_ALONG_NORMAL along surface normal of tool_sheet
UF_MODL_OPPOSITE_NORMAL opposite surface normal of tool_sheet

 


 
UF_MODL_ask_perp_dist (view source)
 
Defined in: uf_modl.h
 
Overview
The routine UF_MODL_ask_perp_dist returns the values associated
to the perpendicular distance constraint. To ask for a feature's
constraints see UF_MODL_ask_constraints. To make an inquiry on the
list of constraints see UF_MODL_ask_constraint_type.

All coordinates returned are with respect to the dimension plane,
therefore there are only two values (x,y).

Using UF_MODL_ask_constraints and UF_MODL_ask_constraint_type, find the
feature's "LINK_FACE_PARMS" constraint. Use this constraint tag as the
"link_face_parms" input argument to the function UF_MODL_ask_link_face_plane
to obtain the dimension plane coordinate system.

Environment
Internal and External

See Also
UF_MODL_ask_constraints
UF_MODL_ask_constraint_type
 
Required License(s)
gateway

 
int UF_MODL_ask_perp_dist
(
tag_t feature,
tag_t constraint,
int edit,
double fixed1 [ 2 ] ,
double fixed2 [ 2 ] ,
double feature1 [ 2 ] ,
double feac [ 2 ] ,
char * * how_far,
tag_t * tool,
tag_t * part
)
tag_tfeatureInputIdentifier for the feature.
tag_tconstraintInputIdentifier for constraint
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
doublefixed1 [ 2 ] OutputDimension attachment point on the part.
doublefixed2 [ 2 ] OutputPoint on the part that along with the fixed1 point,
defines the line that the dimension is perpendicular
to.
doublefeature1 [ 2 ] OutputDimension attachment point on the part.
doublefeac [ 2 ] OutputCenter of arc if the attachment point is tangent to
arc edge of feature, otherwise it is the same as the
feature point.
char * *how_farOutput to UF_*free*Expression distance. This must be freed by calling UF_free.
tag_t *toolOutputEdge on the tool or NULL_TAG for a centerline
tag_t *partOutputEdge on the part

 


 
UF_MODL_ask_plane (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the data of a plane feature.

Environment
Internal and External

See Also
UF_MODL_edit_plane
UF_MODL_create_plane
Refer to example

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_plane
(
tag_t plane_tag,
double origin_point [ 3 ] ,
double plane_normal [ 3 ]
)
tag_tplane_tagInputPlane
doubleorigin_point [ 3 ] OutputOrigin point of the plane
doubleplane_normal [ 3 ] OutputNormal of the plane

 


 
UF_MODL_ask_plane_of_mirror_set (view source)
 
Defined in: uf_modl.h
 
Overview
This function asks for the mirror plane of the mirror set feature

Environment
Internal and External

See Also
UF_MODL_create_mirror_set

History
Released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_plane_of_mirror_set
(
tag_t mirror_set,
tag_t * plane
)
tag_tmirror_setInputThe tag of the mirror feature
tag_t *planeOutputThe mirror plane

 


 
UF_MODL_ask_point_along_curve (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Returns a parameter value for a point along a curve or edge based
upon three inputs: a reference point, an offset distance, and a
direction flag.

The point is calculated by projecting the reference point to the curve
or edge (the reference point should already be on or near the curve or
edge), and determining a location along the curve at an arc length
distance from the projected reference point.

The direction along the curve or edge at which the point is created is
determined by the direction flag.

The tolerance is used only if the input curve is a solid edge. A
temporary curve, which approximates the solid edge, is created for
processing and deleted after processing completes.

Environment
Internal and External

See Also
UF_MODL_ask_point_along_curve_2 which may handle curves with
sharp corners better
 
Required License(s)
gateway

 
int UF_MODL_ask_point_along_curve
(
double point [ 3 ] ,
tag_t curve,
double offset,
int direction,
double tolerance,
double * parameter
)
doublepoint [ 3 ] InputAbsolute coordinates of the reference point.
tag_tcurveInputIdentifier of the selected curve.
doubleoffsetInputOffset distance from the reference point along the
selected curve.
intdirectionInputDirection flag,
1=Same direction as the selected curve.
(from start point to end point)
-1=Reverse direction of the selected curve
(from end point to start point)
doubletoleranceInputDistance tolerance between solid edge and
approximated curve.
double *parameterOutputParameter value for the located point on the
selected curve.

 


 
UF_MODL_ask_point_along_curve_2 (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Alternate version of UF_MODL_ask_point_along_curve to better handle
cases of curves with sharp corners or sharp bends. Also, returns the
point on the curve at the offset distance.
 
Required License(s)
gateway

 
int UF_MODL_ask_point_along_curve_2
(
double point [ 3 ] ,
tag_t curve,
double offset,
int direction,
double tolerance,
double point_along_curve [ 3 ] ,
double * parameter
)
doublepoint [ 3 ] InputAbsolute coordinates of the reference point.
tag_tcurveInputIdentifier of the selected curve.
doubleoffsetInputOffset distance from the reference point along the
selected curve.
intdirectionInputDirection flag,
1=Same direction as the selected curve.
(from start point to end point)
-1=Reverse direction of the selected curve
(from end point to start point)
doubletoleranceInputDistance tolerance between solid edge and
approximated curve.
doublepoint_along_curve [ 3 ] OutputAbsolute coordinates of the point on the curve
at the offset distance.
double *parameterOutputParameter value for the located point on the
selected curve.

 


 
UF_MODL_ask_point_containment (view source)
 
Defined in: uf_modl.h
 
Overview
Determines if a given point lies inside, outside or on the boundary of a given
face, edge, solid or sheet body. In the case of a sheet body, a point is considered
inside the body if it is on the face and on the body if it is on the boundary
edges of the sheet body.

Environment
Internal and External

See Also
Refer to example

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_point_containment
(
double point [ 3 ] ,
tag_t body,
int * pt_status
)
doublepoint [ 3 ] InputPoint coordinates of the inquiry point
tag_tbodyInputFace, edge, solid, or sheet body tag on
which point is inquired
int *pt_statusOutputReturned status of the point on the body
1 = point is inside the body
2 = point is outside the body
3 = point is on the body

 


 
UF_MODL_ask_points_parms (view source)
 
Defined in: uf_modl.h
 
Overview
Ask for the points in a Points Feature

Environment
Internal and External

See Also
UF_MODL_create_points_feature
UF_MODL_edit_points_parms

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_points_parms
(
tag_t feature_tag,
int * num_points,
tag_t * * points
)
tag_tfeature_tagInputFeature tag
int *num_pointsOutputNumber of points
tag_t * *pointsOutput to UF_*free*Array of point tags. This array must
be freed by calling UF_free.

 


 
UF_MODL_ask_previous_feature (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Return the previous feature in the feature graph based on the time stamp of the
features.

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_previous_feature
(
tag_t feature,
tag_t * prev_feature
)
tag_tfeatureInputFeature to check
tag_t *prev_featureOutputPrevious feature. If there is not a previous feature,
then NULL_TAG is returned.

 


 
UF_MODL_ask_prism_parms (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
Gets the parameters of a prism.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_prism_parms
(
tag_t feature_tag,
int edit,
char * * diameter,
char * * height,
char * * number_of_sides
)
tag_tfeature_tagInputFeature object identifier
inteditInputUnused flag
char * *diameterOutput to UF_*free*Prism diameter. This must be freed
by calling UF_free.
char * *heightOutput to UF_*free*Prism height. This must be freed
by calling UF_free.
char * *number_of_sidesOutput to UF_*free*Number of sides in prism . This must
be freed by calling UF_free.

 


 
UF_MODL_ask_proj_curves (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Returns the curves associated with a projected curve feature.

Environment
Internal and External

See Also
UF_MODL_create_proj_curves
UF_CURVE_create_proj_curves
UF_CURVE_ask_proj_curves
 
Required License(s)
gateway

 
int UF_MODL_ask_proj_curves
(
tag_t proj_curve_feature,
uf_list_p_t * uf_curve_refs
)
tag_tproj_curve_featureInputProjected curve feature identifier.
uf_list_p_t *uf_curve_refsOutput to UF_*free*Pointer to list of curve identifiers. This list
must be freed by calling UF_MODL_delete_list.

 


 
UF_MODL_ask_prom_feat_of_solid (view source)
 
Defined in: uf_modl_promotions.h
 
Overview
Finds the promotion feature corresponding to the given promoted solid body.
This routine expects the solid body prototype, not an occurrence.

Environment
Internal and External

See Also
UF_MODL_ask_solid_of_prom_feat
UF_MODL_create_promotion
 
Required License(s)
gateway

 
int UF_MODL_ask_prom_feat_of_solid
(
tag_t prom_solid,
tag_t * prom_feat
)
tag_tprom_solidInputPromoted solid to be queried
tag_t *prom_featOutputPromotion feature corresponding to the promoted
solid

 


 
UF_MODL_ask_promotion_path (view source)
 
Defined in: uf_modl_promotions.h
 
Overview
Determines the instances that the given solid was promoted along.
The given solid should not be an occurrence.

Environment
Internal and External

See Also
UF_MODL_create_promotion
 
Required License(s)
gateway

 
int UF_MODL_ask_promotion_path
(
tag_t prom_solid,
logical full_path,
tag_t * * instance_path,
int * num_instances
)
tag_tprom_solidInputPromoted solid body to be queried
logicalfull_pathInputIf false, the instance path to the next level promotion is
returned. If true, the full instance path across promotion
stacks is returned.
tag_t * *instance_pathOutput to UF_*free*The instance path along which the given solid body
was promoted. This is an array of instances, which
must be freed by calling UF_free.
int *num_instancesOutputNumber of instances

 


 
UF_MODL_ask_proper_legacy_feat_name (view source)
 
Defined in: uf_modl.h
 
Overview
Returns a character string containing the proper legacy name of the feature
 
Required License(s)
gateway

 
int UF_MODL_ask_proper_legacy_feat_name
(
tag_t feature_tag,
char * * feature_name
)
tag_tfeature_tagInputObject identifier of feature to inquire.
char * *feature_nameOutput to UF_*free*String containing feature name (feature type and
time stamp). Use UF_free to deallocate memory
when done.

 


 
UF_MODL_ask_quilt (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Reads the creation parameters of a quilt surface. The following are
the valid defined constants for the type of quilt surface for the
quilt_data parameter:

UF_MODL_CURVE_MESH_ALONG_FIXED_VECTOR
UF_MODL_CURVE_MESH_ALONG_DRIVER_NORMALS
UF_MODL_B_SURFACE_ALONG_FIXED_VECTOR
UF_MODL_B_SURFACE_ALONG_DRIVER_NORMALS
UF_MODL_SELF_REFIT

Be careful how you manipulate the structures returned under
quilt_structure_pointer. Many items are allocated in this code. If you
change any items such as character strings or curve strings you may
run into trouble in UF_MODL_free_quilt. The safest way to handle
this is to make sure all structures are in the same condition when
calling free as they were received from ask.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_quilt
(
tag_t quilt_tag,
UF_MODL_quilt_type_t * quilt_data,
UF_MODL_quilt_data_structures_u * quilt_structure_pointer
)
tag_tquilt_tagInputObject identifier of quilt surface
to be read
UF_MODL_quilt_type_t *quilt_dataOutputType of quilt surface
(see the description area).
UF_MODL_quilt_data_structures_u *quilt_structure_pointerOutput to UF_*free*Pointer to structure containing the
defining data of the quilt surface. Use
UF_MODL_free_quilt to free the memory
allocated by this function.

 


 
UF_MODL_ask_quilt_type (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
This function returns the type of quilt surface. The following are the
valid defined constants for the type of quilt surface for the
quilt_data parameter:

UF_MODL_CURVE_MESH_ALONG_FIXED_VECTOR
UF_MODL_CURVE_MESH_ALONG_DRIVER_NORMALS
UF_MODL_B_SURFACE_ALONG_FIXED_VECTOR
UF_MODL_B_SURFACE_ALONG_DRIVER_NORMALS
UF_MODL_SELF_REFIT

Environment
Internal and External

See Also
UF_MODL_edit_quilt
UF_MODL_create_quilt
UF_MODL_free_quilt
Refer to example
See the quilt data structures
 
Required License(s)
gateway

 
int UF_MODL_ask_quilt_type
(
tag_t quilt_tag,
UF_MODL_quilt_type_t * quilt_data
)
tag_tquilt_tagInputObject identifier of quilt surface
UF_MODL_quilt_type_t *quilt_dataOutputType of quilt surface (see the
description area).

 


 
UF_MODL_ask_reblend_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
Ask a reblend face feature data

Environment
Internal and External

History
V19 release
 
Required License(s)
gateway

 
int UF_MODL_ask_reblend_face
(
tag_t feature_eid,
UF_MODL_reblend_face_data_p_t reblend_data
)
tag_tfeature_eidInputFeature object identifier of a created reblend face
UF_MODL_reblend_face_data_p_treblend_dataOutput to UF_*free*Data describing the created reblend face feature

 


 
UF_MODL_ask_rect_groove_parms (view source)
 
Defined in: uf_modl_grooves.h
 
Overview
Gets rectangular groove parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_rect_groove_parms
(
tag_t feature_obj_id,
int edit,
char * * groove_dia,
char * * width
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It was used to determine
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned.
char * *groove_diaOutput to UF_*free*Groove diameter. This must be freed by
calling UF_free.
char * *widthOutput to UF_*free*Groove width. This must be freed by
calling UF_free.

 


 
UF_MODL_ask_rect_pad_parms (view source)
 
Defined in: uf_modl_pads.h
 
Overview
Gets rectangular pad parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_rect_pad_parms
(
tag_t feature_obj_id,
int edit,
char * size [ 3 ] ,
char * * corner_rad,
char * * taper_angle
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It was used to determine
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned.
char *size [ 3 ] Output to UF_*free*Pad size (length , width , height).
char * *corner_radOutput to UF_*free*Pad corner radius. This must be freed by
calling UF_free.
char * *taper_angleOutput to UF_*free*Pad taper angle. This must be freed by
calling UF_free.

 


 
UF_MODL_ask_rect_pad_parms_1 (view source)
 
Defined in: uf_modl_pads.h
 
Overview
In order to provide appropriate .NET binding for UF_MODL_ask_rect_pad_parms,
UF_MODL_ask_rect_pad_parms_1 is introduced.

Note: C/C++ users can continue to use UF_MODL_ask_rect_pad_parms.

For documentation, refer to documentation of UF_MODL_ask_rect_pad_parms.

History
Originally released in NX9
 
Required License(s)
gateway

 
int UF_MODL_ask_rect_pad_parms_1
(
tag_t feature_obj_id,
int edit,
int * pad_length,
char * * * size,
char * * corner_rad,
char * * taper_angle
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It was used to determine
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned.
int *pad_lengthOutputPad size length
char * * *sizeOutput to UF_*free*Pad size (length , width , height).
char * *corner_radOutput to UF_*free*Pad corner radius. This must be freed by
calling UF_free.
char * *taper_angleOutput to UF_*free*Pad taper angle. This must be freed by
calling UF_free.

 


 
UF_MODL_ask_rect_pocket_parms (view source)
 
Defined in: uf_modl_pockets.h
 
Overview
Gets rectangular pocket parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_rect_pocket_parms
(
tag_t feature_obj_id,
int edit,
char * length [ 3 ] ,
char * * corner_rad,
char * * floor_rad,
char * * taper_angle
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It used to determine whether
to return the right-hand side or both sides of an
expression. Currently, both sides of an expression
are returned.
char *length [ 3 ] Output to UF_*free*Pointer to an array of three character pointers for
length, width, and depth. This must be freed by
calling UF_free.
char * *corner_radOutput to UF_*free*Pocket corner radius. This must be freed by
calling UF_free.
char * *floor_radOutput to UF_*free*Pocket floor radius. This must be freed by
calling UF_free.
char * *taper_angleOutput to UF_*free*Pocket taper angle. This must be freed by
calling UF_free.

 


 
UF_MODL_ask_rect_slot_parms (view source)
 
Defined in: uf_modl_slots.h
 
Overview
Gets rectangular slot parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_rect_slot_parms
(
tag_t feature_obj_id,
int edit,
char * * width,
char * * depth,
char * * distance,
int * thru_flag
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It was used to determine
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned.
char * *widthOutput to UF_*free*Slot width. This must be freed by calling
UF_free.
char * *depthOutput to UF_*free*Slot depth. This must be freed by calling
UF_free.
char * *distanceOutput to UF_*free*Slot distance for a none thru slot. This
must be freed by calling UF_free.
int *thru_flagOutputA thru flag can be TRUE or FALSE, if set to
TRUE then there is no distance to the slot.

 


 
UF_MODL_ask_rectangular_pattern_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function returns the parameters of a rectangular pattern_face.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_rectangular_pattern_face
(
tag_t feature_tag,
UF_MODL_dfo_region_p_t * region,
tag_t * x_axis,
tag_t * axis,
int * num_x,
int * num_y,
char * * x_offset,
char * * y_offset
)
tag_tfeature_tagInputthe feature
UF_MODL_dfo_region_p_t *regionOutput to UF_*free*region
tag_t *x_axisOutputX-Axis
tag_t *axisOutputY-Axis
int *num_xOutputnumber along XC
int *num_yOutputnumber along YC
char * *x_offsetOutput to UF_*free*offset along XC
char * *y_offsetOutput to UF_*free*offset along YC

 


 
UF_MODL_ask_references_of_features (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the parent references of an array of features and the name
of each parent's reference.

Environment
Internal and External

History
This function was originally released in V15.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_references_of_features
(
tag_t * feature_array,
int num_features,
tag_t * * parents,
char * * * parent_names,
int * num_parents
)
tag_t *feature_arrayInputArray of features identifier
intnum_featuresInputNumber of features
tag_t * *parentsOutput to UF_*free*An array of all the parents. This array
must be freed by calling UF_free.
char * * *parent_namesOutput to UF_*free*An array of names of each parent. This
array must be freed by calling
UF_free_string_array.
int *num_parentsOutputNumber of parents.

 


 
UF_MODL_ask_refit_face_feature_data (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Inquires Refit Face feature and populates Refit Face Open API data
structure. The memory allocated for the structure may be freed using
UF_MODL_free_refit_face_feature_data().

Environment
Internal and External

See Also
UF_MODL_create_refit_face_feature
UF_MODL_edit_refit_face_feature
UF_MODL_free_refit_face_feature_data
 
Required License(s)
gateway

 
int UF_MODL_ask_refit_face_feature_data
(
tag_t refit,
UF_MODL_refit_face_data_p_t refit_data
)
tag_trefitInputRefit Face feature object identifier.
UF_MODL_refit_face_data_p_trefit_dataOutputRefit Face Open API data structure.

 


 
UF_MODL_ask_replace_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function ask the parameters of a replace_face feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_replace_face
(
tag_t feature_tag,
tag_t * * target_faces,
int * num_target,
tag_t * * non_blend_faces,
int * num_non_blend,
tag_t * tool_face,
logical * reverse_direction
)
tag_tfeature_tagInputthe feature
tag_t * *target_facesOutput to UF_*free*target faces
int *num_targetOutputnumber of faces
tag_t * *non_blend_facesOutput to UF_*free*adjacent tangent faces which are not blends
int *num_non_blendOutputnumber of non-blend faces
tag_t *tool_faceOutputtool face
logical *reverse_directionOutputreverse direction of the tool face or not

 


 
UF_MODL_ask_resize_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function ask the parameters of a resize_face feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_resize_face
(
tag_t feature_tag,
tag_t * * target_faces,
int * num_target,
tag_t * * non_blend_faces,
int * num_non_blend,
char * * parameter
)
tag_tfeature_tagInputthe feature
tag_t * *target_facesOutput to UF_*free*- target faces
int *num_targetOutputnumber of faces
tag_t * *non_blend_facesOutput to UF_*free*num_non_blend
adjacent tangent faces which are not blends
int *num_non_blendOutputnumber of non-blend faces
char * *parameterOutput to UF_*free*diameter for cylindrical/spherical faces,
or half angle

 


 
UF_MODL_ask_revolution (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Retrieves the parameters used to create a revolution.

Environment
Internal and External

See Also
UF_MODL_create_revolution

History
Original release was in V19.0 (NX1.0).
 
Required License(s)
gateway

 
int UF_MODL_ask_revolution
(
tag_t feature_obj_id,
int* num_objects,
tag_t* * objects,
UF_MODL_SWEEP_TRIM_object_p_t* trim_ptr,
char* limits [ 2 ] ,
char* offsets [ 2 ] ,
double region_point [ 3 ] ,
logical* region_specified,
logical* solid_creation,
double direction [ 3 ]
)
tag_tfeature_obj_idInputObject tag for the revolved feature
int*num_objectsOutputNumber of revolved curves
tag_t* *objectsOutput to UF_*free*Pointer to an array containing the tags of the
revolved curves. This array must be freed by calling UF_free.
UF_MODL_SWEEP_TRIM_object_p_t*trim_ptrOutput to UF_*free*Pointer to structure for trimming data.
This pointer may be returned as NULL,
if trimming objects are not used.
Use function UF_MODL_SWEEP_free_trim_data to free the trimming data
char*limits [ 2 ] Output to UF_*free*Limits of revolution. Each element of this array must be
freed by calling UF_free.
char*offsets [ 2 ] Output to UF_*free*Offsets for open strings. Each element of this
array must be freed by calling UF_free.
doubleregion_point [ 3 ] OutputPoint on region desired.
logical*region_specifiedOutputTrue or False for region desired.
logical*solid_creationOutputTRUE = a solid body.
doubledirection [ 3 ] OutputRevolution direction

 


 
UF_MODL_ask_ripedge (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Ask an Rip Edge tag

Environment
Internal and External

History
Released in NX3.0
 
Required License(s)
gateway

 
int UF_MODL_ask_ripedge
(
tag_t ripedge_tag,
UF_MODL_ripedge_data_p_t ripedge_ufdata
)
tag_tripedge_tagInputThe ripedge tag
UF_MODL_ripedge_data_p_tripedge_ufdataOutput to UF_*free*The ripedge data

 


 
UF_MODL_ask_rough_offset (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
This function will inquire and return parameters of a rough offset feature.

Environment
Internal and External
See Also: UF_MODL_create_rough_offset
UF_MODL_edit_rough_offset
UF_MODL_free_rough_offset

History
Released in V18.0
 
Required License(s)
gateway

 
int UF_MODL_ask_rough_offset
(
tag_t feature_tag,
UF_MODL_rough_offset_p_t parms
)
tag_tfeature_tagInputFeature to be queried
UF_MODL_rough_offset_p_tparmsOutput to UF_*free*Parameters for a
Rough Offset feature

 


 
UF_MODL_ask_rpo_desc_of_feat (view source)
 
Defined in: uf_modl_sketch.h
 
Overview
Returns expressions and expression descriptions related to supplied
features rpo dimensions.

Environment
Internal and External

History
Original Release was in V14.0. V15.0 change: This function was
renamed from UF_MODL_ask_rpo_desc_of_frec to UF_MODL_ask_rpo_desc_of_feat.
 
Required License(s)
gateway

 
int UF_MODL_ask_rpo_desc_of_feat
(
tag_t feature_obj_id,
int * number_of_exps,
char * * * descriptions,
tag_t * * exps
)
tag_tfeature_obj_idInputFeature object identifier of created rectangular groove
int *number_of_expsOutputNumber of expressions returned
char * * *descriptionsOutput to UF_*free*Array of expression descriptions related to features
rpo dimensions. Use UF_free_string_array to deallocate
memory when done.
tag_t * *expsOutput to UF_*free*Array of object identifiers to expressions related to
features rpo dimensions. Use UF_free to deallocate
memory when done.

 


 
UF_MODL_ask_rpo_desc_of_frec (view source)
 
Defined in: uf_modl_sketch.h
 
Overview
Use UF_MODL_ask_rpo_desc_of_feat instead.
Returns expressions and expression descriptions related to supplied
features rpo dimensions.

Environment
Internal and External

History
Original Release was in V14.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_rpo_desc_of_frec
(
tag_t feature_obj_id,
int * number_of_exps,
char * * * descriptions,
tag_t * * exps
)
tag_tfeature_obj_idInputFeature object identifier of created rectangular groove
int *number_of_expsOutputNumber of expressions returned
char * * *descriptionsOutput to UF_*free*Array of expression descriptions related to features
rpo dimensions. Use UF_free_string_array to deallocate
memory when done.
tag_t * *expsOutput to UF_*free*Array of object identifiers to expressions related to
features rpo dimensions. Use UF_free to deallocate
memory when done.

 


 
UF_MODL_ask_rpo_routine (view source)
 
Defined in: uf_modl_sketch.h
 
Overview
Returns the currently specified relative position operation (RPO)
routine as a function pointer of type UF_MODL_rpo_f_p_t. If no
routine is specified, zero is returned.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_rpo_routine
(
UF_MODL_rpo_f_p_t * user_rpo_routine
)
UF_MODL_rpo_f_p_t *user_rpo_routineInputFunction pointer to the currently
specified relative
position operation (RPO) routine.

 


 
UF_MODL_ask_ruled (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Returns the creation data for a Ruled Feature.

Environment
Internal and External

History
Original release was in V13.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_ruled
(
tag_t feature_obj_id,
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
int * alignment,
double value [ 6 ] ,
int * body_type,
double tol [ 2 ]
)
tag_tfeature_obj_idInputFeature object identifier
UF_STRING_p_ts_sectionOutput to UF_*free*Pointer to the string list structure for the section
strings used to create the feature.
Use UF_MODL_free_string_list to deallocate memory.
UF_STRING_p_ts_spineOutput to UF_*free*Pointer to the string list structure for the spine
string. (for alignment = 5).
Use UF_MODL_free_string_list to deallocate memory.
int *alignmentOutputAlignment method:
1 = Parameter
2 = Arc length
3 = Distance
4 = Angles
5 = Spine curves
doublevalue [ 6 ] OutputData for alignment method:
[0-2] = 3D vector defining direction line (for alignment = 3)
[0-5] = 3D start and end coordinates of line
defining the axis of revolution for planes (for alignment = 4)
int *body_typeOutputType of body:
0 = Sheet
1 = Solid
doubletol [ 2 ] OutputTolerances:
[0] = Distance
[1] = Angle (in radians)

 


 
UF_MODL_ask_ruled1 (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Returns the creation data for a Ruled Feature.

Environment
Internal and External

History
Original release was in V13.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_ruled1
(
tag_t feature_obj_id,
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
int * alignment,
double value [ 6 ] ,
int * body_type,
double tols [ 2 ]
)
tag_tfeature_obj_idInputFeature object identifier
UF_STRING_p_ts_sectionOutput to UF_*free*Pointer to the string list structure, containing the
section builder objects defining the section curves used to create the
feature. See structure section of manual for details.
Use UF_MODL_free_string_list to deallocate memory.
UF_STRING_p_ts_spineOutput to UF_*free*Pointer to the string list structure for the spine
string. (for alignment = 5).
Use UF_MODL_free_string_list to deallocate memory.
int *alignmentOutputAlignment method:
1 = Parameter
2 = Arc length
3 = Distance
4 = Angles
5 = Spine curves
doublevalue [ 6 ] OutputData for alignment method:
[0-2] = 3D vector defining direction line (for alignment = 3)
[0-5] = 3D start and end coordinates of line
defining the axis of revolution for planes (for alignment = 4)
int *body_typeOutputType of body:
0 = Sheet
1 = Solid
doubletols [ 2 ] OutputTolerances:
[0] = Distance
[1] = Angle (in radians)

 


 
UF_MODL_ask_scale (view source)
 
Defined in: uf_modl.h
 
Overview
This function will inquire and return parameters of a scale feature.

Environment
Internal and External
See Also: UF_MODL_create_scale
UF_MODL_edit_scale

History
Released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_scale
(
tag_t feature_tag,
UF_SCALE_TYPE_t * type,
tag_t * so_point,
tag_t * so_dir,
tag_t * so_csys,
char factor [ 3 ] [ UF_MAX_EXP_BUFSIZE ]
)
tag_tfeature_tagInputThe tag of an existing scale feature
UF_SCALE_TYPE_t *typeOutputScale type. It is one of the following:
UF_SCALE_TYPE_UNIFORM
UF_SCALE_TYPE_AXISYMMETRIC
UF_SCALE_TYPE_GENERAL
tag_t *so_pointOutputThis is the tag of a smart point used as the origin
of the scale feature. A NULL_TAG is returned for a
UF_SCALE_TYPE_GENERAL scale feature.
tag_t *so_dirOutputThis is the tag of a smart point used as the
direction of the scale for a UF_SCALE_TYPE_AXISYMMETRIC
scale feature. A NULL_TAG is returned for all other
scale features.
tag_t *so_csysOutputThis is the tag of a smart CSYS used for a
UF_SCALE_TYPE_GENERAL scale feature. A NULL_TAG is
returned for all other scale features.
charfactor [ 3 ] [ UF_MAX_EXP_BUFSIZE ] OutputAn array of strings that define the scale factors.
These scale factors may include expressions. For a
uniform scale feature, there is only one string to use as
a scale factor. For an axisymmetric scale feature, two
factor strings will be returned, the first being the
scale factor along the axis, and the second being the
scale factor in the other direction. For a general scale
feature, there will be three strings returned in this
array, the first being the scale in the x-axis, the second
being the scale in the y-axis and the third being the
scale in the z-axis.

 


 
UF_MODL_ask_section_surface (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Populates a section surface Open API data structure of a section
surface feature.

Environment
Internal and External

See Also
UF_MODL_init_section_surface
UF_MODL_create_section_surface
UF_MODL_edit_section_surface
See the section surface data structures

History
V15.0 changes: The UF_MODL_secsrf_data_t structure was enhanced.
 
Required License(s)
gateway

 
int UF_MODL_ask_section_surface
(
tag_t section_surface,
UF_MODL_secsrf_data_p_t section_surface_data
)
tag_tsection_surfaceInputSection Surface Feature object identifier.
UF_MODL_secsrf_data_p_tsection_surface_dataOutputSection Surface Open API Data
Structure

 


 
UF_MODL_ask_set_from_name (view source)
 
Defined in: uf_modl.h
 
Overview
Return the set that matches the feature name.

Environment
Internal and External

History
Released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_set_from_name
(
char * name,
tag_t * set
)
char *nameInputFeature set name
tag_t *setOutputTag of feature set

 


 
UF_MODL_ask_sets_of_member (view source)
 
Defined in: uf_modl.h
 
Overview
Return an array of feature sets that the feature is a member of.

Environment
Internal and External

History
Released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_sets_of_member
(
tag_t feature,
tag_t * * sets,
int * number_of_sets
)
tag_tfeatureInputTag of feature
tag_t * *setsOutput to UF_*free*Array of feature sets that the feature belongs
too. This array must be freed by calling
UF_free
int *number_of_setsOutputNumber of sets in array

 


 
UF_MODL_ask_sew_sheet_body (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the information stored in the record of the input sew sheet body feature.

Environment
Internal and External

See Also
UF_MODL_create_sew
UF_MODL_create_multiple_sews
UF_MODL_edit_sew_sheet_body

History
Original release was in V16.0.1.
 
Required License(s)
gateway

 
int UF_MODL_ask_sew_sheet_body
(
tag_t feature_obj_eid,
tag_t * target_sheet_body,
int * tool_sheet_bodies_count,
tag_t * * tool_sheet_bodies,
double * tolerance
)
tag_tfeature_obj_eidInputFeature object id of trimmed sheet.
tag_t *target_sheet_bodyOutputTag of the target sheet body
int *tool_sheet_bodies_countOutputNumber of tool sheet bodies
tag_t * *tool_sheet_bodiesOutput to UF_*free*Array of NX eids of sheet bodies.
This array must be freed by calling UF_free.
double *toleranceOutputDistance tolerance for approximations.

 


 
UF_MODL_ask_sew_solid_body (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the information stored in the record of the input sew solid body feature.

Environment
Internal and External

See Also
UF_MODL_create_sew
UF_MODL_edit_sew_solid_body

History
Original release was in V16.0.1.
 
Required License(s)
gateway

 
int UF_MODL_ask_sew_solid_body
(
tag_t feature_obj_eid,
int * target_faces_count,
tag_t * * target_faces,
int * tool_faces_count,
tag_t * * tool_faces,
double * tolerance
)
tag_tfeature_obj_eidInputFeature object id of trimmed sheet.
int *target_faces_countOutputNumber of faces on the target body to be sewn
tag_t * *target_facesOutput to UF_*free*Array of NX eids of faces on the target body
to be sewn. This array must be freed by
calling UF_free.
int *tool_faces_countOutputNumber of faces on the tool body to be sewn
tag_t * *tool_facesOutput to UF_*free*Array of NX eids of faces on the tool body
to be sewn. This array must be freed by
calling UF_free.
double *toleranceOutputDistance tolerance for approximations.

 


 
UF_MODL_ask_shared_edges (view source)
 
Defined in: uf_modl.h
 
Overview
The input to UF_MODL_ask_shared_edges are the two faces,
between which the user wants to find the common edges. Those edges
are returned in a list that can be manipulated by the
UF_MODL__list routines.

If face1 or face2 is an occurrence, then the return values are relative to the
occurrence, and not the prototype.

Environment
Internal and External

History
Modified in V15.0 to work relative to the occurrence.
 
Required License(s)
gateway

 
int UF_MODL_ask_shared_edges
(
tag_t face1,
tag_t face2,
uf_list_p_t * shared_edges
)
tag_tface1InputObject identifier of first face
tag_tface2InputObject identifier of second face
uf_list_p_t *shared_edgesOutput to UF_*free*Pointer to a list of edge object identifiers. Null
pointer is returned if faces do not share edges,
or if an error occurs (`error' > 0). Use
UF_MODL_delete_list to free space allocated for this
linked list.

 


 
UF_MODL_ask_show_report_reference (view source)
 
Defined in: uf_modl.h
 
Overview
Return the show report reference option. The option determines whether feature
failure and warning will be shown in the feature update report.

Environment
Internal and External

History
NX8.0.3
 
Required License(s)
gateway

 
int UF_MODL_ask_show_report_reference
(
logical * reportReference
)
logical *reportReferenceOutputTRUE if report reference is shown, FALSE otherwise.

 


 
UF_MODL_ask_silhouette_flange (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Inquires Silhouette Flange feature and populates Silhouette Flange Open API data
structure. A copy of length and angle law is provided in the data structure.
The memory allocated for the structure may be freed using
UF_MODL_free_silhouette_flange().

This function will always return an array of faces no matter if that array
is defined by a collection.

Environment
Internal and External

See Also
UF_MODL_create_silhouette_flange
UF_MODL_edit_silhouette_flange
UF_MODL_free_silhouette_flange

History
First released in NX3
 
Required License(s)
gateway

 
int UF_MODL_ask_silhouette_flange
(
tag_t sflange_tag,
UF_MODL_sflange_data_p_t sflange_data
)
tag_tsflange_tagInputSilhouette Flange feature
object identifier.
UF_MODL_sflange_data_p_tsflange_dataOutputSilhouette Flange Open API
data structure.

 


 
UF_MODL_ask_simple_hole_parms (view source)
 
Defined in: uf_modl_holes.h
 
Overview
Gets simple hole parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_simple_hole_parms
(
tag_t feature_obj_id,
int edit,
char * * diameter,
char * * depth,
char * * tip_angle,
int * thru_flag
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It was used to determine
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned.
char * *diameterOutput to UF_*free*Hole diameter. This must be freed by calling
UF_free.
char * *depthOutput to UF_*free*Hole depth for a none thru hole. This must be
freed by calling UF_free.
char * *tip_angleOutput to UF_*free*Tip angle. This must be freed by calling
UF_free.
int *thru_flagOutputA thru flag can be TRUE or FALSE, if set to
TRUE then there is no depth to the hole.

 


 
UF_MODL_ask_simplify_parms (view source)
 
Defined in: uf_modl_simplify.h
 
Overview
Returns the current parameters of the simplify feature. Faces and edges
which are currently parameters of the simplify feature, but which have no
associated geometry at present, are not listed.

Environment
Internal and External

See Also
UF_MODL_create_simplify
UF_MODL_edit_simplify_parms
UF_MODL_preview_simplify
UF_MODL_simpl_data_t

History
This function was originally released in V15.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_simplify_parms
(
tag_t feature_tag,
UF_MODL_simpl_data_p_t simpl_parms
)
tag_tfeature_tagInputThe simplify feature
UF_MODL_simpl_data_p_tsimpl_parmsOutput to UF_*free*The parameters of the simplify feature.
NEEDS A FREE ROUTINE

 


 
UF_MODL_ask_sketch_of_sweep (view source)
 
Defined in: uf_modl_sketch.h
 
Overview
Gets the sketch feature associated with the sweep. When a sketch is attached
to the plane of the WCS, it is not a feature, hence this function returns a
NULL_TAG.

Environment
Internal and External

See Also
UF_MODL_reattach_target_face
 
Required License(s)
gateway

 
int UF_MODL_ask_sketch_of_sweep
(
tag_t sweep_obj_id,
tag_t * sketch_obj_id
)
tag_tsweep_obj_idInputThe sweep feature object identifier
tag_t *sketch_obj_idOutputPointer to the object identifier of the sketch feature
associated with the sweep

 


 
UF_MODL_ask_smbend (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Queries an existing smbend feature.

Environment
Internal and External

Return
Return code:
= 0 No error
= not 0 Error code

History
Originally released in V17.0
 
Required License(s)
gateway

 
int UF_MODL_ask_smbend
(
tag_t bend_tag,
UF_MODL_smbend_data_p_t user_data
)
tag_tbend_tagInputtag of the bend
feature in question
UF_MODL_smbend_data_p_tuser_dataOutputdata which represents
this feature

 


 
UF_MODL_ask_smbend_corner (view source)
 
Defined in: uf_modl_smd.h
 
Overview
This procedure uses a tag for an smbend feature that was created by
converting a corner, it then outputs the user's parameters for that bend
feature.

Return
Return code:
= 0 No Error
= not 0 Error code

Environment
External

History
Originally released in V17.0.3
 
Required License(s)
gateway

 
int UF_MODL_ask_smbend_corner
(
tag_t bend_tag,
UF_MODL_smbend_corner_data_p_t user_data
)
tag_tbend_tagInputthe tag of the bend
feature in question
UF_MODL_smbend_corner_data_p_tuser_dataOutputUF data which represents
this feature

 


 
UF_MODL_ask_smbend_cylinder (view source)
 
Defined in: uf_modl_smd.h
 
Overview
This procedure uses a tag for an smbend feature that was created by
converting a cylindrical face, it then outputs the user's parameters for
that bend feature.

Return
Return code:
= 0 No Error
= not 0 Error code

Environment
External

History
Originally released in V17.0.3
 
Required License(s)
gateway

 
int UF_MODL_ask_smbend_cylinder
(
tag_t bend_tag,
UF_MODL_smbend_cylinder_data_p_t user_data
)
tag_tbend_tagInputthe tag of the bend
feature in question
UF_MODL_smbend_cylinder_data_p_tuser_dataOutputUF data which represents
this feature

 


 
UF_MODL_ask_smcorner (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Ask an SMCorner tag

Environment
Internal and External

History
Released in NX3.0
 
Required License(s)
gateway

 
int UF_MODL_ask_smcorner
(
tag_t smcorner_tag,
UF_MODL_smcorner_data_p_t smcorner_ufdata
)
tag_tsmcorner_tagInputThe smcorner tag
UF_MODL_smcorner_data_p_tsmcorner_ufdataOutputThe smcorner data

 


 
UF_MODL_ask_smcutout (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Queries the data of a sheet metal cutout (SMCUTOUT) feature by providing the
object identifier of the SMCutout feature.

Environment
Internal and External

See Also
UF_MODL_smcutout_data_p_t

History
Original release was in V15.0
 
Required License(s)
gateway

 
int UF_MODL_ask_smcutout
(
tag_t cutout_tag,
UF_MODL_smcutout_data_p_t user_data
)
tag_tcutout_tagInputTag of cutout feature
UF_MODL_smcutout_data_p_tuser_dataOutput to UF_*free*Data read from cutout
NEEDS A FREE ROUTINE

 


 
UF_MODL_ask_smhole (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Returns the parameter information of an existing sheet metal hole.

Environment
Internal and External

See Also
UF_MODL_smhole_data_p_t

History
Original release was in V14.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_smhole
(
tag_t hole_tag,
UF_MODL_smhole_data_p_t user_data
)
tag_thole_tagInputTag of the SMHole from which to get
information
UF_MODL_smhole_data_p_tuser_dataOutputPass in a pointer to an UF_MODL_smhole_data_s
data structure. This routine will fill it
with information about the SMHole

 


 
UF_MODL_ask_smpunch (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Query the feature information from the given SMPunch tag.

Environment
Internal and External

See Also
UF_MODL_create_smpunch
UF_MODL_edit_smpunch

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_smpunch
(
UF_MODL_smpunch_data_p_t user_data,
tag_t punch_tag
)
UF_MODL_smpunch_data_p_tuser_dataOutputData describing the punch feature.
tag_tpunch_tagInputThe object identifier of the punch
feature to be queried.

 


 
UF_MODL_ask_smslot (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Returns the parameter information of an existing sheet metal slot.

Environment
Internal and External

See Also
UF_MODL_smslot_data_p_t

History
Original release was in V14.0
 
Required License(s)
gateway

 
int UF_MODL_ask_smslot
(
tag_t slot_tag,
UF_MODL_smslot_data_p_t user_data
)
tag_tslot_tagInputTag of the SMSlot from which to get
information
UF_MODL_smslot_data_p_tuser_dataOutputPointer to a UF_MODL_smslot_data_s
data structure containing information
about the SMSlot

 


 
UF_MODL_ask_snip_surface_feature_data (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Populates Snip Surface Open API data structure of a Snip Surface feature. The
memory allocated for the structure may be freed using UF_MODL_free_snip_surface

Environment
Internal and External

See Also
UF_MODL_create_snip_surface_feature
UF_MODL_edit_snip_surface_feature
UF_MODL_free_snip_surface_feature_data

History
First released in NX2
 
Required License(s)
gateway

 
int UF_MODL_ask_snip_surface_feature_data
(
tag_t snip,
UF_MODL_snipsrf_feature_data_p_t ask_usr_data_ptr
)
tag_tsnipInput
UF_MODL_snipsrf_feature_data_p_task_usr_data_ptrOutput

 


 
UF_MODL_ask_solid_of_prom_feat (view source)
 
Defined in: uf_modl_promotions.h
 
Overview
Finds the promoted solid body created when applying the given
promotion feature.

Environment
Internal and External

See Also
UF_MODL_ask_prom_feat_of_solid
UF_MODL_create_promotion
 
Required License(s)
gateway

 
int UF_MODL_ask_solid_of_prom_feat
(
tag_t prom_feat,
tag_t * prom_solid
)
tag_tprom_featInputPromotion feature to be queried
tag_t *prom_solidOutputPromoted solid

 


 
UF_MODL_ask_solid_punch (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Ask an Solid Punch tag

Return
Return code :

Environment
Internal and External

History
Released in NX2.0
 
Required License(s)
gateway

 
int UF_MODL_ask_solid_punch
(
tag_t smspunch_tag,
UF_MODL_solid_punch_data_p_t smspunch_ufdata
)
tag_tsmspunch_tagInputThe solid punch tag
UF_MODL_solid_punch_data_p_tsmspunch_ufdataOutput to UF_*free*The solidpunch data

 


 
UF_MODL_ask_sphere_parms (view source)
 
Defined in: uf_modl_primitives.h
 
Overview
Gets sphere parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_sphere_parms
(
tag_t feature_obj_id,
int edit,
char * * diameter
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It was used to determine
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned.
char * *diameterOutput to UF_*free*Sphere diameter. This must be freed by
calling UF_free.

 


 
UF_MODL_ask_split_edges (view source)
 
Defined in: uf_modl.h
 
Overview
Returns all of the split edges of the given edge. For occurrences input from
the edge argument, the edges returned from the edges argument are on the
occurrence.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_split_edges
(
tag_t edge,
int * nedges,
tag_t * * edges
)
tag_tedgeInputObject identifier of edge
int *nedgesOutputNumber of split edges
tag_t * *edgesOutput to UF_*free*Array of object identifiers of split edges. Use
UF_free to deallocate memory.

 


 
UF_MODL_ask_split_faces (view source)
 
Defined in: uf_modl.h
 
Overview
Returns all of the split faces of the given face. For occurrences input from
the face argument, the faces returned from the faces argument are on the
occurrence.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_split_faces
(
tag_t face,
int * nfaces,
tag_t * * faces
)
tag_tfaceInputObject identifier of face
int *nfacesOutputNumber of split faces
tag_t * *facesOutput to UF_*free*Array of tags of split faces. Use UF_free to deallocate memory.

 


 
UF_MODL_ask_stycorner_data (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Get an Styled Corner Surface Feature data from its NX Open API data structure.

Environment
Internal and External

See Also
UF_MODL_create_stycorner
UF_MODL_edit_stycorner
UF_MODL_ask_stycorner_data
UF_MODL_init_stycorner_data

History
First released in NX3
 
Required License(s)
gateway

 
int UF_MODL_ask_stycorner_data
(
tag_t frec_tag,
UF_MODL_stycorner_data_p_t styled_corner_data_out
)
tag_tfrec_tagInputStyled corner feature
object identifier.
UF_MODL_stycorner_data_p_tstyled_corner_data_outOutputStyled corner NX Open
API data structure.

 


 
UF_MODL_ask_styled_sweep_feature_data (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Inquires Styled Sweep feature and populates Styled Sweep Open API data
structure. The memory allocated for the structure may be freed using
UF_MODL_free_styled_sweep_feature_data().

Environment
Internal and External

See Also
UF_MODL_create_styled_sweep_feature
UF_MODL_edit_styled_sweep_feature
UF_MODL_free_styled_sweep_feature_data
 
Required License(s)
gateway

 
int UF_MODL_ask_styled_sweep_feature_data
(
tag_t styswp,
UF_MODL_styled_sweep_data_p_t styled_sweep_data
)
tag_tstyswpInputStyled Sweep feature object identifier.
UF_MODL_styled_sweep_data_p_tstyled_sweep_dataOutputStyled Sweep Open API data structure.

 


 
UF_MODL_ask_subdiv_face_parms (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the parameters of a subdivided face feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_subdiv_face_parms
(
const tag_t feature_obj_id,
tag_t * face,
tag_t * * curves,
int * count,
int* proj_type,
double* vector
)
const tag_tfeature_obj_idInputFeature object identifier of a subdivided face
tag_t *faceOutputFace object identifier which the subdivided face is
on
tag_t * *curvesOutput to UF_*free*Pointer to array of curves associated with the
subdivide face feature
int *countOutputNumber of curves in curve array
int*proj_typeOutputProjection type
1 = Along surface normal
2 = Along vector (Not implemented yet)
double*vectorOutputProjection vector (Not used)

 


 
UF_MODL_ask_suppress_exp_tag (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Returns a parameter suppress expression, based upon the input
feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_suppress_exp_tag
(
tag_t feature_tag,
tag_t * expression_tag
)
tag_tfeature_tagInputFeature object id
tag_t *expression_tagOutputSuppress expression tag

 


 
UF_MODL_ask_suppress_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Returns whether a feature is suppressed or not.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_suppress_feature
(
tag_t feature,
int * suppress
)
tag_tfeatureInputFeature to check.
int *suppressOutputIf TRUE - feature is suppressed.
FALSE - feature is not suppressed.

 


 
UF_MODL_ask_suppress_list (view source)
 
Defined in: uf_modl.h
 
Overview
Returns a list of all the suppressed features in the part.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_suppress_list
(
uf_list_p_t * feature_list
)
uf_list_p_t *feature_listOutput to UF_*free*List of all the suppressed features in the part.
This list must be freed by calling
UF_MODL_delete_list.

 


 
UF_MODL_ask_sweep (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Returns the creation data for a freeform Sweep feature.

Environment
Internal and External

History
Original release was in V13.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_sweep
(
tag_t feature_obj_id,
UF_STRING_p_t s_guide,
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
UF_METHOD_p_t orientation,
UF_METHOD_p_t scaling,
int * alignment,
int * inter,
int * body_type,
double tol [ 3 ]
)
tag_tfeature_obj_idInputFeature object identifier of sweep
UF_STRING_p_ts_guideOutput to UF_*free*Pointer to the string list structure containing the
data defining the guide curves used to create the
feature. See structure section of manual for details.
Use UF_MODL_free_string_list to deallocate
memory.
UF_STRING_p_ts_sectionOutput to UF_*free*Pointer to the string list structure containing the
date defining the section curves used to create the
feature. See structure section of manual for details.
Use UF_MODL_free_string_list to deallocate
memory.
UF_STRING_p_ts_spineOutput to UF_*free*Pointer to the string list structure for the spine
string. Use UF_MODL_free_string_list to deallocate
memory.
UF_METHOD_p_torientationOutputPointer to the orientation list structure.
int method Orientation method
(for s_guide-> num = 1)
1 = Face normals
2 = Vector direction
3 = Another curve
4 = Fixed (parallel sweep)
5 = A point
6 = Angular law
7 = Forced direction
int inter NOT USED
tag_t id
Base surface (for orientation->method =1)
Datum Axis (for orientation->method = 2,7)
double value[3]
Orientation 3D vector (for orientation->method =
2,7)
Orientation 3D point (for orientation->method =
5)
Law Function Value (for orientation->method=6)
[0] = Angle law function offset
[1] = Angle law function scale
UF_STRING_p_t s_curve Pointer to curve
structure list (for orientation->method = 3 or 6)
UF_METHOD_p_tscalingOutputPointer to the scaling list structure.
int method Scaling method
(for s_guide-> num = 1)
1 = Constant scale
2 = Blended
3 = Another curve
4 = A point
5 = Area law
(for s_guide->num = 2)
6 = Scale laterally
7 = Scale uniformly
int inter
Scale blended interpolation
( for scaling->method = 2)
tag_t id NOT USED
double value[3] Scale values
[0] = Scale factor
(for scaling->method = 1)
[0-1] = Scale range
(for scaling->method = 2)
[0-2] = 3D absolute point
(for scaling->method = 4)
Law Function Value
(for scaling->method=5)
[0] = Area law function offset
[1] = Area law function scale
UF_STRING_p_t s_curve Pointer to curve
structure list (for scaling->method = 3 or 5)
int *alignmentOutputAlignment method:
1 = Parameter
2 = Arc Length
int *interOutputInterpolation method (for s_section->num > 1):
1 = Linear
2 = Cubic
int *body_typeOutputType of body:
0 = Sheet
1 = Solid
doubletol [ 3 ] OutputTolerances:
[0] = Distance
[1] = Angle (in degrees)
[2] = Intersection

 


 
UF_MODL_ask_sweep_curves (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Gets the profile curves and guide curves of a given sweep. This will also
work for extrusion features as well.

Environment
Internal and External

See Also
UF_MODL_ask_sweep_of_udf
UF_MODL_edit_sweep_curves
 
Required License(s)
gateway

 
int UF_MODL_ask_sweep_curves
(
tag_t sweep_id,
int * n_profile_curves,
tag_t * * profile_curves,
int * n_guide_curves,
tag_t * * guide_curves
)
tag_tsweep_idInputsweep or extrusion object identifier
int *n_profile_curvesOutputnumber of profile curves
tag_t * *profile_curvesOutput to UF_*free*An array of profile curves. This is must be freed by
calling UF_free.
int *n_guide_curvesOutputnumber of guide curves
tag_t * *guide_curvesOutput to UF_*free*An array of guide curves. This must be freed by calling
UF_free.

 


 
UF_MODL_ask_sweep_direction (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Given an extrude feature, this function returns the extruded direction in
the parameter dir. Given a revolve feature, this function returns the axis
point in the parameter pos and the axis direction in the parameter dir.

Environment
Internal and External

History
Originally released in V15.0
 
Required License(s)
gateway

 
int UF_MODL_ask_sweep_direction
(
tag_t feature_id,
double pos [ 3 ] ,
double dir [ 3 ]
)
tag_tfeature_idInputThe feature ID
doublepos [ 3 ] OutputThe axis point for a revolve feature. Not used for an
extrude feature. This must be declared as double pos[3].
doubledir [ 3 ] OutputThe axis direction for a revolve feature. For an extrude
feature the extruded direction. This must be declared as
double dir[3].

 


 
UF_MODL_ask_sweep_of_udf (view source)
 
Defined in: uf_modl_udf.h
 
Overview
If the udf contains a single sweep along guide, returns this sweep. If
the udf does not contain any sweep which is the type of sweep along
the guide, or the udf contains more than one sweep which is the type
of sweep along guide, then the routine returns NULL_TAG.


Note: This routine works only with old-style Pre-V15 UDFs

Environment
Internal and External

See Also
UF_MODL_ask_sweep_curves
UF_MODL_edit_sweep_curves
 
Required License(s)
gateway

 
int UF_MODL_ask_sweep_of_udf
(
tag_t udf_eid,
tag_t * sweep_eid
)
tag_tudf_eidInputudf object identifier
tag_t *sweep_eidOutputsweep object identifier within the udf

 


 
UF_MODL_ask_sweep_parms (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Gets sweep parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_sweep_parms
(
tag_t feature_obj_id,
int edit,
char * * taper_angle,
char * * limit1,
char * * limit2
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It was used to determine
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned.
char * *taper_angleOutput to UF_*free*Taper angle. This must be freed by
calling UF_free.
char * *limit1Output to UF_*free*Start angle (degrees) for revolved features or start
offset distance for extruded features. This must be
freed by calling UF_free.
char * *limit2Output to UF_*free*End angle (degrees) for revolved features or end
offset distance for extruded features. This must
be freed by calling UF_free.

 


 
UF_MODL_ask_symb_thread_parms (view source)
 
Defined in: uf_modl.h
 
Overview
Get parameters of a thread feature.

Environment
Internal and External

See Also
please see example
UF_MODL_symb_thread_data_t
 
Required License(s)
gateway

 
int UF_MODL_ask_symb_thread_parms
(
tag_t thread_obj_id,
UF_MODL_symb_thread_data_t * parameters
)
tag_tthread_obj_idInputThread object id
UF_MODL_symb_thread_data_t *parametersOutput to UF_*free*Pointer to thread parameter structure
UF_MODL_symb_thread_data_s
Use routine UF_MODL_free_symb_thread_data
to free this structure when needed.

 


 
UF_MODL_ask_t_slot_parms (view source)
 
Defined in: uf_modl_slots.h
 
Overview
Gets T-slot parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_t_slot_parms
(
tag_t feature_obj_id,
int edit,
char * * top_width,
char * * top_depth,
char * * bottom_width,
char * * bottom_depth,
char * * distance,
int * thru_flag
)
tag_tfeature_obj_idInputA feature object identifier.
inteditInputThis is an unused flag. It was used to determine
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned.
char * *top_widthOutput to UF_*free*Slot top width. This must be freed by calling UF_free.
char * *top_depthOutput to UF_*free*Slot top depth. This must be freed by calling UF_free.
char * *bottom_widthOutput to UF_*free*Slot bottom width. This must be freed by calling UF_free.
char * *bottom_depthOutput to UF_*free*Slot bottom depth. This must be freed by calling UF_free.
char * *distanceOutput to UF_*free*Slot distance for a none thru slot. This must be freed by
calling UF_free.
int *thru_flagOutputA thru flag can be TRUE or FALSE, if set to
TRUE then there is no distance to the slot.

 


 
UF_MODL_ask_taper_from_edges (view source)
 
Defined in: uf_modl_taper.h
 
Overview
Require defining data of a taper from edges

Environment
Internal and External

History
Originally released in V17.0
 
Required License(s)
gateway

 
int UF_MODL_ask_taper_from_edges
(
tag_t feature_eid,
int * type,
tag_t * direction_tag,
char angle_str [ UF_MAX_EXP_BUFSIZE ] ,
logical * taper_all_instances,
int * num_edges,
tag_t * * edges,
double * dist_tol,
double * angle_tol
)
tag_tfeature_eidInputfeature eid of created taper
int *typeOutputtaper type
tag_t *direction_tagOutputtaper direction
charangle_str [ UF_MAX_EXP_BUFSIZE ] Outputtaper angle
logical *taper_all_instancesOutputtapering all instances
int *num_edgesOutputnumber of edges
tag_t * *edgesOutput to UF_*free*array of edges,
this must be freed by calling UF_free
double *dist_tolOutputtolerance of distance
double *angle_tolOutputtolerance of angle

 


 
UF_MODL_ask_taper_from_edges1 (view source)
 
Defined in: uf_modl_taper.h
 
Overview
Returns the defining data for a collector enabled Taper from edges feature.
To be used in place of UF_MODL_ask_taper_from_edges() when collection objects are desired.

Environment
Internal and External

See Also
UF_MODL_create_taper_from_edges
UF_MODL_ask_taper_from_edges

History
This function was originally released in NX2.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_taper_from_edges1
(
tag_t feature_obj_id,
int * taper_type,
tag_t * direction_tag,
char angle_str [ UF_MAX_EXP_BUFSIZE ] ,
logical * taper_all_instances,
tag_t * edge_collection,
double * distance_tolerance,
double * angle_tolerance
)
tag_tfeature_obj_idInputFeature object identifier for the Taper feature
int *taper_typeOutputTaper type
tag_t *direction_tagOutputTaper direction
charangle_str [ UF_MAX_EXP_BUFSIZE ] OutputTaper angle
logical *taper_all_instancesOutputTapering all instances
tag_t *edge_collectionOutputCollection of edges to be tapered
double *distance_toleranceOutputDistance tolerance
double *angle_toleranceOutputAngle tolerance

 


 
UF_MODL_ask_taper_hole_parms (view source)
 
Defined in: uf_modl_holes.h
 
Overview
Gets taper hole parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_taper_hole_parms
(
tag_t feature_obj_id,
int edit,
char * * diameter,
char * * taper_angle,
char * * depth,
int * thru_flag
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It was used to determine
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned.
char * *diameterOutput to UF_*free*Hole diameter. This must be freed by calling
UF_free.
char * *taper_angleOutput to UF_*free*Taper angle. This must be freed by calling
UF_free.
char * *depthOutput to UF_*free*Hole depth for a none thru hole. This must be
freed by calling UF_free.
int *thru_flagOutputA thru flag can be TRUE or FALSE, if set to
TRUE then there is no depth to the hole.

 


 
UF_MODL_ask_taper_parms (view source)
 
Defined in: uf_modl_taper.h
 
Overview
Gets taper parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_taper_parms
(
tag_t feature_obj_id,
int edit,
char * * angle
)
tag_tfeature_obj_idInputA feature object identifier
inteditInputThis is an unused flag. It was used to determine
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned.
char * *angleOutput to UF_*free*Taper angle. This must be freed by calling UF_free.

 


 
UF_MODL_ask_thru_curves (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Returns the creation data for a Thru Curves feature.

Environment
Internal and External

History
Original release was in V13.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_thru_curves
(
tag_t feature_obj_id,
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
int * patch,
int * alignment,
double value [ 6 ] ,
int * vdegree,
int * vstatus,
int * body_type,
double tol [ 3 ] ,
tag_t c_face_id [ 2 ] ,
int c_flag [ 2 ]
)
tag_tfeature_obj_idInputFeature object identifier
UF_STRING_p_ts_sectionOutput to UF_*free*Pointer to the string list structure, containing the
data for the section curves used to create the
feature. See structure section of manual for details.
Use UF_MODL_free_string_list to deallocate memory.
UF_STRING_p_ts_spineOutput to UF_*free*Pointer to the string list structure for the spine
string. (for alignment = 5).
Use UF_MODL_free_string_list to deallocate memory.
int *patchOutputPatch type
1 = Single (Bezier)
2 = Multiple (B-spline)
int *alignmentOutputAlignment method
1 = Parameter
2 = Arc length
3 = Distance
4 = Angles
5= Spine curves
6 = Spline Points
doublevalue [ 6 ] OutputData for alignment method:
[0-2] = 3D vector defining direction line
(for alignment = 3)
[0-5] = Coordinates of line defining the axis
of revolution for planes
(for alignment = 4)
int *vdegreeOutputDegree of surface in V direction
int *vstatusOutputPeriodic status of surface in V direction:
0 = Open
1 = Closed
(at least s_section->num > 2)
int *body_typeOutputType of body, 0 = Sheet, 1 = Solid
doubletol [ 3 ] OutputTolerances:
[0] = Distance
[1] = Angle (in radians)
[2] = Intersection
tag_tc_face_id [ 2 ] OutputObject identifiers of neighbor surfaces from which
constraints are obtained
[0] = first section string
[1] = last section string
intc_flag [ 2 ] Output[0] = first primary string constraint type
[1] = last primary string constraint type
The constraint types are as follows:
0 = no constraint
1 = tangency constraint
2 = curvature constraint

 


 
UF_MODL_ask_thru_curves1 (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Returns the creation data for a Thru Curves feature.

Environment
Internal and External

History
Original release was in NX2.
 
Required License(s)
gateway

 
int UF_MODL_ask_thru_curves1
(
tag_t feature_obj_id,
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
int * patch,
int * alignment,
double value [ 6 ] ,
int * vdegree,
int * vstatus,
int * body_type,
double tol [ 3 ] ,
tag_t c_collector_id [ 2 ] ,
int c_flag [ 2 ]
)
tag_tfeature_obj_idInputFeature object identifier
UF_STRING_p_ts_sectionOutput to UF_*free*Pointer to the string list structure, containing the
section builder objects defining the section curves used to create the
feature. See structure section of manual for details.
Use UF_MODL_free_string_list to deallocate memory.
UF_STRING_p_ts_spineOutput to UF_*free*Pointer to the string list structure for the spine
string. (for alignment = 5).
Use UF_MODL_free_string_list to deallocate memory.
int *patchOutputPatch type
1 = Single (Bezier)
2 = Multiple (B-spline)
int *alignmentOutputAlignment method
1 = Parameter
2 = Arc length
3 = Distance
4 = Angles
5= Spine curves
6 = Spline Points
doublevalue [ 6 ] OutputData for alignment method:
[0-2] = 3D vector defining direction line
(for alignment = 3)
[0-5] = Coordinates of line defining the axis
of revolution for planes
(for alignment = 4)
int *vdegreeOutputDegree of surface in V direction
int *vstatusOutputPeriodic status of surface in V direction:
0 = Open
1 = Closed
(at least s_section->num > 2)
int *body_typeOutputType of body, 0 = Sheet, 1 = Solid
doubletol [ 3 ] OutputTolerances:
[0] = Distance
[1] = Angle (in radians)
[2] = Intersection
tag_tc_collector_id [ 2 ] OutputCollector containing the neighbor surfaces from which
constraints are obtained
[0] = first section string
[1] = last section string
intc_flag [ 2 ] Output[0] = first primary string constraint type
[1] = last primary string constraint type
The constraint types are as follows:
0 = no constraint
1 = tangency constraint
2 = curvature constraint

 


 
UF_MODL_ask_thru_faces (view source)
 
Defined in: uf_modl.h
 
Overview
Gets the first and second thru/trim faces of a feature.

Environment
Internal and External

See Also
UF_MODL_reattach_target_face
 
Required License(s)
gateway

 
int UF_MODL_ask_thru_faces
(
tag_t feature_eid,
tag_t * face1,
tag_t * face2
)
tag_tfeature_eidInputthe feature being inquired
tag_t *face1Outputthe first thru/trim face
tag_t *face2Outputthe second thru/trim face

 


 
UF_MODL_ask_time_stamp_of_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Return the feature time stamp. The time stamp is a number which represents the
order in which the model was built.

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_time_stamp_of_feature
(
tag_t feature,
int * time_stamp
)
tag_tfeatureInputFeature to check
int *time_stampOutputTime stamp of this feature.

 


 
UF_MODL_ask_tiny_geometry (view source)
 
Defined in: uf_modl.h
 
Overview
A geometry check routine.
Returns whether the input object is tiny.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_tiny_geometry
(
tag_t obj_tag,
double tolerance,
logical * is_tiny
)
tag_tobj_tagInputTag of solid body, face, edge, or curve
doubletoleranceInputTolerance value to check against, if = 0, then use
the current modeling distance tolerance
logical *is_tinyOutputFALSE = object is not tiny
TRUE = object is tiny

 


 
UF_MODL_ask_torus_parms (view source)
 
Defined in: uf_modl_legacy.h
 
Overview
Gets the parameters of a torus.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_torus_parms
(
tag_t feature_tag,
int edit,
char * * major_diameter,
char * * minor_diameter
)
tag_tfeature_tagInputFeature object identifier
inteditInputUnused flag
char * *major_diameterOutput to UF_*free*Torus major diameter. This must be
freed by calling UF_free.
char * *minor_diameterOutput to UF_*free*Torus minor diameter This must be
freed by calling UF_free.

 


 
UF_MODL_ask_trimmed_sheet (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Returns the information stored in the record of the input trimmed sheet feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_trimmed_sheet
(
tag_t feature_obj_eid,
tag_t * sheet_body_tag,
int * bounding_object_count,
tag_t * * bounding_objects,
UF_MODL_vector_p_t projection_method,
int * point_key,
int * point_count,
double * * point_coords,
double * tolerance
)
tag_tfeature_obj_eidInputFeature object id of trimmed sheet.
tag_t *sheet_body_tagOutputTag of trimmed sheet
int *bounding_object_countOutputNumber of trimming boundary objects
tag_t * *bounding_objectsOutput to UF_*free*Array of NX eids of trimming objects. This array
must be freed by calling UF_free.
UF_MODL_vector_p_tprojection_methodOutputA variant record of the following
int reverse_vector,
UF_MODL_vector_type_t vector_type,
where vector_type =

UF_MODL_VECTOR_DIRECTION:
project along a fixed vector,
a vector, double[3], is required.

UF_MODL_VECTOR_DIRECTION_EXACT_GEOMETRY:
project along a fixed vector,
a vector, double[3], is required,
NX will produce exact geometry.

UF_MODL_VECTOR_AXIS:
project along a datum axis,
an NX eid of the datum axis is required.

UF_MODL_VECTOR_AXIS_EXACT_GEOMETRY:
project along a datum axis,
an NX eid of the datum axis is required,
NX will produce exact geometry.

UF_MODL_VECTOR_FACE_NORMALS
project along face normals,
no other input is needed.

UF_MODL_VECTOR_FACE_NORMALS_EXACT_GEOMETRY
project along face normals,
no other input is needed, NX will produce
exact geometry when ever possible.
int *point_keyOutputPoints define regions to: 0 = retain; 1 = discard
int *point_countOutputNumber of region points
double * *point_coordsOutput to UF_*free*Array of region points on the sheet to be trimmed.
This array contains 3point_count entries. This
array must be freed by calling UF_free.
double *toleranceOutputDistance tolerance for approximations.

 


 
UF_MODL_ask_u_groove_parms (view source)
 
Defined in: uf_modl_grooves.h
 
Overview
Gets U groove parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_u_groove_parms
(
tag_t feature_obj_id,
int edit,
char * * groove_dia,
char * * width,
char * * corner_rad
)
tag_tfeature_obj_idInputA feature object identifier.
inteditInputThis is an unused flag. It was used to determine
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned.
char * *groove_diaOutput to UF_*free*Groove diameter. This must be freed by
calling UF_free.
char * *widthOutput to UF_*free*Groove width. This must be freed by
calling UF_free.
char * *corner_radOutput to UF_*free*Groove corner radius. This must be freed by
calling UF_free.

 


 
UF_MODL_ask_u_slot_parms (view source)
 
Defined in: uf_modl_slots.h
 
Overview
Gets U slot parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_u_slot_parms
(
tag_t feature_obj_id,
int edit,
char * * width,
char * * depth,
char * * corner_rad,
char * * distance,
int * thru_flag
)
tag_tfeature_obj_idInputA feature object identifier.
inteditInputThis is an unused flag. It was used to determine
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned.
char * *widthOutput to UF_*free*Slot width. This must be freed by calling
UF_free.
char * *depthOutput to UF_*free*Slot depth. This must be freed by calling
UF_free.
char * *corner_radOutput to UF_*free*Slot corner radius This must be freed by calling
UF_free.
char * *distanceOutput to UF_*free*Slot distance for a none thru slot. This must be freed by cal
ling
UF_free.
int *thru_flagOutputA thru flag can be TRUE or FALSE, if set to
TRUE then there is no distance to the slot.

 


 
UF_MODL_ask_udf_definition (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Query the external references that make up the UDF definition.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

History
Originally released in V15.0
 
Required License(s)
gateway

 
int UF_MODL_ask_udf_definition
(
tag_t udf_tag,
tag_t * * parents,
char * * * parents_prompt,
int * num_parents,
tag_t * * expression,
char * * * expression_prompt,
int * num_expression
)
tag_tudf_tagInputObject identifier of a UDF feature definition,
UDF_DEF.
tag_t * *parentsOutput to UF_*free*Array of external parents of the udf.
This must be freed by calling UF_free.
char * * *parents_promptOutput to UF_*free*Array of prompts. This must be freed by
calling UF_free_string_array.
int *num_parentsOutputNumber of external parents
tag_t * *expressionOutput to UF_*free*Array of expressions. This must be freed by
calling UF_free.
char * * *expression_promptOutput to UF_*free*Array of prompt. This must be freed by
calling UF_free_string_array.
int *num_expressionOutputNUmber of expressions

 


 
UF_MODL_ask_udf_mapping_for_edit (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Ask the UDF mapping data at editing.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
UF_MODL_register_udf_mapping_routine
UF_MODL_unregister_udf_mapping_routine

History
This function was originally released in NX3.
 
Required License(s)
gateway

 
int UF_MODL_ask_udf_mapping_for_edit
(
tag_t udf_insert_tag,
UF_MODL_udf_ref_data_t * ref_data
)
tag_tudf_insert_tagInputTag of UDF instantiated feature
UF_MODL_udf_ref_data_t *ref_dataOutput to UF_*free*Parent data

 


 
UF_MODL_ask_udf_mapping_for_insert (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Ask the UDF mapping data at instantiation.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
UF_MODL_register_udf_mapping_routine
UF_MODL_unregister_udf_mapping_routine

History
This function was originally released in NX3.
 
Required License(s)
gateway

 
int UF_MODL_ask_udf_mapping_for_insert
(
tag_t udf_define_tag,
UF_MODL_udf_ref_data_t * ref_data
)
tag_tudf_define_tagInputTag of UDF definition feature
UF_MODL_udf_ref_data_t *ref_dataOutput to UF_*free*Parent data

 


 
UF_MODL_ask_udf_mapping_routine (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Returns the currently specified UDF mapping data routine as a function pointer
of type UF_MODL_udf_mapping_f_p_t. If no routine is specified, zero is returned.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
UF_MODL_register_udf_mapping_routine

History
This function was originally released in NX3.
 
Required License(s)
gateway

 
int UF_MODL_ask_udf_mapping_routine
(
UF_MODL_udf_mapping_f_p_t * user_udf_mapping_routine
)
UF_MODL_udf_mapping_f_p_t *user_udf_mapping_routineInputFunction pointer to the currently
specified UDF mapping data routine.

 


 
UF_MODL_ask_udf_parms (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Gets the parameters of a User Defined Feature (UDF).
Note: This routine works only with old-style Pre-V15 UDFs

Environment
Internal and External

See Also
UF_MODL_export_udf
UF_MODL_import_udf
UF_MODL_set_udf_parms
UF_MODL_boolean_udf
 
Required License(s)
gateway

 
int UF_MODL_ask_udf_parms
(
tag_t feature_obj_id,
char * * udf_name,
char * * * udf_prompt,
char * * * udf_values,
int * num_values
)
tag_tfeature_obj_idInputA feature object identifier
char * *udf_nameOutput to UF_*free*UDF file name. Use UF_free to deallocate memory.
char * * *udf_promptOutput to UF_*free*UDF prompt array. Define this array as
char prompt. Use UF_free_string_array to
deallocate memory.
char * * *udf_valuesOutput to UF_*free*UDF expression array. Define this array as
char values. Use UF_free_string_array to
deallocate memory.
int *num_valuesOutputNumber of UDF expressions.

 


 
UF_MODL_ask_update_error_message (view source)
 
Defined in: uf_modl.h
 
Overview
Gets the update error message associated with a feature.

Environment
Internal and External

History
This function was originally released in V16.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_update_error_message
(
tag_t feature_id,
char * * error_message
)
tag_tfeature_idInputFeature to be checked.
char * *error_messageOutput to UF_*free*Update error message for this feature. A NULL is
returned if the feature updated successfully.
This must be freed by calling UF_free.

 


 
UF_MODL_ask_update_fail_option (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the fail option that is set for update failures. You use this
routine to get the current fail option in case an update failure occurs.
This allows the user to remember the previous value before setting
the option to a new value via UF_MODL_set_update_fail_option.

Environment
Internal and External

See Also
Refer table

History
Original release was in V14.0.
 
Required License(s)
gateway

 
int UF_MODL_ask_update_fail_option
(
UF_MODL_update_option_t * current_option
)
UF_MODL_update_option_t *current_optionOutputReturns the fail option currently set
for update failures.

 


 
UF_MODL_ask_update_undo_feat (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the feature and the corresponding error code if a feature failed
to update resulting in an undo of the update. This function can be used to
provide more information to the user about the feature that failed to update.

The tag of the feature and the error code will only be returned if the update fail
option is set to UF_MODL_UPDATE_UNDO or if the update fail option is
UF_MODL_UPDATE_NO_OPTION and the update was invoked by a user function program.

The tag of the feature and the error code returned by this function is guaranteed
to be valid and accurate only when this function is called immediately after a
call to UF_MODL_update()

Environment
Internal and External

See Also
UF_MODL_update
UF_MODL_ask_update_fail_option
UF_MODL_set_update_fail_option

History
V18.0
 
Required License(s)
gateway

 
int UF_MODL_ask_update_undo_feat
(
tag_t * feat,
int * feat_ifail
)
tag_t *featOutputFeature that failed to update resulting in an UNDO
int *feat_ifailOutputThe corresponding error code

 


 
UF_MODL_ask_uv_points_containment (view source)
 
Defined in: uf_modl.h
 
Overview
Determines if a set of 2D points lie inside, outside or on the boundary (vertex/edge)
of a face.

If this function will be called multiple times for the same face then performance can
be improved by using UF_MODL_set_containment and UF_MODL_unset_containment.

Environment
Internal and External

See Also
Refer to example

History
Originally released in NX6.0.2
 
Required License(s)
gateway

 
int UF_MODL_ask_uv_points_containment
(
int n_uvs,
double * u_parms,
double * v_parms,
tag_t face_eid,
int * pts_status
)
intn_uvsInputNumber of 2D (u, v) points
double *u_parmsInputArray of u parameters of 2D points
double *v_parmsInputArray of v parameters of 2D points
tag_tface_eidInputFace on which the 2D points are inquired
int *pts_statusOutputArray of the point containment status which have the following values:
1 = point is inside the face
2 = point is outside the face
3 = point is on the boundary of the face

 


 
UF_MODL_ask_vda_4955_compliance (view source)
 
Defined in: uf_modl_vdac.h
 
Overview
Analyzes curves, surfaces and drawings for quality according to
specified check criteria which include those described by VDA 4955.
The results of an analysis run will be saved and allow error
tracing of failing objects.

Environment
Internal and External

 
int UF_MODL_ask_vda_4955_compliance
(
tag_t part,
char * cfg_file_name,
char * log_file_name,
char * ceo_file_name
)
tag_tpartInputNX part tag, required
char *cfg_file_nameInputVDA Checker configuration file name, required
char *log_file_nameInputResults Log file name, optional. If NULL, the file
name (.log) is derived from the NX part file name.
The file will be placed into the first directory
with write permission in the order:
1. Same directory as the NX part file
2. Working directory
3. system defined temporary directory
char *ceo_file_nameInputCompliance Error Objects file name, optional.
This file will contain the session independent
compliance error lists. This may be reloaded during
a subsequent dialog session for further error
diagnostic.

If NULL is provided the file name (.ceo) is derived
from the NX part file name. The file will be placed
into the first directory with write permission in
the order:
1. Same directory as the NX part file
2. Working directory
3. system defined temporary directory

 


 
UF_MODL_ask_vector_angle (view source)
 
Defined in: uf_modl.h
 
Overview
Returns the angles between two vectors in radians.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_ask_vector_angle
(
double vector1 [ 3 ] ,
double vector2 [ 3 ] ,
double * small_angle,
double * large_angle
)
doublevector1 [ 3 ] InputFirst vector
doublevector2 [ 3 ] InputSecond vector
double *small_angleOutputSmall angle (in radians)
double *large_angleOutputLarge angle (in radians)

 


 
UF_MODL_ask_vert_dime (view source)
 
Defined in: uf_modl.h
 
Overview
The routine UF_MODL_ask_vert_dime returns the values associated
to the vertical dimension constraint. To ask for a feature's
constraints see UF_MODL_ask_constraints. To make an inquiry on
the list of constraints see UF_MODL_ask_constraint_type.

All coordinates returned are with respect to the dimension plane,
therefore there are only two values (x,y).

Using UF_MODL_ask_constraints and UF_MODL_ask_constraint_type, find the
feature's "LINK_FACE_PARMS" constraint. Use this constraint tag as the
"link_face_parms" input argument to the function UF_MODL_ask_link_face_plane
to obtain the dimension plane coordinate system.

Environment
Internal and External

See Also
UF_MODL_ask_constraints
UF_MODL_ask_constraint_type
 
Required License(s)
gateway

 
int UF_MODL_ask_vert_dime
(
tag_t feature_obj_id,
tag_t constraint,
int edit,
double fixed [ 2 ] ,
double feature [ 2 ] ,
double fixc [ 2 ] ,
double feac [ 2 ] ,
char * * how_far,
tag_t * tool,
tag_t * part
)
tag_tfeature_obj_idInputIdentifier for the feature.
tag_tconstraintInputIdentifier for constraint
inteditInputThis is an unused flag. It was used to determine
whether to return the right-hand side or both sides
of an expression. Currently, both sides of an
expression are returned.
doublefixed [ 2 ] OutputDimension attachment point on the part
doublefeature [ 2 ] OutputDimension attachment point on the feature
doublefixc [ 2 ] OutputCenter of arc if attachment point is tangent to arc
edge on part, otherwise it is the same as the fixed
point.
doublefeac [ 2 ] OutputCenter of arc if attachment point is tangent to arc
edge on feature, otherwise it is the same as the
feature point.
char * *how_farOutput to UF_*free*Expression distance. This must be freed by calling UF_free.
tag_t *toolOutputEdge on the tool or NULL_TAG for a centerline.
tag_t *partOutputEdge on the part

 


 
UF_MODL_ask_wrap_assembly (view source)
 
Defined in: uf_modl.h
 
Overview
This function reads the data of a Wrap Assembly feature.

See Also
UF_MODL_create_wrap_assembly
UF_MODL_edit_wrap_assembly

Environment
Internal and External

History
Released in V17.0
 
Required License(s)
gateway

 
int UF_MODL_ask_wrap_assembly
(
tag_t feature_tag,
UF_MODL_wrap_assem_p_t wrap_data
)
tag_tfeature_tagInputFeature tag
UF_MODL_wrap_assem_p_twrap_dataOutput to UF_*free*Feature data. The caller should
allocate a
UF_MODL_wrap_geom_t structure,
and pass in a pointer to it. This
routine will fill in the structure
based on the feature tag. The caller
is responsible for freeing the data
returned in the geometry
and splits array by calling UF_free,
e.g.
UF_free(wrap_data.geometry);
UF_free(wrap_data.splits);
UF_free(wrap_data.geom_xforms);
UF_free(wrap_data.split_xform);

 


 
UF_MODL_ask_wrap_geometry (view source)
 
Defined in: uf_modl.h
 
Overview
This function reads the data of a Wrap Geometry feature.

See Also
UF_MODL_create_wrap_geometry
UF_MODL_edit_wrap_geometry

Environment
Internal and External

History
Released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_ask_wrap_geometry
(
tag_t feature_tag,
UF_MODL_wrap_geom_p_t wrap_data
)
tag_tfeature_tagInputFeature tag
UF_MODL_wrap_geom_p_twrap_dataOutput to UF_*free*Feature data. The caller should
allocate a
UF_MODL_wrap_geom_t structure,
and pass in a pointer to it. This
routine will fill in the structure
based on the feature tag. The caller
is responsible for freeing the data
returned in the geometry
and splits array by calling UF_free,
e.g.
UF_free(wrap_data.splits);
UF_free(wrap_data.geometry);

 


 
UF_MODL_ask_xform_tag_of_datum_csys (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
This function returns the tag of the parent XFORM

If the feature record is not of a datum CSYS feature, NULL_TAG is returned.

Environment
Internal and External
 
Required License(s)
gateway

 
tag_t UF_MODL_ask_xform_tag_of_datum_csys
(
tag_t datum_csys_tag
)
tag_tdatum_csys_tagInputTag of the datum CSYS feature

 


 
UF_MODL_assign_string_directions (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Assign the direction flags in a string list structure.

The direction flags are computed base on the input points and the input
string list structure. The number of points must be the same as the number
of profiles in the string list structure.

For each profile, we use the first curve or edge.

We assign UF_MODL_CURVE_START_FROM_BEGIN ,
if the input point is closer to the starting point than the end point of the curve, and
UF_MODL_CURVE_START_FROM_END, otherwise, to the direction of the corresponding profile
in the string list structure.

If the curve or edge is closed and the point is on both end points, we
assign UF_MODL_CURVE_START_FROM_END to the direction of this profile
in the string list structure.

Return
error code.

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_assign_string_directions
(
double * end_points,
UF_STRING_p_t string_list1
)
double *end_pointsInputAn array of 3string_list->num doubles.
UF_STRING_p_tstring_list1Input / Output to UF_*free*A string list structure.

 


 
UF_MODL_auto_midsrf_feature (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Automatically creates face pairs on a midsurface feature.

Environment
Internal and External

History
The auto pairing has been modified for NX5 and a
similar function below can be employed. This function will simply
default to d/t > 2.0
 
Required License(s)
( solid_modeling  or  nx_masterfem )

 
int UF_MODL_auto_midsrf_feature
(
tag_t feature_obj_id
)
tag_tfeature_obj_idInputMidsurface Feature tag

 


 
UF_MODL_auto_midsrf_feature_w_opts (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Automatically creates face pairs on a midsurface feature.

Environment
Internal and External
 
Required License(s)
( solid_modeling  or  nx_masterfem )

 
int UF_MODL_auto_midsrf_feature_w_opts
(
tag_t feature_obj_id,
int autopairoptions,
double autoval
)
tag_tfeature_obj_idInputMidsurface Feature tag
intautopairoptionsInput0 for d/t or 1 for thickness option
doubleautovalInputThe value of the autopair option
logical range of values are
1<=d/t<=5 &&
t>=0.0

 


 
UF_MODL_boolean_udf (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Performs a Boolean on a user defined feature in the active part. The
type of Boolean operation to perform is specified in the sign
parameter of UF_MODL_export_udf. The x-direction, with respect to
the planar tool face, is used to define the coordinate system for the
relative position dimension constraints. The normal to the planar tool
face is the z-direction and is used with the x-direction (axis) to fully
specify the relative position dimension coordinate system.

When specifying trim faces to trim the UDF, the following points
should be noted:
1. All target faces must come from the same body.
2. All faces including target and tool faces should be solid
faces, and neither datum planes nor sheet faces are
allowed.
3. Non-planar faces can be used as target faces to trim a
UDF body. However, if there are n trim faces, and a UDF
body is cut to more than n+1 pieces, then the trimming
might not work as expected. So a closed periodical face
like a cylindrical face is not recommended to trim a UDF.
However, an open non-planar face like a quarter
cylindrical face could be used to trim a UDF.
4. Trimming UDF is not applicable if this UDF's attachment
mode is creation mode.
5. Multiple target faces and tool faces can be specified, there
is no limitation on how many faces can be specified.
6. This routine should be called after UF_MODL_set_udf_parms.
7. Once a udf is trimmed, it cannot be instanced to create an
instance array.
8. Note that if the trim faces do not completely intersect the
UDF tool body, trimming might fail. One way to avoid this
is to specify RPO (relative positioning) constraints by
calling UF_MODL_register_rpo_routine.
9. Redefining trim faces of UDF is not supported.


Note: This routine works only with old-style Pre-V15 UDFs

Environment
Internal and External

See Also
UF_MODL_export_udf
UF_MODL_import_udf
UF_MODL_set_udf_parms
UF_MODL_ask_udf_parms
UF_MODL_boolean_udf_1
 
Required License(s)
solid_modeling

 
int UF_MODL_boolean_udf
(
tag_t udf_id,
tag_t target_face,
tag_t tool_face,
double tool_dir [ 3 ] ,
int num_target_faces,
tag_t * solid_target_faces,
int num_tool_faces,
tag_t * solid_tool_faces,
logical included,
tag_t * udf_meta_id
)
tag_tudf_idInputFeature obj_id.
tag_ttarget_faceInputPlanar face on the target body.
tag_ttool_faceInputPlanar face on the tool body (of the UDF).
doubletool_dir [ 3 ] InputRelative position coordinate system x-direction.
intnum_target_facesInputnumber of faces in solid_target_faces array. If not
trimming the UDF, set it 0.
tag_t *solid_target_facesInputarray of faces on the target used as trim faces to
trim the UDF. If not trimming the UDF, set it
NULL.
intnum_tool_facesInputnumber of faces in solid_tool_faces array. If not
trimming the UDF, set it 0.
tag_t *solid_tool_facesInputarray of faces on the UDF to indicate which
portions of the UDF are going to be included or
excluded when the UDF is trimmed. If not
trimming the UDF, set it to NULL.
logicalincludedInputtrue if included faces; false if excluded faces.
tag_t *udf_meta_idOutputTag to use for all subsequent calls to this udf

 


 
UF_MODL_boolean_udf_1 (view source)
 
Defined in: uf_modl_udf.h
 
Overview
This routine is basically the same as UF_MODL_boolean_udf, except
that it allows you to place a UDF on a datum plane. If the target face
is a datum plane, you need to specify which side of the datum plane
you want the udf to be put on. True means to put the udf on the
positive side of the datum plane, false means to put the udf on the
negative side of the datum plane. If a datum plane is a fixed datum,
you need to specify which target body with which the UDF is to be
booleaned.

Note: This routine works only with old-style Pre-V15 UDFs

Environment
Internal and External

See Also
UF_MODL_export_udf
UF_MODL_import_udf
UF_MODL_set_udf_parms
UF_MODL_ask_udf_parms
UF_MODL_boolean_udf

History
Original release was in V14.0
 
Required License(s)
solid_modeling

 
int UF_MODL_boolean_udf_1
(
tag_t udf_id,
tag_t target_face,
tag_t tool_face,
double tool_dir [ 3 ] ,
int num_target_faces,
tag_t * target_faces,
int num_tool_faces,
tag_t * tool_faces,
logical included,
tag_t target_body,
logical flip,
tag_t * udf_meta_id
)
tag_tudf_idInputudf feature id
tag_ttarget_faceInputdatum plane id or a face on the target body
tag_ttool_faceInputface on the udf tool body
doubletool_dir [ 3 ] InputX direction of the tool
intnum_target_facesInputlength of target faces array
tag_t *target_facesInputarray of trimming faces on the target body
intnum_tool_facesInputlength of tool faces array
tag_t *tool_facesInputarray of faces on udf body which are included or
excluded
logicalincludedInputtrue for included faces, or false for excluded faces
tag_ttarget_bodyInputthe target body with which the udf will be
booleaned
logicalflipInputtrue to accept the datum plane direction, false to
flip the datum pside
tag_t *udf_meta_idOutputthis tag should be used for all subsequent calls to
this udf

 


 
UF_MODL_calculate_ref_dir (view source)
 
Defined in: uf_modl.h
 
Overview
This routine gets the direction of the directional reference. Given the
placement face and directional reference, the direction returned may
be used to determine whether to reverse the direction or not; i.e., to
set the value of the "reverse" argument in UF_MODL_reverse_dir_ref.

Environment
Internal and External

See Also
UF_MODL_reverse_dir_ref

History
Originally released in V13.0.4. In V15.0 the argument, face_eid, was
added.
 
Required License(s)
solid_modeling

 
int UF_MODL_calculate_ref_dir
(
tag_t feature_eid,
tag_t face_eid,
logical flip_face_normal,
tag_t ref_eid,
double ref_dir [ 3 ]
)
tag_tfeature_eidInputfeature eid
tag_tface_eidInputtarget placement face.
logicalflip_face_normalInputthis flag is only used when the target
placement face is a
datum plane. 1 flip the datum plane.
tag_tref_eidInputdirectional reference.
doubleref_dir [ 3 ] Outputvector representing the directional
reference.

 


 
UF_MODL_change_offset_base_face (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Redefine the base face of a free form offset feature.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_change_offset_base_face
(
tag_t offset_feature,
tag_t new_base_face
)
tag_toffset_featureInputOffset feature
tag_tnew_base_faceInputNew base face

 


 
UF_MODL_check_interference (view source)
 
Defined in: uf_modl.h
 
Overview
Checks each specified tool body against the single target body for interference.
An interference status is returned for each tool body.

Objects may be created as part of the interference checking. These objects are
tagged for deletion, but to make sure the memory is freed and avoid memory overflow,
UF_MODL_update should be called following the call to UF_MODL_check_interference.

Environment
Internal and External

See Also
Refer to example

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_check_interference
(
tag_t target,
int num_tools,
tag_t * tools,
int * results
)
tag_ttargetInputTarget body against which interference is checked
intnum_toolsInputNumber of tool bodies specified in tools array
tag_t *toolsInputTool bodies whose interference with target is inquired.
Dimensioned to num_tools
int *resultsOutputInterference status for each tool body. The caller is
responsible for allocating it with an array size of
num_tools.
= 1 -> there is interference
= 2 -> no interference
= 3 -> touching, that is coincident faces

 


 
UF_MODL_clock_instance (view source)
 
Defined in: uf_modl_isets.h
 
Overview
Creates a clocking of an instance feature input as the feature object
identifier.
The other inputs are the offset expressions for the X, and Y, directions.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_clock_instance
(
tag_t feature_obj_id,
char * clock_value1,
char * clock_value2
)
tag_tfeature_obj_idInputObject identifier of the instance
char *clock_value1InputX-dir clocking expression
char *clock_value2InputY-dir clocking expression

 


 
UF_MODL_compare (view source)
 
Defined in: uf_modl.h
 
Overview
Compares two solid edges, or two solid faces based on a relation.
Currently, only the `geometric equivalence' relation is supported. Two
objects are geometrically equivalent if their underlying geometries
occupy the same position(s) in space.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_compare
(
tag_t object1,
tag_t object2,
int relation,
int * equivalent
)
tag_tobject1InputObject identifier of first object (valid objects are
faces and edges)
tag_tobject2InputObject identifier of second object (valid objects are
faces and edges)
intrelationInputRelation to be used for comparison.
1 = Geometric Equivalence
int *equivalentOutput1 = If the relation exists between two objects
0 = Otherwise

 


 
UF_MODL_compare_topology (view source)
 
Defined in: uf_modl.h
 
Overview
Compares two solid edges, or two solid faces based on the input
tolerances. If a successful comparison occurs, then the result returns
in the status argument.

The following description explains how the tolerances work by
showing how the function compares two faces. To compare two faces
the system facets the first face using the input facet_tolerance. The
facet_tolerance means that the distance from any point on a facet to
the face it was derived from must be less than this tolerance. The
distance from each facet vertex is then measured to the second face
and if this distance is less than the input distance_tolerance then this
point is considered to be on the second face. If the first face is on the
second face then the process repeats, but this time testing that the
second face is on the first face. It is recommended that tolerances be
no tighter than .01 mm ( 0.00001 meters ) or 0.000254 inches.

Environment
Internal and External

See Also
For Status Argument Values see table

History
Original release was in V14.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_compare_topology
(
tag_t solid_object1,
tag_t solid_object2,
double facet_tolerance,
double distance_tolerance,
int * status
)
tag_tsolid_object1InputObject identifier of first object (valid objects are
faces and edges)
tag_tsolid_object2InputObject identifier of second object (valid objects are
faces and edges)
doublefacet_toleranceInputSpecifies the maximum distance any point on a
facet can be from its parent surface. All vertices of
facets are on the surface.
doubledistance_toleranceInputSpecifies the maximum distance a vertex of a facet
can be from the other surface.
int *statusOutputStatus value:
COMPARE_NOMATCH
COMPARE_FACES_IDENTICAL
COMPARE_FACES_EQUIVALENT
COMPARE_SURFACES_IDENTICAL
COMPARE_SURFACES_EQUIVALENT
COMPARE_EDGES_IDENTICAL
COMPARE_EDGES_EQUIVALENT
COMPARE_CURVES_IDENTICAL
COMPARE_CURVES_EQUIVALENT
Descriptions for these values are given in a table
which follows in the general function description.

 


 
UF_MODL_convert_to_fixed_datum (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Converts the given datum feature into an absolute datum feature.

Environment
Internal and External

See Also
UF_MODL_ask_object_feat

History
Original release was in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_convert_to_fixed_datum
(
tag_t datum_feature_tag
)
tag_tdatum_feature_tagInputThe datum tag.

 


 
UF_MODL_copy_paste_features (view source)
 
Defined in: uf_modl.h
 
Overview
Paste an array of features into the current work part.

Environment
Internal and External

History
Introduced in V1604, NX1.0.3, NX2.0. Replaces UF_MODL_paste_features.
Outputs new features.
 
Required License(s)
solid_modeling

 
int UF_MODL_copy_paste_features
(
tag_t * feature_array,
int num_features,
tag_t * old_parents,
tag_t * new_parents,
int num_parents,
int expression_transfer_mode,
int parent_transfer_mode,
tag_p_t * new_feature_array
)
tag_t *feature_arrayInputArray of features identifier
intnum_featuresInputNumber of features
tag_t *old_parentsInputArray of old parents
tag_t *new_parentsInputArray of new parent
intnum_parentsInputNumber of refrences
intexpression_transfer_modeInputType of expression copy -
0 = New, 1 = link, 2 = instance
intparent_transfer_modeInputType of reference copy -
0 = New, 1 = link, 2 = instance
tag_p_t *new_feature_arrayOutput to UF_*free*Array of new features

 


 
UF_MODL_cre_2dtrim_bsurf (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Create a trimmed b-surface from surface data and surface parameter curves.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_cre_2dtrim_bsurf
(
int nu,
int nv,
int ku,
int kv,
double u_knot [ ] ,
double v_knot [ ] ,
double poles [ ] ,
int loop_count,
int * edge_counts,
int * edge_senses,
tag_t * edge_bcurves,
double edge_tol,
tag_t * bsurf_id,
int * knot_fixup,
int * pole_fixup
)
intnuInputnumber of control vertices in u direction
intnvInputnumber of control vertices in v direction
intkuInputorder in u direction
intkvInputorder in v direction
doubleu_knot [ ] Inputknot sequence in u direction
doublev_knot [ ] Inputknot sequence in v direction
doublepoles [ ] Inputarray of homogenous control vertices (wx,wy,wz,w)
intloop_countInputcount of trimming loops
int *edge_countsInputarray holding count of edges per loop
int *edge_sensesInputarray holding sense of edge curves
tag_t *edge_bcurvesInputarray of object ids of trimming 2D b-curves
in the uv domain of the b-surface
doubleedge_tolInputtolerance to attach to sp-curve edges
tag_t *bsurf_idOutputobject id for b-surface
int *knot_fixupOutputknot fixup status
int *pole_fixupOutputpole fixup status

 


 
UF_MODL_cre_chamfer_with_flip_option (view source)
 
Defined in: uf_modl.h
 
Overview
Creates a chamfer feature using the type of chamfer, first and second
offset, and angle and list of edges to operate on. If the Flip_option flag
is set to TRUE, the order of the input offsets will be flipped. The output
of this function is the object identifier associated to the chamfer.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_cre_chamfer_with_flip_option
(
int subtype,
char * offset1,
char * offset2,
char * theta,
uf_list_p_t edges,
logical flip_option,
tag_t * feature_obj_id
)
intsubtypeInputChamfer type:
1 = Single Offset
2 = Double Offset
3 = Offset and Angle
4 = Freeform Single Offset
5 = Freeform Double Offset
char *offset1InputChamfer offset 1
char *offset2InputChamfer offset 2
char *thetaInputChamfer angle
uf_list_p_tedgesInputList of edges to chamfer
logicalflip_optionInputChamfer flip option
tag_t *feature_obj_idOutputFeature object identifier of created chamfer

 


 
UF_MODL_cre_chamfer_with_instance_and_flip_option (view source)
 
Defined in: uf_modl.h
 
Overview
Creates a chamfer feature using the type of chamfer, first and second
offset, and angle and list of edges to operate on.
- If the instance_option flag is set to TRUE, "chamfer ALL instances"
is turned ON, and vice versa.
-If the Flip_option flag
is set to TRUE, the order of the input offsets will be flipped. The output
of this function is the object identifier associated to the chamfer.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_cre_chamfer_with_instance_and_flip_option
(
int subtype,
char * offset1,
char * offset2,
char * theta,
uf_list_p_t edges,
logical instance_option,
logical flip_option,
tag_t * feature_obj_id
)
intsubtypeInputChamfer type:
1 = Single Offset
2 = Double Offset
3 = Offset and Angle
4 = Freeform Single Offset
5 = Freeform Double Offset
char *offset1InputChamfer offset 1
char *offset2InputChamfer offset 2
char *thetaInputChamfer angle
uf_list_p_tedgesInputList of edges to chamfer
logicalinstance_optionInputEnable chamfer all instances ON/OFF
logicalflip_optionInputChamfer flip option
tag_t *feature_obj_idOutputFeature object identifier of created chamfer

 


 
UF_MODL_cre_def_facepair_feat (view source)
 
Defined in: uf_modl.h
 
Overview
Creates a face pair feature by defining faces. The midsurface of the
face pair is created in the middle of the defining faces.

NOTE: a midsurface feature must be created before a call to this function and
passed in as midsrf_feature_obj_id(see UF_MODL_create_midsrf_feature).

Environment
Internal and External
 
Required License(s)
( solid_modeling  or  nx_masterfem )

 
int UF_MODL_cre_def_facepair_feat
(
tag_t midsrf_feature_obj_id,
tag_t defining_face_1,
tag_t defining_face_2,
uf_list_p_t side_1,
uf_list_p_t side_2,
tag_p_t facepair_feature_obj_id
)
tag_tmidsrf_feature_obj_idInputMidsurface Feature tag
tag_tdefining_face_1InputDefining face for side 1
tag_tdefining_face_2InputDefining face for side 2
uf_list_p_tside_1InputList of target solid faces for side 1
uf_list_p_tside_2InputList of target solid faces for side 2
tag_p_tfacepair_feature_obj_idOutputFace Pair Feature tag

 


 
UF_MODL_cre_sel_facepair_feat (view source)
 
Defined in: uf_modl.h
 
Overview
Creates a face pair feature by a user selected midsurface.

NOTE: a midsurface feature must be created before a call to this function and
passed in as midsrf_feature_obj_id(see UF_MODL_create_midsrf_feature).

Environment
Internal and External
 
Required License(s)
( solid_modeling  or  nx_masterfem )

 
int UF_MODL_cre_sel_facepair_feat
(
tag_t midsrf_feature_obj_id,
tag_t user_selected_midsurface,
uf_list_p_t side_1,
uf_list_p_t side_2,
tag_p_t facepair_feature_obj_id
)
tag_tmidsrf_feature_obj_idInputMidsurface Feature tag
tag_tuser_selected_midsurfaceInputA Face or a sheet solid used to represent the
midsurface of the Face Pair feature.
uf_list_p_tside_1InputList of target solid faces for side 1
uf_list_p_tside_2InputList of target solid faces for side 2
tag_p_tfacepair_feature_obj_idOutputFace Pair Feature tag

 


 
UF_MODL_cre_trim_bsurf (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Create a trimmed b-surface from surface data and 3D trimming curves.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_cre_trim_bsurf
(
int nu,
int nv,
int ku,
int kv,
double u_knot [ ] ,
double v_knot [ ] ,
double poles [ ] ,
int loop_count,
int * edge_counts,
int * edge_senses,
tag_t * edge_curves,
int proj_curves,
double dist_tol,
tag_t * bsurf_id,
int * knot_fixup,
int * pole_fixup
)
intnuInputnumber of control vertices in u direction
intnvInputnumber of control vertices in v direction
intkuInputorder in u direction
intkvInputorder in v direction
doubleu_knot [ ] Inputknot sequence in u direction
doublev_knot [ ] Inputknot sequence in v direction
doublepoles [ ] Inputarray of homogeneous control vertices (wx,wy,wz,w)
intloop_countInputcount of trimming loops
int *edge_countsInputarray holding count of edges per loop
int *edge_sensesInputarray holding sense of edge curves (sum of edge_counts[])
-1 = end to start
1 = start to end
tag_t *edge_curvesInputarray holding object ids of trimming curves
intproj_curvesInputdo we need to project the curves? 0=no 1=yes
doubledist_tolInputdistance tolerance for use in sp-curve creation
tag_t *bsurf_idOutputobject identifier for b-surface
int *knot_fixupOutputknot fixup status
int *pole_fixupOutputpole fixup status

 


 
UF_MODL_create_ball_groove (view source)
 
Defined in: uf_modl_grooves.h
 
Overview
Creates a ball groove feature by inputting its location, direction,
diameter and width. Along with these items a placement face is
needed to determine which face the ball groove is associated to. The
output of this function is the object identifier associated to the ball
groove.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_ball_groove
(
double location [ 3 ] ,
double direction [ 3 ] ,
char * diame,
char * width,
tag_t face,
tag_t * feature_obj_id
)
doublelocation [ 3 ] InputBall groove location.
doubledirection [ 3 ] InputBall groove direction
char *diameInputBall groove diameter.
char *widthInputBall groove width.
tag_tfaceInputFace for the RPO constraint.
tag_t *feature_obj_idOutputFeature object identifier of created ball groove

 


 
UF_MODL_create_ball_slot (view source)
 
Defined in: uf_modl_slots.h
 
Overview
Creates a ball slot feature using an origin, tool axis, slot direction,
ball diameter, depth, and length. One of two methods of creation is
taken depending on whether you want a thru slot or not.

1. If you want a defined distance, then input the distance and
placement face (face_li). Also, set the value of face_t1 and face_t2
to zero.
2. If you want to have the slot thru from one face to another, then
supply the placement face and the two faces from which to
measure the slot distance.

The output of this function is the object identifier of the ball slot.

The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_ball_slot
(
double location [ 3 ] ,
double tool_axis [ 3 ] ,
double direction [ 3 ] ,
char * width,
char * depth,
char * distance,
tag_t face_li,
tag_t face_t1,
tag_t face_t2,
tag_t * feature_tag
)
doublelocation [ 3 ] InputBall slot location.
doubletool_axis [ 3 ] InputBall slot tool axis.
doubledirection [ 3 ] InputBall slot direction.
char *widthInputBall slot width.
char *depthInputBall slot depth.
char *distanceInputBall slot distance.
tag_tface_liInputFace for the RPO constraint.
tag_tface_t1InputFace for thru face 1.
tag_tface_t2InputFace for thru face 2.
tag_t *feature_tagOutputFeature object identifier of created ball slot

 


 
UF_MODL_create_bead (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Creates a bead.

Environment
Internal and External
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_bead
(
UF_MODL_project_curves_p_t centerline,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t secondary_faces,
UF_MODL_bead_section_plane_p_t section_plane,
UF_MODL_vector_p_t section_axis,
UF_MODL_bead_section_parms_p_t section_parms,
tag_t* bead_tag
)
UF_MODL_project_curves_p_tcenterlineInputPointer to information to define the
centerline of the bead.
UF_MODL_faces_p_tplacement_facesInputPointer to information to define the
face(s) where the bead is placed.
The first face is used to determine
the target body.
UF_MODL_offset_trans_faces_p_tsecondary_facesInputPointer to information to define
the optional secondary faces
for the bead. The secondary
faces can either be an offset
or translation of the specified
faces. If it is desired to have
the placement faces, then
just set UF_MODL_faces_p_t
pointer within this input
pointer value A null pointer
should be passed in if not used.
UF_MODL_bead_section_plane_p_tsection_planeInputPointer to direction information
to define the normal of the
orientation plane of the bead
sections.
UF_MODL_vector_p_tsection_axisInputPointer to direction information to
define the centerline of the bead
cross section. This parameter is
also used to determine whether the
bead is subtracted or united with
the body of the first
placement_face.
UF_MODL_bead_section_parms_p_tsection_parmsInputPointer to information to define
the cross sectional shape of the
bead.
tag_t*bead_tagOutputObject tag for the bead feature.

 


 
UF_MODL_create_bend_operation (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Create an Unbend/Rebend operation

Return
Return code :

Environment
Internal and External

History
Released in V19.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_bend_operation
(
UF_MODL_bend_operation_data_p_t bend_data,
tag_p_t operation_tag
)
UF_MODL_bend_operation_data_p_tbend_dataInputData supplied by the user
to define the operation
tag_p_toperation_tagOutputThe operation tag

 


 
UF_MODL_create_blend (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Creates a blend feature using the input radius, a list of edges to blend,
the overflow condition flags, and variable radius blend tolerance. To
specify all types of blends, set all of the overlfow flags to 0 (zero). To
allow only one type of blend, for example "smooth", set the
smooth_overflow flag to 0 (zero) and the other two flags to 1 (one).
The output of this function is the object identifier associated to the
blend.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_blend
(
const char * radius,
uf_list_p_t edge_list,
int smooth_overflow,
int cliff_overflow,
int notch_overflow,
double vrb_tool,
tag_t * feature_obj_id
)
const char *radiusInputBlend radius
uf_list_p_tedge_listInputList of edges to blend
intsmooth_overflowInputSmooth overflow/prevent flag:
0 = Allow this type of blend
1 = Prevent this type of blend
intcliff_overflowInputCliffedge overflow/prevent flag:
0 = Allow this type of blend
1 = Prevent this type of blend
intnotch_overflowInputNotch overflow/prevent flag:
0 = Allow this type of blend
1 = Prevent this type of blend
doublevrb_toolInputVariable radius blend tolerance
tag_t *feature_obj_idOutputFeature object identifier of created blend

 


 
UF_MODL_create_blend_faces (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Creates a face blend.

An object tag associated to the newly created blend is returned only if
all the following conditions are valid:
. all faces involved belong to the same body,
. trim_option = UF_TRIM_AND_ATTACH
. blend faces can be successfully trimmed and attached to the
. body. In this case, a parametric feature is created.

If an object tag is not returned and the return code indicates success,
the blend is formed between the faces and/or bodies involved as
separate non-parametric sheet bodies. In this case the tags of newly
created bodies are returned.

Neither set of the faces/bodies can contain:
. more than one solid body.
. sheet and solid faces and/or bodies together
. faces from more than one solid body
. body and faces from the same body

The caller does not have to know exactly which edges are to be
cliff-edges, all inappropriate edges are ignored.

Tangent hold lines can be used to constrain either constant radius or
law controlled blends. In this case, the smaller of the two implied radii
is the result. Edges and curves can not be used together to constitute
tangent hold lines.

The help point is not taken into account if blend is non-parametric.
Only non-parametric blends can be limited.

The following example illustrates how to create a constant radius (0.25)
blend between two faces using cliff edge.


Figure. Constant Radius Blend with Cliff Edge.

This function will be replaced by UF_MODL_create_face_blend.
Please use UF_MODL_create_face_blend which can create all types of
face blends.

Environment
Internal and External

See Also
UF_MODL_create_face_blend
 
Required License(s)
solid_modeling

 
int UF_MODL_create_blend_faces
(
UF_MODL_blend_faces_create_data_p_t create_data,
UF_MODL_blend_faces_limit_data_p_t limit_data,
tag_t * feature_tag,
int * num_bodies_created,
tag_t * * bodies_created,
int * num_blend_faces,
tag_t * * blend_faces
)
UF_MODL_blend_faces_create_data_p_tcreate_dataInputData describing the blend.
UF_MODL_blend_faces_limit_data_p_tlimit_dataInputData describing the blend.
tag_t *feature_tagOutputThe object identifier of the created
blend.
int *num_bodies_createdOutputThis is unused, and always returns 0.
tag_t * *bodies_createdOutput to UF_*free*num_bodies_created
This is unused, the pointer is
always set to NULL.
int *num_blend_facesOutputThis is unused, and always returns 0.
tag_t * *blend_facesOutput to UF_*free*num_blend_faces
This is unused, the pointer is
always set to NULL.

 


 
UF_MODL_create_block (view source)
 
Defined in: uf_modl_primitives.h
 
Overview
Create a solid block.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_block
(
UF_FEATURE_SIGN sign,
tag_t targ_tag,
double corner_pt [ 3 ] ,
char * edge_len [ 3 ] ,
tag_t * blk_tag
)
UF_FEATURE_SIGNsignInputSign of primitive
tag_ttarg_tagInputTarget body (if needed)
doublecorner_pt [ 3 ] InputCorner point
char *edge_len [ 3 ] InputEdge lengths
tag_t *blk_tagOutputBlock feature tag

 


 
UF_MODL_create_block1 (view source)
 
Defined in: uf_modl_primitives.h
 
Overview
Creates a block. The Corner Point indicates the origin of the block to
be created. The X, Y and Z lengths control the size of the edge
lengths. The sign parameter controls the boolean operation
performed. The output of this function is the object identifier
associated to the block.

The origin point is with respect to the Absolute CSYS. However, the
direction of the edge lengths are with respect to the WCS.

Environment
Internal and External

See Also
example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_block1
(
UF_FEATURE_SIGN sign,
double corner_pt [ 3 ] ,
char * edge_len [ 3 ] ,
tag_t * blk_obj_id
)
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
doublecorner_pt [ 3 ] InputCorner point (origin) of block
char *edge_len [ 3 ] InputThree edge lengths of block
tag_t *blk_obj_idOutputFeature object identifier of created block.

 


 
UF_MODL_create_boss (view source)
 
Defined in: uf_modl_form_features.h
 
Overview
Creates a boss feature using the boss origin, direction, diameter,
height, tip angle, and placement face. The placement face is used to
determine which face the boss is associated to. The output of this
function is the object identifier associated to the boss.

Return
Return code:
= 0: successful
> 0: failing error number
< 0: failing error number

Environment
Internal and External

History
For V18.0, a datum plane may be input as the face defining the
RPO constraint.

See Also
See example
UF_MODL_ask_boss_parms
 
Required License(s)
solid_modeling

 
int UF_MODL_create_boss
(
double location [ 3 ] ,
double direction [ 3 ] ,
char * diame,
char * height,
char * angle,
tag_t face,
tag_t * feature_obj_id
)
doublelocation [ 3 ] InputBoss location.
doubledirection [ 3 ] InputBoss direction.
char *diameInputBoss diameter.
char *heightInputBoss height.
char *angleInputBoss tip angle.
tag_tfaceInputFace for the RPO constraint (may be a datum plane)
tag_t *feature_obj_idOutputFeature object identifier of created boss

 


 
UF_MODL_create_bplane (view source)
 
Defined in: uf_modl_form_features.h
 
Overview
Creates a bounded plane feature from closed string loops obtained
from a string of end-to-end curves. The outside or peripheral loop
forms the sheet boundary. The inner closed loops are holes in the
bounded plane. You can specify either 1 or -1 for the dir[ ] field of
the s_section argument since the direction is not significant for this
routine due to the closed loops. The curves selected must be
co-planar, chainable, and form a closed shape. This function
automatically determines which loop is the periphery. There can be
only one peripheral loop. The tolerance values determine whether or
not the curves are chainable and co-planar. The output of this
function is the object identifier associated to the feature.

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_bplane
(
UF_STRING_p_t s_section,
double tol [ 3 ] ,
tag_t * body_obj_id
)
UF_STRING_p_ts_sectionInputPointer to the curve list structure.
int num Total number of curve string loops
(min=1, max=150)
int string[ ] Total number of segment curves
per curve string loop
(min=1, max =402)
int dir[ ] Direction of a curve string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of section curve
doubletol [ 3 ] InputTolerances:
[0] = Distance
[1] = Angle (in radians)
[2] = Not used (formerly listed as Intersection)
tag_t *body_obj_idOutputBody object identifier

 


 
UF_MODL_create_bridge_face (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a surface between 2 other surfaces. The resulting surface is
constrained by continuity type (either tangent continuous or curvature
continuous) and possibly by guides (either no guides, 1 or 2 guiding
side strings, or 1 or 2 guiding side surfaces). For each bridge surface,
at least 2 faces must be input, along with 2 edges indicating where on
the 2 surfaces the bridge surface should be connected. Further input
depends on the option chosen for guide_type.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_bridge_face
(
int continuity_type,
int guide_type,
tag_t primary_faces [ 2 ] ,
tag_t primary_edges [ 2 ] ,
int * primary_edges_dir,
UF_STRING_p_t side_string1,
UF_STRING_p_t side_string2,
tag_t side_faces [ 2 ] ,
tag_t side_edges [ 2 ] ,
tag_t * result_tag
)
intcontinuity_typeInput1 = tangent continuous, 2= curvature continuous
intguide_typeInput0 = no guides; 1= guide strings; 2= guide surfaces
tag_tprimary_faces [ 2 ] Inputtags of 2 primary surfaces to be bridged
tag_tprimary_edges [ 2 ] Inputtags of edges on primary surfaces where the bridge
should be attached.
int *primary_edges_dirInputdirection of primary_edges (if continuity_type = 1)
1 = forward
-1 = backward
UF_STRING_p_tside_string1Inputfirst guide string (if guide_type = 1)
UF_STRING_p_tside_string2Inputsecond guide string (if guide_type = 1)
tag_tside_faces [ 2 ] Inputtags of 2 side guide surfaces (if guide_type = 2)
tag_tside_edges [ 2 ] Inputtags of edges on side surfaces where bridge should
be attached (if guide_type = 2)
tag_t *result_tagOutputtag of resulting surface

 


 
UF_MODL_create_bs_2d_edges (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Create the surface parameter curve edges of a b-surface.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_bs_2d_edges
(
int nu,
int nv,
int ku,
int kv,
double u_knot [ ] ,
double v_knot [ ] ,
double poles [ 4 ] ,
int * num_loops,
int * edge_counts,
tag_t * edge_curves,
int * knot_fixup,
int * pole_fixup
)
intnuInputnumber of control vertices in u direction
intnvInputnumber of control vertices in v direction
intkuInputorder in u direction
intkvInputorder in v direction
doubleu_knot [ ] Inputknot sequence in u direction
doublev_knot [ ] Inputknot sequence in v direction
doublepoles [ 4 ] Inputarray of homogenous control vertices (wx,wy,wz,w)
int *num_loopsOutputnumber of loops of curve
int *edge_countsOutputarray of counts of edges per loop
tag_t *edge_curvesOutputarray of b-curves
int *knot_fixupOutputknot fixup status
int *pole_fixupOutputpole fixup status

 


 
UF_MODL_create_bs_edges (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Create the edges of a b-surface.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_bs_edges
(
int nu,
int nv,
int ku,
int kv,
double u_knot [ ] ,
double v_knot [ ] ,
double poles [ ] ,
int * num_loops,
int edge_counts [ 2 ] ,
tag_t edge_curves [ 4 ] ,
int * knot_fixup,
int * pole_fixup
)
intnuInputnumber of control vertices in u direction
intnvInputnumber of control vertices in v direction
intkuInputorder in u direction
intkvInputorder in v direction
doubleu_knot [ ] Inputknot sequence in u direction
doublev_knot [ ] Inputknot sequence in v direction
doublepoles [ ] Inputarray of homogenous control vertices (wx,wy,wz,w)
int *num_loopsOutputnumber of loops of curve
intedge_counts [ 2 ] Outputarray of counts of edges per loop. This must be declared
as an int edge_counts[2].
tag_tedge_curves [ 4 ] Outputarray of b-curves. This must be declared as a
tag_t edge_curves[4].
int *knot_fixupOutputknot fixup status
int *pole_fixupOutputpole fixup status

 


 
UF_MODL_create_bsurf (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Creates a b-surface sheet body. The surface periodicity information is
based on knot sequence and pole data. If necessary, an illegal knot
sequence and/or pole array is modified so that the sheet can be created.
The knot_fixup and pole_fixup flags signal if a modification was made.

A knot sequence gets fixed if one or more knot values has a
multiplicity greater than the degree of the surface. This means that
the surface contained rows of patches having zero width. The removal
of zero-width patches does not affect the shape of the surface.
The pole array gets fixed if it is found to have poles that are too close
together for the system to handle. The poles are either moved
together to make them coincident or spread apart slightly.

Environment
Internal and External

See Also
UF_MODL_create_spline
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_create_bsurf
(
int nu,
int nv,
int ku,
int kv,
double u_knot [ ] ,
double v_knot [ ] ,
double poles [ ] ,
tag_t * bsurf_obj_id,
int * knot_fixup,
int * pole_fixup
)
intnuInputNumber of poles in u direction
intnvInputNumber of poles in v direction
intkuInputOrder in u direction
intkvInputOrder in v direction
doubleu_knot [ ] InputKnot sequence in u direction
doublev_knot [ ] InputKnot sequence in v direction
doublepoles [ ] InputArray of homogeneous poles (wx,wy,wz,w) data for
row n immediately follows row n-1 in the array. i.e.
poles for:
row 1 = (1,1:ip1)
row 2 = (1,ip1+1:2ip1)
row n = (1,(n-1ip1+1:nip1)
tag_t *bsurf_obj_idOutputObject identifier for b-surface
int *knot_fixupOutputKnot fixup status:
0 = no fixups performed
1 = knot sequence fixed
int *pole_fixupOutputPole fixup status:
0 = no fixup performed
1 = pole array fixed

 


 
UF_MODL_create_bsurf_thru_pts (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Creates a B-surface sheet body using the user specified creation method and
points.

Environment
Internal and External

See Also
Refer to example
UF_MODL_ask_bsurf
UF_MODL_free_bsurf_data
UF_MODL_bsurf_row_info_t

History
Originally released in V16.0
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_create_bsurf_thru_pts
(
int create_mode,
int u_closed_status,
int v_closed_status,
int u_degree,
int v_degree,
int num_rows,
UF_MODL_bsurf_row_info_t * pts_info_per_row,
tag_t * bsurf_obj_id
)
intcreate_modeInputCreation mode
= 1 -> specified points should lie on the B-surface
= 2 -> specified points should be used as the control
vertices
= 3 -> specified points should be used as the control
vertices along with using the specified weight
information
intu_closed_statusInputOpen/closed status in u direction
= 0 -> open
= 1 -> closed
intv_closed_statusInputOpen/closed status in v direction
= 0 -> open
= 1 -> closed
intu_degreeInputDegree in u direction
intv_degreeInputDegree in v direction
intnum_rowsInputNumber of rows of points
UF_MODL_bsurf_row_info_t *pts_info_per_rowInputPoints information for each row.
This is an array of
UF_MODL_bsurf_row_info_t
structures dimensioned to num_rows.
tag_t *bsurf_obj_idOutputTag of the created B-surface

 


 
UF_MODL_create_bsurface (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Creates a bsurface from pole and knot data. The function makes any
necessary fixes required so the bsurface is acceptable to NX
(essentially, UF_MODL_fix_bsurface_data is called).

Environment
Internal and External

See Also
UF_MODL_fix_bsurface_data
UF_MODL_smooth_bsurface_data
Structure UF_MODL_state_t which is a type define of UF_CURVE_state_t

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_create_bsurface
(
UF_MODL_bsurface_p_t surface,
tag_t * eid,
int * num_states,
UF_MODL_state_p_t * states
)
UF_MODL_bsurface_p_tsurfaceInputstructure describing bsurface to create
tag_t *eidOutputTag of NX bspline surface object
int *num_statesOutputNumber of states in states array
UF_MODL_state_p_t *statesOutput to UF_*free*Array of states representing problems in the
bsurface; if NULL is provided no states are
returned. This must be freed by calling UF_free.

 


 
UF_MODL_create_c_bore_hole (view source)
 
Defined in: uf_modl_holes.h
 
Overview
Creates a c-bore hole. The Origin indicates where the center of the
C-Bore hole is located on the link-face. Interactively, this is the face
chosen to place the hole in, and the location of the pick is used as the
origin. The Open API programmer inputs this information. The
C-Bore and Hole Diameters, C-Bore and Hole Depths, and Hole
Tip Angle control the size. The Direction Vector has to be
perpendicular to the link-face, opposite the face normal. If a thru
face is indicated, then the Hole Depth is ignored. The output of this
function is the object identifier associated to the c-bore hole.

The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_c_bore_hole
(
double location [ 3 ] ,
double direction [ 3 ] ,
const char * diameter1,
const char * depth1,
const char * diameter2,
const char * depth2,
const char * angle,
tag_t face_li,
tag_t face_t1,
tag_t * feature_obj_id
)
doublelocation [ 3 ] InputHole location.
doubledirection [ 3 ] InputHole direction.
const char *diameter1InputHole diameter.
const char *depth1InputHole depth.
const char *diameter2InputC-bore diameter.
const char *depth2InputC-bore depth.
const char *angleInputHole tip angle.
tag_tface_liInputFace for the RPO constraint.
tag_tface_t1InputFace for thru face.
tag_t *feature_obj_idOutputFeature object identifier of created C bore hole

 


 
UF_MODL_create_c_sunk_hole (view source)
 
Defined in: uf_modl_holes.h
 
Overview
Creates a counter-sunk hole. The Origin indicates where the center
of the C-Sunk hole is located on the link-face. Interactively, this is
the face chosen to place the hole in, and the location of the pick is
used as the origin. In Open API, this information is input by the
user. The C-Sunk and Hole Diameters, C-Sunk and Hole Depths,
and Hole Tip Angle control the size. The Direction Vector has to be
perpendicular to the link-face, opposite the face normal. If a thru
face is indicated, then the Hole Depth is ignored. The output of this
function is the object identifier associated to the c-sunk hole.

The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_c_sunk_hole
(
double location [ 3 ] ,
double direction [ 3 ] ,
const char * diameter1,
const char * depth1,
const char * diameter2,
const char * csink_angle,
const char * angle,
tag_t face_li,
tag_t face_t1,
tag_t * feature_obj_id
)
doublelocation [ 3 ] InputHole location.
doubledirection [ 3 ] InputHole direction.
const char *diameter1InputHole diameter.
const char *depth1InputHole depth.
const char *diameter2InputC-sunk diameter.
const char *csink_angleInputC-sunk angle.
const char *angleInputHole tip angle.
tag_tface_liInputFace for the RPO constraint.
tag_tface_t1InputFace for thru face.
tag_t *feature_obj_idOutputFeature object identifier of created csunk hole

 


 
UF_MODL_create_chamfer (view source)
 
Defined in: uf_modl.h
 
Overview
Creates a chamfer feature using the type of chamfer, first and second
offset, and angle and list of edges to operate on. The output of this
function is the object identifier associated to the chamfer.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_chamfer
(
int subtype,
char * offset1,
char * offset2,
char * theta,
uf_list_p_t edges,
tag_t * feature_obj_id
)
intsubtypeInputChamfer type:
1 = Single Offset
2 = Double Offset
3 = Offset and Angle
4 = Freeform Single Offset
5 = Freeform Double Offset
char *offset1InputChamfer offset 1
char *offset2InputChamfer offset 2
char *thetaInputChamfer angle
uf_list_p_tedgesInputList of edges to chamfer
tag_t *feature_obj_idOutputFeature object identifier of created chamfer

 


 
UF_MODL_create_circular_iset (view source)
 
Defined in: uf_modl_isets.h
 
Overview
Creates a circular instance set feature using the rotation point,
rotation axis, number of instances, rotational angle and list of selected
features. The output of this function is the object identifier associated
to the circular instance set.

A different instance set will be created for each item in the feature_list.
(except datum axis. See the usage of datum axis below ). feature_obj_id will
be the identifier of last instance set feature created. To query ids of other
instance set features, call UF_MODL_ask_instance_iset with each item in the
feature list as an argument.

You can use a datum axis as a rotation axis. To accomplish this place the tag
of the datum axis at the end of feature_list. Then initialize the location
and axis array arguments even though they are not used. Using a datum axis has
the advantage of being associative.

To query instances created by this instance set use the function
UF_MODL_ask_instance

The method options correspond to what is available interactively. See
the Modeling User Manual for details.

Environment
Internal and External

See Also
UF_MODL_ask_instance
UF_MODL_ask_instance_iset
Refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_circular_iset
(
int method,
double location [ 3 ] ,
double axis [ 3 ] ,
char * number_str,
char * angle_str,
uf_list_p_t feature_list,
tag_t * feature_obj_id
)
intmethodInputMethod:
0 = General
1 = Simple
2 = Identical
doublelocation [ 3 ] InputRotation point.
doubleaxis [ 3 ] InputRotation axis.
char *number_strInputNumber of instances.
char *angle_strInputRotation angle.
uf_list_p_tfeature_listInputList of selected features.
tag_t *feature_obj_idOutputFeature object identifier of created iset

 


 
UF_MODL_create_circular_pattern_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function create circular patterns for a given set of faces.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_circular_pattern_face
(
UF_MODL_dfo_region_p_t region,
tag_t axis,
int n_pattern,
char * angle,
tag_t * feature_tag
)
UF_MODL_dfo_region_p_tregionInputregion
tag_taxisInputcenter axis to define pattern
intn_patternInputnumber of patterns
char *angleInputangle between patterns
tag_t *feature_tagOutputthe new feature

 


 
UF_MODL_create_cone (view source)
 
Defined in: uf_modl_primitives.h
 
Overview
Create a solid cone.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_cone
(
UF_FEATURE_SIGN sign,
tag_t targ_tag,
double origin [ 3 ] ,
char * height,
char * diam [ 2 ] ,
double direction [ 3 ] ,
tag_t * cone_tag
)
UF_FEATURE_SIGNsignInputSign of primitive
tag_ttarg_tagInputTarget body (if needed)
doubleorigin [ 3 ] InputCone base origin
char *heightInputCone height
char *diam [ 2 ] InputCone diameters
doubledirection [ 3 ] InputCone direction vector
tag_t *cone_tagOutputCone feature tag

 


 
UF_MODL_create_cone1 (view source)
 
Defined in: uf_modl_primitives.h
 
Overview
Creates a cone. The origin indicates where the center of the bottom
face is located for the cone. The direction vector controls which axis
the cone is created on. The base and top diameters (diam) and height
control the size of the cone. The sign parameter controls the boolean
operation performed. The output of this function is the object
identifier associated to that cone.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_cone1
(
UF_FEATURE_SIGN sign,
double origin [ 3 ] ,
char * height,
char * diam [ 2 ] ,
double direction [ 3 ] ,
tag_t * cone_obj_id
)
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
doubleorigin [ 3 ] InputOrigin for cone to be created.
char *heightInputHeight for cone to be created.
char *diam [ 2 ] InputDiameters for cone to be created.
[0] = base diameter
[1] = top diameter
doubledirection [ 3 ] InputDirection vector for cone to be created.
tag_t *cone_obj_idOutputFeature object identifier tag of created cone.

 


 
UF_MODL_create_curve_from_edge (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Extracts the curve from an input edge and returns the identifier of
that curve.

Environment
Internal and External
 
Required License(s)
( solid_modeling  or  drafting )

 
int UF_MODL_create_curve_from_edge
(
tag_t edge_id,
tag_t * ugcrv_id
)
tag_tedge_idInputObject identifier of the edge
tag_t *ugcrv_idOutputIdentifier of the extracted curve

 


 
UF_MODL_create_curve_mesh (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a feature through a collection of curves running in two
different directions. The following restrictions apply:

1. The first segment curve of each primary/cross/spine is a starting curve.
2. Points:
a. A point object may be included, but only as the only one point of the
first primary string and/or the only one point of the last primary string.

b. Curve end point may be included but only as the only one point of the
first primary string and/or the only one point of the last primary string.

End point option and s_prim->dir[ ] indicates which end point should be used.

3. Spine is optional. (s_spine->num = 0)
a. The first/last primary must be planar.
b. Spine must be perpendicular to the first/last primary.

4. If the Spline Points parameter is set to 1, the input sections must
all be single B-curves with the same number of defining points.

The output of this function is the object identifier associated to the feature.

Environment
Internal and External

See Also
UF_MODL_create_curve_mesh1
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_create_curve_mesh
(
UF_STRING_p_t s_prim,
UF_STRING_p_t s_cross,
UF_STRING_p_t s_spine,
int * end_point,
int * emphasis,
int * body_type,
int * spline_pts,
UF_FEATURE_SIGN boolean,
double tol [ 3 ] ,
tag_t c_face_id [ 4 ] ,
int c_flag [ 4 ] ,
tag_t * body_obj_id
)
UF_STRING_p_ts_primInputPointer to the primary list structure.
int num Total number of primary string
(min=2, max=150)
int string[ ] Total number of segment curves/
sketch id of each primary string
(min=1, max =402)
int dir[ ] Direction of each primary string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of primary curve/point or
the section builder object tags, but not both
UF_STRING_p_ts_crossInputPointer to the cross list structure.
int num Total number of string cross
(min=2, max=150)
int string[ ] Total number of segment curves/
sketch identifier of each string
cross
(min=1, max=402)
int dir[ ] Direction of each string cross
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of cross curve or
the section builder object tags, but not both
UF_STRING_p_ts_spineInputPointer to the spine list structure.
int num Total number of spine string
(min=0, max=1)
int string[ ] Total number of segment curves/
sketch identifier of each spine
string
(min=1, max=402)
int dir[ ] Direction of each spine string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of spine curve or
the section builder object tags, but not both
int *end_pointInputCurve end point.
0 = Do not use end point
1 = Curve of first primary string
2 = Curve of last primary string
3 = Both
int *emphasisInputEmphasis flag
1 = Primary curves
2 = Cross curves
3 = Both
int *body_typeInputType of body:
0 = Sheet (Default)
1 = Solid
int *spline_ptsInputSpline points flag:
0 = Do not reparameterize curves
1 = Reparameterize through spline points
UF_FEATURE_SIGNbooleanInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
doubletol [ 3 ] InputTolerances:
[0] = Distance
[1] = Angle (in degrees)
[2] = Intersection
tag_tc_face_id [ 4 ] InputObject identifiers of neighbor surfaces or
4 collectors of the faces from which
constraints are obtained
[0] = first primary string
[1] = last primary string
[2] = first cross string
[3] = last cross string
No constraint is imposed on the corresponding
string if id = NULENT
intc_flag [ 4 ] InputFlags indicating constraint types:
0 = no constraint
1 = tangency constraint
2 = curvature constraint
with
[0] = first primary string
[1] = last primary string
[2] = first cross string
[3] = last cross string
tag_t *body_obj_idOutputBody object identifier

 


 
UF_MODL_create_curve_mesh1 (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a free form B-surface feature through a collection of curves
running in two different directions.
This function behaves like UF_MODL_create_curve_mesh with the following
enhancements.

1. An extra input for passing in the target body for the boolean operation.
If body_type is solid (1) and the sign of the operation to be performed
is not create, then the target body is required.
2. A "simple" option for lighter math representation with fewer poles and
knots when possible.
3. Face constraints now support multiple faces to be used as constraints
on all four sides of the body.

RESTRICTIONS -

1. The first segment curve of each primary/cross/spine should be a
starting curve.
2. Point
a) Point object may be substituted for the first and/or last primary string.
This allows the surface to start or terminate at a point.
b) A curve end point may also be substituted for the first and/or last
primary string.
The end_point parameter and s_prim->dir[] will indicate which end point
is chosen.
3. Spine is optional. The parameter s_spine->num = 0 indicates no spine.
If spine is selected then
a) The first and last primary must be planar.
b) Spine must be perpendicular to the first and last primary.

Environment
Internal and External

See Also
UF_MODL_create_curve_mesh

History
Originally released in V16.0
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_create_curve_mesh1
(
UF_STRING_p_t s_prim,
UF_STRING_p_t s_cross,
UF_STRING_p_t s_spine,
int * end_point,
int * emphasis,
int * spline_pts,
int simple,
int * body_type,
UF_FEATURE_SIGN boolean,
tag_t target_body,
double tols [ 3 ] ,
int c_num [ 4 ] ,
tag_t * c_face_id [ 4 ] ,
int c_flag [ 4 ] ,
tag_t * body_obj_id
)
UF_STRING_p_ts_primInputPointer to the primary list structure.

When simple option is 2 or 4, then the user supplied
template string for primary curves must be added as the
last item of this section string structure, but the number
of section strings will not be increased. For example,
to create a feature using 3 primary section strings and
a user defined primary template (simple option = 2 or 4),
num would be 3, but string and dir would have 4
elements, string[3] would be the number of segment
curves for the user defined primary template, and dir[3]
would be the direction for the user defined template. The
tags for the user defined template would be added onto
the end of the id array.

int num Total number of primary string
(min=2, max=150)
int string[ ] Total number of segment curves/
sketch id of each primary string
(min=1, max =402)
int dir[ ] Direction of each primary string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of primary curve/point or
the section builder object tags, but not both
UF_STRING_p_ts_crossInputPointer to the cross list structure.

When simple option is 3 or 4, then the user supplied
template string for cross curves must be added as the
last item of this section string structure, but the
number of section strings will not be increased. For
example, to create a feature using 3 cross section
strings and a user defined cross template (simple option
= 3 or 4), num would be 3, but string and dir would have
4 elements, string[3] would be the number of segment
curves for the user defined cross template, and dir[3]
would be the direction for the user defined template.
The tags for the user defined template would be added
onto the end of the id array.

int num Total number of string cross
(min=2, max=150)
int string[ ] Total number of segment curves/
sketch identifier of each string
cross
(min=1, max=402)
int dir[ ] Direction of each string cross
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of cross curve or
the section builder object tags, but not both
UF_STRING_p_ts_spineInputPointer to the spine list structure.
int num Total number of spine string
(min=0, max=1)
int string[ ] Total number of segment curves/
sketch identifier of each spine
string (min=1, max=402)
int dir[ ] Direction of each spine string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of spine curve or
the section builder object tags, but not both
int *end_pointInputCurve end point.
0 = Do not use end point
1 = Curve of first primary string
2 = Curve of last primary string
3 = Both
int *emphasisInputEmphasis flag
1 = Primary curves
2 = Cross curves
3 = Both
int *spline_ptsInputSpline points flag:
0 = Do not reparameterize curves
1 = Reparameterize through spline points
intsimpleInputSimple math option
0 : do not use simple creation
1 : use simple creation with system defined templates
2 : use simple creation with user supplied template for
primary curves. The user supplied template string will be
passed at the end of the s_prim structure above.
3 : use simple creation with user supplied template for cross
curves. The user supplied template string will be passed
at the end of the s_cross structure above.
4 : use simple creation with user supplied template for both
primary and cross curves. In this case the user supplied
template for primary curves will be passed at the end of the
s_prim structure above, and the user supplied template for
cross curves will be passed at the end of the s_cross
structure above.
int *body_typeInputType of body:
0 = Sheet (Default)
1 = Solid
UF_FEATURE_SIGNbooleanInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_ttarget_bodyInputThe target body for the boolean operation
doubletols [ 3 ] InputTolerances:
[0] = Distance
[1] = Angle (in degrees)
[2] = Intersection
intc_num [ 4 ] InputNumber of constraint faces or collectors of faces
[0]: First primary string
[1]: Last primary string
[2]: First cross string
[3]: Last cross string
tag_t *c_face_id [ 4 ] InputPointers to object identifiers of neighbor surfaces or
4 collectors of faces from which constraints are obtained
[0] = First primary string
[1] = Last primary string
[2] = First cross string
[3] = Last cross string
intc_flag [ 4 ] InputFlags indicating constraint types:
0 = No constraint
1 = Tangency constraint
2 = Curvature constraint
with
[0] = First primary string
[1] = Last primary string
[2] = First cross string
[3] = Last cross string
tag_t *body_obj_idOutputBody object identifier

 


 
UF_MODL_create_cyl1 (view source)
 
Defined in: uf_modl_primitives.h
 
Overview
Creates a cylinder. The origin indicates where the center of the
bottom face is located for the cylinder. The direction vector controls
the axis on which the cylinder is created. The diameter and height
control the size of the cylinder. The sign parameter controls the
boolean operation performed. The output of this function is the object
identifier associated to the cylinder.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_cyl1
(
UF_FEATURE_SIGN sign,
double origin [ 3 ] ,
char * height,
char * diam,
double direction [ 3 ] ,
tag_t * cyl_obj_id
)
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
doubleorigin [ 3 ] InputOrigin of cylinder to be created.
char *heightInputHeight of cylinder to be created.
char *diamInputDiameter of cylinder to be created.
doubledirection [ 3 ] InputDirection vector for cylinder to be created.
tag_t *cyl_obj_idOutputFeature object identifier of created cylinder

 


 
UF_MODL_create_cyl_pocket (view source)
 
Defined in: uf_modl_pockets.h
 
Overview
Creates a cylindrical pocket feature using a location, direction,
diameter, depth, floor radius, and taper angle. Along with these items
a placement face is needed to determine which face the pocket is
associated to. The output of this function is the object identifier
associated to the cylindrical pocket.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_cyl_pocket
(
double location [ 3 ] ,
double direction [ 3 ] ,
char * diame,
char * depth,
char * radius,
char * angle,
tag_t face,
tag_t * feature_obj_id
)
doublelocation [ 3 ] InputCylindrical pockets location.
doubledirection [ 3 ] InputCylindrical pockets direction.
char *diameInputCylindrical pockets diameter.
char *depthInputCylindrical pockets depth.
char *radiusInputCylindrical pockets floor radius.
char *angleInputCylindrical pockets taper angle.
tag_tfaceInputFace for the RPO constraint.
tag_t *feature_obj_idOutputFeature object identifier of created pocket

 


 
UF_MODL_create_cylinder (view source)
 
Defined in: uf_modl_primitives.h
 
Overview
Create a solid cylinder.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_cylinder
(
UF_FEATURE_SIGN sign,
tag_t targ_tag,
double origin [ 3 ] ,
char * height,
char * diam,
double direction [ 3 ] ,
tag_t * cyl_tag
)
UF_FEATURE_SIGNsignInputSign of primitive
tag_ttarg_tagInputTarget body (if needed)
doubleorigin [ 3 ] InputCylinder base origin
char *heightInputCylinder height
char *diamInputCylinder diameter
doubledirection [ 3 ] InputCylinder dir vector
tag_t *cyl_tagOutputCylinder feature tag

 


 
UF_MODL_create_datum_csys (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Creates a datum CSYS given a transform defined by its tag.

The smart CSYS (visible object) and the datum CSYS feature are created
with the update option always set to SO_update_within_modeling

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_datum_csys
(
const tag_t object_in_part,
tag_t xform_tag,
logical create_components,
tag_t * datum_csys_feature
)
const tag_tobject_in_partInputObject in part to define context.
tag_txform_tagInputTag of xform object:
Must be smart with update option set to
SO_update_within_modeling and must be created
using one of the construction methods:
. defined by three points
. defined by two directions and a point
. defined by three planes
. defined by offset from an existing CSYS
logicalcreate_componentsInputFlag that if set will create all the components:
origin point,3 datum planes and 3 datum axes
tag_t *datum_csys_featureOutputTag of the datum CSYS feature - If successful

 


 
UF_MODL_create_datum_csys_offset (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
This function creates the datum CSYS feature given the input of linear and
rotational(angular)offset values in distance and angle units respectively.
If unsuccessful returns error code

Environment
Internal and External

History
NX3.0.1
 
Required License(s)
solid_modeling

 
int UF_MODL_create_datum_csys_offset
(
const tag_t object_in_part,
tag_t parent_datum_csys_tag,
const double linear_offset [ 3 ] ,
const double angular_offset [ 3 ] ,
logical create_components,
tag_t * datum_csys_tag
)
const tag_tobject_in_partInputObject in part to define context
tag_tparent_datum_csys_tagInputTag of CSYS component of the parent datum CSYS feature
const doublelinear_offset [ 3 ] InputLinear offset values in distance units
const doubleangular_offset [ 3 ] InputAngular (rotational) offset values in angle units
logicalcreate_componentsInputIf TRUE, datum CSYS with components would be created
tag_t *datum_csys_tagOutputTag of created datum CSYS feature

 


 
UF_MODL_create_dove_tail_slot (view source)
 
Defined in: uf_modl_slots.h
 
Overview
Creates a dove tail slot feature using an origin, tool axis, slot
direction, width, angle, depth, and length. One of two creation
methods is taken depending on whether you want a thru slot or not.

1. If you want a defined distance, then input the distance and
placement face (face_li). Also, set the value of face_t1 and face_t2
to zero.
2. If you want to have the slot thru from one face to another, then
supply the placement face and the two faces from which to
measure the slot distance.

The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.

The output of this function is the object identifier associated to the
dove tail slot.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_dove_tail_slot
(
double location [ 3 ] ,
double tool_axis [ 3 ] ,
double direction [ 3 ] ,
char * width,
char * depth,
char * angle,
char * distance,
tag_t face_li,
tag_t face_t1,
tag_t face_t2,
tag_t * feature_tag
)
doublelocation [ 3 ] InputDove tailslot location.
doubletool_axis [ 3 ] InputDove tailslot tool axis.
doubledirection [ 3 ] InputDove tailslot direction.
char *widthInputDove tailslot width.
char *depthInputDove tailslot depth.
char *angleInputDove tailslot angle.
char *distanceInputDove tailslot distance.
tag_tface_liInputFace for the RPO constraint.
tag_tface_t1InputFace for thru face 1.
tag_tface_t2InputFace for thru face 2.
tag_t *feature_tagOutputFeature object identifier of created dovetail-slot

 


 
UF_MODL_create_edge_blend (view source)
 
Defined in: uf_modl_blends.h
 
Overview
create an edge blend

Environment
Internal and External
It can accept individual edges or an edge collector.

History
V17 release
NX2.0 Allow user input edge collector in the edge_data array
 
Required License(s)
solid_modeling

 
int UF_MODL_create_edge_blend
(
UF_MODL_edge_blend_data_p_t blend_data,
tag_t * blend_eid
)
UF_MODL_edge_blend_data_p_tblend_dataInputUser defining blend data
tag_t *blend_eidOutputFeature object identifier of a created blend

 


 
UF_MODL_create_edge_blend_mult (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Creates an edge blend with multiple radius chainsets as per NX3.0 Blend Functionality.
User van create multiple chainset with different radius values. Specify varaible radius points
on a given edge .Also specify Setback Distance values on an edge coming into a vertex.Also
can specify Stopshort values per edge.
Each Blend Set can take in Edges or collector tag.

Environment
Internal and External
It can accept a set of individual edges or a set of edge collectors.

History
NX3.0 Release
 
Required License(s)
solid_modeling

 
int UF_MODL_create_edge_blend_mult
(
UF_MODL_edge_blend_mult_data_p_t blend_data,
tag_t * blend_eid
)
UF_MODL_edge_blend_mult_data_p_tblend_dataInputUser defining blend data
tag_t *blend_eidOutputFeature object identifier of a created blend

 


 
UF_MODL_create_enlarge (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates the enlarged sheet to the specified type and percentage of based face.
Base face may not be periodic.

Environment
Internal and External

History
This function is provided in v17 initially.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_enlarge
(
tag_t face,
int type,
char * percent_size [ 4 ] ,
double tolerance,
tag_t * feat_obj_tag
)
tag_tfaceInputtag of the base face of the enlarged sheet
inttypeInputenlarge extension type: 0-linear extension; 1-natural extension
char *percent_size [ 4 ] InputArray of the percent increase for the surface parameters. These are character
pointers to allow for input expressions.
For linear type extensions, the range is from [0, 100], with 0 meaning no increase,
and 100 meaning a 100% increase.
For natural type extensions, the range is from [-99, +100], with -99 meaning a 99%
decrease or shrinkage of the surface, and +100 meaning a 100% increase.

percent_size[0] is the percent for U-min
percent_size[1] is the percent for U-max
percent_size[2] is the percent for V-min
percent_size[3] is the percent for V-max
doubletoleranceInputDistance tolerance for approximations.
tag_t *feat_obj_tagOutputtag of the feature record of the enlarged sheet

 


 
UF_MODL_create_exp (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
The user inputs a pointer to a character string that contains three
pieces of information. The first item is a unique name for the
expression and is followed by an "=" sign. The value of the expression
completes the requirements for a valid input string. The pieces on
either side of the equal sign are also referred to as the lhs (left hand
side) and rhs (right hand side).

If the tag of the created expression is required, then UF_MODL_create_exp_tag
should be used instead.

Environment
Internal and External

See Also
UF_MODL_create_exp_tag
 
Required License(s)
solid_modeling

 
int UF_MODL_create_exp
(
char * expr_str
)
char *expr_strInputNew expression. The maximum number of characters for an
expression name (lhs or left hand side) is 100. The maximum
length for the entire expression is UF_MAX_EXP_NCHARS characters.
This includes all three pieces: lhs, equal sign, and rhs.

 


 
UF_MODL_create_exp_tag (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Creates a parameter expression, based upon the input string. This
string can be either a numerical value or another expression. The
expression can be named explicitly, by passing in a full expression,
including the name, an = and the expression value, or named automatically,
using the same scheme as is used for feature parameters.

The following call produces an expression tag which evaluates to 42,
and will be named my_exp:
UF_MODL_create_exp_tag( "my_exp=42", &tag1 );

The following call produces an expression tag which evaluates to 42:
UF_MODL_create_exp_tag( "42", &tag1 );

The expression might automatically be named p5 (for example: p5=42).

The next example produces an expression tag which evaluates to 21:
UF_MODL_create_exp_tag( "p5/2", &tag1 );

This expression might be automatically named P6 (for example: p6=p5/2).

Environment
Internal and External

See Also
UF_MODL_create_exp
 
Required License(s)
solid_modeling

 
int UF_MODL_create_exp_tag
(
const char * string,
tag_t * new_exp
)
const char *stringInputThe string for the expression
tag_t *new_expOutputThe tag of the new expression.

 


 
UF_MODL_create_extrude_trim_opts (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded feature. The resulting body is a solid if the input
string is closed and the solid_creation option is TRUE. Otherwise a sheet
body results. A sheet can not be tapered and the taper_angle must be set to
0.0. The UF_MODL_SWEEP_TRIM_object structure is used to define the trim
objects. The trim_options is used to define the trim options if the
UF_MODL_SWEEP_TRIM_object structure is specified.

The limits of extrusion are valid only if the UF_MODL_SWEEP_TRIM_object
structure is not specified (NULL). The region point corresponds to the point
chosen after selecting intersecting objects. If the region_point_specified is
false then the region point is ignored.

Environment
Internal and External

See Also
UF_MODL_create_extrusion

History
Originally released in V15.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extrude_trim_opts
(
tag_t * extrude_array,
int extrude_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_ptr,
UF_MODL_SWEEP_TRIM_OPTS trim_options,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical cut_specified,
logical solid_body_creation,
double dir [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t * * objects,
int * object_count
)
tag_t *extrude_arrayInputList of objects to be extruded.
intextrude_countInputCount of the objects to be extruded.
UF_MODL_SWEEP_TRIM_object_p_ttrim_ptrInputThe structure that contains the
trimming data.
UF_MODL_SWEEP_TRIM_OPTStrim_optionsInputTrimming options:
DO_NOT_EXTEND_TRIM_FACE = do not extend the trimming face,
DO_NOT_EXTEND_AND_EXTEND_TRIM_FACE = first do not extend
the trimming face and perform boolean operation.
If fails, extend the trimming face and perform boolean.
EXTEND_FIRST_TRIM_FACE = extend the first trimming face,
EXTEND_SECOND_TRIM_FACE = extend the second trimming face,
EXTEND_BOTH_TRIM_FACES = extend both trimming faces
char *taper_angleInputThe taper angle for the extrusion.
char *limits [ 2 ] Inputextrude_count
The limits of the extrusion. Only used if the
trim_ptr argument is NULL.
char *offsets [ 2 ] InputThe offsets for open strings
doubleregion_point [ 3 ] InputThe point on the region desired.
logicalcut_specifiedInputTRUE or FALSE for region desired.
logicalsolid_body_creationInputIf TRUE, create solid bodies if the input
string is closed. Otherwise sheet bodies will
be created.
doubledir [ 3 ] InputThe extrusion direction.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed:
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_t * *objectsOutput to UF_*free*An array of extruded feature tags. This must be freed
by calling UF_free.
int *object_countOutputThe number of features returned in the objects array.

 


 
UF_MODL_create_extrude_trim_opts1 (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded feature with trimming options, and perform Boolean
operation with given target body.

Environment
Internal and External

See Also
UF_MODL_create_extrude_trim_opts

History
Originally released in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extrude_trim_opts1
(
tag_t * extrude_array,
int extrude_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_ptr,
UF_MODL_SWEEP_TRIM_OPTS trim_options,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical cut_specified,
logical solid_body_creation,
double dir [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
tag_t * * objects,
int * object_count
)
tag_t *extrude_arrayInputList of objects to be extruded.
intextrude_countInputCount of the objects to be extruded.
UF_MODL_SWEEP_TRIM_object_p_ttrim_ptrInputThe structure that contains the
trimming data.
UF_MODL_SWEEP_TRIM_OPTStrim_optionsInputTrimming options:
DO_NOT_EXTEND_TRIM_FACE = do not extend the trimming face,
DO_NOT_EXTEND_AND_EXTEND_TRIM_FACE = first do not extend
the trimming face and perform boolean operation.
If fails, extend the trimming face and perform boolean.
EXTEND_FIRST_TRIM_FACE = extend the first trimming face,
EXTEND_SECOND_TRIM_FACE = extend the second trimming face,
EXTEND_BOTH_TRIM_FACES = extend both trimming faces
char *taper_angleInputThe taper angle for the extrusion.
char *limits [ 2 ] Inputextrude_count
The limits of the extrusion. Only used if the
trim_ptr argument is NULL.
char *offsets [ 2 ] InputThe offsets for open strings
doubleregion_point [ 3 ] InputThe point on the region desired.
logicalcut_specifiedInputTRUE or FALSE for region desired.
logicalsolid_body_creationInputIf TRUE, create solid bodies if the input
string is closed. Otherwise sheet bodies will
be created.
doubledir [ 3 ] InputThe extrusion direction.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed:
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_ttarget_bodyInputTarget body to perform Boolean operation
tag_t * *objectsOutput to UF_*free*An array of extruded feature tags. This must be freed
by calling UF_free.
int *object_countOutputThe number of features returned in the objects array.

 


 
UF_MODL_create_extruded (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded body. The taper angle and limit variables are
character strings so that expressions may be input if desired. You can
only use lines and arcs when using the taper option. Also, if you
extrude an open profile, you must set the taper angle to zero. In the
example code we opted not to use this option so we set the value
equal to zero (char taper_angle = "0.0"). If you have a circle inside
the boundary of your closed generator curves, the taper angle for the
circle is opposite in sign. For example, if you specify a taper angle of 1
degree (char taper_angle = "1.0"), the taper angle for the circle is
minus 1 degree. See the Modeling User manual for more details on
the taper angle.

The profile created by the object list must be contiguous.

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extruded
(
uf_list_p_t objects,
char * taper_angle,
char * limit [ 2 ] ,
double point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
uf_list_p_t * features
)
uf_list_p_tobjectsInputList of objects to be extruded.
char *taper_angleInputTaper angle (in degrees).
char *limit [ 2 ] InputLimit of extrusion. This is declared as:
char limit[2]. The first value is the start value of
the extrusion and the second value is the end of the
extrusion (see the example program).
doublepoint [ 3 ] Inputnot used
doubledirection [ 3 ] InputExtrusion axis.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
uf_list_p_t *featuresOutput to UF_*free*List of feature identifiers created. This list
must be freed by calling UF_MODL_delete_list.

 


 
UF_MODL_create_extruded1 (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded body, and performs Boolean operation with given target
body.

Environment
Internal and External

See Also
UF_MODL_create_extruded

History
Originally released in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extruded1
(
uf_list_p_t objects,
char * taper_angle,
char * limit [ 2 ] ,
double point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
uf_list_p_t * features
)
uf_list_p_tobjectsInputList of objects to be extruded.
char *taper_angleInputTaper angle (in degrees).
char *limit [ 2 ] InputLimit of extrusion. This is declared as:
char limit[2]. The first value is the start value of
the extrusion and the second value is the end of the
extrusion (see the example program).
doublepoint [ 3 ] Inputnot used
doubledirection [ 3 ] InputExtrusion axis.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_ttarget_bodyInputTarget body to perform Boolean
uf_list_p_t *featuresOutput to UF_*free*List of feature identifiers created. This list
must be freed by calling UF_MODL_delete_list.

 


 
UF_MODL_create_extruded2 (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded body or bodies.

Multiple profiles may be used as input for the object list. Each
contiguous profile will create an extrusion feature. The modeling
distance tolerance will be used to define each profile.

Environment
Internal and External

See Also
UF_MODL_create_extruded

History
Originally released in V18.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extruded2
(
uf_list_p_t objects,
char * taper_angle,
char * limit [ 2 ] ,
double point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
uf_list_p_t * features
)
uf_list_p_tobjectsInputList of objects to be extruded.
char *taper_angleInputTaper angle (in degrees).
char *limit [ 2 ] InputLimit of extrusion. This is declared as:
char limit[2]. The first value is the start value of
the extrusion and the second value is the end of the
extrusion (see the example program).
doublepoint [ 3 ] Inputnot used
doubledirection [ 3 ] InputExtrusion axis.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
uf_list_p_t *featuresOutput to UF_*free*List of feature identifiers created. This list
must be freed by calling UF_MODL_delete_list.

 


 
UF_MODL_create_extruded_path (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded solid body along a specified path.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extruded_path
(
uf_list_p_t objects,
uf_list_p_t path_objects,
double point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
uf_list_p_t * features
)
uf_list_p_tobjectsInputList of objects or one section builder,
but not both, to be extruded.
uf_list_p_tpath_objectsInputList of objects or one section builder, but not
both, for providing a path for the extrusion.
doublepoint [ 3 ] InputPoint
doubledirection [ 3 ] InputNot used, can be set as (0,0,1)
UF_FEATURE_SIGNsignInputSign of the operation to be performed:
0 = create a new target solid
1 = add to a target solid
2 = subtract from a target solid
3 = intersect with a target solid
uf_list_p_t *featuresOutput to UF_*free*List of feature identifiers created. This list
must be freed by calling UF_MODL_delete_list.

 


 
UF_MODL_create_extruded_path1 (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded solid body along a specified path, and performs Boolean
operation with given target body.

Environment
Internal and External

See Also
UF_MODL_create_extruded_path

History
Originally released in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extruded_path1
(
uf_list_p_t objects,
uf_list_p_t path_objects,
double point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
uf_list_p_t * features
)
uf_list_p_tobjectsInputList of objects or one section builder,
but not both, to be extruded.
uf_list_p_tpath_objectsInputList of objects or one section builder, but not
both, for providing a path for the extrusion.
doublepoint [ 3 ] InputPoint
doubledirection [ 3 ] InputNot used, can be set as (0,0,1).
UF_FEATURE_SIGNsignInputSign of the operation to be performed:
0 = create a new target solid
1 = add to a target solid
2 = subtract from a target solid
3 = intersect with a target solid
tag_ttarget_bodyInputThe target body to perform Boolean operation
uf_list_p_t *featuresOutput to UF_*free*List of feature identifiers created. This list
must be freed by calling UF_MODL_delete_list.

 


 
UF_MODL_create_extrusion (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded feature. The resulting body is a solid if the input
string is closed and the solid_creation option is TRUE. Otherwise a sheet
body results. A sheet can not be tapered and the taper_angle must be set to
0.0. The UF_MODL_SWEEP_TRIM_object structure is used to define the trim
objects. The limits of extrusion are valid only if the
UF_MODL_SWEEP_TRIM_object structure is not specified (NULL). The region
point corresponds to the point chosen after selecting intersecting objects.
If the region_point_specified is false then the region point is ignored.

Note that the offset direction is determined by the cross product of the
direction vector of the first profile segment and the extrusion direction
vector. The direction of a segment follows the direction of the profile
flow instead of the parametric or mathematical direction of the segment.

The profile created by the object list must be contiguous.

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extrusion
(
tag_t * objects,
int object_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t * * features,
int* number_of_features
)
tag_t *objectsInputList of objects to be extruded
intobject_countInputNumber of objects
UF_MODL_SWEEP_TRIM_object_p_ttrim_dataInputPointer to structure for trimming data
char *taper_angleInputTaper Angle. The taper angle can be non-zero only if
the body being created is a sheet body.
char *limits [ 2 ] InputLimits of extrusion. Only valid if trim_data = NULL
char *offsets [ 2 ] InputOffsets for open strings
doubleregion_point [ 3 ] InputPoint on region desired
logicalregion_specifiedInputTrue or False for region desired
logicalsolid_creationInputIf TRUE, create solid bodies if input string is
closed. Otherwise, sheet bodies are the result.
doubledirection [ 3 ] InputExtrusion direction
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_t * *featuresOutput to UF_*free*Array of extruded feature tags. This must
be freed by calling UF_free.
int*number_of_featuresOutputNumber of features returned

 


 
UF_MODL_create_extrusion1 (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded feature, and perform Boolean operation with a target body.

Environment
Internal and External

See Also
UF_MODL_create_extrusion

History
Originally released in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extrusion1
(
tag_t * objects,
int object_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
tag_t * * features,
int* number_of_features
)
tag_t *objectsInputList of objects to be extruded
intobject_countInputNumber of objects
UF_MODL_SWEEP_TRIM_object_p_ttrim_dataInputPointer to structure for trimming data
char *taper_angleInputTaper Angle.
char *limits [ 2 ] InputLimits of extrusion. Only valid if trim_data = NULL
char *offsets [ 2 ] InputOffsets for open strings
doubleregion_point [ 3 ] InputPoint on region desired
logicalregion_specifiedInputTrue or False for region desired
logicalsolid_creationInputIf TRUE, create solid bodies if input string
closed. Otherwise, sheet bodies are the result.
doubledirection [ 3 ] InputExtrusion direction
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_ttarget_bodyInputtarget body to perform Boolean operation
tag_t * *featuresOutput to UF_*free*Array of extruded feature tags. This must
be freed by calling UF_free.
int*number_of_featuresOutputNumber of features returned

 


 
UF_MODL_create_extrusion2 (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded feature or features.

Multiple profiles may be used as input for the object list. Each
contiguous profile will create an extrusion feature. The modeling
distance tolerance will be used to define each profile.

Environment
Internal and External

See Also
UF_MODL_create_extrusion

History
Originally released in V18.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extrusion2
(
tag_t * objects,
int object_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t * * features,
int* number_of_features
)
tag_t *objectsInputList of objects to be extruded
intobject_countInputNumber of objects
UF_MODL_SWEEP_TRIM_object_p_ttrim_dataInputPointer to structure for trimming data
char *taper_angleInputTaper Angle. The taper angle can be non-zero only if
the body being created is a sheet body.
char *limits [ 2 ] InputLimits of extrusion. Only valid if trim_data = NULL
char *offsets [ 2 ] InputOffsets for open strings
doubleregion_point [ 3 ] InputPoint on region desired
logicalregion_specifiedInputTrue or False for region desired
logicalsolid_creationInputIf TRUE, create solid bodies if input string is
closed. Otherwise, sheet bodies are the result.
doubledirection [ 3 ] InputExtrusion direction
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_t * *featuresOutput to UF_*free*Array of extruded feature tags. This must
be freed by calling UF_free.
int*number_of_featuresOutputNumber of features returned

 


 
UF_MODL_create_extrusion_default (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded feature. This function behaves like
UF_MODL_create_extrusion, except that the extruded direction is determined by
the flag reverse_default and the direction of the input sketch. The resulting
body is a solid if the input string is closed and the solid_creation option is
TRUE. Otherwise a sheet body results. A sheet can not be tapered and the
taper_angle must be set to 0.0. The UF_MODL_SWEEP_TRIM_object structure is
used to define the trim objects. The trim_options is used to define the trim
options if the UF_MODL_SWEEP_TRIM_object structure is specified.

The limits of extrusion are valid only if the UF_MODL_SWEEP_TRIM_object
structure is not specified (NULL). The region point corresponds to the point
chosen after selecting intersecting objects. If the region_point_specified is
false then the region point is ignored.

Environment
Internal and External

See Also
UF_MODL_create_extrusion

History
Originally released in V15.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extrusion_default
(
tag_t * extrude_array,
int extrude_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_ptr,
UF_MODL_SWEEP_TRIM_OPTS trim_options,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical cut_specified,
logical solid_body_creation,
tag_t sketch_eid,
logical reverse_default,
UF_FEATURE_SIGN sign,
tag_t * * objects,
int * object_count
)
tag_t *extrude_arrayInputList of objects to be extruded.
intextrude_countInputCount of the objects to be extruded.
UF_MODL_SWEEP_TRIM_object_p_ttrim_ptrInputThe structure that contains the
trimming data.
UF_MODL_SWEEP_TRIM_OPTStrim_optionsInputTrimming options:
DO_NOT_EXTEND_TRIM_FACE = do not extend the trimming face,
DO_NOT_EXTEND_AND_EXTEND_TRIM_FACE = first do not extend
the trimming face and perform boolean operation.
If fails, extend the trimming face and perform boolean.
EXTEND_FIRST_TRIM_FACE = extend the first trimming face,
EXTEND_SECOND_TRIM_FACE = extend the second trimming face,
EXTEND_BOTH_TRIM_FACES = extend both trimming faces
char *taper_angleInputThe taper angle for the extrusion.
char *limits [ 2 ] Inputextrude_count
The limits of the extrusion. Only used if the
trim_ptr argument is NULL.
char *offsets [ 2 ] InputThe offsets for open strings
doubleregion_point [ 3 ] InputThe point on the region desired.
logicalcut_specifiedInputTRUE or FALSE for region desired.
logicalsolid_body_creationInputIf TRUE, create solid bodies if the input
string is closed. Otherwise sheet bodies will
be created.
tag_tsketch_eidInputThe object identifier of a sketch which will be used to
determine the direction of the extrusion.
logicalreverse_defaultInputIf TRUE, then reverse the direction of the sketch.
If FALSE, then use the same direction as the
sketch.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed:
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_t * *objectsOutput to UF_*free*An array of extruded feature tags. This must be freed
by calling UF_free.
int *object_countOutputThe number of features returned in the objects array.

 


 
UF_MODL_create_extrusion_default1 (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded feature, and perform Boolean operation with a target body.

Environment
Internal and External

See Also
UF_MODL_create_extrusion_default

History
originally released in V.16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extrusion_default1
(
tag_t * extrude_array,
int extrude_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_ptr,
UF_MODL_SWEEP_TRIM_OPTS trim_options,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical cut_specified,
logical solid_body_creation,
tag_t sketch_eid,
logical reverse_default,
UF_FEATURE_SIGN sign,
tag_t target_body,
tag_t * * objects,
int * object_count
)
tag_t *extrude_arrayInputList of objects to be extruded.
intextrude_countInputCount of the objects to be extruded.
UF_MODL_SWEEP_TRIM_object_p_ttrim_ptrInputThe structure that contains the
trimming data.
UF_MODL_SWEEP_TRIM_OPTStrim_optionsInputTrimming options:
DO_NOT_EXTEND_TRIM_FACE = do not extend the trimming face,
DO_NOT_EXTEND_AND_EXTEND_TRIM_FACE = first do not extend
the trimming face and perform boolean operation.
If fails, extend the trimming face and perform boolean.
EXTEND_FIRST_TRIM_FACE = extend the first trimming face,
EXTEND_SECOND_TRIM_FACE = extend the second trimming face,
EXTEND_BOTH_TRIM_FACES = extend both trimming faces
char *taper_angleInputThe taper angle for the extrusion.
char *limits [ 2 ] InputThe limits of the extrusion. Only used if the
trim_ptr argument is NULL.
char *offsets [ 2 ] InputThe offsets for open strings
doubleregion_point [ 3 ] InputThe point on the region desired.
logicalcut_specifiedInputTRUE or FALSE for region desired.
logicalsolid_body_creationInputIf TRUE, create solid bodies if the input
string is closed. Otherwise sheet bodies will
be created.
tag_tsketch_eidInputThe object identifier of a sketch which will be used to
determine the direction of the extrusion.
logicalreverse_defaultInputIf TRUE, then reverse the direction of the sketch. If
FALSE, then use the same direction as the sketch.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed:
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_ttarget_bodyInputBoolean target
tag_t * *objectsOutput to UF_*free*An array of extruded feature tags. This must be freed
by calling UF_free.
int *object_countOutputThe number of features returned in the objects array.

 


 
UF_MODL_create_extrusion_dir (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded feature. This function behaves like
UF_MODL_create_extrusion, except that the extruded direction is determined by
the direction of the input datum. The resulting body is a solid if the input
string is closed and the solid_creation option is TRUE. Otherwise a sheet
body results. A sheet can not be tapered and the taper_angle must be set to
0.0. The UF_MODL_SWEEP_TRIM_object structure is used to define the trim
objects. The trim_options is used to define the trim options if the
UF_MODL_SWEEP_TRIM_object structure is specified.

The limits of extrusion are valid only if the UF_MODL_SWEEP_TRIM_object
structure is not specified (NULL). The region point corresponds to the point
chosen after selecting intersecting objects. If the region_point_specified is
false then the region point is ignored.

Environment
Internal and External

See Also
UF_MODL_create_extrusion

History
Originally released in V15.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extrusion_dir
(
tag_t * extrude_array,
int extrude_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_ptr,
UF_MODL_SWEEP_TRIM_OPTS trim_options,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical cut_specified,
logical solid_body_creation,
tag_t datum_eid,
UF_FEATURE_SIGN sign,
tag_t * * objects,
int * object_count
)
tag_t *extrude_arrayInputList of objects to be extruded.
intextrude_countInputCount of the objects to be extruded.
UF_MODL_SWEEP_TRIM_object_p_ttrim_ptrInputThe structure that contains the
trimming data.
UF_MODL_SWEEP_TRIM_OPTStrim_optionsInputTrimming options:
DO_NOT_EXTEND_TRIM_FACE = do not extend the trimming face,
DO_NOT_EXTEND_AND_EXTEND_TRIM_FACE = first do not extend
the trimming face and perform boolean operation.
If fails, extend the trimming face and perform boolean.
EXTEND_FIRST_TRIM_FACE = extend the first trimming face,
EXTEND_SECOND_TRIM_FACE = extend the second trimming face,
EXTEND_BOTH_TRIM_FACES = extend both trimming faces
char *taper_angleInputThe taper angle for the extrusion.
char *limits [ 2 ] Inputextrude_count
The limits of the extrusion. Only used if the
trim_ptr argument is NULL.
char *offsets [ 2 ] InputThe offsets for open strings
doubleregion_point [ 3 ] InputThe point on the region desired.
logicalcut_specifiedInputTRUE or FALSE for region desired.
logicalsolid_body_creationInputIf TRUE, create solid bodies if the input
string is closed. Otherwise sheet bodies will
be created.
tag_tdatum_eidInputObject identifier of a datum which will provide the
direction of the extrusion.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed:
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_t * *objectsOutput to UF_*free*An array of extruded feature tags. This must be freed
by calling UF_free.
int *object_countOutputThe number of features returned in the objects array.

 


 
UF_MODL_create_extrusion_path (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded feature using sweep along a guide.

Environment
Internal and External

See Also
UF_MODL_create_extrusion
Refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extrusion_path
(
tag_t * objects,
int object_count,
tag_t * path_objects,
int path,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
UF_FEATURE_SIGN sign,
tag_t * * features,
int* number_of_features
)
tag_t *objectsInputSection Objects.
intobject_countInputNumber of section objects
tag_t *path_objectsInputPath objects
intpathInputNumber of path objects
UF_MODL_SWEEP_TRIM_object_p_ttrim_dataInputNot used
char *offsets [ 2 ] InputOffsets
doubleregion_point [ 3 ] InputPoint in desired region
logicalregion_specifiedInputTrue or False for region desired
logicalsolid_creationInputIf TRUE, create solid bodies if input string
closed. Otherwise, sheet bodies are the result.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_t * *featuresOutput to UF_*free*Array of extrude feature tags. This must be freed
by calling UF_free.
int*number_of_featuresOutputNumber of features returned

 


 
UF_MODL_create_extrusion_path1 (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates an extruded feature using sweep along a guide, and performs Boolean
operation with given target body.

Environment
Internal and External

See Also
UF_MODL_create_extrusion_path

History
Originally released in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_extrusion_path1
(
tag_t * objects,
int object_count,
tag_t * path_objects,
int path,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
UF_FEATURE_SIGN sign,
tag_t target_body,
tag_t * * features,
int* number_of_features
)
tag_t *objectsInputSection Objects.
intobject_countInputNumber of section objects
tag_t *path_objectsInputPath objects
intpathInputNumber of path objects
UF_MODL_SWEEP_TRIM_object_p_ttrim_dataInputNot used
char *offsets [ 2 ] InputOffsets
doubleregion_point [ 3 ] InputPoint in desired region
logicalregion_specifiedInputTrue or False for region desired
logicalsolid_creationInputIf TRUE, create solid bodies if input string
closed. Otherwise, sheet bodies are the result.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_ttarget_bodyInputBoolean target
tag_t * *featuresOutput to UF_*free*Array of extrude feature tags. This must be freed
by calling UF_free.
int*number_of_featuresOutputNumber of features returned

 


 
UF_MODL_create_face_blend (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Creates a face blend

This function is intended to replace UF_MODL_create_blend_faces.

Creates face-to-face blends or construction of blends, between
walls of faces that are not necessarily adjacent to each other (and not
necessarily part of the same body). A wall may be constructed from
faces on a single body or from multiple sheet bodies. In this case, the
sheets are sewn together automatically before blending (if possible).
Optionally, the wall faces may be trimmed automatically to the new
blend edges, and may also be attached to the blend. The blend radius
may be constant, controlled by a Law function along a spine curve or
by specification of Tangency Curves only.

It can accept individual faces, curves and edges for the face sets and
tangent hold lines. It can also accept the face, edge and curve collectors
in the same corresponding array. But for each array, only one collector
is allowed.

Environment
Internal and External

History
Added in v16.0
NX2.0 Allow user input collectors
 
Required License(s)
solid_modeling

 
int UF_MODL_create_face_blend
(
UF_MODL_face_blend_create_data_p_t create_data,
UF_MODL_blend_faces_limit_data_p_t limit_data,
tag_t * feature_tag,
int * num_bodies_created,
tag_t * * bodies_created,
int * num_blend_faces,
tag_t * * blend_faces
)
UF_MODL_face_blend_create_data_p_tcreate_dataInputData describing the blend.
UF_MODL_blend_faces_limit_data_p_tlimit_dataInputData describing the blend.
tag_t *feature_tagOutputThe object identifier of the created
blend.
int *num_bodies_createdOutputThis is unused, and always returns 0.
tag_t * *bodies_createdOutput to UF_*free*This is unused, the pointer is
always set to NULL.
int *num_blend_facesOutputThis is unused, and always returns 0.
tag_t * *blend_facesOutput to UF_*free*This is unused, the pointer is
always set to NULL.

 


 
UF_MODL_create_face_constraint (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
Create a face constraint

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_face_constraint
(
UF_MODL_dfo_region_p_t region,
UF_MODL_dfo_constraint_p_t constraint,
tag_t * feature_tag
)
UF_MODL_dfo_region_p_tregionInputfaces to be operated
UF_MODL_dfo_constraint_p_tconstraintInputconstraints imposed on the region.
tag_t *feature_tagOutputfeature_tag created by the operation.

 


 
UF_MODL_create_face_offset (view source)
 
Defined in: uf_modl.h
 
Overview
Create offset feature using the input offset and list of features or
faces. The output of this function is the object identifier associated to
the offset feature. This routine works on planar faces, cylindrical faces
and conical faces.

Environment
Internal and External

History
NX2.0 added the functionality to allow inputing face collector
 
Required License(s)
solid_modeling

 
int UF_MODL_create_face_offset
(
char * offset,
uf_list_p_t faces,
tag_t * feature_obj_id
)
char *offsetInputOffset offset. Value must be greater than 1e-6 otherwise it is
regarded as zero which is an invalid input. We do not support
zero as input.
uf_list_p_tfacesInputOffset feature/face object list. You can input a face collector
tag in the list. If you input a face collector, the face collector
should be the only member in the list.
tag_t *feature_obj_idOutputFeature object identifier of created face offset

 


 
UF_MODL_create_face_taper (view source)
 
Defined in: uf_modl_taper.h
 
Overview
Creates a face taper feature using a location, direction, angle, and a
list of faces to taper. The output of this function is the object identifier
associated to the face taper.

Environment
Internal and External

See Also
UF_MODL_create_taper_from_faces
 
Required License(s)
solid_modeling

 
int UF_MODL_create_face_taper
(
double location [ 3 ] ,
double direction [ 3 ] ,
const char * angle,
uf_list_p_t faces,
tag_t * feature_obj_id
)
doublelocation [ 3 ] InputTaper location.
doubledirection [ 3 ] InputTaper direction.
const char *angleInputTaper angle.
uf_list_p_tfacesInputList of faces to taper.
tag_t *feature_obj_idOutputFeature object identifier of created face taper

 


 
UF_MODL_create_feature_offset (view source)
 
Defined in: uf_modl.h
 
Overview
Creates an offset.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_feature_offset
(
char * offset,
uf_list_p_t features,
tag_t * feature_obj_id
)
char *offsetInputOffset
uf_list_p_tfeaturesInputOffset feature object list.
tag_t *feature_obj_idOutputFeature object identifier of created feature offset

 


 
UF_MODL_create_feature_taper (view source)
 
Defined in: uf_modl_taper.h
 
Overview
Creates a taper on a specified feature.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_feature_taper
(
double location [ 3 ] ,
double direction [ 3 ] ,
const char * angle,
tag_t original_feature,
tag_t * taper_feature
)
doublelocation [ 3 ] InputLocation of the taper
doubledirection [ 3 ] InputDirection of the taper
const char *angleInputAngle of taper
tag_toriginal_featureInputIdentifier for the feature to be tapered.
tag_t *taper_featureOutputIdentifier for the tapered feature

 


 
UF_MODL_create_fitted_spline (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Creates a spline by "fitting" the curve to the data points. The system
does not store defining points for curves created using the spline
creation function. However, these points are stored for B-curve
creation functions.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_fitted_spline
(
SPLINE_FIT_p_t spline_data,
double * max_err,
int * max_err_pt,
tag_p_t obj_id
)
SPLINE_FIT_p_tspline_dataInputStructure containing the spline data.
double *max_errOutputThe maximum error at any point used in the
approximation.
int *max_err_ptOutputThe point at which the maximum error exists.
tag_p_tobj_idOutputIdentifier of the created curve.

 


 
UF_MODL_create_fixed_daxis (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Creates a fixed datum axis feature which lies on the line through
Point1 in the direction of Point2.

Environment
Internal and External

See Also
UF_MODL_ask_object_feat

History
Original release was in V13.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_fixed_daxis
(
double point1 [ 3 ] ,
double point2 [ 3 ] ,
tag_t * daxis_tag
)
doublepoint1 [ 3 ] Inputfirst point of datum axis
doublepoint2 [ 3 ] Inputsecond point of datum axis
tag_t *daxis_tagOutputthe created fixed datum axis. This is a not a feature
tag. To obtain the feature tag use UF_MODL_ask_object_feat.

 


 
UF_MODL_create_fixed_dplane (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Creates a fixed datum plane feature where the plane passes through
"point" with a normal of "direction".

Environment
Internal and External

See Also
UF_MODL_ask_object_feat
 
Required License(s)
solid_modeling

 
int UF_MODL_create_fixed_dplane
(
double point [ 3 ] ,
double direction [ 3 ] ,
tag_t * dplane_tag
)
doublepoint [ 3 ] Inputcenter point of datum plane
doubledirection [ 3 ] Inputnormal vector of datum plane
tag_t *dplane_tagOutputThe created fixed datum plane tag. This is not a feature
tag. To obtain the feature tag use UF_MODL_ask_object_feat.

 


 
UF_MODL_create_flange (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Creates a flange feature. The output of the routine is the object
identifier of the flange.

Environment
Internal and External
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_flange
(
double orig [ 3 ] ,
double xdir [ 3 ] ,
double zdir [ 3 ] ,
tag_t face,
tag_t edge,
char * thick,
char * width,
char * angle,
char * length,
char * radius,
char * taper_l,
char * taper_r,
int ang_tgl,
int len_tgl,
int rad_tgl,
tag_t * flange
)
doubleorig [ 3 ] InputDefault origin of flange.
doublexdir [ 3 ] InputX-direction of flange (across bend.)
doublezdir [ 3 ] InputZ-direction, normal to the face.
tag_tfaceInputFace to which the flange should attach.
tag_tedgeInputHorizontal edge.
char *thickInputThickness expression string (if null, infer from face)
char *widthInputWidth expression string (if null, infer from edge)
char *angleInputBend angle expression string
char *lengthInputTangent length expression string
char *radiusInputInside radius of the bend
char *taper_lInputLeft taper of flange
char *taper_rInputRight taper of flange
intang_tglInputBend/Include angle switch
intlen_tglInputTangent/Contour length switch
intrad_tglInputInside/Outside radius switch
tag_t *flangeOutputObject identifier for the flange feature.

 


 
UF_MODL_create_frenet_daxis (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Create a datum axis which is defined by a curve and a point on that curve.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_frenet_daxis
(
tag_t curve_tag,
tag_t direction_tag,
char * perc_string,
int direction_type,
tag_t * daxis_feid
)
tag_tcurve_tagInputeid of the curve, it could be UF_line_type,
UF_circle_type, UF_conic_type,
UF_spline_type or UF_solid_edge_subtype.
tag_tdirection_tagInputeid of the constraint object which defines the
direction of the projection curve,
NULL if not the case. it could be a face,
edge, line, datum plane or datum axis.
char *perc_stringInputthe parameter of curve, range from 0 to 100
intdirection_typeInputthe direction of frenet datum axis, 1 and 4
are tangent direction and its opposite,
2 and 5 are normal direction and its opposite,
3 and 6 are binormal and its opposite,
and 0 when projection curve is created
tag_t *daxis_feidOutputthe created daxis eid

 


 
UF_MODL_create_general_flange (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Creates a general flange from its target face, bend radius, bend angle,
and web length. Along with these items an optional spine, thickness,
tolerance string, bend direction, and step data can be set. The output
is the object identifier associated to the general flange.

Environment
Internal and External

See Also
For example and figure see example
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_general_flange
(
tag_t target_face,
UF_STRING_p_t bend_edge_string,
UF_STRING_p_t spine_string,
UF_STRING_p_t section_curves,
int step_count,
int poly_cubic,
int reverse_normal,
int reverse_thicken,
char * thickness_str,
char * tolerance_str,
UF_MODL_parm_p_t plus,
UF_MODL_parm_t bend_radius [ ] ,
UF_MODL_parm_t bend_angle [ ] ,
UF_MODL_parm_t web_length [ ] ,
tag_p_t general_flange_tag
)
tag_ttarget_faceInputAttachment face for the generalized flange. The
flange is constrained to be tangent to this face
along the bend edge.
UF_STRING_p_tbend_edge_stringInputAn edge in the tangent face, used as the
attachment edge the generalized flange.
UF_STRING_p_tspine_stringInputAn edge or curve used to define the section
planes for the bend and web. If this values is
null, the bend edge string is used as the spine
string.
UF_STRING_p_tsection_curvesInputTwo or more section curves used as an alternate
method for creating a general flange. The curves
must start tangent to the target face, be C0 with
the bend edge, be coplanar, end to end and be
made up of alternating lines and arcs. If this
parameter is used, the plus, bend_radius,
bend_angle and web_length is ignored.
intstep_countInputThe number of steps in the generalized flange.
Zero is an invalid number. For each step include
a value for the bend radius, bend angle and web.
intpoly_cubicInput=0 Use Rational Exact B-splines curves
represented by exact conics.
=1 Use Polynomial approximate to produce a
surface with better parameterization. This does
not produce exact conics.
intreverse_normalInput=0 Use the tangent face normal at the center of
the bend edge to determine the direction of the flange.
=1 Use the reverse of the tangent face normal at
the center of the bend edge to determine the
direction of the flange.
intreverse_thickenInput=0 If Body type is solid, thicken the plus bend
and web along the direction of the bend.
=1 If Body type is solid, thicken the plus bend
and web opposite to the direction of the bend.
char *thickness_strInputThickness of the solid body created if the
Modeling preference for body type is set to solid.
char *tolerance_strInputThis is initially set from the the modeling
distance tolerance. This value has the same
effect as the modeling distance tolerance.
UF_MODL_parm_p_tplusInputThe law specification of the target face extension
between the bend edge and the start of the bend.
UF_MODL_parm_tbend_radius [ ] InputThe law specification of the radius of the bend.
UF_MODL_parm_tbend_angle [ ] InputThe law specification of the angle of the bend.
UF_MODL_parm_tweb_length [ ] InputThe law specification of the length of the surface
extension after the bend.
tag_p_tgeneral_flange_tagOutputPointer to Feature object identifier of created
flange

 


 
UF_MODL_create_general_pad (view source)
 
Defined in: uf_modl_pads.h
 
Overview
Creates a general pad. Expressions are created for the taper_angle,
top_offset, placement_radius, and top_radius if they are used.

Environment
Internal and External

See Also
UF_MODL_ask_general_pad
UF_MODL_edit_general_pad
UF_MODL_free_general_pad
please see example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_general_pad
(
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t top_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t top_radius,
tag_t * general_pad_tag
)
UF_MODL_faces_p_tplacement_facesInputThe faces or a face collector used to define the shape of
the pad at the placement faces. The first
face is used to determine the target
body.
UF_MODL_offset_trans_faces_p_ttop_facesInputThe faces or a face collector used to define
the top of the pad.
The top can either be an offset or
translation of the specified faces.
If it is desired to have the top be
an offset or translate of the
placement faces, then just set the
UF_MODL_faces_p_t pointer within
this input structure to the
placement_faces pointer value.
UF_MODL_pocketpad_outline_p_toutlineInputThe definition of the curves used to
define the shape of the pad. The shape
can be defined by a single set of curves
or section builder
at either the placement face or the top
face, and then the other curves or section builder are
derived with a taper angle. The shape
can also be defined by specifying curves or section builders
at both the placement face and the top
face.
UF_MODL_parm_p_tplacement_radiusInputThe specification of the radius desired
between the side of the pad and the
placement face.
UF_MODL_parm_p_ttop_radiusInputThe specification of the radius desired
between the side of the pad and the top
of the pad.
tag_t *general_pad_tagOutputObject identifier for the general pad
feature.

 


 
UF_MODL_create_general_pocket (view source)
 
Defined in: uf_modl_pockets.h
 
Overview
Creates a general pocket. Creates Expressions for the taper_angle,
floor_offset, placement_radius, and floor_radius if they are used.

Environment
Internal and External

See Also
UF_MODL_ask_general_pocket
UF_MODL_edit_general_pocket
UF_MODL_free_general_pocket
please see example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_general_pocket
(
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t floor_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t floor_radius,
tag_t * general_pocket_tag
)
UF_MODL_faces_p_tplacement_facesInputThe faces or a face collector used to define the shape of
the pocket at the placement faces. The
first face is used to determine the
target body.
UF_MODL_offset_trans_faces_p_tfloor_facesInputThe faces or a face collector used to define
the floor of the pocket. The floor can either be an
offset or translation of the
specified faces. If it is desired
to have the floor be an offset
or translate of the
placement faces, then just set the
UF_MODL_faces_p_t pointer within
this input structure to the
placement_faces pointer value.
UF_MODL_pocketpad_outline_p_toutlineInputThe definition of the curves used to
define the shape of the pocket.
The shape can be defined by a single set of
curves or section builder at either the placement face or
the floor face, and then the other
curves or section builder are derived with a taper angle.
The shape can also be defined by
specifying curves or section builders at both the
placement face and the floor face.
UF_MODL_parm_p_tplacement_radiusInputThe specification of the radius desired
between the side of the pocket and the
placement face.
UF_MODL_parm_p_tfloor_radiusInputThe specification of the radius desired
between the side of the pocket and the
floor of the pocket.
tag_t *general_pocket_tagOutputObject identifier for the general
pocket feature.

 


 
UF_MODL_create_geodesic_curves (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Creates geodesic curves on a connected set of faces given a start point,
direction and desired length. If the length is greater than the extent
of input face(s), then curves up to the face boundary are returned.
The resulting geodesic curves are not "smart" curves.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_geodesic_curves
(
int number_of_faces,
tag_t face_eids [ ] ,
double start_pnt [ 3 ] ,
double start_dir [ 3 ] ,
double length,
double dist_tol,
tag_t * * geodesiccurve_id,
int * geodesiccurve_cnt,
double * achieved_length
)
intnumber_of_facesInputthe number of faces to be used to create geodesic curve.
tag_tface_eids [ ] InputThe faces to be used to create geodesic curves.
The faces should be connected and come from same body.
doublestart_pnt [ 3 ] InputStart point of geodesic curve in absolute space (3 element array).
The point should lie on one of the face specified in face_eids
doublestart_dir [ 3 ] InputStart direction of geodesic curve(normalized vector)
doublelengthInputDesired length of geodesic curve measured from start_pnt
doubledist_tolInputTolerance value. The tolerance is used in fitting geodesic curves.
tag_t * *geodesiccurve_idOutput to UF_*free*Array of geodesic curve identifiers. The
allocated arrays must be freed with UF_free().
int *geodesiccurve_cntOutputNumber of curves created.
double *achieved_lengthOutputThe total length of result Geodesic curves.

 


 
UF_MODL_create_gflange (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Creates a generalized flange.

Environment
Internal and External
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_gflange
(
UF_MODL_gflange_data_p_t gflange_data,
tag_p_t gflange_tag
)
UF_MODL_gflange_data_p_tgflange_dataInputData struct
tag_p_tgflange_tagOutputGenflg tag

 


 
UF_MODL_create_hollow (view source)
 
Defined in: uf_modl_hollow.h
 
Overview
Creates a hollow feature using the input thickness and a list of faces to
hollow. The output of this function is the object identifier associated
to the hollow.

The thickness specified must be larger than the default modeling tolerance.
If a smaller thickness is desired than the modeling tolerance,
UF_MODL_create_variable_hollow may be used.

Environment
Internal and External

See Also
UF_MODL_create_variable_hollow
 
Required License(s)
solid_modeling

 
int UF_MODL_create_hollow
(
char * thickness,
uf_list_p_t faces,
tag_t * feature_obj_id
)
char *thicknessInputHollow thickness.
uf_list_p_tfacesInputList of faces to be hollow.
tag_t *feature_obj_idOutputFeature object identifier of created hollow

 


 
UF_MODL_create_impr_faces (view source)
 
Defined in: uf_modl_simplify.h
 
Overview
Create an imprint feature according to the specified data (using an
explicit array of faces and a datum plane to define new edges on the
solid). The part containing the solid will be fully loaded if necessary.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_impr_faces
(
UF_MODL_imprint_faces_data_p_t parms,
tag_t * feature_tag
)
UF_MODL_imprint_faces_data_p_tparmsInputParameters of the new imprint feature
tag_t *feature_tagOutputThe feature created

 


 
UF_MODL_create_impr_loop (view source)
 
Defined in: uf_modl_simplify.h
 
Overview
Create an imprint feature according to the specified data (using
a face and a datum plane to define a loop of new edges on the solid).
The part containing the solid will be fully loaded if necessary.

Environment
Internal and External.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_impr_loop
(
UF_MODL_imprint_loop_data_p_t parms,
tag_t * feature_tag
)
UF_MODL_imprint_loop_data_p_tparmsInputParameters of the new imprint feature
tag_t *feature_tagOutputThe feature created

 


 
UF_MODL_create_inset_flange (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Generates a Sheet Metal Design inset flange feature. It provides the
ability to create the feature along the complete extent of the
attachment face or partially with reliefs automatically added during
construction.

Environment
Internal and External
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_inset_flange
(
tag_t attach_face,
tag_t reference_edge,
double position [ 3 ] ,
double xdirection [ 3 ] ,
double zdirection [ 3 ] ,
UF_MODL_inset_flange_data_p_t parameters,
tag_p_t feature_tag
)
tag_tattach_faceInputAttachment face of target body.
tag_treference_edgeInputHorizontal edge reference of target
body.
doubleposition [ 3 ] InputDefault origin of inset flange
feature.
doublexdirection [ 3 ] InputDirection of inset flange along the
width of the bend.
doublezdirection [ 3 ] InputNormal of attachment/link face.
UF_MODL_inset_flange_data_p_tparametersInputStructure which defines the size and
shape of the inset flange feature.
tag_p_tfeature_tagOutputObject identifier of the inset flange
feature.

 


 
UF_MODL_create_instantiated_udf (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Create a new UDF instantiation in the current part. The steps to instantiate a
new UDF are as follows:

1) Open the UDF definition file using UF_PART_open_quiet().
2) Find the UDF feature definition.
3) Ask for the UDF definition to get all the external references.
4) Change part to the instantiation part
5) For each external reference you need to select a new reference in the
instantiation part.
6) Get new values for the expressions.
7) Use UF_MODL_create_instantiated_udf to create a UDF instantiation.

There is a newer version of this API - UF_MODL_create_instantiated_udf1
It is recommended to use the newer version for the following cases -
1. The inputs to a UDF consist of selection-intent objects.
2. One needs to use a UDF input in the reverse sense.
3. One wants provide specific mapping when dealing with selection-intent inputs.

For more details about mapping see the documentation for UF_MODL_create_instantiated_udf1

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
Refer to example

History
Originally released in V15.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_instantiated_udf
(
tag_t udf_definition_tag,
char * cgm_file_name,
tag_t * old_parents,
tag_t * new_parents,
int num_parents,
tag_t * old_expression,
char * * new_expression_value,
int num_expression,
tag_t * new_udf
)
tag_tudf_definition_tagInputThe object identifier of the udf feature
definition, UDF_DEF.
char *cgm_file_nameInputCgm file
tag_t *old_parentsInputArray of old parents
tag_t *new_parentsInputArray of new parents
intnum_parentsInputNumber of parents
tag_t *old_expressionInputArray of udf definition expression
char * *new_expression_valueInputArray of new expression new values only
the right hand side
intnum_expressionInputNumber of expressions.
tag_t *new_udfOutputNew udf instantiated feature, a
UDF_INS feature.

 


 
UF_MODL_create_instantiated_udf1 (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Function description:
User function for instantiating a UDF feature.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

It can accept single UDF references and Smart Collectors and Sections in
UF_MODL_udf_ref_data_t.

There is a newer version of this API - UF_MODL_create_instantiated_udf1
It is recommended to use the newer version for the following cases -
1. The inputs to a UDF consist of selection-intent objects.
2. One needs to use a UDF input in the reverse sense.
3. One wants provide specific mapping when dealing with selection-intent inputs.

A simple example where mapping is required while instantiating a UDF is as follows:
1. A UDF comprises of an extrude feature and a blend feature
2. The blend feature blends one edge of the extrude feature
3. The extrude feature's input is a selection-intent section.
4. In the UDF definition, the section comprised of four curves. One of the
curves produces an extrude lateral face. One edge of the lateral face
was blended by the blend feature.
5. Hence the blend feature is a downstream child of one of the curves of the
input section of the UDF definition.
6. While instantiating, the new input section can have any number of curves.
7. Hence while instantiating, the output blend feature will get created based
on which curve of the instantiation input selection-intent section maps to the
corresponding curve of definition selection-intent section.

The following steps describe how to instantiate a UDF with mapping using the Open C API:
Compile and link this example as an Internal User Function program
In NX, open the part nx4part.prt
Run the user function program
When the user function prompts for a UDF, browse and select nx4mapping2.prt
Then select the sketch(8)
Select "Sketch Section" on the next dialog
For smart-dir, select the sketch(8) again
OK through all other dialogs to create the UDF

To run see how this works interactively in NX two files have been provided. They are
nx4mapping2.cgm
nx4mapping2.prt

See Also
UF_MODL_udf_init_insert_data_from_def

History
This function was originally released in NX3.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_instantiated_udf1
(
tag_t udf_define_tag,
UF_MODL_udf_exp_data_t * exp_data,
UF_MODL_udf_ref_data_t * ref_data,
tag_t * udf_insert_tag
)
tag_tudf_define_tagInputTag of UDF definition feature
UF_MODL_udf_exp_data_t *exp_dataInputExpression data
UF_MODL_udf_ref_data_t *ref_dataInputParent data
tag_t *udf_insert_tagOutputTag of UDF instantiated feature

 


 
UF_MODL_create_isocline_curves (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Creates isocline curves on the given face defined by the specified
direction and angle.

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_isocline_curves
(
tag_t face_id,
double direction [ 3 ] ,
double angle,
double dist_tol,
tag_t * * isocurve_id,
int * isocurve_cnt
)
tag_tface_idInputThe face identifier
doubledirection [ 3 ] InputIsocline direction (normalized vector)
doubleangleInputIsocline angle (between specified direction and
normals of the curves) in degrees. Angle range is
from -90 to +90 degrees.
doubledist_tolInputTolerance value. The tolerance is only used when
the input face is foreign or an offset of a non
analytic face.
tag_t * *isocurve_idOutput to UF_*free*Array of isocline curve object identifiers. The
allocated arrays must be freed with UF_free().
int *isocurve_cntOutputNumber of curves created.

 


 
UF_MODL_create_isocurve (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Creates isoparametric curves on a face. You cannot create isoparametric
curves of constant v from a blend. The resulting isoparametric curves
are not "smart" curves. In other words, they are not associative to the
face from which they were created. If the face is modified, the curves
do not change.

Environment
Internal and External
 
Required License(s)
( solid_modeling  or  drafting )

 
int UF_MODL_create_isocurve
(
tag_t face_id,
int uv_flag,
double parameter,
double dist_tol,
tag_t * * isocurve_id,
int * isocurve_cnt
)
tag_tface_idInputThe face identifier.
intuv_flagInput1 = create curve along u isoparameter.
2 = create curve along v isoparameter.
doubleparameterInputParameter at which to create the curve.
doubledist_tolInputTolerance value. The tolerance is only used
when the input face is foreign or an offset of
a non analytic face.
tag_t * *isocurve_idOutput to UF_*free*Array of isoparametric curve identifiers. You may
get multiple curves if the face is trimmed. The
allocated arrays must be freed with UF_free().
int *isocurve_cntOutputNumber of curves created.

 


 
UF_MODL_create_law (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Prototypes for createa LAW parm

extern int UF_MODL_create_law()

INPUT-
------
law_method = type of law
1 - constant (numeric law)
2 - linear (numeric law)
3 - cubic s-shape (numeric law)
4 - linear on spine (numeric law)
5 - by equation (equation law)
6 - cubic on spine (numeric law)
7 - by curves (graphic law)

law_str1 = contents depend on law_method setting
= 1 - expression for constant radius
= 2,3 - expression start radius value
= 5 - expression for t function

law_str2 = contents depend on law_method setting
= 0,1 - not used
= 2,3 - expression end radius value
= 5 - expression for f function

spine_string = spine curves depending on law_method setting
= 4,6 - (required)
= other - (optional)

law_cv_string = law curves (only for method = 7)

num_spine_points = number of spine points (method 4 and 6 only)

spine_xyz[] = 3D point coordinates of spine points selected (law_method
4 and 6 only)

spine_values[] = law function value on the 3d points (law_method
4 and 6 only)

base_line_tag = base line (law method 7 only)

base_direction = base line direction
+1 or
-1

OUTPUT-
-------
law_parm_ptr = a pointer for a LAW_PARM data struct

RETURNS-
--------
int = status
0 - no error
1 - invalid method
2 - missing spine
3 - missing law curve
 
Required License(s)
solid_modeling

 
int UF_MODL_create_law
(
int law_method,
const char * law_str1,
const char * law_str2,
UF_STRING_t spine_str,
UF_STRING_t law_cv_str,
int num_spine_points,
double spine_xyz [ ] ,
double spine_values [ ] ,
tag_t base_line_tag,
int base_direction,
void * * uf_law_parms
)
intlaw_methodInput
const char *law_str1Input
const char *law_str2Input
UF_STRING_tspine_strInput
UF_STRING_tlaw_cv_strInput
intnum_spine_pointsInput
doublespine_xyz [ ] Input
doublespine_values [ ] Input
tag_tbase_line_tagInput
intbase_directionInput
void * *uf_law_parmsOutput

 


 
UF_MODL_create_law_extension (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates Law Extension feature from the Law Extension Open API data structure.

Environment
Internal and External

See Also
UF_MODL_edit_law_extension
UF_MODL_ask_law_extension
UF_MODL_free_law_extension
 
Required License(s)
( solid_modeling  or  drafting )

 
int UF_MODL_create_law_extension
(
UF_MODL_lawext_data_p_t law_extension_data,
tag_p_t law_extension
)
UF_MODL_lawext_data_p_tlaw_extension_dataInputLaw Extension Open
API data structure.
tag_p_tlaw_extensionOutputLaw Extension feature
object identifier.

 


 
UF_MODL_create_linear_iset (view source)
 
Defined in: uf_modl_isets.h
 
Overview
Creates a linear instance set feature using the existing work
coordinate system. The values needed are the number in the XC
direction, spacing for the XC direction, number in the YC direction,
spacing in the YC direction, and a list of features to instance. The
output of this function is the object identifier associated to the linear
instance set.

A different instance set will be created for each item in the feature_list.
feature_obj_id will be the identifier of last instance set feature created.
To query ids of other instance set features, call UF_MODL_ask_instance_iset
with each item in the feature list as an argument.

To query instances created by this instance set use the function
UF_MODL_ask_instance

The method options correspond to what is available interactively. See
the Modeling User Manual for details.

Environment
Internal and External

See Also
UF_MODL_ask_instance
UF_MODL_ask_instance_iset
 
Required License(s)
solid_modeling

 
int UF_MODL_create_linear_iset
(
int method,
char * number_in_x,
char * distance_x,
char * number_in_y,
char * distance_y,
uf_list_p_t feature_list,
tag_t * feature_obj_id
)
intmethodInputMethod:
0 = General
1 = Simple
2 = Identical
char *number_in_xInputNumber in XC direction.
char *distance_xInputSpacing in XC direction.
char *number_in_yInputNumber in YC direction.
char *distance_yInputSpacing in YC direction.
uf_list_p_tfeature_listInputList of selected CMOD features.
tag_t *feature_obj_idOutputFeature object identifier of created linear iset

 


 
UF_MODL_create_linked_exterior (view source)
 
Defined in: uf_linked_exterior.h
 
Overview
This function creates an Linked Exterior feature, and its
associated sheet bodies, in the same part as object_in_part. The
input faces will extracted as one or more, possibly disjoint,
regions. The xform gives the context for each face. Adjacent
faces which come from the same body and share an xform will be
joined into single sheet body. Input faces cannot be occurrences.
This feature is implemeted as a feature set which owns hidden
subfeatures similar to Linked Regions. The subfeatures should not be
edited or deleted individually.

See Also
UF_MODL_ask_linked_exterior
UF_MODL_edit_linked_exterior
UF_MODL_identify_exterior_using_hl
UF_MODL_identify_exterior_using_rays

Environment
Internal and External

History
Released in V18.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_linked_exterior
(
UF_MODL_linked_ext_p_t ext_data,
tag_t * feature_tag
)
UF_MODL_linked_ext_p_text_dataInputFeature data
tag_t *feature_tagOutputFeature tag

 


 
UF_MODL_create_list (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Creates a linked list of objects. A list of objects may contain
identifiers for bodies, features, faces and edges. You use this routine
to create a list for those modeling routines that require a list as an
input; please do not use this for ask routines that return lists.

Environment
Internal and External

See Also
UF_MODL_ask_list_item
UF_MODL_delete_list
UF_MODL_ask_list_count
UF_MODL_put_list_item
UF_MODL_delete_list_item
 
Required License(s)
solid_modeling

 
int UF_MODL_create_list
(
uf_list_p_t * list
)
uf_list_p_t *listOutput to UF_*free*List of object identifiers.

 


 
UF_MODL_create_local_scale (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function performs a local scale

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_local_scale
(
UF_MODL_dfo_scale_type_t type,
UF_MODL_dfo_region_p_t region,
tag_t so_point,
tag_t so_dir,
tag_t so_csys,
char factors [ 3 ] [ UF_MAX_EXP_BUFSIZE ] ,
tag_t * feature_tag
)
UF_MODL_dfo_scale_type_ttypeInputlocal scale type
UF_MODL_dfo_region_p_tregionInputfaces to be operated
tag_tso_pointInputsmart point
tag_tso_dirInputsmart direction
tag_tso_csysInputsmart coordinate system
charfactors [ 3 ] [ UF_MAX_EXP_BUFSIZE ] Inputscale factors
tag_t *feature_tagOutputFeature object identifier
of a created local scale

 


 
UF_MODL_create_midsrf_feature (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a midsurface feature. The returned midsurface feature tag
can then be used to add face pair features.

Environment
Internal and External

See Also
UF_MODL_ask_midsrf_parms
 
Required License(s)
( solid_modeling  or  nx_masterfem )

 
int UF_MODL_create_midsrf_feature
(
tag_t target_body,
tag_p_t feature_obj_id
)
tag_ttarget_bodyInputSolid target body to place the Midsurface Feature
tag_p_tfeature_obj_idOutputMidsurface Feature tag

 


 
UF_MODL_create_mirror_body (view source)
 
Defined in: uf_modl.h
 
Overview
Mirrors the input body about the datum plane specified.

Environment
Internal and External

See Also
See example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_mirror_body
(
const tag_t body,
const tag_t datum_plane,
tag_t * mirrored_body
)
const tag_tbodyInputObject identifier of the body to be mirrored.
const tag_tdatum_planeInputObject identifier of the datum plane
tag_t *mirrored_bodyOutputObject identifier for the mirror body feature.

 


 
UF_MODL_create_mirror_pattern_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function create mirror for a given set of faces.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_mirror_pattern_face
(
UF_MODL_dfo_region_p_t region,
tag_t mirror_plane,
tag_t * feature_tag
)
UF_MODL_dfo_region_p_tregionInputregion
tag_tmirror_planeInputmirror plane
tag_t *feature_tagOutputthe new feature

 


 
UF_MODL_create_mirror_set (view source)
 
Defined in: uf_modl.h
 
Overview
This function creates a mirror set feature.

Environment
Internal and External

History
Released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_mirror_set
(
tag_t * features,
int number_of_feature,
tag_t mirror_plane,
tag_t * mirror_set
)
tag_t *featuresInputArray of features to mirror
intnumber_of_featureInputNumber of features in the array
tag_tmirror_planeInputThe mirror plane. This can be a face or
a datum plane.
tag_t *mirror_setOutputThe tag of the new mirror set

 


 
UF_MODL_create_move_region (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function moves a set of faces by given transformation

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_move_region
(
UF_MODL_transform_type_t type,
UF_MODL_dfo_region_p_t region,
void * transf_data,
tag_t * feature_tag
)
UF_MODL_transform_type_ttypeInputtransformation type
UF_MODL_dfo_region_p_tregionInputfaces to be operated
void *transf_dataInputtransformation data, can be of following types:
UF_MODL_transf_pp_p_t - point to point translation
UF_MODL_transf_dist_p_t - translation along direction
UF_MODL_transf_angle_p_t - rotation about axis
UF_MODL_transf_aa_p_t - rotation between two axes
tag_t *feature_tagOutputFeature tag

 


 
UF_MODL_create_multi_transition_law (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Generate law param data <uf_law_parms> for multi-transition laws
on base curves.

extern int UF_MODL_create_multi_transition_law ()

INPUT-
------
UF_STRING_t spine_string = string for base curves, <Required>
int num_pts = number of law points, <Required>
double pt_xyzs = array of 3D coords, <Required>
char pt_law_values = array of law values, <Required>
int pt_trans_types = array of law types, <Required>

OUTPUT-
-------
uf_law_parms = pointer for law_param data, To be freed from caller
MODL_law_pm_free ((MODL_law_p_t)(uf_law_parms));

RETURNS-
--------
0 = no error
2 = error
 
Required License(s)
solid_modeling

 
int UF_MODL_create_multi_transition_law
(
UF_STRING_t spine,
int num_pts,
double * pt_xyzs,
char * * pt_law_values,
int * pt_trans_types,
void * * uf_law_parms
)
UF_STRING_tspineInput
intnum_ptsInput
double *pt_xyzsInput
char * *pt_law_valuesInput
int *pt_trans_typesInput
void * *uf_law_parmsOutput

 


 
UF_MODL_create_multiple_sews (view source)
 
Defined in: uf_modl.h
 
Overview
Create multiple sewn sheets from a set of sheets. This routine returns a list
of sheet bodies. If you want the sew features, they can be obtained by calling

Environment
Internal and External

See Also
UF_MODL_create_sew
UF_MODL_ask_sew_sheet_body
UF_MODL_edit_sew_sheet_body
UF_MODL_ask_sew_solid_body
UF_MODL_edit_sew_solid_body

History
Modified in V15 to return a list of sheet bodies, not a list of SEW
features
 
Required License(s)
solid_modeling

 
int UF_MODL_create_multiple_sews
(
tag_t target_sheet,
int num_tools,
tag_t tools_sheet [ ] ,
double tolerance,
uf_list_p_t* disjoint_list,
uf_list_p_t* sew_list
)
tag_ttarget_sheetInputTarget sheet
intnum_toolsInputNumber of tools sheet array.
tag_ttools_sheet [ ] InputTools sheet array.
doubletoleranceInputtolerance value.
uf_list_p_t*disjoint_listOutput to UF_*free*List of disjoint sheets. This list must be freed
by calling UF_MODL_delete_list.
uf_list_p_t*sew_listOutput to UF_*free*List of sewn sheets. These are sheet bodies.
If you want the sheet feature, then you must call
UF_MODL_ask_body_features and then search the list
for the latest SEW feature. This list must be freed
by calling UF_MODL_delete_list.

 


 
UF_MODL_create_non_uni_scale (view source)
 
Defined in: uf_modl.h
 
Overview
Create a non-uniform scale feature.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_non_uni_scale
(
tag_t body_eid,
int csys_type,
char * scale_factors [ 3 ] ,
tag_t * feature_eid
)
tag_tbody_eidInputEID of body to be scaled
intcsys_typeInputCurrently only UF_CSYS_WORK_COORDS is accepted
char *scale_factors [ 3 ] Input
tag_t *feature_eidOutputEID of the scale feature

 


 
UF_MODL_create_offset_region (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function offset a region by a given distance along face normals.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_offset_region
(
UF_MODL_dfo_region_p_t region,
char * offset,
tag_t * feature_tag
)
UF_MODL_dfo_region_p_tregionInputfaces to be operated
char *offsetInputoffset value, in expression string
tag_t *feature_tagOutputfeature_tag created by the operation.

 


 
UF_MODL_create_plane (view source)
 
Defined in: uf_modl.h
 
Overview
Create a plane.

Environment
Internal and External

See Also
UF_MODL_ask_plane
UF_MODL_edit_plane
Refer to example

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_plane
(
double origin_point [ 3 ] ,
double plane_normal [ 3 ] ,
tag_t * plane_tag
)
doubleorigin_point [ 3 ] InputOrigin point of the plane
doubleplane_normal [ 3 ] InputPlane normal
tag_t *plane_tagOutputNew plane

 


 
UF_MODL_create_point_dirr_daxis (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Creates a datum axis at a given point with a given direction.
If smart objects are used to specify the start point or direction,
their update option must be set to UF_SO_update_within_modeling.

Environment
Internal and External

See Also
UF_MODL_ask_object_feat
UF_MODL_ask_datum_point_and_direction
UF_MODL_edit_datum_point
UF_MODL_edit_datum_direction

History
Original release was in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_point_dirr_daxis
(
tag_t point,
tag_t direction,
tag_t * daxis_tag
)
tag_tpointInputThe start point of the datum axis.
tag_tdirectionInputThe direction of the datum axis.
tag_t *daxis_tagOutputThe created datum axis. This is a not a feature tag.
To obtain the feature tag use UF_MODL_ask_object_feat.

 


 
UF_MODL_create_point_dirr_dplane (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Creates a datum plane perpendicular to a given direction at a given point.

If smart objects are used to specify the point or direction,
their update option must be set to UF_SO_update_within_modeling.

Environment
Internal and External

See Also
UF_MODL_ask_object_feat
UF_MODL_ask_datum_point_and_direction
UF_MODL_edit_datum_point
UF_MODL_edit_datum_direction

History
Original release was in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_point_dirr_dplane
(
tag_t point,
tag_t direction,
tag_t * dplane_tag
)
tag_tpointInputA point on the datum plane.
tag_tdirectionInputThe normal to the datum plane.
tag_t *dplane_tagOutputThe created datum plane. This is a not a feature tag.
To obtain the feature tag use UF_MODL_ask_object_feat.

 


 
UF_MODL_create_points_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Create a Points Feature

Environment
Internal and External

See Also
UF_MODL_ask_points_parms
UF_MODL_edit_points_parms

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_points_feature
(
int num_points,
tag_t * points,
tag_t * feature_tag
)
intnum_pointsInputNumber of points
tag_t *pointsInputArray of point tags
tag_t *feature_tagOutputFeature tag

 


 
UF_MODL_create_proj_curves (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Creates associated projected curves. The tolerance used to create a
curve projection can be changed by using the subroutine
UF_MODL_set_distance_tolerance. The projection along face normals or
along a vector produces an exact projection when projecting onto a plane.
The projected curve feature can be deleted using UF_MODL_delete_feature or
the curves can be accessed using UF_MODL_ask_proj_curves and deleted
individually. Similarly, UF_MODL_move_feature can be used to move the
projected curve feature.

Environment
Internal and External

See Also
UF_MODL_ask_proj_curves
UF_CURVE_ask_proj_curves
UF_MODL_set_distance_tolerance
UF_MODL_delete_feature
UF_MODL_move_feature

The example creates the arc and
projected curves shown in Figure above.
 
Required License(s)
( solid_modeling  or  drafting )

 
int UF_MODL_create_proj_curves
(
uf_list_p_t curve_refs,
uf_list_p_t face_refs,
int along_face_normal,
double proj_vector [ 3 ] ,
tag_t * proj_curve_feature
)
uf_list_p_tcurve_refsInputList of curve, sketch, or projected curve feature
identifiers.
uf_list_p_tface_refsInputList of plane, datum plane, or face identifiers.
intalong_face_normalInput0 = Use projection vector (proj_vector)
1 = Use face normals
doubleproj_vector [ 3 ] Input3D vector in absolute space
tag_t *proj_curve_featureOutputProjected curve feature identifier

 


 
UF_MODL_create_promotion (view source)
 
Defined in: uf_modl_promotions.h
 
Overview
Creates a promotion feature using the input body occurrence. The promotion
feature is created in the work part. The occurrence must be a solid body
occurrence from either the work part or one of its superassemblies.
The occurrence is also used to determine which of the possibly many copies of
the base solid in the assembly to promote.

Note : The Part Navigator may be left out of date with this call.
Need to call UF_MODL_update to update it.

Environment
Internal and External

See Also
Refer example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_promotion
(
tag_t body_occ,
tag_t * feature_tag
)
tag_tbody_occInputTag of the body occurrence to be promoted
tag_t *feature_tagOutputTag of the newly created promotion feature

 


 
UF_MODL_create_quilt (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a quilt surface.

Environment
Internal and External

See Also
UF_MODL_ask_quilt
UF_MODL_edit_quilt
UF_MODL_free_quilt
See the quilt data structures
 
Required License(s)
solid_modeling

 
int UF_MODL_create_quilt
(
UF_MODL_quilt_type_t quilt_data,
UF_MODL_quilt_data_structures_p_u quilt_structure_po,
tag_t * quilt_tag,
int * tol_achieved
)
UF_MODL_quilt_type_tquilt_dataInputType of quilt surface
UF_MODL_CURVE_MESH_ALONG_FIXED_VECTOR
UF_MODL_CURVE_MESH_ALONG_DRIVER_NORMALS
UF_MODL_B_SURFACE_ALONG_FIXED_VECTOR
UF_MODL_B_SURFACE_ALONG_DRIVER_NORMALS
UF_MODL_SELF_REFIT
UF_MODL_quilt_data_structures_p_uquilt_structure_poInputPointer to structure
containing the defining
data of the quilt surface.
tag_t *quilt_tagOutputObject identifier of quilt surface to be created
int *tol_achievedOutputFlag indicating that the resultant face achieved the
tolerance requirements.
0 = No
1 = yes

 


 
UF_MODL_create_reblend_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
Create a reblend face feature

Environment
Internal and External

History
V19 release
 
Required License(s)
solid_modeling

 
int UF_MODL_create_reblend_face
(
UF_MODL_reblend_face_data_p_t reblend_data,
tag_t * reblend_eid
)
UF_MODL_reblend_face_data_p_treblend_dataInputUser defining reblend data
tag_t *reblend_eidOutputFeature object identifier of
a created reblend face feature

 


 
UF_MODL_create_rect_groove (view source)
 
Defined in: uf_modl_grooves.h
 
Overview
Creates a rectangular groove feature by inputting its location,
direction, diameter and width. Along with these items a placement
face is needed to determine which face the groove is associated to.
The output of this function is the object identifier associated to the
rectangular groove.





Environment
Internal and External

See Also
The code creates the cylinder
and rectangular groove shown in the preceding figure.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_rect_groove
(
double location [ 3 ] ,
double direction [ 3 ] ,
char * diame,
char * width,
tag_t face,
tag_t * feature_obj_id
)
doublelocation [ 3 ] InputRectangular groove location.
doubledirection [ 3 ] InputRectangular groove direction.
char *diameInputRectangular groove diameter.
char *widthInputRectangular groove width.
tag_tfaceInputFace for the RPO constraint. The face should be of
type UF_cylinder_type or UF_cone_type.
tag_t *feature_obj_idOutputFeature object identifier of created rectangular
groove

 


 
UF_MODL_create_rect_pad (view source)
 
Defined in: uf_modl_pads.h
 
Overview
Creates a rectangular pad feature using a location, direction, X
direction, size, corner radius and taper angle. Along with these items
a placement face is needed to determine which face the pad is
associated to. The output of this function is the object identifier
associated to the rectangular pad.

Return
Return code:
= 0: successful
> 0: failing error number
< 0: failing error number

Environment
Internal and External

History
For V18.0, a datum plane may be input as the face defining the
RPO constraint.

See Also
See example
UF_MODL_ask_rect_pad_parms
 
Required License(s)
solid_modeling

 
int UF_MODL_create_rect_pad
(
double location [ 3 ] ,
double direction [ 3 ] ,
double x_dir [ 3 ] ,
char * size [ 3 ] ,
char * radius,
char * angle,
tag_t face,
tag_t * feature_obj_id
)
doublelocation [ 3 ] InputRectangular pad location.
doubledirection [ 3 ] InputRectangular pad direction.
doublex_dir [ 3 ] InputRectangular pad x direction.
char *size [ 3 ] InputRectangular pad size.
char *radiusInputRectangular pad corner radius.
char *angleInputRectangular pad taper angle.
tag_tfaceInputFace for the RPO constraint (may be a datum plane).
tag_t *feature_obj_idOutputFeature object identifier of created rect. pad

 


 
UF_MODL_create_rect_pocket (view source)
 
Defined in: uf_modl_pockets.h
 
Overview
Creates a rectangular pocket feature using the location, direction, X
direction, size, corner radius, floor radius and taper angle. Along with
these items a placement face is needed to determine which face the
pocket is associated to. The output of this function is the object
identifier associated to the rectangular pocket.

Return
Return code:
= 0: successful
> 0: failing error number
< 0: failing error number

Environment
Internal and External

History
For V18.0, a datum plane may be input as the face defining the
RPO constraint.

See Also
See example
UF_MODL_ask_rect_pocket_parms
 
Required License(s)
solid_modeling

 
int UF_MODL_create_rect_pocket
(
double location [ 3 ] ,
double direction [ 3 ] ,
double x_dir [ 3 ] ,
char * len [ 3 ] ,
char * corner,
char * floor,
char * angle,
tag_t face,
tag_t * feature_obj_id
)
doublelocation [ 3 ] InputRectangular pocket location.
doubledirection [ 3 ] InputRectangular pocket direction.
doublex_dir [ 3 ] InputRectangular pocket x direction.
char *len [ 3 ] InputRectangular pocket size.
char *cornerInputRectangular pocket corner radius.
char *floorInputRectangular pocket floor radius.
char *angleInputRectangular pocket taper angle.
tag_tfaceInputFace for the RPO constraint (may be a datum plane).
tag_t *feature_obj_idOutputFeature object identifier of created rect. pocket

 


 
UF_MODL_create_rect_slot (view source)
 
Defined in: uf_modl_slots.h
 
Overview
Creates a rectangular slot feature using an origin, tool axis, slot
direction, length, width, and depth. One of two creation methods are
taken depending on whether you want a thru slot or not. If you want a
defined distance, then input the distance and placement face. Also,
set the value of face_t1 and face_t2 to zero. But, if you want to have
the slot thru from one face to another, then supply the placement face
and the two faces from which to measure the slot distance. The
output of this function is the object identifier associated to the
rectangular slot.

The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_rect_slot
(
double location [ 3 ] ,
double tool_axis [ 3 ] ,
double direction [ 3 ] ,
char * width,
char * depth,
char * distance,
tag_t face_li,
tag_t face_t1,
tag_t face_t2,
tag_t * feature_tag
)
doublelocation [ 3 ] InputRectangular slot location.
doubletool_axis [ 3 ] InputRectangular slot tool axis.
doubledirection [ 3 ] InputRectangular slot direction.
char *widthInputRectangular slot width.
char *depthInputRectangular slot depth.
char *distanceInputRectangular slot distance.
tag_tface_liInputFace for the RPO constraint.
tag_tface_t1InputFace for thru face 1.
tag_tface_t2InputFace for thru face 2.
tag_t *feature_tagOutputFeature object identifier of created rectangular slot

 


 
UF_MODL_create_rectangular_pattern_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function create rectangular patterns for a given set of faces.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_rectangular_pattern_face
(
UF_MODL_dfo_region_p_t region,
tag_t x_axis,
tag_t y_axis,
int num_x,
int num_y,
char * x_offset,
char * y_offset,
tag_t * feature_tag
)
UF_MODL_dfo_region_p_tregionInputregion
tag_tx_axisInputx-axis to define offset
tag_ty_axisInputy-axis
intnum_xInputnumber along XC
intnum_yInputnumber along YC, only for type==0
char *x_offsetInputoffset along XC
char *y_offsetInputoffset along YC
tag_t *feature_tagOutputthe new feature

 


 
UF_MODL_create_refit_face_feature (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates Refit Face feature from the Refit Face Open API data structure.
This will always create a new feature rather than modifying the parent feature.
This works like interactive NXwhen Preferences -> Modeling -> Free Form has
the Associative Freeform Editing option toggled to ON.

Environment
Internal and External

See Also
UF_MODL_edit_refit_face_feature
UF_MODL_ask_refit_face_feature_data
UF_MODL_free_refit_face_feature_data
 
Required License(s)
solid_modeling

 
int UF_MODL_create_refit_face_feature
(
UF_MODL_refit_face_data_p_t refit_data,
tag_p_t refit
)
UF_MODL_refit_face_data_p_trefit_dataInputRefit Face Open API data structure.
tag_p_trefitOutputRefit Face feature object identifier.

 


 
UF_MODL_create_relative_daxis (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Allows you to create relative datum axes. When the geometric objects
of the constraints and/or point types (for point constraints) are input,
the routine creates the appropriate datum axis.

Environment
Internal and External

See Also
UF_MODL_ask_feat_object
 
Required License(s)
solid_modeling

 
int UF_MODL_create_relative_daxis
(
int num_refs,
tag_t obj_eids [ 3 ] ,
int point_select [ 3 ] ,
tag_t * daxis_feid
)
intnum_refsInputnumber of constraints maximum number of three
tag_tobj_eids [ 3 ] Inputeids of the constraint objects maximum number of
three
intpoint_select [ 3 ] InputArray indicating to use edge constraint or point on
edge constraint if edge tag is supplied in obj_tags:
UF_MODL_EDGE
UF_MODL_MID_POINT
UF_MODL_END_POINT
UF_MODL_RIGHT_END_POINT start point of the edge
UF_MODL_LEFT_END_POINT end point of edge
tag_t *daxis_feidOutputFeature tag for the created datum axis, or
NULL_TAG if the datum axis was not created.

 


 
UF_MODL_create_relative_dplane (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Allows you to create relative datum planes based on the input
constraints. Refer to the table of available constraint types shown
below for the allowable combination of constraint types. If any of the
constraint geometry is an edge, then you must specify whether you are
using the edge or a point on the edge via the point_select parameter.
The which_plane argument determines which datum plane solutions
are returned. You can get up to two datum planes depending on the
specified constraints. The reference point is used to specify which
plane is returned first in the dplane_tag array. If you do not specify
this value, then the datum planes are returned in an arbitrary order.

When editing the Datum Plane created by this function an old style datum plane
dialog will be presented.

See the table of available constraint types
NOTE: A "Through Point" constraint can only be specified by putting an edge in
the object_tags array and an appropriate mid/end modifier in the
point_select array.

Environment
Internal and External

See Also
UF_MODL_ask_object_feat
 
Required License(s)
solid_modeling

 
int UF_MODL_create_relative_dplane
(
int num_refs,
tag_t object_tags [ 3 ] ,
int point_select [ 3 ] ,
int which_plane,
double reference_point [ 3 ] ,
char * angle_string,
char * offset_string,
int* num_dplanes,
tag_t dplane_tag [ 2 ]
)
intnum_refsInputNumber of constraint objects (<=3).
tag_tobject_tags [ 3 ] InputArray of constraint object tags (<=3). See the
table of "Available Constraint Types" for possible
constraint types.
intpoint_select [ 3 ] InputArray indicating to use edge constraint or point on
edge constraint if edge tag is supplied in obj_tags:
UF_MODL_EDGE
UF_MODL_MID_POINT
UF_MODL_END_POINT
UF_MODL_RIGHT_END_POINT start point of the edge
UF_MODL_LEFT_END_POINT end point of edge
intwhich_planeInputSolution number if more than one datum plane can
be constructed for the set of input constraints.

For the case where the first input object is a
CYL/REV/CONE/SPHERE and the second input object is a PLANE:
1. Two planes parallel to plane and tangent to the
face. The plane closest to the reference point is
returned first in the dplane_tag array.
2. Two planes perpendicular to plane and tangent
to the face. The plane closest to the reference
point is returned first in the dplane_tag array.
3. Plane through the face axis and angle to plane.
No reference point needed for this case.

For the case where the first input object is a CYL/REV
and the second input object is a CYL/REV/SPHERE:
(see Figure for examples)
1. Two planes where the tangency is on the "same
sides" of the faces. The plane closest to the
reference point is returned first in the
dplane_tag array.
2. Two planes where the tangency is on the
"opposite sides" of the faces. The plane closest
to the reference point is returned first in the
dplane_tag array.
3. Plane through both the face axes. No reference
point needed for this case.

For the case where the first input object is a CYL/REV/SPHERE
and the second input object is a POINT:
1. Two planes tangent to the face and through
point. The plane closest to the reference point
is returned first in the dplane_tag array.
doublereference_point [ 3 ] InputReference points used with which_plane flag. If
NULL, then the order of the datum planes in the
dplane_tag array is arbitrary.
char *angle_stringInputAngle parameter string.
char *offset_stringInputOffset parameter string.
int*num_dplanesOutputNumber of datum planes returned (<=2)
tag_tdplane_tag [ 2 ] OutputThe created datum plane(s). These are feature tags.

 


 
UF_MODL_create_reparam_sheet (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a single, bicubic, b-surface, sheet body that approximates a
four-sided region of several existing faces. The driver curves or
B-surface must lie inside the boundary of the target surfaces.
Basically, points on a "driver" surface are projected along some given
vector or along the driver surface normal vectors onto the "target"
faces (the ones being approximated). These projected points are then
used to construct the approximating sheet body. You can think of the
projection as a process of emitting a ray from each original point to
hit the target faces.

The accuracy of the approximated sheet body depends on the supplied
tolerances. See the section on tolerances for more information.
Projection Type, Vector, and Size Limit (tol[4])

If the proj_type is set to use driver surface normal, then you do not
need to supply any data for the projection vector (it is ignored if you
do). Otherwise, a projection vector must be specified.

When using surface normal projections, you may supply a tolerance
value (tol[4]). This value helps the algorithm decide which point on
the approximating faces to use if the faces bend around and the
emitted ray finds two intersection points. A value of zero causes the
system to default to 10 times the interior distance tolerance. If your
driver is far from the target (more than 10 times the tolerance), then
you should adjust the projection size limits.

Driver Type
Internally, the driver is always a b-surface. However, for
convenience, we allow you to select a mesh of curves, instead of a
surface. We just build a b-surface internally from this mesh of curves.
Therefore, when you use curves as drivers, they must satisfy all the
conditions required for building a curve-mesh free form.

The last driver type option, self-refit, provides a short-cut way to
approximate a single untrimmed b-surface. You might do this if you are
given a surface of high degree and you want to approximate it with a lower
degree surface (the reparameterize function always outputs bicubic surfaces,
i.e. surfaces of degree 3 in both the U and V directions).

Overlap Checking
If this option is set to "Yes," then the system checks for and tries to
handle overlapping faces. The system tries to intersect each ray with
all nearby faces, and finds the "uppermost" projection point. This can
be a time exhaustive process. If the overlap option is set to "No," the
algorithm assumes that each emitted ray can only hit one target face,
so it stops and proceeds to the next ray as soon as it finds a hit. This is
less time exhaustive if the target faces do not actually overlap, or if
they are close together in the regions where they do overlap.

Curves
The primary and cross curves are only necessary if you indicate the
driver type to be curves. The number of primary and cross curves must
be at least two and less than 50. The number of curves and the curve
tags are ignored if you specify a driver type other than curve. The
curves are going to be used to build a curve-mesh free form.
Therefore, each primary curve must intersect each of the cross curves
once and only once. If you suspect your curves are inappropriate, you
might want to build the curve-mesh free form body yourself before
using the reparameterize function.

If you have specified a driver type of face or self-refit, than specify
the appropriate face tag. Obviously, using an existing driver surface is
much more convenient than using the same set of driving curves over
and over again. So, if you are using the function repeatedly in a loop,
it might be worth constructing the b-surface sheet body to use as a driver.

Tolerances
This allows you to specify the tolerances to be used in the
approximation process. The algorithm actually starts out with a very
simple approximating surface (which is unlikely to be within
tolerance) and then gradually makes it more complex until it is able to
replicate the original shape to within the specified tolerances. Using
tighter tolerances produces a more complex result, and this consumes
storage space and slows down all subsequent operations. Therefore,
the tolerances you use should not be any tighter than they need to be.
We expect the algorithm to be used with distance tolerances of around
.039 to 0.195 inches (1 to 5 mm) and angular tolerances of 2 to 20
degrees. If you use tight angular tolerances on very wavy surfaces, the
algorithm generates huge number of patches. If you set both angular
tolerances to 90 degrees, then angular deviation in not even checked,
which greatly speeds up processing.

To achieve reasonable performance, the algorithm does not rigorously
check the deviation between the approximating face and the originals.
We actually just check a small array of points on each patch of the
approximating face. Experience has shown that this is a reasonable
way to estimate the actual error in practical cases, though one could
certainly construct pathological examples where this approach would fail.

Tighter tolerances may be specified at the edges to assure better
alignment with adjacent faces. Looser tolerances in the interior may
be specified to allow a simpler face to be created.

Target Faces
Faces can lie on a single body or on multiple bodies. Only face tags
may be used. This parameter is ignored if you specified the self-refit
option for driver type.

Output
The function returns the tag of the created sheet body and a flag
stating where the surface was able to meet tolerance. The tolerance
flag has no meaning if a body was not created. The face created is a
bicubic b-surface with double knots, which means it is C1 continuous

See glossary

In other words, the face is smooth, it does not have any sharp ridges
or cusps. The resulting body is not associative to the input data.

The sheet body may not reach tolerance if, during the approximation
process, one of the patches is found to be smaller in width or length
than the inside distance tolerance. This usually indicates a
perturbation or other anomaly in a region of one of the input faces.
You may wish to analyze the resulting face for deviations, validity, and
shape. The algorithm does not really make any attempt to preserve
the "character" of the input faces, it just tries to stay within tolerance.
Small features sometimes get smoothed away and extraneous wrinkles
may be introduced, especially in areas with tight curvature.

Tips and Techniques
The algorithm assumes that your input faces are reasonably clean. It is
designed to handle certain types of anomalies, such as small gaps
(up to approximately 1mm) overlaps, providing the overlapping faces are
roughly the same height, very thin faces (up to 0.1 mm wide) and duplicate
faces.

In all of the figures that follow in this tips and techniques section we show
a side view of the driver surface and target faces. The driver surface is
always shown above the target faces. However, the approximation process has
difficulties handling input data in which there are extraneous faces that are
at different heights from the desired face.



overlapping faces that are at different heights



faces that have not been properly trimmed back (for example, when filleted)



sharp ridges, where faces do not join smoothly



backdrafts and undercuts nearly vertical walls.





For simple shapes, with loose tolerances, a brute force approach, using
just four drive curves, might work okay. But taking some care in the
constructing drive curves is usually worth the extra effort. If your
target face includes feature lines like long ridges or valleys with
small radius of curvature in one direction, you should try to construct
driver curves that run roughly parallel to these. This makes it much
easier for the algorithm to achieve tolerance using a reasonably small
number of patches.

It may be a good idea to build several approximating faces, and then sew
them together, instead of trying to approximate the entire area with a
single face. This often produces less data and smaller models. One reason
for this is the natural patch structure for b-surfaces. The "seams" between
patches on a single surface must always run all the way across the surface,
from one edge to the opposite edge. This means that any complexity that gets
introduced into the surface in one area propagates across the entire
surface. If you approximate different regions separately, you can sew
the approximating face together into a sheet body.

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_reparam_sheet
(
int proj_type,
int drv_type,
int check_overlap,
int num_primary,
tag_t * prim_cvs,
int num_cross,
tag_t * cros_cvs,
double * proj_vec,
int num_fs,
tag_t * faces,
double tols [ 5 ] ,
tag_t * new_face,
int * tol_achieved
)
intproj_typeInputType of projection
0 = Use input vector
1 = Use driver surface normal
intdrv_typeInputType of drive
0 = Curves
1 = Face (B-surface type)
2 = Self-refit (B-surface type)
intcheck_overlapInputFlag for controlling the overlap checking
0 = No
1 = Yes
intnum_primaryInputNumber of primary curves
tag_t *prim_cvsInputObject identifiers of the primary curves (face object
identifier, if drv_typ != 0)
intnum_crossInputNumber of cross curves
tag_t *cros_cvsInputObject identifiers of the cross curves
double *proj_vecInputProjection vector
intnum_fsInputNumber of target faces
tag_t *facesInputObject identifiers of the target faces
doubletols [ 5 ] InputTolerances:
[0] = Distance tolerance in interior of surface
[1] = Angular tolerance (in degrees) in interior of
surface
[2] = Outside edge distance tolerance
[3] = Outside edge angular tolerance (in degrees)
[4] = Projection size limit (0 - if no limit)
tag_t *new_faceOutputObject identifier of the resultant face
int *tol_achievedOutputFlag indicating that the resultant face achieved the
tolerance requirements.
0 = No
1 = Yes

 


 
UF_MODL_create_replace_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function replaces the surface data of target faces with that of a tool face.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_replace_face
(
tag_t * target_faces,
int num_target,
tag_t * non_blend_faces,
int num_non_blend,
tag_t tool_face,
logical reverse_direction,
tag_t * feature_tag
)
tag_t *target_facesInputtarget faces
intnum_targetInputnumber of faces
tag_t *non_blend_facesInputadjacent tangent faces which are not blends
intnum_non_blendInputnumber of non-blend faces
tag_ttool_faceInputtool face
logicalreverse_directionInputreverse direction of the tool face or not
tag_t *feature_tagOutputfeature_tag created by the operation.

 


 
UF_MODL_create_resize_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function changes the size of a set of cylindrical/spherical/conic faces.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_resize_face
(
tag_t * target_faces,
int num_target,
tag_t * non_blend_faces,
int num_non_blend,
char * new_parameter,
tag_t * feature_tag
)
tag_t *target_facesInputfaces to be operated
intnum_targetInputnumber of faces
tag_t *non_blend_facesInputadjacent tangent faces which are not blends
intnum_non_blendInputnumber of non-blend faces
char *new_parameterInputnew diameter for cylindrical/spherical faces,
or half angle
tag_t *feature_tagOutputthe new feature

 


 
UF_MODL_create_reverse_normal (view source)
 
Defined in: uf_modl.h
 
Overview
Create a reverse normal feature. This will flip the normal on a sheet body.

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_reverse_normal
(
tag_t sheet_body_tag,
int option_flag,
tag_t * reverse_normal_tag
)
tag_tsheet_body_tagInputsheet body to be reversed
intoption_flagInput= 0 - do not allow multiple reverse normal
features on the sheet body
= 1 - allow multiple reverse normal features
on the sheet body
tag_t *reverse_normal_tagOutputidentifier for reverse normal feature

 


 
UF_MODL_create_revolution (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates a revolved feature.

Environment
Internal and External

See Also
UF_MODL_create_extrusion
Refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_revolution
(
tag_t * objects,
int object,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * limit [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
double axis_point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t * * features,
int* number_of_features
)
tag_t *objectsInputArray of objects or one section builder object tag
but not both, to be revolved
intobjectInputCount of objects
UF_MODL_SWEEP_TRIM_object_p_ttrim_dataInputPointer to structure for trimming
data
char *limit [ 2 ] InputLimit of revolution.
char *offsets [ 2 ] InputOffsets for open strings
doubleregion_point [ 3 ] InputPoint on region of object
logicalregion_specifiedInputTrue or False for region desired
logicalsolid_creationInputIf the body_type preference set by
UF_MODL_set_body_type_pref is
UF_MODL_SOLID_BODY, and
solid_creation is set to TRUE, then
UF_MODL_create_revolution creates solid
bodies if the input string is closed. Otherwise,
sheet bodies are the result.
doubleaxis_point [ 3 ] InputPoint of origin for axis direction vector
doubledirection [ 3 ] InputRevolution axis direction vector.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_t * *featuresOutput to UF_*free*Array of revolved feature tags. This must
be freed by calling UF_free.
int*number_of_featuresOutputNumber of features returned

 


 
UF_MODL_create_revolution1 (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates a revolved feature, and performs Boolean operation with given target
body.

Environment
Internal and External

See Also
UF_MODL_create_revolution

History
Originally released in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_revolution1
(
tag_t * objects,
int object,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * limit [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
double axis_point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
tag_t * * features,
int* number_of_features
)
tag_t *objectsInputArray of objects or one section builder object tag
but not both, to be revolved
intobjectInputCount of objects
UF_MODL_SWEEP_TRIM_object_p_ttrim_dataInputPointer to structure for trimming
data
char *limit [ 2 ] InputLimit of revolution.
char *offsets [ 2 ] InputOffsets for open strings
doubleregion_point [ 3 ] InputPoint on region of object
logicalregion_specifiedInputTrue or False for region desired
logicalsolid_creationInputIf the body_type preference set by
UF_MODL_set_body_type_pref is
UF_MODL_SOLID_BODY, and
solid_creation is set to TRUE, then
UF_MODL_create_revolution creates solid
bodies if the input string is closed. Otherwise,
sheet bodies are the result.
doubleaxis_point [ 3 ] InputPoint of origin for axis direction vector
doubledirection [ 3 ] InputRevolution axis direction vector.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_ttarget_bodyInputtarget body to perform Boolean operation
tag_t * *featuresOutput to UF_*free*Array of revolved feature tags. This must
be freed by calling UF_free.
int*number_of_featuresOutputNumber of features returned

 


 
UF_MODL_create_revolution_dir (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates a revolved feature. This function behaves like
UF_MODL_create_revolution, except the revolved point and direction are
determined by the direction of the input datum.

Environment
Internal and External

See Also
UF_MODL_create_revolution
 
Required License(s)
solid_modeling

 
int UF_MODL_create_revolution_dir
(
tag_t * objects,
int object,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * limit [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
tag_t datum_tag,
UF_FEATURE_SIGN sign,
tag_t * * features,
int* number_of_features
)
tag_t *objectsInputArray of objects or one section builder object tag
but not both, to be revolved
intobjectInputCount of objects
UF_MODL_SWEEP_TRIM_object_p_ttrim_dataInputPointer to structure for trimming data
char *limit [ 2 ] InputLimit of the revolution.
char *offsets [ 2 ] InputOffsets for open strings
doubleregion_point [ 3 ] InputPoint on region of object
logicalregion_specifiedInputTrue or False for region desired
logicalsolid_creationInputIf the body_type preference set by
UF_MODL_set_body_type_pref is UF_MODL_SOLID_BODY, and
solid_creation is set to TRUE, then
UF_MODL_create_revolution creates solid bodies if the
input string is closed. Otherwise, sheet bodies
are the result.
tag_tdatum_tagInputObject identifier of the datum which is to be used to determine
the direction of the revolve.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_t * *featuresOutput to UF_*free*Array of revolved feature tags. This must
be freed by calling UF_free.
int*number_of_featuresOutputNumber of features returned

 


 
UF_MODL_create_revolved (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates a solid of revolution.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_revolved
(
uf_list_p_t obj_id_list,
char * limit [ 2 ] ,
double point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
uf_list_p_t * feature_list
)
uf_list_p_tobj_id_listInputList of objects or one section builder object tag
but not both, to be revolved
char *limit [ 2 ] InputLimits of revolution. The declaration should be
limit[2], where limit[0] = start angle and limit[1] =
end angle. Angles are in degrees.
doublepoint [ 3 ] InputPoint
doubledirection [ 3 ] InputRevolution axis.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
uf_list_p_t *feature_listOutput to UF_*free*List of feature identifiers created. This
list must be freed by calling UF_MODL_delete_list.

 


 
UF_MODL_create_revolved1 (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates a solid of revolution, and performs Boolean operation with given
target body.

Environment
Internal and External

See Also
UF_MODL_create_revolved

History
Originally released in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_revolved1
(
uf_list_p_t obj_id_list,
char * limit [ 2 ] ,
double point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
uf_list_p_t * feature_list
)
uf_list_p_tobj_id_listInputList of objects or one section builder object tag
but not both, to be revolved
char *limit [ 2 ] InputLimits of revolution. The declaration should be
limit[2], where limit[0] = start angle and limit[1] =
end angle. Angles are in degrees.
doublepoint [ 3 ] InputPoint
doubledirection [ 3 ] InputRevolution axis.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_ttarget_bodyInputBoolean target
uf_list_p_t *feature_listOutput to UF_*free*List of feature identifiers created. This
list must be freed by calling UF_MODL_delete_list.

 


 
UF_MODL_create_ripedge (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Create a Edge Rip feature.

Environment
Internal and External

History
Released in NX3.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_ripedge
(
UF_MODL_ripedge_data_p_t ripedge_ufdata,
tag_t * ripedge_tag
)
UF_MODL_ripedge_data_p_tripedge_ufdataInputData supplied by the
user to create the
ripedge feature
tag_t *ripedge_tagOutputThe ripedge tag

 


 
UF_MODL_create_rough_offset (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
This function will create a rough offset feature.

Environment
Internal and External
See Also: UF_MODL_ask_rough_offset
UF_MODL_edit_rough_offset
UF_MODL_free_rough_offset

History
Released in V18.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_rough_offset
(
UF_MODL_rough_offset_p_t parms,
tag_t * feature_tag
)
UF_MODL_rough_offset_p_tparmsInputParameters for a
Rough Offset feature
tag_t *feature_tagOutputRough Offset Feature

 


 
UF_MODL_create_rpo_constraints (view source)
 
Defined in: uf_modl_ugopenint.h
 
Overview
Creates relative positioning constraints.

This function is for internal Open API mode only. Parameters
target_qualifier[] and tool_qualifier[] allow settings for
specifying which end point of an edge to use. Use
UF_MODL_ask_edge_verts to determine the order of the end points.

For features that are automatically booleaned into the target, this
function should only be called from within a rpo routine as
specified by UF_MODL_register_rpo_routine.

There are three constraint types that are present interactively that do
not appear in the constraint_array[ ]: Point Onto Point, Point Onto
Line, and Line Onto Line.

Point Onto Point - Can require one or two constraint types depending on
what you constrain. For example, to constrain a circular pad onto
a circular cylinder, use PARA_DIST_PARMS and set the constraint value to
"0.0". However, if you wish to constrain rectangular features you may need
to use HORZ_DIST_PARMS and VERT_DIST_PARMS and set both constraint values
to "0.0".

Point Onto Line - Use PERP_DIST_PARMS and set the constraint value to "0.0".

Line Onto Line - Use PARA_EDGE_PARMS and set the constraint value to "0.0"

When a target or tool edge is an arc, the position must be qualified as
either the arc center or the closest tangency point on the arc. When the
edge is not an arc, the position must be qualified as either the first or
last endpoint of the edge.

Some features can be positioned using the centerline of the feature.
You may use the centerline of a feature by passing in a NULL_TAG
as the tool edge. The centerline must be qualified as either the
horizontal or vertical centerline, using the first or last endpoint. The
following features allow the centerline to be used as a tool edge: Slot,
Groove, Rectangular Pad, Rectangular Pocket. The Groove feature
has only a vertical centerline.

Environment
Internal

See Also
UF_MODL_ask_edge_verts

History
In V13.0, the tangent2arc1 and tangent2arc2 parameters were
renamed to target_qualifier and tool_qualifier respectively and were
given string defined constants for values. The object_id_tool was
modified to accept a NULL_TAG for centerline.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_rpo_constraints
(
tag_t feature_obj_id,
tag_t horz_dir_obj_id,
tag_t vert_dir_obj_id,
tag_t obj_id_target [ ] ,
int target_qualifier [ ] ,
tag_t obj_id_tool [ ] ,
int tool_qualifier [ ] ,
char * constraint_value [ ] ,
char * constraint_array [ ] ,
int num_of_constrnts
)
tag_tfeature_obj_idInputFeature to be constrained
tag_thorz_dir_obj_idInputHorizontal direction.
tag_tvert_dir_obj_idInputVertical direction (if horz_dir_obj_id == 0).
tag_tobj_id_target [ ] InputArray of target edges.
inttarget_qualifier [ ] InputArray of flags used to qualify the position on each
target edge. Valid flags are:
UF_MODL_ARC_CENTER
UF_MODL_ARC_TANGENT
UF_MODL_ENDPOINT_1
UF_MODL_ENDPOINT_2
tag_tobj_id_tool [ ] InputArray of tool edges (NULL_TAG for centerline).
inttool_qualifier [ ] InputArray of flags used to qualify the position on each
tool edge. Valid flags are:
UF_MODL_ARC_CENTER
UF_MODL_ARC_TANGENT
UF_MODL_ENDPOINT_1
UF_MODL_ENDPOINT_2
UF_MODL_HORZ_CENTERLINE_PNT_1
UF_MODL_HORZ_CENTERLINE_PNT_2
UF_MODL_VERT_CENTERLINE_PNT_1
UF_MODL_VERT_CENTERLINE_PNT_2
char *constraint_value [ ] InputArray of constraint values.
char *constraint_array [ ] InputArray of constraint type:
"ANGL_EDGE_PARMS",
"HORZ_DIST_PARMS",
"VERT_DIST_PARMS",
"PARA_DIST_PARMS",
"PARA_EDGE_PARMS" ,
"PERP_DIST_PARMS"
intnum_of_constrntsInputNumber of constraints.

 


 
UF_MODL_create_ruled (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a feature by assigning one-to-one correspondence between
points on two selected curves and then connecting the corresponding
points by straight lines. The following restrictions apply:

1. The first segment curve of each section spine is a starting curve.
2. Point
a. Point object may be included but only as the one point of the
first section string.
b. Curve end point may be included but only as the one curve of
the first section string. s_section->dir[ ] indicates which end
point should be used.

The output of this function is the object identifier associated to the
feature.

Environment
Internal and External

See Also
UF_MODL_create_ruled1
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_create_ruled
(
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
int * alignment,
double value [ 6 ] ,
int * end_point,
int * body_type,
UF_FEATURE_SIGN boolean,
double tol [ 3 ] ,
tag_t * body_obj_id
)
UF_STRING_p_ts_sectionInputPointer to the section list structure.
int num Total number of section string
(min=2, max=2)
int string[ ] Total number of segment curves/
sketch identifier of each section
string
(min=1, max =402)
int dir[ ] Direction of each section string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of section curve or
the section builder object tags but not both
UF_STRING_p_ts_spineInputPointer to the spine list structure.
(for alignment = 5)
int num Total number of spine string
(min=0, max=1)
int string[ ] Total number of segment curves/
sketch identifier of each spine
string
(min=1, max=402)
int dir[ ] Direction of each spine string
1 : Start to end
-1 : End to start
tag_t id[ ] Identifier of spine curve or
the section builder object tags but not both
int *alignmentInputAlignment method:
1 = Parameter
2 = Arc length
3 = Distance
4 = Angles
5 = Spine curves
doublevalue [ 6 ] InputData for alignment method:
[0-2] = 3D vector defining direction line (for
alignment = 3)
[0-5] = 3D start and end coordinates of line
defining the axis of revolution for
planes (for alignment = 4)
int *end_pointInputCurve end point or point
0 = Do not use end point
1 = Curve/point of first section string
int *body_typeInputType of body:
0 = Sheet (Default)
1 = Solid
UF_FEATURE_SIGNbooleanInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
doubletol [ 3 ] InputTolerances:
[0] = Distance
[1] = Angle (in radians)
[2] = Intersection (not used)
tag_t *body_obj_idOutputBody object identifier

 


 
UF_MODL_create_ruled1 (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a feature by assigning one-to-one correspondence between points on two
selected curves and then connecting the corresponding points by straight lines.
This function behaves like UF_MODL_create_thru_curves with an extra input
for passing in the target body for the boolean operation.

If body_type is solid (1) and the sign of the operation to be performed is
not create, then the target body is required.

The following restrictions apply:

1. The first segment curve of each section spine is a starting curve.
2. Point
a. Point object may be included but only as the one point of the
first section string.
b. Curve end point may be included but only as the one curve of
the first section string. s_section->dir[ ] indicates which end
point should be used.

The output of this function is the object identifier associated to the
feature.

Environment
Internal and External

See Also
UF_MODL_create_ruled

History
Originally released in V16.0
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_create_ruled1
(
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
int * alignment,
double value [ 6 ] ,
int * end_point,
int * body_type,
UF_FEATURE_SIGN boolean,
tag_t target_body,
double tol [ 3 ] ,
tag_t * body_obj_id
)
UF_STRING_p_ts_sectionInputPointer to the section list structure.
int num Total number of section string
(min=2, max=2)
int string[ ] Total number of segment curves/
sketch identifier of each section
string
(min=1, max =402)
int dir[ ] Direction of each section string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of section curve or
the section builder object tags but not both
UF_STRING_p_ts_spineInputPointer to the spine list structure.
(for alignment = 5)
int num Total number of spine string
(min=0, max=1)
int string[ ] Total number of segment curves/
sketch identifier of each spine
string
(min=1, max=402)
int dir[ ] Direction of each spine string
1 : Start to end
-1 : End to start
tag_t id[ ] Identifier of spine curve or
the section builder object tags but not both
int *alignmentInputAlignment method:
1 = Parameter
2 = Arc length
3 = Distance
4 = Angles
5 = Spine curves
doublevalue [ 6 ] InputData for alignment method:
[0-2] = 3D vector defining direction line (for
alignment = 3)
[0-5] = 3D start and end coordinates of line
defining the axis of revolution for
planes (for alignment = 4)
int *end_pointInputCurve end point or point
0 = Do not use end point
1 = Curve/point of first section string
int *body_typeInputType of body:
0 = Sheet (Default)
1 = Solid
UF_FEATURE_SIGNbooleanInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_ttarget_bodyInputThe target body for the boolean operation
doubletol [ 3 ] InputTolerances:
[0] = Distance
[1] = Angle (in radians)
[2] = Intersection (not used)
tag_t *body_obj_idOutputBody object identifier

 


 
UF_MODL_create_scale (view source)
 
Defined in: uf_modl.h
 
Overview
This function will create scale features.

Environment
Internal and External

See Also
UF_MODL_edit_scale

History
Released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_scale
(
UF_SCALE_TYPE_t type,
tag_t * body_tags,
int num_body_tags,
tag_t so_point,
tag_t so_dir,
tag_t so_csys,
char factors [ 3 ] [ UF_MAX_EXP_BUFSIZE ] ,
tag_t * * tags
)
UF_SCALE_TYPE_ttypeInputThe type of scale feature to create:
UF_SCALE_TYPE_UNIFORM
UF_SCALE_TYPE_AXISYMMETRIC
UF_SCALE_TYPE_GENERAL
tag_t *body_tagsInputAn array of tags which contains the bodies to be scaled
intnum_body_tagsInputThe number of body tags
tag_tso_pointInputThis is the tag of a smart point to use as the
origin of the scale feature. If a NULL_TAG is
passed, the default origin will be the origin of
the WCS. This argument is ignored for
UF_SCALE_TYPE_GENERAL scale features.
tag_tso_dirInputThis is a tag of a smart point to be used as the direction
of the scale for a UF_SCALE_TYPE_AXISYMMETRIC scale
feature. It is ignored for all other scale features. If
a NULL_TAG is passed for an axisymmetric scale feature,
then the default will be the Z-axis of the WCS.
tag_tso_csysInputThis is the tag of a smart CSYS to be used for a
UF_SCALE_TYPE_GENERAL scale feature. This parameter is
ignored for all other scale features. If a NULL_TAG is
passed for a general scale feature, then the default will
be the WCS.
charfactors [ 3 ] [ UF_MAX_EXP_BUFSIZE ] InputAn array of strings that define the
scale factors. These scale factors
may include expressions. For a
uniform scale feature, there is only
one string to use as a scale factor.
For an axisymmetric scale feature,
two factor strings must
be passed in, the first being the
scale factor along the axis, and the
second being the scale factor in the
other direction. For a general
scale feature, there will be three
strings passed in this array, the
first being the scale in the x-axis,
the second being the scale in the
y-axis and the third being the scale
in the z-axis.
tag_t * *tagsOutput to UF_*free*This is an array of tags for the scale features
created. There will be one scale feature for each body
passed in.This array must be freed by calling UF_free.

 


 
UF_MODL_create_section_surface (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a section surface feature from the section surface Open
API data structure.

Environment
Internal and External

See Also
UF_MODL_init_section_surface
UF_MODL_ask_section_surface
UF_MODL_edit_section_surface
See the section surface data structures
See example

History
V15.0 changes: The UF_MODL_secsrf_data_t structure was enhanced.
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_create_section_surface
(
UF_MODL_secsrf_data_p_t section_surface_data,
tag_p_t section_surface
)
UF_MODL_secsrf_data_p_tsection_surface_dataInputSection Surface Open API Data
Structure
tag_p_tsection_surfaceOutputSection Surface Feature object identifier.

 


 
UF_MODL_create_set_of_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Create a feature set. If some member features are non-brwoseable, the non-browseable features
will be filtered out.

Environment
Internal and External

History
Released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_set_of_feature
(
char * name,
tag_t * features,
int number_of_feature,
int hide_state,
tag_t * feature
)
char *nameInputName of feature set
tag_t *featuresInputArray of feature tags representing the
members of the feature set
intnumber_of_featureInputNumber of features in array
inthide_stateInputHide state of feature set TRUE/FALSE
tag_t *featureOutputTag of feature set

 


 
UF_MODL_create_sew (view source)
 
Defined in: uf_modl.h
 
Overview
Sews sheet bodies or faces of solid bodies together. When sewing solids, the
arrays targets and tools contain the faces from the target and tool bodies. The
faces from one body must match in geometry with the faces from the other body.
It is important to understand the interactive functionality in NX before trying
to use this function.

Environment
Internal and External

See Also
UF_MODL_create_multiple_sews
UF_MODL_ask_sew_sheet_body
UF_MODL_edit_sew_sheet_body
UF_MODL_ask_sew_solid_body
UF_MODL_edit_sew_solid_body
 
Required License(s)
solid_modeling

 
int UF_MODL_create_sew
(
int option,
int num_targets,
tag_t targets [ ] ,
int num_tools,
tag_t tools [ ] ,
double tolerance,
int type_body,
uf_list_p_t * disjoint_list,
tag_t * sew_id
)
intoptionInputOption flag:
0 = Sew general
1 = Sew all instances
intnum_targetsInputSize of the targets array
tag_ttargets [ ] InputArray of target tags ( sheet body when type_body = 0
or face(s) from a solid body when type_body = 1 ).
intnum_toolsInputSize of the tool array
tag_ttools [ ] InputArray of tool tags ( sheet body when type_body = 0
or face(s) from a solid body when type_body = 1 ).
doubletoleranceInputTolerance value
inttype_bodyInputType of body:
0 = Sheet (default)
1 = Solid
uf_list_p_t *disjoint_listOutput to UF_*free*List contains disjoint sheets from the target.
This list must be freed by calling
UF_MODL_delete_list.
tag_t *sew_idOutputThe sew feature that was created.

 


 
UF_MODL_create_silhouette_flange (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates Silhouette Flange feature from the Silhouette Flange Open API data structure.

Environment
Internal and External

See Also
UF_MODL_edit_silhouette_flange
UF_MODL_ask_silhouette_flange
UF_MODL_free_silhouette_flange

History
First released in NX3
 
Required License(s)
solid_modeling

 
int UF_MODL_create_silhouette_flange
(
UF_MODL_sflange_data_p_t sflange_data,
tag_t * sflange_tag
)
UF_MODL_sflange_data_p_tsflange_dataInputSilhouette Flange Open API
data structure.
tag_t *sflange_tagOutputSilhouette Flange feature
object identifier.

 


 
UF_MODL_create_silhouette_flange_pipe (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates Pipe of Silhouette Flange from the Silhouette Flange Open API data structure.

Environment
Internal and External

See Also
UF_MODL_edit_silhouette_flange
UF_MODL_ask_silhouette_flange
UF_MODL_free_silhouette_flange

History
First released in NX3
 
Required License(s)
solid_modeling

 
int UF_MODL_create_silhouette_flange_pipe
(
UF_MODL_sflange_data_p_t sflange_data,
tag_t * centerline_tag
)
UF_MODL_sflange_data_p_tsflange_dataInputSilhouette Flange Open API
data structure.
tag_t *centerline_tagOutputCenterline curve object identifier
of the pipe of Silhouette Flange.

 


 
UF_MODL_create_simple_hole (view source)
 
Defined in: uf_modl_holes.h
 
Overview
Creates a simple hole. The Origin indicates where the center of the
simple hole is located on the link-face. Interactively, this is the face
chosen to place the hole in, and the location of the pick is used as the
origin. In Open API, this information is input by the user. The
Diameter, Depth and Tip Angle control the sizing of the hole. The
Direction Vector has to be perpendicular to the link-face, opposite
the face normal. If a thru face is indicated, then the depth is ignored.
The output of this function is the object identifier associated to the
simple hole.

The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_simple_hole
(
double location [ 3 ] ,
double direction [ 3 ] ,
const char * diame,
const char * depth,
const char * angle,
tag_t face_li,
tag_t face_t1,
tag_t * feature_obj_id
)
doublelocation [ 3 ] InputHole location.
doubledirection [ 3 ] InputHole direction.
const char *diameInputHole diameter.
const char *depthInputHole depth.
const char *angleInputHole tip angle.
tag_tface_liInputFace for the RPO constraint.
tag_tface_t1InputFace for thru face.
tag_t *feature_obj_idOutputFeature object identifier of created simple hole

 


 
UF_MODL_create_simplified_curve (view source)
 
Defined in: uf_modl_curves.h
 
Overview
This routine is to be obsoleted in the near future. Please use its
replacement function UF_CURVE_create_simplified_curve.

Returns an array of line and arc identifiers which approximates curves
and edges. The tolerance parameter determines the maximum
distance between a curve or edge and its approximated arc segments.
NOTE: The size of the segments array depends on the input
parameters curve_count, tolerance, and the complexity of the
individual curves being simplified. For curves that have a lot of
curvature change, it may take a lot of arcs and lines to approximate
them.

Environment
Internal and External

See Also
UF_CURVE_create_simplified_curve
 
Required License(s)
( solid_modeling  or  drafting )

 
int UF_MODL_create_simplified_curve
(
int curve_count,
tag_t * curves,
double tolerance,
int * segment_count,
tag_t * segments
)
intcurve_countInputCount of curves and edges (512 maximum).
tag_t *curvesInputArray of curve and edge identifiers. This should be
declared as tag_t curves[curve_count].
doubletoleranceInputMaximum distance from arc segment to curve.
int *segment_countOutputCount of lines and arcs.
tag_t *segmentsOutputArray of line and arc identifiers.

 


 
UF_MODL_create_simplify (view source)
 
Defined in: uf_modl_simplify.h
 
Overview
Create a simplify feature according to the specified data. The part
containing the body on which the feature is being applied will be fully
loaded if necessary. <n_retained_faces> gives the number of faces on the
body after the simplify has been applied, <n_removed_faces> gives the
number of faces on the body removed when the simplify is applied. If the
feature cannot be created because one or more faces could not be removed,
the ifail UF_MODL_SIMPL_HEAL_FAILED is returned, and the array
<failing_wound_edges> will contain the tags of the edges which could not be
healed. UF_MODL_SIMPL_HEAL_FAILED is also returned if the simplified body
would have been invalid, in which case <n_failing_wound_edges> will be 0. If
this or another ifail is returned, the feature is not created, and
<feature_tag> will be NULL_TAG.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_simplify
(
UF_MODL_simpl_data_p_t simpl_parms,
tag_t * feature_tag,
int * n_failing_wound_edges,
tag_t * * failing_wound_edges,
int * n_retained_faces,
int * n_removed_faces
)
UF_MODL_simpl_data_p_tsimpl_parmsInputParameters of the new simplify feature
tag_t *feature_tagOutputThe feature created
int *n_failing_wound_edgesOutputNumber of edges of failing wounds
tag_t * *failing_wound_edgesOutput to UF_*free*Array of edges of failing wounds. This must
be freed by calling UF_free.
int *n_retained_facesOutputNumber of faces retained on the body
int *n_removed_facesOutputNumber of faces removed from the body

 


 
UF_MODL_create_smbend (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Creates a smbend feature.

Environment
Internal and External

Return
Return code:
= 0 No error
= not 0 Error code

History
Originally released in V17.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_smbend
(
UF_MODL_smbend_data_p_t user_data,
tag_p_t bend_tag
)
UF_MODL_smbend_data_p_tuser_dataInputData supplied by the user
to define the feature
tag_p_tbend_tagOutputthe tag of the new bend
feature that was created

 


 
UF_MODL_create_smbend_corner (view source)
 
Defined in: uf_modl_smd.h
 
Overview
This procedure uses data from the user to create a new smbend feature
from a converted corner.

Return
Return code:
= 0 No Error
= not 0 Error code

Environment
External

History
Originally released in V17.0.3
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_smbend_corner
(
UF_MODL_smbend_corner_data_p_t user_data,
tag_p_t bend_tag
)
UF_MODL_smbend_corner_data_p_tuser_dataInputUF data supplied by user
to define the feature
tag_p_tbend_tagOutputthe tag of the new bend
feature that was created

 


 
UF_MODL_create_smbend_cylinder (view source)
 
Defined in: uf_modl_smd.h
 
Overview
This procedure uses data from the user to create a new smbend feature
from a converted cylindrical face.

Return
Return code:
= 0 No Error
= not 0 Error code

Environment
External

History
Originally released in V17.0.3
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_smbend_cylinder
(
UF_MODL_smbend_cylinder_data_p_t user_data,
tag_p_t bend_tag
)
UF_MODL_smbend_cylinder_data_p_tuser_dataInputUF data supplied by user
to define the feature
tag_p_tbend_tagOutputthe tag of the new bend
feature that was created

 


 
UF_MODL_create_smbracket (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Creates a sheet metal bracket (SMBRACKET).

Environment
Internal and External

History
Original release was in V16.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_smbracket
(
UF_MODL_smbracket_data_p_t user_data,
tag_t * bracket_body_tag
)
UF_MODL_smbracket_data_p_tuser_dataInputsmbracket Open API Data
Structure
tag_t *bracket_body_tagInput / OutputIf set to NULL_TAG, tag of the created
bracket body is returned.
If set to tag of the target body,
bracket is created and united with the
target body. It returns the tag of the
target body.

 


 
UF_MODL_create_smcorner (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Create a SMCorner feature.

Environment
Internal and External

History
Released in NX3.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_smcorner
(
UF_MODL_smcorner_data_p_t smcorner_ufdata,
tag_t * smcorner_tag
)
UF_MODL_smcorner_data_p_tsmcorner_ufdataInputData supplied by the
user to create the
smcorner feature
tag_t *smcorner_tagOutputThe smcorner tag

 


 
UF_MODL_create_smcutout (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Creates a sheet metal cutout (SMCUTOUT) feature by providing its placement
face, outline curves, and projection direction. The output of this function
is the object identifier of the SMCutout feature.

Environment
Internal and External

See Also
UF_MODL_smcutout_data_p_t

History
Original release was in V15.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_smcutout
(
UF_MODL_smcutout_data_p_t user_data,
tag_p_t cutout_tag
)
UF_MODL_smcutout_data_p_tuser_dataInputData needed to create cutout
tag_p_tcutout_tagOutputTag of cutout created

 


 
UF_MODL_create_smd_flange (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Generates a Sheet Metal Design flange feature. It differs from the
existing UF_MODL_create_flange in that it provides the ability to
independently taper the bend and web areas of the feature and you
can create Miter and Butt joints also. Negative bend angle is no more
allowed as a way to change the bend direction of the Flange. Parameter
'reverse_direction' of structure UF_MODL_flange_data_t should be used to
change the direction of the Flange.

Environment
Internal and External
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_smd_flange
(
tag_t attach_face,
tag_t reference_edge,
double position [ 3 ] ,
double xdirection [ 3 ] ,
double zdirection [ 3 ] ,
UF_MODL_flange_data_p_t flange_data,
tag_p_t feature_tag
)
tag_tattach_faceInputAttachment face of target body.
tag_treference_edgeInputHorizontal edge reference of target body. This should
lie on the attachment face of the Flange, else an error
will be returned.
doubleposition [ 3 ] InputNOT USED. Origin of flange feature will be found
automatically.
doublexdirection [ 3 ] InputNOT USED. Direction of flange along the width of the
bend will be derived automatically.
doublezdirection [ 3 ] InputNOT USED. Normal of attachment/link face will be found
automatically.
UF_MODL_flange_data_p_tflange_dataInputStructure which defines the size and shape
of the flange feature. This is expanded to
include the parameters for Miter and Butt
joints also.
tag_p_tfeature_tagOutputObject identifier of the flange feature.

 


 
UF_MODL_create_smhole (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Creates a sheet metal hole.

Environment
Internal and External

See Also
UF_MODL_smhole_data_p_t

History
Original release was in V14.0.
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_smhole
(
UF_MODL_smhole_data_p_t user_data,
tag_p_t hole_tag
)
UF_MODL_smhole_data_p_tuser_dataInputPointer to a UF_MODL_smhole_data_s
data structure
tag_p_thole_tagOutputPointer to the tag of the SMHole that gets
created

 


 
UF_MODL_create_smjoggle (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Creates a Sheet Metal Joggle from input joggle data structure.

Environment
Internal and External

History
Original release was in V16.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_smjoggle
(
UF_MODL_smjoggle_data_p_t joggle_data,
tag_t * joggle
)
UF_MODL_smjoggle_data_p_tjoggle_dataInputJoggle data structure
tag_t *joggleOutputTag of the body created

 


 
UF_MODL_create_smpunch (view source)
 
Defined in: uf_modl_smd.h
 
Overview
This procedure creates an SMPunch feature.

Environment
Internal and External

See Also
UF_MODL_edit_smpunch
UF_MODL_ask_smpunch

History
Originally released in V16.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_smpunch
(
UF_MODL_smpunch_data_p_t user_data,
tag_p_t punch_tag
)
UF_MODL_smpunch_data_p_tuser_dataInputData describing the punch to be
created.
tag_p_tpunch_tagOutputObject identifier of the created punch.

 


 
UF_MODL_create_smrelief (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Creates a sheet metal relief (SMRELIEF).

Environment
Internal and External

History
Original release was in V16.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_smrelief
(
UF_MODL_smrelief_data_p_t user_data
)
UF_MODL_smrelief_data_p_tuser_dataInputsmrelief Open API Data
Structure

 


 
UF_MODL_create_smslot (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Creates a sheet metal slot.

Environment
Internal and External

See Also
UF_MODL_smslot_data_p_t

History
Original release was in V14.0.
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_smslot
(
UF_MODL_smslot_data_p_t user_data,
tag_p_t slot_tag
)
UF_MODL_smslot_data_p_tuser_dataInputPointer to a UF_MODL_smslot_data_s
data structure
tag_p_tslot_tagOutputPointer to the tag of the SMSlot that gets
created

 


 
UF_MODL_create_snip_surface_feature (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a Snip Surface Feature using the Snip surface Open API data structure.
Make sure the following items are initialized properly:
usr_data->edit_face != 0
usr_data->project_method <= 3
usr_data->refit_method <= 3
usr_data->refit_degree > 0
usr_data->refit_degree < 25
usr_data->refit_patches > 0
usr_data->refit_patches < 1000

Minimum five parameters are required to be specified as follows:
1.Edit face
2.One of the types of bounding objects
3.Type of operation (snipping or divide)
4.Region point
5.Surface refitting method

Environment
Internal and External

See Also
UF_MODL_create_snip_surface_feature
UF_MODL_ask_snip_surface_feature_data
UF_MODL_free_snip_surface_feature_data

History
First released in NX2
 
Required License(s)
solid_modeling

 
int UF_MODL_create_snip_surface_feature
(
UF_MODL_snipsrf_feature_data_p_t usr_data,
tag_p_t snip_tag
)
UF_MODL_snipsrf_feature_data_p_tusr_dataInput
tag_p_tsnip_tagOutput

 


 
UF_MODL_create_solid_punch (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Create a Solid Punch feature.

Return
Return code :

Environment
Internal and External

History
Released in NX2.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_create_solid_punch
(
UF_MODL_solid_punch_data_p_t smspunch_ufdata,
tag_t * smspunch_tag
)
UF_MODL_solid_punch_data_p_tsmspunch_ufdataInputData supplied by the
user to create the
solid punch feature
tag_t *smspunch_tagOutputThe solid punch tag

 


 
UF_MODL_create_sphere (view source)
 
Defined in: uf_modl_primitives.h
 
Overview
Create a solid sphere.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_sphere
(
UF_FEATURE_SIGN sign,
tag_t targ_tag,
double center [ 3 ] ,
char * diam,
tag_t * sphere_tag
)
UF_FEATURE_SIGNsignInputSign of primitive
tag_ttarg_tagInputTarget body (if needed)
doublecenter [ 3 ] InputSphere center
char *diamInputSphere diameter
tag_t *sphere_tagOutputSphere feature tag

 


 
UF_MODL_create_sphere1 (view source)
 
Defined in: uf_modl_primitives.h
 
Overview
Creates a sphere. The Origin indicates the center of the sphere. The
Diameter controls the size, and the sign parameter controls the
boolean operation performed. The output of this function is the feature
tag associated to the sphere.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_sphere1
(
UF_FEATURE_SIGN sign,
double center [ 3 ] ,
char * diam,
tag_t * sphere_obj_id
)
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
doublecenter [ 3 ] InputCenter of sphere to be created.
char *diamInputDiameter of sphere to be created.
tag_t *sphere_obj_idOutputFeature tag of created sphere.

 


 
UF_MODL_create_spline (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Creates a spline. The periodic status of the curve is inherited from the
defining data. If the curve is not periodic on input, but can be made
periodic, the resulting curve is made C1 periodic.

Tips and Techniques
This routine takes standard NURB (nonuniform rational B-spline) data as input.
The poles are ordered quadruplets consisting of the ABS coordinates and a
weight . As a general guideline, let all of the weights = 1.0. For the knot
sequence values:
Let u1, ..., uorder = 0.0
Let upoles+1, ..., upoles+order = 1.0

This sets the beginning four sequence values to 0.0 and the last four
sequence values to 1.0 when the order is four. For the other sequence
values, let nu = 1/(poles-order+1). Then the remaining normalized
sequence values would be:

uorder+1 = 1nu, uorder+2 = 2nu, ..., upoles =(poles-order)nu.

For example, suppose we have 8 poles and order = 4, then:
nu = 1/(8-4+1) = 0.2 and
u1, ..., uorder = u1, ..., u4 = 0.0,
upoles+1, ..., upoles+order = u9, ..., u12 = 1.0,
u5 = .2, u6 = .4, u7 = .6, u8 = .8 which gives us the following
normalized, non-decreasing knot sequence:

{ 0,0,0,0,.2,.4,.6,.8,1,1,1,1 }.

Environment
Internal and External

See Also
For the glossary definition Please see glossary
For a detailed description of splines and reference materials see
splines
See example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_spline
(
int nc,
int kc,
double knot [ ] ,
double poles [ ] ,
tag_t * spline_id,
int * knot_fixup,
int * pole_fixup
)
intncInputNumber of control vertices (poles)
intkcInputOrder (degree + 1)
doubleknot [ ] InputKnot sequence (dimensioned to poles + order, e.g.
knot[nc + kc]
doublepoles [ ] InputArray homogeneous control vertices (wx,wy,wz,w)
- dimensioned to (poles 4), e.g. poles[nc 4]
tag_t *spline_idOutputobject identifier for the spline
int *knot_fixupOutputKnot fixup status
0 = no fixups performed
1 = knot sequence fixed
int *pole_fixupOutputPole fixup status
0 = no fixups performed
1 = pole array fixed

 


 
UF_MODL_create_string_list (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Creates a string list structure. The output of this function is a pointer
to the string list structure.

Example:
UF_MODL_create_string_list call setup
UF_STRING_t guide;
UF_STRING_p_t gu = &guide;
UF_MODL_create_string_list( 3, 50, gu );
Creates 3 guides containing 50 entities

Return
void

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
gateway

 
void UF_MODL_create_string_list
(
int num_string,
int num_object,
UF_STRING_p_t string_list1
)
intnum_stringInputNumber of strings
intnum_objectInputNumber of object
UF_STRING_p_tstring_list1Input / Output to UF_*free*The caller passes in a pointer to an already
allocated UF_STRING_t structure, and this
routine allocates space for the arrays in the
structure. The arrays allocated inside of this
structure must be freed by calling
UF_MODL_free_string_list.

 


 
UF_MODL_create_stycorner (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates an Styled Corner Surface Feature using its NX Open API data structure.

Environment
Internal and External

See Also
UF_MODL_create_stycorner
UF_MODL_edit_stycorner
UF_MODL_ask_stycorner_data
UF_MODL_init_stycorner_data

History
First released in NX3
 
Required License(s)
solid_modeling

 
int UF_MODL_create_stycorner
(
UF_MODL_stycorner_data_p_t styled_corner_data,
tag_t * frec_tag
)
UF_MODL_stycorner_data_p_tstyled_corner_dataInputStyled corner NX Open
API data structure.
tag_t *frec_tagOutputthe object identifier to be created

 


 
UF_MODL_create_styled_sweep_feature (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates Styled Sweep feature from the Styled Sweep Open API data structure.

Environment
Internal and External

See Also
UF_MODL_edit_styled_sweep_feature
UF_MODL_ask_styled_sweep_feature_data
UF_MODL_free_styled_sweep_feature_data
 
Required License(s)
solid_modeling

 
int UF_MODL_create_styled_sweep_feature
(
UF_MODL_styled_sweep_data_p_t styled_sweep_data,
tag_p_t styswp
)
UF_MODL_styled_sweep_data_p_tstyled_sweep_dataInputStyled Sweep Open API data structure.
tag_p_tstyswpOutputStyled Sweep feature object identifier.

 


 
UF_MODL_create_subdiv_face (view source)
 
Defined in: uf_modl.h
 
Overview
Creates a subdivided face feature. The output of this function is the
object identifier associated to the subdivide face.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_subdiv_face
(
const tag_t* curve_refs,
const int count,
const tag_t face,
const int proj_type,
const double vector [ 3 ] ,
tag_t * feature_obj_id
)
const tag_t*curve_refsInputArray of curves to subdivide the face with
const intcountInputNumber of curves in curve_refs
const tag_tfaceInputFace object identifier
const intproj_typeInputProjection type
1 = Along surface normal
2 = Along vector (Not implemented yet)
const doublevector [ 3 ] InputProjection vector if projection type = 2 (Not used)
tag_t *feature_obj_idOutputFeature object identifier of created subdivide face

 


 
UF_MODL_create_surf_from_cloud (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a B-surface using a list of existing points. The points may
appear in any order. There must be enough points to define a surface
with the requested degree and patches and the points should cover the
area inside the specified boundaries.

The boundaries of the surface, projected onto the specified X-Y
plane, form a quadrilateral. The boundaries can be specified by the
optional bnd_corners parameter. These points, projected onto the
X-Y plane of the specified coordinate system must form a convex
quadrilateral.

The order of the points determine the U and V directions of the
resulting surface.

If the pointer to bnd_corners is NULL, the boundaries are the
smallest rectangle that encloses the cloud points in the specified X-Y
plane. The U direction of the surface is aligned with the X direction
and the V direction of the surface is aligned with the Y direction.
The X-Y plane may be specified by the optional csys_matrix
parameter. If csys_matrix is NULL, the absolute X-Y plane is used.
In all cases the Z direction is assumed to be approximately normal to
the surface and the surface must not be ambiguous when viewed from
this direction.

Normals Z1, Z2, Z3, and other acceptable vectors all produce the
same best fit surface. However, Zn produces a dramatically different
surface. Other incorrect vectors produces different results, none
acceptable. The system cannot detect when this condition occurs.

Environment
Internal and External

See Also
please refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_surf_from_cloud
(
int point_cnt,
double cloud [ ] [ 3 ] ,
double csys_matrix [ 2 ] [ 3 ] ,
double bnd_corners [ 4 ] [ 3 ] ,
int U_degree,
int V_degree,
int U_patches,
int V_patches,
int corner_switch,
double * average_error,
double * max_error,
int * max_error_index,
tag_t * surface_tag
)
intpoint_cntInputNumber of points in the cloud array.
doublecloud [ ] [ 3 ] InputArray of points [point_cnt][3]. The points may
appear in any order. There must be enough points
to define a surface of the requested order an they
should cover the area within the boundaries
specified below. The points should not represent a
surface that is ambiguous in the surface normal
direction.
doublecsys_matrix [ 2 ] [ 3 ] InputOrientation - X-Y vectors, the U-V directions of
the surface correspond to these X-Y vectors. The
surface must be unambiguous in the Z direction. If
this pointer is NULL, the absolute X-Y-Z of the
data is used.
doublebnd_corners [ 4 ] [ 3 ] InputBoundary corners - 4 points specifying the corners
of the surface. The resulting surface boundaries,
projected onto the X-Y plane, specified above,
forms a quadrilateral with corners at the projection
of these points onto that plane. The U direction of
the surface lie in a direction approximately aligned
with the 1st and 3rd line segments and the V
direction aligned with the 2n and 4th. If this
pointer is NULL, the quadrilateral is the max-min
box of the input data in the specified X-Y plane.
intU_degreeInputDesired degree of the resulting surface in the U
direction. Valid values are 1 through 24.
intV_degreeInputDesired degree of the resulting surface in the V
direction. Valid values are 1 through 24.
intU_patchesInputNumber of patches desired in the U direction of the
resulting surface.
intV_patchesInputNumber of patches desired in the V direction of the
resulting surface.
intcorner_switchInputCurrently unused.
double *average_errorOutputThe average distance, in the Z direction, between
all input points and the resulting surface.
double *max_errorOutputThe maximum distance, in the Z direction, between
all input points and the resulting surface.
int *max_error_indexOutputThe sequence number, within the cloud array, of
the point where the maximum error (max_error)
occurred.
tag_t *surface_tagOutputObject identifier for the resulting surface.

 


 
UF_MODL_create_sweep (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a freeform sweep feature. The first segment curve of each guide/section/spine
is a starting curve. The output of this function is the object identifier
associated to the sweep. Use UF_MODL_init_string_list and
UF_MODL_create_string_list to create input strings. Use UF_MODL_free_string_list
to free memory once this routine has been called, and the string list is no
longer needed.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_sweep
(
UF_STRING_p_t s_guide,
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
UF_METHOD_p_t orientation,
UF_METHOD_p_t scaling,
int * alignment,
int * inter,
int * body_type,
UF_FEATURE_SIGN boolean,
double tol [ 3 ] ,
tag_t * body_obj_id
)
UF_STRING_p_ts_guideInputPointer to the guide list structure.
int num Total number of guide strings
(min=1, max=3)
int string[ ] Total number of segment curves/
sketch identifier of each guide
string
(min=1, max =402)
int dir[ ] Direction of each guide string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of guide curve
UF_STRING_p_ts_sectionInputPointer to the section list structure.
int num Total number of section strings
(min=1, max=150)
int string[ ] Total number of segment curves/
sketch/face of each section string
(min=1, max=402)
int dir[ ] Direction of each section string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of section curve
UF_STRING_p_ts_spineInputPointer to the spine list structure.
int num Total number of section strings
(min=0, max=1)
int string[ ] Total number of segment curves/
sketch/face of each section string
(min=1, max=402)
int dir[ ] Direction of each section string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of spine curve
UF_METHOD_p_torientationInputPointer to the orientation list structure.
int method Orientation method
(for s_guide-> num = 1)
1 = Face normals
2 = Vector direction
3 = Another curve
4 = Fixed (parallel sweep)
5 = A point
6 = Angular law
7 = Forced direction
int inter NOT USED
tag_t id Base surface
(for orientation->method =1)
Datum axis
(for orientation->method = 2,7)
double value[3] Orientation 3D vector
(for orientation->method = 2,7)
Orientation 3D point
(for orientation->method = 5)
Law Function Value
(for orientation->method=6)
[0] = Angle law function offset
[1] = Angle law function scale
UF_STRING_p_t s_curve Pointer to curve
structure list (for orientation->method = 3 or 6)
UF_METHOD_p_tscalingInputPointer to the scaling list structure.
int method Scaling method
(for s_guide-> num = 1)
1 = Constant scale
2 = Blended
3 = Another curve
4 = A point
5 = Area law
(for s_guide-> num = 2)
6 = Scale laterally
7 = Scale uniformly
int inter Scale blended interpolation
(for scaling->method = 2)
tag_t id NOT USED
double value[3] Scale values
[0] = Scale factor
(for scaling->method = 1)
[0-1] = Scale range
(for scaling->method = 2)
[0-2] = 3D absolute point
(for scaling->method = 4)
Law Function Value
(for scaling->method=5)
[0] = Area law function offset
[1] = Area law function scale
UF_STRING_p_t s_curve Pointer to curve
structure list (for scaling->method = 3 or 5)
int *alignmentInputAlignment method:
1 = Parameter
2 = Arc Length
int *interInputInterpolation method (for s_section->num > 1):
1 = Linear
2 = Cubic
int *body_typeInputType of body:
0 = Sheet (Default)
1 = Solid
UF_FEATURE_SIGNbooleanInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
doubletol [ 3 ] InputTolerances:
[0] = Distance
[1] = Angle (in degrees)
[2] = Intersection
tag_t *body_obj_idOutputBody object identifier of sweep

 


 
UF_MODL_create_symb_thread (view source)
 
Defined in: uf_modl.h
 
Overview
Creates a thread feature. Specify the creation parameters in the
thread parameter structure.

For internal thread, argument "internal_thread" should be set as "TRUE" in parameters
which is pointer to thread parameter structure UF_MODL_symb_thread_data_s.

Environment
Internal and External

See Also
please see example
UF_MODL_symb_thread_data_p_t
 
Required License(s)
solid_modeling

 
int UF_MODL_create_symb_thread
(
UF_MODL_symb_thread_data_p_t parameters,
tag_t * thread_obj_id
)
UF_MODL_symb_thread_data_p_tparametersInputPointer to thread parameter structure
UF_MODL_symb_thread_data_s
tag_t *thread_obj_idOutputThread object id

 


 
UF_MODL_create_t_slot (view source)
 
Defined in: uf_modl_slots.h
 
Overview
Creates a T-slot feature using an origin, tool axis, slot direction, top
and bottom width, top and bottom depth, and length. One of two
creation methods are taken depending on whether you want a thru
slot or not. If you want a defined distance, then input the distance and
placement face. Also, set the value of face_t1 and face_t2 to zero.
But, if you want to have the slot thru from one face to another, then
supply the placement face and the two faces from which to measure
the slot distance. The output of this function is the object identifier
associated to the T-slot.

The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_t_slot
(
double location [ 3 ] ,
double tool_axis [ 3 ] ,
double direction [ 3 ] ,
char * t_width,
char * t_depth,
char * b_width,
char * b_depth,
char * distance,
int face_li,
int face_t1,
int face_t2,
tag_t * feature_tag
)
doublelocation [ 3 ] InputT slot location.
doubletool_axis [ 3 ] InputT slot tool axis.
doubledirection [ 3 ] InputT slot direction.
char *t_widthInputT slot top width.
char *t_depthInputT slot top depth.
char *b_widthInputT slot bottom width.
char *b_depthInputT slot bottom depth.
char *distanceInputT slot distance.
intface_liInputFace for the RPO constraint.
intface_t1InputFace for thru face 1.
intface_t2InputFace for thru face 2.
tag_t *feature_tagOutputFeature object identifier of created t slot

 


 
UF_MODL_create_taper_from_edges (view source)
 
Defined in: uf_modl_taper.h
 
Overview
Create a taper feature from the input edges.

Environment
Internal and External

You can input individual edges or an edge collector as the first element
of array edges[].

History
NX2.0 added the edge collector functionality
 
Required License(s)
solid_modeling

 
int UF_MODL_create_taper_from_edges
(
tag_t direction_tag,
const char * angle_str,
logical taper_all_instances,
int num_edges,
tag_t edges [ ] ,
tag_t * feature_tag
)
tag_tdirection_tagInputtaper direction
const char *angle_strInputtaper angle
logicaltaper_all_instancesInputall instances or else just this one
intnum_edgesInputnumber of edges in array
tag_tedges [ ] Inputarray of edges to taper
tag_t *feature_tagOutputfeature eid of created feature taper

 


 
UF_MODL_create_taper_from_faces (view source)
 
Defined in: uf_modl_taper.h
 
Overview
Creates a face taper feature using a location, direction, angle, and a
list of faces to taper. The output of this function is the object identifier
associated to the face taper.

You can input individual faces or a face collector as the first element
of array faces[].

Environment
Internal and External

See Also
UF_MODL_create_face_taper

History
NX2.0 added the face collector functionality
 
Required License(s)
solid_modeling

 
int UF_MODL_create_taper_from_faces
(
tag_t point_tag,
tag_t direction_tag,
const char * angle_str,
logical taper_all_instances,
int num_faces,
tag_t faces [ ] ,
tag_t * feature_tag
)
tag_tpoint_tagInputtaper location
tag_tdirection_tagInputtaper direction
const char *angle_strInputtaper angle
logicaltaper_all_instancesInputall instances or else just this one
intnum_facesInputnumber of faces in array
tag_tfaces [ ] Inputarray of faces to taper
tag_t *feature_tagOutputfeature eid of created feature taper

 


 
UF_MODL_create_taper_from_tangent_faces (view source)
 
Defined in: uf_modl_taper.h
 
Overview
Create a taper feature from tangent faces.

You can input individual faces or a face collector as the first element
of array faces[].

Environment
Internal and External

History
NX2.0 added the face collector functionality
 
Required License(s)
solid_modeling

 
int UF_MODL_create_taper_from_tangent_faces
(
tag_t direction_tag,
const char * angle_str,
logical taper_all_instances,
int num_faces,
tag_t faces [ ] ,
tag_t * feature_eid
)
tag_tdirection_tagInputtaper direction
const char *angle_strInputtaper angle
logicaltaper_all_instancesInputall instances or else just this one
intnum_facesInputnumber of faces in array
tag_tfaces [ ] Inputarray of faces to taper
tag_t *feature_eidOutputfeature eid of created feature taper

 


 
UF_MODL_create_taper_split_line (view source)
 
Defined in: uf_modl_taper.h
 
Overview
Create a split line taper. A regular taper will create multiple faces,
based on the edges supplied to the function. A split line taper will
create a single face, but the face may not meet the edges specified.
In this case sweep faces are created perpendicular to the reference
direction to accomodate the mismatch.

You can input individual edges or an edge collector as the first element
of array edges[].

Environment
Internal and External

History
Originally released in V16.0
NX2.0 added the edge collector functionality
 
Required License(s)
solid_modeling

 
int UF_MODL_create_taper_split_line
(
tag_t point_tag,
tag_t direction_tag,
const char * angle_str,
logical taper_all_instances,
int num_edges,
tag_t edges [ ] ,
double dist_tol,
double angle_tol,
tag_t * feature_tag
)
tag_tpoint_tagInputtaper reference point
tag_tdirection_tagInputtaper direction
const char *angle_strInputtaper angle
logicaltaper_all_instancesInputIf TRUE, all instances will be tapered. If
FALSE, then just this instance is tapered.
intnum_edgesInputnumber of edges in array
tag_tedges [ ] Inputarray of edges to taper
doubledist_tolInputdistance tolerances
doubleangle_tolInputangle tolerances
tag_t *feature_tagOutputfeature eid of created feature taper

 


 
UF_MODL_create_thru_curves (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a feature through a collection of curves in one direction. The
following restrictions apply:
1. The first segment curve of each primary/cross/spine is a starting curve.
2. If single patch, then vdegree = 0, vclose = 0 (open.) The output of this
function is the object identifier associated to the feature.
3. If alignment is set to Spline Points, the input sections must all be
single B-curves with the same number of defining points.

Environment
Internal and External

See Also
UF_MODL_create_thru_curves1
See the glossary definition for periodic.
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_create_thru_curves
(
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
int * patch,
int * alignment,
double value [ 6 ] ,
int * vdegree,
int * vstatus,
int * body_type,
UF_FEATURE_SIGN boolean,
double tol [ 3 ] ,
tag_t c_face_id [ 2 ] ,
int c_flag [ 2 ] ,
tag_t * body_obj_id
)
UF_STRING_p_ts_sectionInputPointer to the section list structure.
int num Total number of section string
(min=2, max=150)
int string[ ] Total number of segment curves/
sketch identifier of each section
string
(min=1, max =402)
int dir[ ] Direction of each section string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of section curve or
the section builder object tags, but not both
UF_STRING_p_ts_spineInputPointer to the spine list structure.
(for alignment = 5)
int num Total number of spine string
(min=0, max=1)
int string[ ] Total number of segment curves/
sketch identifier of each spine
string
(min=1, max=402)
int dir[ ] Direction of each spine string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of spine curve or
the section builder object tags, but not both
int *patchInputPatch type
1 = Single (Bezier)
2 = Multiple (B-spline)
int *alignmentInputAlignment method
1 = Parameter
2 = Arc length
3 = Distance
4 = Angles
5= Spine curves
6 = Spline Points
doublevalue [ 6 ] InputData for alignment method:
[0-2] = 3D vector defining direction line
(for alignment = 3)
[0-5] = Coordinates of line defining the axis
of revolution for planes
(for alignment = 4)
int *vdegreeInputDegree of surface in V direction. For patch=2, 0 < vdegree <= (s_section.num-1)
int *vstatusInputPeriodic status of surface in V direction:
0 = Open
1 = Closed
(at least s_section->num > 2)
int *body_typeInputType of body=
0 = Sheet (Default)
1 = Solid
UF_FEATURE_SIGNbooleanInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
doubletol [ 3 ] InputTolerances:
[0] = Distance
[1] = Angle (in radians)
[2] = Intersection
tag_tc_face_id [ 2 ] InputObject identifiers of neighbor surfaces
or collectors of faces from which constraints are obtained
[0] = first section string
[1] = last section string
intc_flag [ 2 ] InputFlags indicating constraint types:
0 = no constraint
1 = tangency constraint
2 = curvature constraint
with
[0] = first primary string
[1] = last primary string
tag_t *body_obj_idOutputBody object identifier

 


 
UF_MODL_create_thru_curves1 (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates a feature through a collection of curves in one direction.
This function behaves like UF_MODL_create_thru_curves with an extra input
for passing in the target body for the boolean operation.

If body_type is solid (1) and the sign of the operation to be performed is
not create, then the target body is required.

The following restrictions apply:
1. The first segment curve of each primary/cross/spine is a starting curve.
2. If single patch, then vdegree = 0, vclose = 0 (open.) The output of this
function is the object identifier associated to the feature.
3. If alignment is set to Spline Points, the input sections must all be
single B-curves with the same number of defining points.

Environment
Internal and External

See Also
UF_MODL_create_thru_curves

History
Originally released in V16.0
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_create_thru_curves1
(
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
int * patch,
int * alignment,
double value [ 6 ] ,
int * vdegree,
int * vstatus,
int simple,
int * body_type,
UF_FEATURE_SIGN boolean,
tag_t target_body,
double tols [ 3 ] ,
int c_num [ 2 ] ,
tag_t * c_face_id [ 2 ] ,
int c_flag [ 2 ] ,
int c_dir,
tag_t * body_obj_id
)
UF_STRING_p_ts_sectionInputPointer to the section list structure.

When simple option is 2, then the user supplied
template string must be added as the last item
of this section string structure, but the number of
section strings will not be increased. For example,
to create a feature using 3 section strings and
a user defined template (simple option = 2),
num would be 3, but string and dir would have 4
elements, string[3] would be the number of segment
curves for the user defined template, and dir[3] would
be the direction for the user defined template. The
tags for the user defined template would be added onto
the end of the id array.

int num Total number of section strings
(min=2, max=150)
int string[ ] Total number of segment curves/
sketch identifier of each section
string (min=1, max =402)
int dir[ ] Direction of each section string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of section curve or
the section builder object tags, but not both
UF_STRING_p_ts_spineInputPointer to the spine list structure (for alignment = 5).
int num Total number of spine string
(min=0, max=1)
int string[ ] Total number of segment curves/
sketch identifier of each spine string
(min=1, max=402)
int dir[ ] Direction of each spine string
1 = Start to end
-1 = End to start
tag_t id[ ] Identifier of spine curve or
the section builder object tags, but not both
int *patchInputPatch type.
1 = Single (Bezier)
2 = Multiple (B-spline)
int *alignmentInputAlignment method.
1 = Parameter
2 = Arc length
3 = Distance
4 = Angles
5 = Spine curves
6 = Spline Points
doublevalue [ 6 ] InputData for alignment method.
[0-2] = 3D vector defining direction line (alignment = 3)
[0-5] = Coordinates of line defining the axis of
revolution for planes (alignment = 4)
int *vdegreeInputDegree of surface in V direction. For patch=2, 0< vdegree <= (s_section.num-1)
int *vstatusInputPeriodic status of surface in V direction.
0 = Open
1 = Closed (At least three section curves are required).
intsimpleInputSimple math option
0 : do not use simple creation
1 : use simple creation with system defined template
2 : use simple creation with user supplied template. The user
supplied template will be passed at the end of the s_section
structure above.
int *body_typeInputType of body.
0 = Sheet (Default)
1 = Solid
UF_FEATURE_SIGNbooleanInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_ttarget_bodyInputThe target body for the boolean operation.
doubletols [ 3 ] InputTolerances.
[0] = Distance
[1] = Angle (in radians)
[2] = Intersection
intc_num [ 2 ] InputNumber of constraint faces or collectors of faces.
[0] = First section string
[1] = Last section string
tag_t *c_face_id [ 2 ] InputPointers to object identifiers of neighbor surfaces or
2 collectors of faces
from which constraints are obtained
[0] = First section string
[1] = Last section string
intc_flag [ 2 ] InputFlags indicating constraint types.
0 = No constraint
1 = Tangency constraint
2 = Curvature constraint
[0] = First section string
[1] = Last section string
intc_dirInputConstraint direction.
0 = Not specified
1 = Isoparametric
2 = Normal to the string
tag_t *body_obj_idOutputBody object identifier.

 


 
UF_MODL_create_trimmed_sheet (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Modifies the input sheet body to the specified boundary and regional
conditions. The boundary conditions (faces, planes, edges, and curves)
are used to divide the input sheet body into regions by imprinting new
edges on the input sheet body. The regional conditions are employed
to classify the discarded and retained regions of the input sheet body.
The output sheet body is the retained region(s) of the input sheet body.

Environment
Internal and External
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_create_trimmed_sheet
(
tag_t sheet_body_tag,
int bounding_object_count,
tag_t * bounding_objects,
UF_MODL_vector_p_t projection_method,
int key_pt,
int point_count,
double point_coords [ ] ,
double tolerance,
int * gap_point_count,
double * * gap_points,
tag_t * feature_obj_eid
)
tag_tsheet_body_tagInputTag of sheet body to be trimmed
intbounding_object_countInputNumber of trimming boundary objects
tag_t *bounding_objectsInputArray of NX eids of trimming objects
UF_MODL_vector_p_tprojection_methodInputA variant record of the following
int reverse_vector,
UF_MODL_vector_type_t vector_type,
where vector_type =

UF_MODL_VECTOR_DIRECTION:
project along a fixed vector,
a vector, double[3], is required.

UF_MODL_VECTOR_DIRECTION_EXACT_GEOMETRY:
project along a fixed vector,
a vector, double[3], is required,
NX will produce exact geometry.

UF_MODL_VECTOR_AXIS:
project along a datum axis,
an NX eid of the datum axis is required.

UF_MODL_VECTOR_AXIS_EXACT_GEOMETRY:
project along a datum axis,
an NX eid of the datum axis is required,
NX will produce exact geometry.

UF_MODL_VECTOR_FACE_NORMALS
project along face normals,
no other input is needed.

UF_MODL_VECTOR_FACE_NORMALS_EXACT_GEOMETRY
project along face normals,
no other input is needed, NX will produce
exact geometry when ever possible.
intkey_ptInputPoints defining regions to: 1 = discard; 0 = keep
intpoint_countInputNumber of region points
doublepoint_coords [ ] InputArray of region points on the sheet to be trimmed.
This array contains 3point_count entries.
doubletoleranceInputDistance tolerance for approximations.
int *gap_point_countOutputThe number of gap points returned when there are
gaps between the edges produced by the bounding
objects. These points show where the gaps are.
double * *gap_pointsOutput to UF_*free*Array of points showing location of the gaps. This
array has 3n_gap_points entries. This array must
be freed by calling UF_free.
tag_t *feature_obj_eidOutputFeature object id of trimmed sheet.

 


 
UF_MODL_create_trimmed_tube (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates a tube feature.

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_trimmed_tube
(
tag_t * objects,
int object_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * diameters [ 2 ] ,
UF_FEATURE_SIGN sign,
tag_t * * features,
int* number_of_features
)
tag_t *objectsInputArray of objects or one section builder object tag,
but not both, for the tube path
intobject_countInputNumber of objects
UF_MODL_SWEEP_TRIM_object_p_ttrim_dataInputNot used
char *diameters [ 2 ] Input[0] = Outer Diameter
[1] = Inner diameter
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_t * *featuresOutput to UF_*free*Array of tube feature tags
int*number_of_featuresOutputNumber of features returned

 


 
UF_MODL_create_trimmed_tube1 (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates a tube feature, and perform Boolean operation with given target body.

Environment
Internal and External

See Also
UF_MODL_create_trimmed_tube

History
Originally released in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_trimmed_tube1
(
tag_t * objects,
int object_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * diameters [ 2 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
tag_t * * features,
int* number_of_features
)
tag_t *objectsInputArray of objects or one section builder object tag,
but not both, for the tube path
intobject_countInputNumber of objects
UF_MODL_SWEEP_TRIM_object_p_ttrim_dataInputNot used
char *diameters [ 2 ] Input[0] = Outer Diameter
[1] = Inner diameter
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_ttarget_bodyInputBoolean target
tag_t * *featuresOutput to UF_*free*Array of tube feature tags
int*number_of_featuresOutputNumber of features returned

 


 
UF_MODL_create_true_taper_from_edges (view source)
 
Defined in: uf_modl_taper.h
 
Overview
Create a true taper from edges

Environment
Internal and External

You can input individual edges or an edge collector as the first element
of array edges[].

History
Originally released in V17.0
NX2.0 added the edge collector functionality
 
Required License(s)
solid_modeling

 
int UF_MODL_create_true_taper_from_edges
(
tag_t direction_tag,
const char * angle_str,
logical taper_all_instances,
int num_edges,
tag_t edges [ ] ,
double dist_tol,
double angle_tol,
tag_t * feature_eid
)
tag_tdirection_tagInputtaper direction
const char *angle_strInputtaper angle
logicaltaper_all_instancesInputIf TRUE, all instances will be tapered. If
FALSE, then just this instance is tapered.
intnum_edgesInputnumber of edges in array
tag_tedges [ ] Inputarray of edges to taper
doubledist_tolInputdistance tolerances
doubleangle_tolInputangle tolerances
tag_t *feature_eidOutputfeature eid of created feature taper

 


 
UF_MODL_create_tube (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates a tube, or cable, depending on the inner and outer diameters
specified. A cable is produced if the inner diameter is set to zero. The
output of this function is a list of feature object identifiers. The limit
variable is of type character to allow for expressions.

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_create_tube
(
uf_list_p_t path_list,
char * limit [ 2 ] ,
UF_FEATURE_SIGN sign,
uf_list_p_t * feature_list
)
uf_list_p_tpath_listInputList of objects or one section builder object tag,
but not both, for the path.
char *limit [ 2 ] InputInner diameter and outer diameter of the tube. You
can declare this as char limit[2], where:
[0] = outer diameter expression
[1] = inner diameter expression
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
uf_list_p_t *feature_listOutput to UF_*free*Feature object identifier list for tube created.
This list must be freed by calling
UF_MODL_delete_list.

 


 
UF_MODL_create_tube1 (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Creates a tube, or cable, and performs Boolean operation with given target body.

Environment
Internal and External

See Also
UF_MODL_create_tube

History
Originally released in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_create_tube1
(
uf_list_p_t path_list,
char * limit [ 2 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
uf_list_p_t * feature_list
)
uf_list_p_tpath_listInputList of objects or one section builder object tag,
but not both, for the path.
char *limit [ 2 ] InputInner diameter and outer diameter of the tube. You
can declare this as char limit[2], where:
[0] = outer diameter expression
[1] = inner diameter expression
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = create new target solid
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid
tag_ttarget_bodyInputBoolean target
uf_list_p_t *feature_listOutput to UF_*free*Feature object identifier list for tube created.
This list must be freed by calling
UF_MODL_delete_list.

 


 
UF_MODL_create_u_groove (view source)
 
Defined in: uf_modl_grooves.h
 
Overview
Creates a U-groove feature by inputting its location, direction,
diameter, width, and corner radius. Along with these items a
placement face is needed to determine which face the groove is
associated to. The output of this function is the object identifier
associated to the U-groove.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_u_groove
(
double location [ 3 ] ,
double direction [ 3 ] ,
char * diame,
char * width,
char * corner,
tag_t face,
tag_t * feature_obj_id
)
doublelocation [ 3 ] InputU groove location.
doubledirection [ 3 ] InputU groove direction.
char *diameInputU groove diameter
char *widthInputU groove width.
char *cornerInputU groove corner radius
tag_tfaceInputFace for the RPO constraint.
tag_t *feature_obj_idOutputFeature object identifier of created u-groove

 


 
UF_MODL_create_u_slot (view source)
 
Defined in: uf_modl_slots.h
 
Overview
Creates a U slot feature using an origin, tool axis, slot direction,
width, corner radius, depth, and length. One of two creation methods
are taken depending on whether you want a thru slot or not. If you
want a defined distance, then input the distance and placement face.
Also, set the value of face_t1 and face_t2 to zero. But if you want to
have the slot thru from one face to another, then supply the
placement face and the two faces from which to measure the slot
distance. The output of this function is the object identifier associated
to the U slot.

The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_u_slot
(
double location [ 3 ] ,
double tool_axis [ 3 ] ,
double direction [ 3 ] ,
char * width,
char * depth,
char * radius,
char * distance,
tag_t face_li,
tag_t face_t1,
tag_t face_t2,
tag_t * feature_tag
)
doublelocation [ 3 ] InputU slot location.
doubletool_axis [ 3 ] InputU slot tool axis.
doubledirection [ 3 ] InputU slot direction.
char *widthInputU slot width.
char *depthInputU slot depth.
char *radiusInputU slot corner radius.
char *distanceInputU slot distance.
tag_tface_liInputFace for the RPO constraint.
tag_tface_t1InputFace for thru face 1.
tag_tface_t2InputFace for thru face 2.
tag_t *feature_tagOutputFeature object identifier of created u slot

 


 
UF_MODL_create_uniform_scale (view source)
 
Defined in: uf_modl.h
 
Overview
Create a uniform scale feature.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_uniform_scale
(
tag_t body_eid,
int csys_type,
char * scale_factor,
tag_t * feature_eid
)
tag_tbody_eidInputEID of body to be scaled
intcsys_typeInputCurrently only UF_CSYS_WORK_COORDS is accepted
char *scale_factorInput
tag_t *feature_eidOutputEID of the scale feature

 


 
UF_MODL_create_variable_hollow (view source)
 
Defined in: uf_modl_hollow.h
 
Overview
Create a variable hollow feature.

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_variable_hollow
(
double tolerance,
char * thickness,
int n_pierced_faces,
tag_t * pierced_faces,
int n_boundary_faces,
tag_t * boundary_faces,
int n_offset_faces,
tag_t * offset_faces,
char * * offset_thickness,
tag_t * feature_id
)
doubletoleranceInputTolerance
char *thicknessInputDefault thickness
intn_pierced_facesInputNumber of pierced faces
tag_t *pierced_facesInputArray of pierced face identifiers.
intn_boundary_facesInputNumber of boundary faces
tag_t *boundary_facesInputArray of boundary face identifiers
intn_offset_facesInputNumber of offset faces
tag_t *offset_facesInputArray of offset face identifiers
char * *offset_thicknessInputArray of offset thickness expressions
tag_t *feature_idOutputFeature identifier

 


 
UF_MODL_create_variable_offset (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Allows you to create free form features by the variable offset method.
You need a base surface and four offset distances from four points on
the surface.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_create_variable_offset
(
tag_t base_sheet,
char * dist [ 4 ] ,
double uv_param [ 8 ] ,
tag_t * varoff_sheet
)
tag_tbase_sheetInputFace or body id of the base sheet
char *dist [ 4 ] InputVariable offset distances
doubleuv_param [ 8 ] Inputuv parameters of four specified points
tag_t *varoff_sheetOutputBody id of the offset sheet

 


 
UF_MODL_create_variable_taper_from_edges (view source)
 
Defined in: uf_modl_taper.h
 
Overview
Create a variable angle taper feature from the input edges. This function is
the same as UF_MODL_create_taper_from_edges if the input num_points=0.

You can input individual edges or an edge collector as the first element
of array edges[].

Environment
Internal and External

History
Originally released in V16.0
NX2.0 added the edge collector functionality
 
Required License(s)
solid_modeling

 
int UF_MODL_create_variable_taper_from_edges
(
tag_t direction_tag,
const char * angle_str,
logical taper_all_instances,
int num_edges,
tag_t edges [ ] ,
int num_points,
double points [ ] ,
char * * angles,
double dist_tol,
double angle_tol,
tag_t * feature_tag
)
tag_tdirection_tagInputtaper direction
const char *angle_strInputtaper angle
logicaltaper_all_instancesInputall instances or else just this one
intnum_edgesInputnumber of edges in array
tag_tedges [ ] Inputarray of edges to taper
intnum_pointsInputnumber of points where angles are specified
doublepoints [ ] Inputcoordinates of the points (size is 3num_points)
char * *anglesInputangle values or expressions at the points
doubledist_tolInputdistance tolerances
doubleangle_tolInputangle tolerances
tag_t *feature_tagOutputfeature eid of created feature taper

 


 
UF_MODL_create_wrap_assembly (view source)
 
Defined in: uf_modl.h
 
Overview
This function creates a Wrap Assembly feature in the work part.
A Wrap Assembly feature can be used to simplify NX geometry data
in an assembly by creating a convex solid envelope which surrounds the
data. This feature will be a parameterized feature, so if the underlying
model is changed, the wrap feature will automatically be updated. The
wrap feature can be used to hide proprietary data, to study packaging,
for space capturing studies, or as a starting point when converting
wireframe geometry to a solid. Input data can be from components and
will create interpart links. Each input object can have a corresponding
assembly context xform to position the data in the work part.

See Also
UF_MODL_ask_wrap_assembly
UF_MODL_edit_wrap_assembly
UF_MODL_edit_wrap_geometry

Environment
Internal and External

History
Released in V17.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_wrap_assembly
(
UF_MODL_wrap_assem_p_t wrap_data,
tag_t * feature_tag
)
UF_MODL_wrap_assem_p_twrap_dataInputFeature data
tag_t *feature_tagOutputFeature tag

 


 
UF_MODL_create_wrap_geometry (view source)
 
Defined in: uf_modl.h
 
Overview
This function creates a Wrap Geometry feature. A wrap geometry feature
can be used to simplify NX geometry data by creating a convex solid envelope
which surrounds the data. This feature will be parameterized feature, so
if the underlying model is changed, the wrap feature will automatically
be updated. The wrap feature can be used to hide proprietary data, to
study packaging, for space capturing studies, or as a starting point when
converting wireframe geometry to a solid.



Figure The original solid


Figure The Wrap geometry result

Some of the detail of the original geometry can be retained by defining
one or more splitting planes.


Figure The original solid and splitting plane


Figure The Wrap geometry result without defining a splitting plane


Figure The Wrap geometry result defining the splitting plane

See Also
UF_MODL_ask_wrap_geometry
UF_MODL_edit_wrap_geometry
UF_MODL_create_wrap_assembly

Environment
Internal and External

History
Released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_create_wrap_geometry
(
UF_MODL_wrap_geom_p_t wrap_data,
tag_t * feature_tag
)
UF_MODL_wrap_geom_p_twrap_dataInputFeature data
tag_t *feature_tagOutputFeature tag

 


 
UF_MODL_default_rpo_menu (view source)
 
Defined in: uf_modl_ugopenint.h
 
Overview
Opens the default rpo menu.

Use UF_MODL_default_rpo_menu() to position new style UDF features and during
copy/paste of features.

This function cannot be used to edit positioning of features that are
automatically booleaned to a target solid.

Environment
Internal

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_default_rpo_menu
(
tag_t feature_eid
)
tag_tfeature_eidInputFeature to reposition

 


 
UF_MODL_delete_body_parms (view source)
 
Defined in: uf_modl.h
 
Overview
Allows you to delete all the parameters of the solid bodies in the input list.

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_delete_body_parms
(
uf_list_p_t body_list
)
uf_list_p_tbody_listInputList of solid bodies

 


 
UF_MODL_delete_exp (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
The user inputs a pointer to a character string that matches the
expression that is to be deleted. Only the name should be included, the
'=' and value are to be left out of the character string.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_delete_exp
(
char * exp_name
)
char *exp_nameInputName of expression to delete

 


 
UF_MODL_delete_exp_tag (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Deletes an expression tag.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_delete_exp_tag
(
tag_t old_exp
)
tag_told_expInputTag to delete.

 


 
UF_MODL_delete_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Deletes a list of features. The input is a list of feature identifiers to be
deleted. The only type of output from this routine is the normal error
return from the program call.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_delete_feature
(
uf_list_p_t cmtags
)
uf_list_p_tcmtagsInputLinked list of tags for features to be deleted.

 


 
UF_MODL_delete_list (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Deallocates the memory for a linked list of objects, the objects
themselves are not deleted. A list of objects may contain identifiers
for bodies, features, faces and edges.

Environment
Internal and External

See Also
UF_MODL_ask_list_item
UF_MODL_create_list
UF_MODL_ask_list_count
UF_MODL_put_list_item
UF_MODL_delete_list_item
 
Required License(s)
gateway

 
int UF_MODL_delete_list
(
uf_list_p_t * list
)
uf_list_p_t *listInputList of object identifiers

 


 
UF_MODL_delete_list_item (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Delete object identifier from a linked list of object identifiers.
NOTE: Deleting all the items in a list also causes the list to be
deleted.

Environment
Internal and External

See Also
UF_MODL_ask_list_item
UF_MODL_create_list
UF_MODL_delete_list
UF_MODL_ask_list_count
UF_MODL_put_list_item
 
Required License(s)
gateway

 
int UF_MODL_delete_list_item
(
uf_list_p_t * list,
tag_t object
)
uf_list_p_t *listInputlist of object identifiers
tag_tobjectInputobject to be deleted from list.

 


 
UF_MODL_delete_loop_list (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
The input is a single pointer to a loop list, which frees each edge list
within the loop list.

Environment
Internal and External

See Also
UF_MODL_ask_loop_list_item
UF_MODL_ask_loop_list_count
 
Required License(s)
gateway

 
int UF_MODL_delete_loop_list
(
uf_loop_p_t * list
)
uf_loop_p_t *listInputPointer to a loop list

 


 
UF_MODL_delete_object_parms (view source)
 
Defined in: uf_modl.h
 
Overview
Each sheet body and solid body on the input list will be made into an
unparameterized feature.

Each curve or point on the input list which is an output of a feature
will have the associativity removed, and will become basic curves and points.

Sketch curves are not supported by this function.

Environment
Internal and External

History
This function is provided in v17 initially.
 
Required License(s)
solid_modeling

 
int UF_MODL_delete_object_parms
(
uf_list_p_t object_list
)
uf_list_p_tobject_listInputList of bodies,curves and points

 


 
UF_MODL_devchk_adjacent_edges (view source)
 
Defined in: uf_modl.h
 
Overview
This routine checks deviations between common edges (edges with deviations
less than the Common Edge Tolerance) of the input faces.

Environment
Internal and External

History
Originally released in v16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_devchk_adjacent_edges
(
int num_faces,
tag_t * faces,
double * tolerances,
int num_chk_points,
int * num_devs,
UF_MODL_devchk_ee_info_t * * devs
)
intnum_facesInputNumber of input faces for deviation checking
tag_t *facesInputArray of face tags to be checked.
double *tolerancesInput[0] - Common Edge Tolerance: Edges with maximum
distance greater than this value are
non-common edges
[1] - Chordal Deviation: Used for sampling the
edges if num_chk_points is zero.
intnum_chk_pointsInputif non-zero, edges are sampled at equally
spaced parameter values. if zero, Chordal
Deviation is used for sampling.
int *num_devsOutputNumber of deviations returned.
UF_MODL_devchk_ee_info_t * *devsOutput to UF_*free*deviations information corresponding
to each sample point. The caller is
responsible for calling
UF_free to free this array.

 


 
UF_MODL_devchk_curve_to_curve (view source)
 
Defined in: uf_modl.h
 
Overview
Calculates the deviation between two curves

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_devchk_curve_to_curve
(
tag_t curve1_id,
tag_t curve2_id,
int num_of_check_points,
UF_MODL_deviation_check_data_p_t check_result
)
tag_tcurve1_idInputTag of the first curve
tag_tcurve2_idInputTag of the second curve
intnum_of_check_pointsInputThe number of check points. It should not smaller than 2
UF_MODL_deviation_check_data_p_tcheck_resultOutputAddress of UF_MODL_deviation_check_data_s structure

 


 
UF_MODL_devchk_curve_to_face (view source)
 
Defined in: uf_modl.h
 
Overview
Calculates the deviation between curve and face

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_devchk_curve_to_face
(
tag_t curve_id,
tag_t face_id,
int num_of_check_points,
UF_MODL_deviation_check_data_p_t check_result
)
tag_tcurve_idInputTag of curve
tag_tface_idInputTag of face
intnum_of_check_pointsInputThe number of check points. It should not smaller than 2
UF_MODL_deviation_check_data_p_tcheck_resultOutputAddress of UF_MODL_deviation_check_data_s structure

 


 
UF_MODL_devchk_edge_to_edge (view source)
 
Defined in: uf_modl.h
 
Overview
Calculates the deviation between two edges

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_devchk_edge_to_edge
(
tag_t edge1_id,
tag_t face_of_edge1_id,
tag_t edge2_id,
tag_t face_of_edge2_id,
int num_of_check_points,
UF_MODL_deviation_check_data_p_t check_result
)
tag_tedge1_idInputTag of the first edge
tag_tface_of_edge1_idInputTag of the face which is associated with the first edge
tag_tedge2_idInputTag of the second edge
tag_tface_of_edge2_idInputTag of the face which is associated with the second edge
intnum_of_check_pointsInputThe number of check points. It should not smaller than 2
UF_MODL_deviation_check_data_p_tcheck_resultOutputAddress of UF_MODL_deviation_check_data_s structure

 


 
UF_MODL_devchk_edge_to_face (view source)
 
Defined in: uf_modl.h
 
Overview
Calculates the deviation between edge and face

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_devchk_edge_to_face
(
tag_t edge_id,
tag_t face_of_edge_id,
tag_t second_face_id,
int num_of_check_points,
UF_MODL_deviation_check_data_p_t check_result
)
tag_tedge_idInputTag of edge
tag_tface_of_edge_idInputTag of face which is associated with the former edge
tag_tsecond_face_idInputTag of second face
intnum_of_check_pointsInputThe number of check points. It should not smaller than 2
UF_MODL_deviation_check_data_p_tcheck_resultOutputAddress of UF_MODL_deviation_check_data_s structure

 


 
UF_MODL_devchk_face_to_face (view source)
 
Defined in: uf_modl.h
 
Overview
Calculates the deviation between two faces

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_devchk_face_to_face
(
tag_t face1_id,
tag_t face2_id,
int num_check_points_u,
int num_check_points_v,
UF_MODL_deviation_check_data_p_t check_result
)
tag_tface1_idInputTag of the first face
tag_tface2_idInputTag of the second face
intnum_check_points_uInputThe number of points in U direction. It should not smaller than 2
intnum_check_points_vInputThe number of points in V direction. It should not smaller than 2
UF_MODL_deviation_check_data_p_tcheck_resultOutputAddress of UF_MODL_deviation_check_data_s structure

 


 
UF_MODL_dissect_exp_string (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Dissects an expression character string of the form <left>=<right>
and return its expression tag, <left> character string, and <right>
character string.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_dissect_exp_string
(
char * exp_str,
char * * lhs_str,
char * * rhs_str,
tag_t * exp_tag
)
char *exp_strInputExpression character string <left>=<right> .
char * *lhs_strOutput to UF_*free*<left> character string. This must be freed by the caller
by calling UF_free.
char * *rhs_strOutput to UF_*free*<right> character string. This must be freed by the caller
by calling UF_free.
tag_t *exp_tagOutputTag for the expression.

 


 
UF_MODL_dump_midsurf_facepair_report (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
exports the midsurface data to a file

Environment
Internal and External

History
Originally released in NX5.0
 
Required License(s)
gateway

 
int UF_MODL_dump_midsurf_facepair_report
(
const char * file_name_with_extn,
tag_t midsrf_feature_obj_id
)
const char *file_name_with_extnInputName of file with relevant extension
tag_tmidsrf_feature_obj_idInputMidsurface Feature tag

 


 
UF_MODL_edit_bead (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Edits the various parameters of the bead and reconstructs it based on
these new parameters.

Environment
Internal and External

History
Original release was in V13.0.
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_bead
(
tag_t bead_tag,
UF_MODL_project_curves_p_t centerline,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t secondary_faces,
UF_MODL_bead_section_plane_p_t section_plane,
UF_MODL_vector_p_t section_axis,
UF_MODL_bead_section_parms_p_t section_parms
)
tag_tbead_tagInputObject tag for the bead feature to be
edited.
UF_MODL_project_curves_p_tcenterlineInputPointer to information to define the
centerline of the bead.
UF_MODL_faces_p_tplacement_facesInputPointer to information to define the faces
where the bead is to be placed.
UF_MODL_offset_trans_faces_p_tsecondary_facesInputthe optional secondary faces
for the bead. A null pointer
should be passed in if this is
not used.
UF_MODL_bead_section_plane_p_tsection_planeInputPointer to direction information
to define the normal of the
orientation plane of the bead
sections.
UF_MODL_vector_p_tsection_axisInputPointer to direction information to define
the centerline of the bead cross section.
This parameter is also used to determine
whether the bead is subtracted or united
with the body of the first placement_face.
UF_MODL_bead_section_parms_p_tsection_parmsInputPointer to information to define
the cross sectional shape of the
bead.

 


 
UF_MODL_edit_bend_allowance_formula (view source)
 
Defined in: uf_modl_smd.h
 
Overview
This routine edits the Bend Allowance Formula (BAF) of a
Flange, Inset Flange, General Flange, SMBridge, or SMBend feature.
The expression returned is in the form:

(Radius+(Thickness)0.44)rad(Angle)

Return
Return code:
=0 : Successful
>0 : Failing error number
<0 : Failing error number
= UF_MODL_ERR_NOT_A_FORMABLE_FEATURE : The given tag was not
the tag of a formable
feature.
= UF_MODL_ERR_FEATURE_NOT_USING_BAF : The given feature is not
using a bend allowance
formula. This is the case
when the user has selected
"Using Bend Allowance Table"
in the preferences dialog.

Environment
Internal and External

See Also
UF_MODL_ask_bend_allowance_formula

History
Originally released in V18.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_bend_allowance_formula
(
const tag_t feature_tag,
const char* const exp_str
)
const tag_tfeature_tagInputThe tag of a Flange, Inset Flange,
General Flange, SMBridge, or
SMBend feature.
const char* constexp_strInputThe Bend Allowance Formula.

 


 
UF_MODL_edit_bend_operation (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Edit an Unbend/Rebend operation

Return
Return code :

Environment
Internal and External

History
Released in V19.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_bend_operation
(
tag_t operation_tag,
UF_MODL_bend_operation_data_p_t bend_data
)
tag_toperation_tagInputThe operation tag
UF_MODL_bend_operation_data_p_tbend_dataInputData supplied by the user
to edit the operation

 


 
UF_MODL_edit_boolean_with_retained_options (view source)
 
Defined in: uf_modl.h
 
Overview
Edit the boolean features with the option to
keep the original target body, tool body, or both bodies.

Environment
Internal and External

See Also
UF_MODL_unite_bodies_with_retained_options ,
UF_MODL_subtract_bodies_with_retained_options ,
UF_MODL_intersect_bodies_with_retained_options
UF_MODL_replace_boolean_body

History
Release version 19.
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_boolean_with_retained_options
(
tag_t feature_eid,
tag_t new_target,
tag_t new_tool
)
tag_tfeature_eidInputBoolean feature
tag_tnew_targetInputIf 0 is passed in, the target body is not
change. Otherwise, the new target body will
be changed in the boolean feature
tag_tnew_toolInputIf 0 is passed in, the tool body is not
change. Otherwise, the new tool body will
be changed in the boolean feature

 


 
UF_MODL_edit_bsurf (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Replace the b_surface data of entity face_eid with the new data stored in
bsurf. The calling function needs to make an update call to update all
the changes. This routine doesn't handle periodic surface yet and works
only on single face sheet body.

Environment
Internal and External
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_edit_bsurf
(
tag_t face_eid,
UF_MODL_bsurface_p_t bsurf
)
tag_tface_eidInputTarget surface to be edited.
UF_MODL_bsurface_p_tbsurfInputNew geometry to be applied to target surface.

 


 
UF_MODL_edit_circular_iset (view source)
 
Defined in: uf_modl_isets.h
 
Overview
Edits an instance circular set feature.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_circular_iset
(
tag_t feature_obj_id,
char * number_str,
char * angle_str,
char * radius_str,
tag_t rotation_point_id
)
tag_tfeature_obj_idInputCircular instance set feature identifier
char *number_strInputNumber of instances
char *angle_strInputRotation angle (degrees)
char *radius_strInputInstance set radius
tag_trotation_point_idInputRotation point identifier:
NULL_TAG = Modify Circular Iset without moving it
Otherwise modify Circular Iset and move it to new
point. If the circular iset feature
cannot be moved to the new point,
an error code is issued and no
modifications are performed.

 


 
UF_MODL_edit_circular_pattern_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function edits a circular pattern_face feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_edit_circular_pattern_face
(
tag_t feature_tag,
UF_MODL_dfo_region_p_t region,
tag_t axis,
int n_pattern,
char * angle
)
tag_tfeature_tagInputthe feature
UF_MODL_dfo_region_p_tregionInputregion
tag_taxisInputcenter axis to define pattern
intn_patternInputnumber of patterns
char *angleInputangle between patterns

 


 
UF_MODL_edit_datum_direction (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Replaces the direction of a datum feature with new_direction.

The feature should have been created using UF_MODL_create_point_dirr_daxis or
UF_MODL_create_point_dirr_dplane(). If a smart object is used to specify the
new direction, its update option should be UF_SO_update_within_modeling.

Environment
Internal and External

See Also
UF_MODL_ask_object_feat
UF_MODL_create_point_dirr_daxis
UF_MODL_create_point_dirr_dplane
UF_MODL_ask_datum_point_and_direction
UF_MODL_edit_datum_point

History
Original release was in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_datum_direction
(
tag_t datum_feature_tag,
tag_t new_direction
)
tag_tdatum_feature_tagInputThe datum tag.
tag_tnew_directionInputThe new direction of the datum axis.

 


 
UF_MODL_edit_datum_point (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Replaces the base point of a datum feature with new_point.

The feature should have been created using UF_MODL_create_point_dirr_daxis() or
UF_MODL_create_point_dirr_dplane(). If a smart object is used to specify the
new point, its update option should be UF_SO_update_within_modeling.

Environment
Internal and External

See Also
UF_MODL_ask_object_feat
UF_MODL_create_point_dirr_daxis
UF_MODL_create_point_dirr_dplane
UF_MODL_ask_datum_point_and_direction
UF_MODL_edit_datum_direction

History
Original release was in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_datum_point
(
tag_t datum_feature_tag,
tag_t new_point
)
tag_tdatum_feature_tagInputThe datum tag.
tag_tnew_pointInputThe new point for the datum

 


 
UF_MODL_edit_edge_blend (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Edit an edge blend

Environment
Internal and External

It can accept individual edges or an edge collector.

History
V17 release
NX2.0 Allow user input edge collector in the edge_data array
 
Required License(s)
gateway

 
int UF_MODL_edit_edge_blend
(
tag_t feature_eid,
UF_MODL_edge_blend_data_p_t blend_data
)
tag_tfeature_eidInputFeature object identifier of a created blend
UF_MODL_edge_blend_data_p_tblend_dataInputUser defining blend data

 


 
UF_MODL_edit_edge_blend_mult (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Edit a mutiple radius edge blend

Environment
Internal and External

It can accept a set of individual edges or a set of edge collectors.

History
NX3.0 Release
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_edge_blend_mult
(
tag_t feature_eid,
UF_MODL_edge_blend_mult_data_p_t blend_data
)
tag_tfeature_eidInputFeature object identifier of a created blend
UF_MODL_edge_blend_mult_data_p_tblend_dataInputUser defining blend data

 


 
UF_MODL_edit_enlarge (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Modifies data of the input enlarged sheet feature to the specified type and size
conditions in the inputs.

Environment
Internal and External

History
This function is provided in v17 initially.
 
Required License(s)
gateway

 
int UF_MODL_edit_enlarge
(
tag_t feat_obj_tag,
int type,
char * percent_size [ 4 ] ,
double tolerance
)
tag_tfeat_obj_tagInputtag of the feature record of the enlarged sheet
inttypeInputenlarge extension type: 0-linear extension; 1-natural extension
char *percent_size [ 4 ] InputArray of the percent increase for the surface parameters. These are character
pointers to allow for input expressions.
For linear type extensions, the range is from [0, 100], with 0 meaning no increase,
and 100 meaning a 100% increase.
For natural type extensions, the range is from [-99, +100], with -99 meaning a 99%
decrease or shrinkage of the surface, and +100 meaning a 100% increase.

percent_size[0] is the percent for U-min
percent_size[1] is the percent for U-max
percent_size[2] is the percent for V-min
percent_size[3] is the percent for V-max
doubletoleranceInputDistance tolerance for approximations.

 


 
UF_MODL_edit_exp (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
The input to UF_MODL_edit_exp is similar to UF_MODL_create_exp, except for
the fact that the expression name must already exist. The user needs to have
the name of the expression, an '=' sign, and a new value contained within the
input character string. This routine does not automatically update the database.

After you use this routine, call UF_MODL_update to update the database.

Environment
Internal and External

See Also
UF_MODL_update
 
Required License(s)
gateway

 
int UF_MODL_edit_exp
(
char * expr_str
)
char *expr_strInputReplacement expression.

 


 
UF_MODL_edit_face_constraint (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function edits a face constraint with new parameters.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_edit_face_constraint
(
tag_t feature_tag,
UF_MODL_dfo_region_p_t region,
UF_MODL_dfo_constraint_p_t constraint
)
tag_tfeature_tagInputfeature_tag to be edited
UF_MODL_dfo_region_p_tregionInputfaces to be operated
UF_MODL_dfo_constraint_p_tconstraintInputconstraints imposed on the region.

 


 
UF_MODL_edit_face_grid_count (view source)
 
Defined in: uf_modl.h
 
Overview
Edits the u and v grid counts of a face or a body.

Environment
Internal and External

See Also
Refer to example
UF_MODL_ask_face_grid_count

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_face_grid_count
(
tag_t object,
int u_count,
int v_count
)
tag_tobjectInputtag of face or body
intu_countInputu grid counts
intv_countInputv grid counts

 


 
UF_MODL_edit_face_join (view source)
 
Defined in: uf_modl.h
 
Overview
Based on the specified input, either removes edges and vertices or
joins separate faces into a single b-surface for a body. For option = 1, this
function removes all of the unnecessary edges and vertices from the input body.
For option= 2, the function joins two separate faces into one b-surface (within
the same body).

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_face_join
(
int opt,
tag_t body_tag,
tag_t face_tags [ 2 ] ,
tag_t * result_tag
)
intoptInputJoining option:
1 = On same surface
2 = convert to B-surface
tag_tbody_tagInputTag of body containing faces to be joined
tag_tface_tags [ 2 ] InputTags of 2 faces to be joined (if opt=2)
tag_t *result_tagOutputTag of resulting feature.

 


 
UF_MODL_edit_formable_feature_state (view source)
 
Defined in: uf_modl_smd.h
 
Overview
This routine will set the state of the given feature.
The given feature tag must be the tag Flange, Inset Flange,
General Flange, SMBridge, or SMBend feature.

The state you want to set must be either UF_MODL_formed_state,
UF_MODL_unformed_state, or UF_MODL_other_state.

When UF_MODL_other_state is given and the UF_MODL_state_info structure
must be filled with the intermediate state to which you want to set
the feature.

The UF_MODL_state_info structure must hold a Process Factor if the
feature tag belongs to a Flange, Inset Flange feature. The Process
Factor can be thought of as a percentage of the design angle of the
feature. For example, a Process Factor of 1.0 represents a fully
Flange. A Process Factor of 0.0 represents a fully unformed
Flange. A Process Factor of 0.5 represents a Flange in an intermediate
state that is half-formed.

The UF_MODL_state_info structure must hold a State Index if the feature
tag belongs to a General Flange or SMBridge. The State Index
represents an index into the array of states stored by the General
Flange or SMBridge feature. Note: this value is currently not used.

If the given_feature is an SMBend, no state information other than
UF_MODL_formed_state or UF_MODL_unfromed_state can be given.

Return
Return code:
=0 : Successful
>0 : Failing error number
<0 : Failing error number
= UF_MODL_ERR_NOT_A_FORMABLE_FEATURE : The given tag was not
the tag of a formable
feature.
= UF_MODL_ERR_NOT_A_SUPPORTED_FEATURE : A given tag belongs to a
formable feature that is
not yet supported.

Environment
Internal and External

See Also
UF_MODL_ask_formable_feature_state

History
Originally released in V18.0
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_formable_feature_state
(
const tag_t feature_tag,
const UF_MODL_state_e_t state,
const UF_MODL_state_info_t* const state_info
)
const tag_tfeature_tagInputThe tag of a Flange, Inset
Flange, General Flange,
SMBridge, or SMBend feature.
const UF_MODL_state_e_tstateInputThe current state of an
SM feature: either
UF_MODL_formed_state,
UF_MODL_unformed_state or
UF_MODL_other_state.
const UF_MODL_state_info_t* conststate_infoInputIt will be filled
with the state information of
the feature.

 


 
UF_MODL_edit_general_flange (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Modifies the size and shape of a Sheet Metal Design general flange
feature. By populating the set of parameters with similar and/or
updated values, the feature can be altered.

Environment
Internal and External
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_general_flange
(
tag_t feature_tag,
tag_t tangent_face_tag,
UF_STRING_p_t bend_string,
UF_STRING_p_t spine_string,
UF_STRING_p_t section_string,
int nsteps,
int poly_cubic,
int reverse_normal,
int reverse_thicken,
char * thickness,
char * tolerance,
UF_MODL_parm_p_t plus_length,
UF_MODL_parm_t bend_radius [ ] ,
UF_MODL_parm_t bend_angle [ ] ,
UF_MODL_parm_t web_length [ ]
)
tag_tfeature_tagInputObject identifier of general flange feature.
tag_ttangent_face_tagInputObject identifier of the face which the feature will
maintain a tangency relationship.
UF_STRING_p_tbend_stringInputCollection of objects which represent the location of
the initial bend area.
UF_STRING_p_tspine_stringInputCollection of objects which represent the spine
associated witth the feature.
UF_STRING_p_tsection_stringInputCollection of objects which represent a set of
curves/edges to infer the size/shape of the
feature.
intnstepsInputThe number of bend area/web extensions which
define the size/shape of the feature.
intpoly_cubicInputThe method for generation of the surface geometry
associated with the feature.
0=Rational (exact)
1=Polynomial (approximate)
intreverse_normalInputWhether or not the direction of the normal has
been reversed.
0=Do not reverse normal direction.
1=Reverse normal direction.
intreverse_thickenInputWhether or not the direction in which the tool body
is to be thickened has been reversed.
0=Do not reverse thickening direction.
1=Reverse thickening direction.
char *thicknessInputCharacter string used to define the thickness of the
feature.
char *toleranceInputCharacter string used to define the tolerance of the
feature.
UF_MODL_parm_p_tplus_lengthInputA law controlled value which determines the length
of the extension associated with the tangent_face.
UF_MODL_parm_tbend_radius [ ] InputA law controlled value which determines the radius
of each bend area of the feature.
UF_MODL_parm_tbend_angle [ ] InputA law controlled value which determines the angle
of each bend area associated with the feature.
UF_MODL_parm_tweb_length [ ] InputA law controlled value which determines the length
of each web associated with the feature.

 


 
UF_MODL_edit_general_pad (view source)
 
Defined in: uf_modl_pads.h
 
Overview
Edits the various parameters of the general pad and reconstructs it
based on these new parameters.

Environment
Internal and External

See Also
UF_MODL_create_general_pad
UF_MODL_ask_general_pad
UF_MODL_free_general_pad
please see example
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_general_pad
(
tag_t general_pad_tag,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t top_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t top_radius
)
tag_tgeneral_pad_tagInputObject identifier of the general pad
feature to be modified.
UF_MODL_faces_p_tplacement_facesInputThe faces or face collector used to define the shape of
the pad at the placement faces. The first
face is used to determine the target
body.
UF_MODL_offset_trans_faces_p_ttop_facesInputThe definition of the top of the
pad. The top can either be an
offset or translation of the
specified faces or face collector. If it is
desired to have the top be an
offset or translate of the
placement faces, then just set
the UF_MODL_faces_p_t
pointer within this input i
structure to the
placement_faces pointer value.
UF_MODL_pocketpad_outline_p_toutlineInputThe definition of the curves used to
define the shape of the pad. The shape
can be defined by a single set of curves
or section builder
at either the placement face or the top
face, and then the other curves
or section builder are
derived with a taper angle. The shape
can also be defined by specifying
curves or section builders
at both the placement face and the top
face.
UF_MODL_parm_p_tplacement_radiusInputThe specification of the radius desired
between the side of the pad and the
placement face.
UF_MODL_parm_p_ttop_radiusInputThe specification of the radius desired
between the side of the pad and the top
of the pad.

 


 
UF_MODL_edit_general_pocket (view source)
 
Defined in: uf_modl_pockets.h
 
Overview
Edits the various parameters of the general pocket and reconstructs it
based on these new parameters.

Environment
Internal and External

See Also
Refer to example
UF_MODL_ask_general_pocket
UF_MODL_create_general_pocket
UF_MODL_free_general_pocket
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_general_pocket
(
tag_t general_pocket_tag,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t floor_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t floor_radius
)
tag_tgeneral_pocket_tagInputObject identifier of the general pocket
feature to be modified.
UF_MODL_faces_p_tplacement_facesInputThe faces or collector of faces used to define the shape of
the pocket at the placement faces. The
first face is used to determine the target
body.
UF_MODL_offset_trans_faces_p_tfloor_facesInputThe faces or face collectors used to define
the floor of the pocket. The floor can
either be an offset or
translation of the specified
faces or face collector. If it is desired to have
the floor be an offset or
translate of the placement
faces, then just set the
UF_MODL_faces_p_t
pointer within this input
structure to the placement_faces
pointer value.
UF_MODL_pocketpad_outline_p_toutlineInputThe definition of the curves used to
define the shape of the pocket. The
shape can be defined by a single set of
curves or section builder at either the placement face or
the floor face, and then the other curves or section builder
are derived with a taper angle. The
shape can also be defined by specifying
curves or section builder at both the placement face and
the floor face.
UF_MODL_parm_p_tplacement_radiusInputThe specification of the radius desired
between the side of the pocket and the
placement face.
UF_MODL_parm_p_tfloor_radiusInputThe specification of the radius desired
between the side of the pocket and the
floor of the pocket.

 


 
UF_MODL_edit_gflange (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Change an existing General Flange feature's parameters to
the parameters given in user_data. The caller should first call
UF_MODL_ask_gflange to get the current parameters for the general flange,
then change the elements that need to be changed, and then call
UF_MODL_edit_gflange

Return
Return code:
= 0 No error
= not 0 Error code

Environment
Internal and External
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_gflange
(
tag_t gflange_tag,
UF_MODL_gflange_data_p_t gflange_data
)
tag_tgflange_tagInputgeneral flange tag
UF_MODL_gflange_data_p_tgflange_dataInputgeneral flange data

 


 
UF_MODL_edit_hole_type (view source)
 
Defined in: uf_modl_holes.h
 
Overview
Changes the type of hole feature. New fields are initialized to zero. If
you want to change these fields, you need to edit their expressions.

Environment
Internal and External

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_hole_type
(
tag_t hole_feature,
UF_MODL_hole_type_e_t new_hole_type
)
tag_thole_featureInputHole feature
UF_MODL_hole_type_e_tnew_hole_typeInputNew hole type. Valid types are:
UF_SIMPLE_HOLE
UF_COUNTER_BORE_HOLE
UF_COUNTER_SUNK_HOLE

 


 
UF_MODL_edit_hollow (view source)
 
Defined in: uf_modl_hollow.h
 
Overview
Edit a hollow feature.

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_hollow
(
tag_t feature_id,
int type,
double tolerance,
char * thickness,
int n_pierced_faces,
tag_t * pierced_faces,
int n_boundary_faces,
tag_t * boundary_faces,
int n_offset_faces,
tag_t * offset_faces,
char * * offset_thickness
)
tag_tfeature_idInputFeature identifier for the hollow feature.
inttypeInputHollow type:
1 = face
2 = region
3 = body
doubletoleranceInputTolerance
char *thicknessInputDefault hollow thickness
intn_pierced_facesInputNumber of pierced or seed faces
tag_t *pierced_facesInputArray of pierced face identifiers
intn_boundary_facesInputNumber of boundary faces
tag_t *boundary_facesInputArray of boundary face identifiers
intn_offset_facesInputNumber of offset faces
tag_t *offset_facesInputArray of offset face identifiers
char * *offset_thicknessInputArray of offset thickness expressions

 


 
UF_MODL_edit_import_body_feature (view source)
 
Defined in: uf_modl_import_body.h
 
Overview
Edit the input tag.

The argument input_tag can be NULL_TAG, in which case the current work part is updated as an Interop
part. The update can either be from an out-of-date foreign part file, a specified different foreign
part file, or deleting the reference to the foreign part file.

The argument can be the tag of a part, in which case that part is updated as an Interop part. The
update can either be from an out-of-date foreign part file, a specified different foreign part file,
or deleting the reference to the foreign part file.

Or it can be the tag of a feature, in which case the feature is determined to be an Interop feature
or an import body feature. If the feature is an Interop feature, then the part of the feature is updated.
The update can either be from an out-of-date foreign part file, a specified different foreign part file,
or deleting the reference to the foreign part file. If the feature is an import body feature, then it is
editted by either reimporting the body from an out of date file, importing the body from a new file, or
deleting the reference to the file and converting the import body feature to an unparameterized feature.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_import_body_feature
(
tag_t input_tag,
UF_MODL_import_body_feature_edit_option_t edit_option,
const char * import_body_filename
)
tag_tinput_tagInputObject to edit
UF_MODL_import_body_feature_edit_option_tedit_optionInputUpdate, redefine or delete link
const char *import_body_filenameInputImport body file name, if redefine link

 


 
UF_MODL_edit_import_body_features (view source)
 
Defined in: uf_modl_import_body.h
 
Overview
Edit features in loaded part files.

If the current work part is an Interop part then that part will be updated from an out-of-date foreign
part file or deleting the reference to the foreign part file.

If the current work part is not an Interop part then import body features are editted by either
reimporting the body from an out of date file or deleting the reference to the file and converting
the import body feature to an unparameterized feature. This is done for all loaded parts.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_import_body_features
(
UF_MODL_import_body_feature_edit_option_t edit_option
)
UF_MODL_import_body_feature_edit_option_tedit_optionInputUpdate or delete link

 


 
UF_MODL_edit_impr_faces_parms (view source)
 
Defined in: uf_modl_simplify.h
 
Overview
Edit an existing imprint faces feature according to the specified data,
which must have been created at an earlier timestamp than the feature.
It is not possible to edit an imprint feature to be on a different body.
If the <n_imprint_faces> parm is 0 or the <imprint_datum_plane> parm is
NULL_TAG, then the corresponding feature parm will be unchanged by the edit.

Environment
Internal and External

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_impr_faces_parms
(
tag_t feature_tag,
UF_MODL_imprint_faces_data_p_t parms
)
tag_tfeature_tagInputThe imprint feature
UF_MODL_imprint_faces_data_p_tparmsInputNew parameters of the imprint feature

 


 
UF_MODL_edit_impr_loop_parms (view source)
 
Defined in: uf_modl_simplify.h
 
Overview
Edit an existing imprint loop feature according to the specified data,
which must have been created at an earlier timestamp than the feature.
It is not possible to edit an imprint feature to be on a different body.
If the <imprint_face> parm or the <imprint_datum_plane> parm is NULL_TAG,
then the corresponding feature parm will be unchanged by the edit.

Environment
Internal and External

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_impr_loop_parms
(
tag_t feature_tag,
UF_MODL_imprint_loop_data_p_t parms
)
tag_tfeature_tagInputThe imprint feature
UF_MODL_imprint_loop_data_p_tparmsInputNew parameters of the imprint feature

 


 
UF_MODL_edit_inset_flange (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Modifies the size and shape of a Sheet Metal Design inset flange
feature. By populating the set of parameters with similar and/or
updated values, the feature can be altered.

Environment
Internal and External
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_inset_flange
(
tag_t feature_tag,
UF_MODL_inset_flange_data_p_t parameters
)
tag_tfeature_tagInputObject identifier of flange feature.
UF_MODL_inset_flange_data_p_tparametersInputModified set of parameters which
represent the new size and shape of
the feature.

 


 
UF_MODL_edit_instantiated_udf (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Function description:
User function for editing a UDF instantaited feature.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

It can accept single UDF references and Smart Collectors and Sections in
UF_MODL_udf_ref_data_t.

Note that a Smart Section in ref_data must be deleted when a Smart Section is
created as a new UDF parent for the editing purpose.

See Also
UF_MODL_ask_instantiated_udf

History
This function was originally released in NX3.
 
Required License(s)
gateway

 
int UF_MODL_edit_instantiated_udf
(
tag_t udf_insert_tag,
logical explosion,
UF_MODL_udf_exp_data_t * exp_data,
UF_MODL_udf_ref_data_t * ref_data
)
tag_tudf_insert_tagInputTag of UDF instantiated feature
logicalexplosionInputFlag of explosion
UF_MODL_udf_exp_data_t *exp_dataInputExpression data
UF_MODL_udf_ref_data_t *ref_dataInputParent data

 


 
UF_MODL_edit_law_extension (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Edits existing Law Extension feature based on the Law Extension Open API
data structure.

Environment
Internal and External

See Also
UF_MODL_create_law_extension
UF_MODL_ask_law_extension
UF_MODL_free_law_extension
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_edit_law_extension
(
UF_MODL_lawext_data_p_t law_extension_data,
tag_t law_extension
)
UF_MODL_lawext_data_p_tlaw_extension_dataInputLaw Extension Open
API data structure.
tag_tlaw_extensionInputLaw Extension feature
object identifier.

 


 
UF_MODL_edit_linear_iset (view source)
 
Defined in: uf_modl_isets.h
 
Overview
Edits an instance linear set feature.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_linear_iset
(
tag_t feature_obj_id,
char * number_in_x,
char * distance_x,
char * number_in_y,
char * distance_y
)
tag_tfeature_obj_idInputLinear instance set feature identifier
char *number_in_xInputNumber in XC direction
char *distance_xInputSpacing in XC direction
char *number_in_yInputNumber in YC direction
char *distance_yInputSpacing in YC direction

 


 
UF_MODL_edit_linked_exterior (view source)
 
Defined in: uf_linked_exterior.h
 
Overview
This function edits a Linked Exterior feature.

See Also
UF_MODL_create_linked_exterior
UF_MODL_ask_linked_exterior
UF_MODL_identify_exterior_using_hl
UF_MODL_identify_exterior_using_rays

Environment
Internal and External

History
Released in V18.0
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_linked_exterior
(
tag_t feature_tag,
UF_MODL_linked_ext_p_t ext_data
)
tag_tfeature_tagInputFeature tag
UF_MODL_linked_ext_p_text_dataInputFeature data

 


 
UF_MODL_edit_local_scale (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function edits a local scale feature.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_local_scale
(
tag_t feature_tag,
UF_MODL_dfo_scale_type_t type,
UF_MODL_dfo_region_p_t region,
tag_t so_point,
tag_t so_dir,
tag_t so_csys,
char factors [ 3 ] [ UF_MAX_EXP_BUFSIZE ]
)
tag_tfeature_tagInputfeature_tag to be edited
UF_MODL_dfo_scale_type_ttypeInputscale type
UF_MODL_dfo_region_p_tregionInputfaces to be operated
tag_tso_pointInputsmart point
tag_tso_dirInputsmart direction
tag_tso_csysInputsmart coordinate system
charfactors [ 3 ] [ UF_MAX_EXP_BUFSIZE ] Inputscale factors

 


 
UF_MODL_edit_mirror_pattern_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function edits a mirror pattern_face feature.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_mirror_pattern_face
(
tag_t feature_tag,
UF_MODL_dfo_region_p_t region,
tag_t mirror_plane
)
tag_tfeature_tagInputthe feature
UF_MODL_dfo_region_p_tregionInputregion
tag_tmirror_planeInputmirror plane

 


 
UF_MODL_edit_mirror_set (view source)
 
Defined in: uf_modl.h
 
Overview
This function edits the mirror set. It will replace all the features
and the mirror plane of the mirror set feature.

See Also
UF_MODL_create_mirror_set
UF_MODL_ask_features_of_mirror_set

Environment
Internal and External

History
Released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_mirror_set
(
tag_t mirror_set,
tag_t * features,
int number_of_features,
tag_t mirror_plane
)
tag_tmirror_setInputThe tag of the mirror feature
tag_t *featuresInputArray of features to mirror
intnumber_of_featuresInputNumber of features in the array
tag_tmirror_planeInputThe mirror plane can be a face or a datum plane

 


 
UF_MODL_edit_move_region (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function edits a move_region feature.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_move_region
(
tag_t feature_tag,
UF_MODL_transform_type_t type,
UF_MODL_dfo_region_p_t region,
void * transf_data
)
tag_tfeature_tagInputfeature tag to be edited
UF_MODL_transform_type_ttypeInputtransformation type
UF_MODL_dfo_region_p_tregionInputfaces to be operated
void *transf_dataInputtransformation data, can be of following types:
UF_MODL_transf_pp_p_t - point to point translation
UF_MODL_transf_dist_p_t - translation along direction
UF_MODL_transf_angle_p_t - rotation about axis
UF_MODL_transf_aa_p_t - rotation between two axes

 


 
UF_MODL_edit_offset_region (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function edits an offset_region feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_edit_offset_region
(
tag_t feature_tag,
UF_MODL_dfo_region_p_t region,
char * offset
)
tag_tfeature_tagInputfeature_tag to be edited
UF_MODL_dfo_region_p_tregionInputfaces to be operated
char *offsetInputoffset value, in expression string

 


 
UF_MODL_edit_patch_body_parms (view source)
 
Defined in: uf_modl.h
 
Overview
Edits a patch feature.

Environment
Internal and External

See Also
UF_MODL_patch_body
UF_MODL_ask_patch_body_parms
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_patch_body_parms
(
tag_t feature,
tag_t new_target,
tag_t new_tool,
tag_t new_face,
int new_reverse
)
tag_tfeatureInputFeature to edit
tag_tnew_targetInputNew target body to replace the old target body
tag_tnew_toolInputNew tool body to replace the old tool body
tag_tnew_faceInputNew face to replace the old face
intnew_reverseInputNew reverse direction:
1 = Reverse
0 = No Reverse

 


 
UF_MODL_edit_plane (view source)
 
Defined in: uf_modl.h
 
Overview
Edits the data of a plane.

Environment
Internal and External

See Also
UF_MODL_ask_plane
UF_MODL_create_plane
Refer to example

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_plane
(
tag_t plane_tag,
double origin_point [ 3 ] ,
double plane_normal [ 3 ]
)
tag_tplane_tagInputPlane
doubleorigin_point [ 3 ] InputNew origin point of the plane
doubleplane_normal [ 3 ] InputNew Normal of the plane

 


 
UF_MODL_edit_points_parms (view source)
 
Defined in: uf_modl.h
 
Overview
Replace the points in a Points Feature

Environment
Internal and External

See Also
UF_MODL_ask_points_parms
UF_MODL_edit_points_parms

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_points_parms
(
tag_t feature_tag,
int num_points,
tag_t * points
)
tag_tfeature_tagInputFeature tag
intnum_pointsInputNumber of points
tag_t *pointsInputArray of point tags

 


 
UF_MODL_edit_quilt (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Edits a quilt surface.

Environment
Internal and External

See Also
UF_MODL_ask_quilt
UF_MODL_create_quilt
UF_MODL_free_quilt
See the quilt data structures
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_quilt
(
UF_MODL_quilt_type_t quilt_data,
UF_MODL_quilt_data_structures_p_u quilt_structure_po,
tag_t quilt_surface
)
UF_MODL_quilt_type_tquilt_dataInputType of quilt surface
UF_MODL_CURVE_MESH_ALONG_FIXED_VECTOR
UF_MODL_CURVE_MESH_ALONG_DRIVER_NORMALS
UF_MODL_B_SURFACE_ALONG_FIXED_VECTOR
UF_MODL_B_SURFACE_ALONG_DRIVER_NORMALS
UF_MODL_SELF_REFIT
UF_MODL_quilt_data_structures_p_uquilt_structure_poInputPointer to structure
containing the defining
data of the quilt surface.
tag_tquilt_surfaceInputObject identifier of quilt surface to be edited

 


 
UF_MODL_edit_reblend_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
Edit a reblend face feature data

Environment
Internal and External

History
V19 release
 
Required License(s)
gateway

 
int UF_MODL_edit_reblend_face
(
tag_t feature_eid,
UF_MODL_reblend_face_data_p_t reblend_data
)
tag_tfeature_eidInputFeature object identifier of a created reblend face
UF_MODL_reblend_face_data_p_treblend_dataInputUser defining reblend face feature data

 


 
UF_MODL_edit_rectangular_pattern_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function edits a rectangular pattern_face feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_edit_rectangular_pattern_face
(
tag_t feature_tag,
UF_MODL_dfo_region_p_t region,
tag_t x_axis,
tag_t y_axis,
int num_x,
int num_y,
char * x_offset,
char * y_offset
)
tag_tfeature_tagInputthe feature
UF_MODL_dfo_region_p_tregionInputregion
tag_tx_axisInputx-axis to define offset
tag_ty_axisInputy-axis
intnum_xInputnumber along XC
intnum_yInputnumber along YC, only for type==0
char *x_offsetInputoffset along XC
char *y_offsetInputoffset along YC

 


 
UF_MODL_edit_refit_face_feature (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Edits existing Refit Face feature based on the Refit Face Open API data
structure.

Environment
Internal and External

See Also
UF_MODL_create_refit_face_feature
UF_MODL_ask_refit_face_feature_data
UF_MODL_free_refit_face_feature_data
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_refit_face_feature
(
UF_MODL_refit_face_data_p_t refit_data,
tag_t refit
)
UF_MODL_refit_face_data_p_trefit_dataInputRefit Face Open API data structure.
tag_trefitInputRefit Face feature object identifier.

 


 
UF_MODL_edit_replace_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function edits a replace_face feature.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_replace_face
(
tag_t feature_tag,
tag_t * target_faces,
int num_target,
tag_t * non_blend_faces,
int num_non_blend,
tag_t tool_face,
logical reverse_direction
)
tag_tfeature_tagInputthe feature
tag_t *target_facesInputfaces to be operated, NULL if won't change
intnum_targetInputnumber of faces, 0 if won't change
tag_t *non_blend_facesInputadjacent tangent faces which are not blends,
NULL if won't change
intnum_non_blendInputnumber of non-blend faces, 0 if won't change
tag_ttool_faceInputtool face
logicalreverse_directionInputreverse direction of the tool face or not

 


 
UF_MODL_edit_resize_face (view source)
 
Defined in: uf_modl_dfo.h
 
Overview
This function edits a resize_face feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_edit_resize_face
(
tag_t feature_tag,
tag_t * target_faces,
int num_target,
tag_t * non_blend_faces,
int num_non_blend,
char * new_parameter
)
tag_tfeature_tagInputthe feature
tag_t *target_facesInputfaces to be operated, NULL if won't change
intnum_targetInputnumber of faces, 0 if won't change
tag_t *non_blend_facesInputadjacent tangent faces which are not blends,
NULL if won't change
intnum_non_blendInputnumber of non-blend faces, 0 if won't change
char *new_parameterInputnew diameter for cylindrical/spherical faces,
or half angle

 


 
UF_MODL_edit_ripedge (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Edit Edge Rip

Environment
Internal and External

History
Released in NX3.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_ripedge
(
tag_t ripedge_tag,
UF_MODL_ripedge_data_p_t ripedge_ufdata
)
tag_tripedge_tagInputThe ripedge tag
UF_MODL_ripedge_data_p_tripedge_ufdataInputData supplied by the
user to edit the
ripedge feature

 


 
UF_MODL_edit_rough_offset (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
This function will edit a rough offset feature.

Environment
Internal and External
See Also: UF_MODL_ask_rough_offset
UF_MODL_create_rough_offset
UF_MODL_free_rough_offset

History
Released in V18.0
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_rough_offset
(
tag_t feature_tag,
UF_MODL_rough_offset_p_t parms
)
tag_tfeature_tagInputFeature to be queried
UF_MODL_rough_offset_p_tparmsInputNew parameters for changing
a Rough Offset feature

 


 
UF_MODL_edit_scale (view source)
 
Defined in: uf_modl.h
 
Overview
This function will edit a scale feature.

Environment
Internal and External

See Also
UF_MODL_create_scale

History
Released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_scale
(
UF_SCALE_TYPE_t type,
tag_t tag,
tag_t so_point,
tag_t so_dir,
tag_t so_csys,
char factors [ 3 ] [ UF_MAX_EXP_BUFSIZE ]
)
UF_SCALE_TYPE_ttypeInputThe new type of scale feature to be edited to:
UF_SCALE_TYPE_UNIFORM
UF_SCALE_TYPE_AXISYMMETRIC
UF_SCALE_TYPE_GENERAL
tag_ttagInputThe tag of an existing scale feature to be edited
tag_tso_pointInputThis is the tag of a smart point to use as the origin
of the scale feature. If a NULL_TAG is passed, the
default origin will be the origin of the WCS. This
argument is ignored for UF_SCALE_TYPE_GENERAL scale
features.
tag_tso_dirInputThis is a tag of a smart point to be used as the
direction of the scale for a UF_SCALE_TYPE_AXISYMMETRIC
scale feature. It is ignored for all other scale
features. If a NULL_TAG is passed for an axisymmetric
scale feature, then the default will be the Z-axis of
the WCS.
tag_tso_csysInputThis is the tag of a smart CSYS to be used for a
UF_SCALE_TYPE_GENERAL scale feature. This parameter is
ignored for all other scale features. If a NULL_TAG is
passed for a general scale feature, then the default
will be the WCS.
charfactors [ 3 ] [ UF_MAX_EXP_BUFSIZE ] InputAn array of strings that define the
scale factors.These scale factors may
include expressions. For a uniform
scale feature, there is only one
string to use as a scale factor. For
an axisymmetric scale feature, two
factor strings must be passed in, the
first being the scale factor along
the axis, and the second being the
scale factor in the other direction.
For a general scale feature, there
will be three strings passed in this
array, the first being the scale in
the x-axis, the second being the
scale in the y-axis and the third
being the scale in the z-axis.

 


 
UF_MODL_edit_section_surface (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Edits the section surface Open API data structure.

Environment
Internal and External

See Also
UF_MODL_init_section_surface
UF_MODL_create_section_surface
UF_MODL_edit_section_surface
See the section surface data structures

History
V15.0 changes: The UF_MODL_secsrf_data_t structure was enhanced.
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_edit_section_surface
(
UF_MODL_secsrf_data_p_t section_surface_data,
tag_t section_surface
)
UF_MODL_secsrf_data_p_tsection_surface_dataInputSection Surface Open API Data
Structure
tag_tsection_surfaceInputSection Surface Feature object identifier.

 


 
UF_MODL_edit_set_hide_state (view source)
 
Defined in: uf_modl.h
 
Overview
Edit the hide state of a feature set.

Environment
Internal and External

History
Released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_set_hide_state
(
tag_t set,
int * hide_state
)
tag_tsetInputThe tag of the feature set
int *hide_stateInput / OutputInteger value for hide state: 1 is for hidden.
Returns the previous state of the feature set

 


 
UF_MODL_edit_set_members (view source)
 
Defined in: uf_modl.h
 
Overview
Edit, or replace, the members of a feature set.

Environment
Internal and External

History
Released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_set_members
(
tag_t set,
tag_t * features,
int number_of_feature
)
tag_tsetInputThe tag of the feature set
tag_t *featuresInputAn array of input features representing
the set members
intnumber_of_featureInputNumber of features in the array

 


 
UF_MODL_edit_sew_sheet_body (view source)
 
Defined in: uf_modl.h
 
Overview
Modifies data of the input sew sheet bodies feature to the specified
tool bodies and tolerance conditions specified in the inputs.

Environment
Internal and External

See Also
UF_MODL_create_sew
UF_MODL_create_multiple_sews
UF_MODL_ask_sew_sheet_body

History
Original release was in V16.0.1.
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_sew_sheet_body
(
tag_t feature_obj_eid,
tag_t new_target_eid,
int tool_body_count,
tag_t * tool_body_eids,
double tolerance
)
tag_tfeature_obj_eidInputFeature object id of sew feature.
tag_tnew_target_eidInputThe NX eid of the the new target sheet body.
This option will be available in V17.
inttool_body_countInputNumber of tool sheet bodies
tag_t *tool_body_eidsInputArray of NX eids of sheet bodies
doubletoleranceInputDistance tolerance for approximations

 


 
UF_MODL_edit_sew_solid_body (view source)
 
Defined in: uf_modl.h
 
Overview
Modifies data of the input sew solid bodies feature to the specified
tool and target faces and tolerance conditions specified in the inputs.

Environment
Internal and External

See Also
UF_MODL_create_sew
UF_MODL_ask_sew_solid_body

History
Original release was in V16.0.1.
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_sew_solid_body
(
tag_t feature_obj_eid,
int target_faces_count,
tag_t * target_faces,
int tool_faces_count,
tag_t * tool_faces,
double tolerance
)
tag_tfeature_obj_eidInputFeature object id of trimmed sheet.
inttarget_faces_countInputNumber of faces on the target body to be sewn
tag_t *target_facesInputArray of NX eids of faces on the target body
to be sewn. This array must be freed by
calling UF_free.
inttool_faces_countInputNumber of faces on the tool body to be sewn
tag_t *tool_facesInputArray of NX eids of faces on the tool body
to be sewn. This array must be freed by
calling UF_free.
doubletoleranceInputDistance tolerance for approximations.

 


 
UF_MODL_edit_silhouette_flange (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Edits existing Silhouette Flange feature based on the Silhouette Flange Open API
data structure.

Environment
Internal and External

See Also
UF_MODL_create_silhouette_flange
UF_MODL_ask_silhouette_flange
UF_MODL_free_silhouette_flange

History
First released in NX3
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_silhouette_flange
(
UF_MODL_sflange_data_p_t sflange_data,
tag_t sflange_tag
)
UF_MODL_sflange_data_p_tsflange_dataInputSilhouette Flange Open API
data structure.
tag_tsflange_tagInputSilhouette Flange feature
object identifier.

 


 
UF_MODL_edit_simplify_parms (view source)
 
Defined in: uf_modl_simplify.h
 
Overview
Edit an existing simplify feature according to the specified data, which
must have been created at an earlier timestamp than the feature. Faces and
edges which are already parameters of the simplify feature, but which have
no associated geometry at present, are retained as its parameters after the
edit. If the feature cannot be edited to the specified parameters because
one or more faces could not be removed, the ifail UF_MODL_SIMPL_HEAL_FAILED
is returned, and the array <failing_wound_edges> will contain the tags of
the edges which could not be healed (and must be freed using UF_free()). It
is not possible to edit a simplify feature to be on a different body.

If the expression passed in as <max_hole_dia_expression> is different from
the previous expression used, and the old expression is an unused system
expression, the old expression will be deleted. The expression's value can
be changed by the normal expression editing routines.

Environment
Internal and External

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_simplify_parms
(
tag_t feature_tag,
UF_MODL_simpl_data_p_t simpl_parms,
int * n_failing_wound_edges,
tag_t * * failing_wound_edges
)
tag_tfeature_tagInputThe simplify feature
UF_MODL_simpl_data_p_tsimpl_parmsInputNew parameters of the simplify feature
int *n_failing_wound_edgesOutputThe number of failing wound edges
tag_t * *failing_wound_edgesOutput to UF_*free*Array of failing wound edges. This must be
freed by calling UF_free.

 


 
UF_MODL_edit_slot_type (view source)
 
Defined in: uf_modl_slots.h
 
Overview
Changes the type of slot feature. New fields are initialized as
indicated in the table above. If you want to change these fields, you
need to edit their expressions.

Environment
Internal and External

See Also
Refer to example

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_slot_type
(
tag_t slot_feature,
UF_MODL_slot_type_e_t new_slot_type
)
tag_tslot_featureInputSlot feature
UF_MODL_slot_type_e_tnew_slot_typeInputNew slot type. Valid types are:
UF_RECTANGULAR_SLOT
UF_BALL_END_SLOT, UF_U_SLOT
UF_T_SLOT, UF_DOVE_TAIL_SLOT

 


 
UF_MODL_edit_smbend (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Edits an existing smbend feature.

Environment
Internal and External

Return
Return code:
= 0 No error
= not 0 Error code

History
Originally released in V17.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_smbend
(
tag_t bend_tag,
UF_MODL_smbend_data_p_t user_data
)
tag_tbend_tagInputtag of the bend
feature to be edited
UF_MODL_smbend_data_p_tuser_dataInputnew user data for
the bend

 


 
UF_MODL_edit_smbend_corner (view source)
 
Defined in: uf_modl_smd.h
 
Overview
This procedure uses data from the user to edit an existing smbend feature
that was created by converting a corner.

Return
Return code:
= 0 No Error
= not 0 Error code

Environment
External

History
Originally released in V17.0.3
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_smbend_corner
(
tag_t bend_tag,
UF_MODL_smbend_corner_data_p_t user_data
)
tag_tbend_tagInputtag of the bend
feature to be edited
UF_MODL_smbend_corner_data_p_tuser_dataInputnew user data for
the bend

 


 
UF_MODL_edit_smbend_cylinder (view source)
 
Defined in: uf_modl_smd.h
 
Overview
This procedure uses data from the user to edit an existing smbend feature
that was created by converting a cylindrical face.

Return
Return code:
= 0 No Error
= not 0 Error code

Environment
External

History
Originally released in V17.0.3
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_smbend_cylinder
(
tag_t bend_tag,
UF_MODL_smbend_cylinder_data_p_t user_data
)
tag_tbend_tagInputtag of the bend
feature to be edited
UF_MODL_smbend_cylinder_data_p_tuser_dataInputnew user data for
the bend

 


 
UF_MODL_edit_smcorner (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Edit smcorner

Environment
Internal and External

History
Released in NX3.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_smcorner
(
tag_t smcorner_tag,
UF_MODL_smcorner_data_p_t smcorner_ufdata
)
tag_tsmcorner_tagInputThe smcorner tag
UF_MODL_smcorner_data_p_tsmcorner_ufdataInputData supplied by the
user to edit the
smcorner feature

 


 
UF_MODL_edit_smcutout (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Changes the parameter data of an existing sheet metal cutout (SMCutout) feature
by providing the object identifier associated to the SMCutout feature and a new
SMCutout parameter data structure.

Environment
Internal and External

See Also
UF_MODL_smcutout_data_p_t

History
Original release was in V15.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_smcutout
(
tag_t cutout_tag,
UF_MODL_smcutout_data_p_t user_data
)
tag_tcutout_tagInputTag of cutout to change
UF_MODL_smcutout_data_p_tuser_dataInputNew data for cutout parms

 


 
UF_MODL_edit_smd_flange (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Modifies the size and shape of a Sheet Metal Design flange feature.
The caller should use UF_MODL_ask_flange_parms to get the current parameters
and by changing the required parameters, the feature can be altered.

Environment
Internal and External
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_smd_flange
(
tag_t feature_tag,
UF_MODL_flange_data_p_t parameters
)
tag_tfeature_tagInputObject identifier of flange feature.
UF_MODL_flange_data_p_tparametersInputModified set of parameters which
represent the new size and shape of the
feature.

 


 
UF_MODL_edit_smhole (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Edits an existing sheet metal hole.

Environment
Internal and External

See Also
UF_MODL_smhole_data_p_t

History
Original release was in V14.0.
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_smhole
(
tag_t hole_tag,
UF_MODL_smhole_data_p_t user_data
)
tag_thole_tagInputTag of the SMHole to edit
UF_MODL_smhole_data_p_tuser_dataInputPointer to user's modified
UF_MODL_smhole_data_s data structure

 


 
UF_MODL_edit_smpunch (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Change an existing SMPunch feature's parameters to
the parameters given in user_data. The caller should first call
UF_MODL_ask_smpunch to get the current parameters for the punch, then
change the elements that need to be changed, and then call
UF_MODL_edit_smpunch.

Environment
Internal and External

See Also
UF_MODL_ask_smpunch
UF_MODL_create_smpunch

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_edit_smpunch
(
UF_MODL_smpunch_data_p_t user_data,
tag_t punch_tag
)
UF_MODL_smpunch_data_p_tuser_dataInputData describing the punch edits.
tag_tpunch_tagInputThe object identifier of the punch
feature to be modified.

 


 
UF_MODL_edit_smslot (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Edits an existing sheet metal slot.

Environment
Internal and External

See Also
UF_MODL_smslot_data_p_t

History
Original release was in V14.0.
 
Required License(s)
gateway

 
int UF_MODL_edit_smslot
(
tag_t slot_tag,
UF_MODL_smslot_data_p_t user_data
)
tag_tslot_tagInputTag of the SMSlot to edit
UF_MODL_smslot_data_p_tuser_dataInputPointer to user's modified
UF_MODL_smslot_data_s data structure

 


 
UF_MODL_edit_snip_surface_feature (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Edits an existing Snip Surface feature based on an Open API data structure.

Environment
Internal and External

See Also
UF_MODL_create_snip_surface_feature
UF_MODL_ask_snip_surface_feature_data
UF_MODL_free_snip_surface_feature_data

History
First released in NX2
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_snip_surface_feature
(
UF_MODL_snipsrf_feature_data_p_t usr_data,
tag_t snip
)
UF_MODL_snipsrf_feature_data_p_tusr_dataInput
tag_tsnipInput

 


 
UF_MODL_edit_solid_punch (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Edit solid punch

Return
Return code :

Environment
Internal and External

History
Released in NX2.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_edit_solid_punch
(
tag_t smspunch_tag,
UF_MODL_solid_punch_data_p_t smspunch_ufdata
)
tag_tsmspunch_tagInputThe solidpunch tag
UF_MODL_solid_punch_data_p_tsmspunch_ufdataInputData supplied by the
user to edit the
solid punch feature

 


 
UF_MODL_edit_stycorner (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Edit an Styled Corner Surface Feature using its NX Open API data structure.

Environment
Internal and External

See Also
UF_MODL_create_stycorner
UF_MODL_edit_stycorner
UF_MODL_ask_stycorner_data
UF_MODL_init_stycorner_data

History
First released in NX3
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_stycorner
(
UF_MODL_stycorner_data_p_t styled_corner_data,
tag_t frec_tag
)
UF_MODL_stycorner_data_p_tstyled_corner_dataInputStyled corner NX Open
API data structure.
tag_tfrec_tagInputthe object identifier to be edited

 


 
UF_MODL_edit_styled_sweep_feature (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Edits existing Styled Sweep feature based on the Styled Sweep Open API data
structure.

Environment
Internal and External

See Also
UF_MODL_create_styled_sweep_feature
UF_MODL_ask_styled_sweep_feature_data
UF_MODL_free_styled_sweep_feature_data
 
Required License(s)
gateway

 
int UF_MODL_edit_styled_sweep_feature
(
UF_MODL_styled_sweep_data_p_t styled_sweep_data,
tag_t styswp
)
UF_MODL_styled_sweep_data_p_tstyled_sweep_dataInputStyled Sweep Open API data structure.
tag_tstyswpInputStyled Sweep feature object identifier.

 


 
UF_MODL_edit_subdiv_face (view source)
 
Defined in: uf_modl.h
 
Overview
Replaces a curve in a subdivided face feature with another curve. At
the end of the edit for a subdivided face, a UF_MODL_update should
be called to perform an update.

Environment
Internal and External

See Also
UF_MODL_update
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_subdiv_face
(
const int edit_flag,
const tag_t feature_obj_id,
const tag_t remove_curve,
const tag_t add_curve,
const double vector [ 3 ]
)
const intedit_flagInputEdit flag
1 = replace curve
others for future use
const tag_tfeature_obj_idInputFeature object identifier of a subdivide face
const tag_tremove_curveInputCurve to remove from the subdivide face feature
const tag_tadd_curveInputCurve to add to the subdivide face feature
const doublevector [ 3 ] InputProjection vector (Not used)

 


 
UF_MODL_edit_sweep_curves (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Removes and adds profile and guide curves of a sweep that can be one of the
following types, Extruded, Revolved, Sweep (along a Guide) and Cable/Tube.

Environment
Internal and External

See Also
UF_MODL_ask_sweep_curves
UF_MODL_ask_sweep_of_udf
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_sweep_curves
(
tag_t sweep_id,
int n_profile_curves_removed,
tag_t * profile_curves_removed,
int n_profile_curves_added,
tag_t * profile_curves_added,
int n_guide_curves_removed,
tag_t * guide_curves_removed,
int n_guide_curves_added,
tag_t * guide_curves_added
)
tag_tsweep_idInputsweep object identifier
intn_profile_curves_removedInputnumber of the curves to be removed from the sweep
profile, 0 if no curve.
tag_t *profile_curves_removedInputcurves to be removed from the sweep profile,
NULL if no curve.
intn_profile_curves_addedInputnumber of the curves to be added to the sweep
profile, 0 if no curve.
tag_t *profile_curves_addedInputcurves to be added to the sweep profile, NULL if
no curve.
intn_guide_curves_removedInputnumber of the curves to be removed from the sweep
guide, 0 if no curve.
tag_t *guide_curves_removedInputcurves to be removed from the sweep guide, NULL
if no curve.
intn_guide_curves_addedInputnumber of the curves to be added to the sweep
guide, 0 if no curve.
tag_t *guide_curves_addedInputcurves to be added to the sweep guide, NULL if no
curve.

 


 
UF_MODL_edit_symb_thread (view source)
 
Defined in: uf_modl.h
 
Overview
Edits a thread feature. This function will need a data structure as input.
Before calling this function, you can call UF_MODL_ask_symb_thread_parms
to check the existing thread parameters.

Only if a thread is created by the option "manual input" instead of "choose from table",
you can edit pitch, angle, minor and major diameters. Manual defined thread
has an empty callout, so you can know whether a thread is created by "manual input"
by checking if the callout is NULL, but you can not simply set callout = NULL.

For internal thread, argument "internal_thread" should be set as "TRUE" in parameters
which is pointer to thread parameter structure UF_MODL_symb_thread_data_s.

As any other editing function, you may need to call UF_MODL_update to view
your feature changes for internal Open API applications.

Environment
Internal and External

See Also
UF_MODL_symb_thread_data_p_t

History
This function is new to V14.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_symb_thread
(
tag_t thread_obj_id,
UF_MODL_symb_thread_data_p_t parameters
)
tag_tthread_obj_idInputThread object id
UF_MODL_symb_thread_data_p_tparametersInputPointer to thread parameter
structure UF_MODL_symb_thread_data_s

 


 
UF_MODL_edit_taper_from_edges (view source)
 
Defined in: uf_modl_taper.h
 
Overview
Edit a taper from edges

Environment
Internal and External

History
Originally released in V17.0
 
Required License(s)
gateway

 
int UF_MODL_edit_taper_from_edges
(
tag_t feature_eid,
int type,
tag_t direction_tag,
const char * angle_str,
logical taper_all_instances,
int num_edges,
tag_t edges [ ] ,
double dist_tol,
double angle_tol
)
tag_tfeature_eidInputfeature eid of created taper
inttypeInputtaper type
tag_tdirection_tagInputtaper direction
const char *angle_strInputtaper angle
logicaltaper_all_instancesInputtapering all instances
intnum_edgesInputnumber of edges
tag_tedges [ ] Inputarray of edges
doubledist_tolInputtolerance of distance
doubleangle_tolInputtolerance of angle

 


 
UF_MODL_edit_trimmed_sheet (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Modifies data of the input trimmed sheet feature to the specified
boundary and regional conditions specified in the inputs.

Environment
Internal and External

History
Original release was in V13.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_trimmed_sheet
(
tag_t feature_obj_eid,
int bounding_object_count,
tag_t * bounding_objects,
UF_MODL_vector_p_t projection_method,
int point_key,
int point_count,
double point_coords [ ] ,
double tolerance
)
tag_tfeature_obj_eidInputFeature object id of trimmed sheet.
intbounding_object_countInputNumber of trimming boundary objects
tag_t *bounding_objectsInputArray of NX eids of trimming objects
UF_MODL_vector_p_tprojection_methodInputA variant record of the following
int reverse_vector,
UF_MODL_vector_type_t vector_type,
where vector_type =

UF_MODL_VECTOR_DIRECTION:
project along a fixed vector,
a vector, double[3], is required.

UF_MODL_VECTOR_DIRECTION_EXACT_GEOMETRY:
project along a fixed vector,
a vector, double[3], is required,
NX will produce exact geometry.

UF_MODL_VECTOR_AXIS:
project along a datum axis,
an NX eid of the datum axis is required.

UF_MODL_VECTOR_AXIS_EXACT_GEOMETRY:
project along a datum axis,
an NX eid of the datum axis is required,
NX will produce exact geometry.

UF_MODL_VECTOR_FACE_NORMALS
project along face normals,
no other input is needed.

UF_MODL_VECTOR_FACE_NORMALS_EXACT_GEOMETRY
project along face normals,
no other input is needed, NX will produce
exact geometry when ever possible.
intpoint_keyInputPoints define regions to: 0 = retain; 1 = discard
intpoint_countInputNumber of region points
doublepoint_coords [ ] InputArray of region points on the sheet to be trimmed.
This array contains 3point_count entries.
doubletoleranceInputDistance tolerance for approximations.

 


 
UF_MODL_edit_wrap_assembly (view source)
 
Defined in: uf_modl.h
 
Overview
This function edits a Wrap Assembly feature.

See Also
UF_MODL_create_wrap_assembly
UF_MODL_ask_wrap_assembly

Environment
Internal and External

History
Released in V17.0
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_wrap_assembly
(
tag_t feature_tag,
UF_MODL_wrap_assem_p_t wrap_data
)
tag_tfeature_tagInputFeature tag
UF_MODL_wrap_assem_p_twrap_dataInputFeature data

 


 
UF_MODL_edit_wrap_geometry (view source)
 
Defined in: uf_modl.h
 
Overview
This function edits a Wrap Geometry feature.

See Also
UF_MODL_create_wrap_geometry
UF_MODL_ask_wrap_geometry

Environment
Internal and External

History
Released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_edit_wrap_geometry
(
tag_t feature_tag,
UF_MODL_wrap_geom_p_t wrap_data
)
tag_tfeature_tagInputFeature tag
UF_MODL_wrap_geom_p_twrap_dataInputFeature data

 


 
UF_MODL_eval_exp (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
The input to UF_MODL_eval_exp is a character string containing the
name of the expression. What is returned to the user is the numeric
value of the expression.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_eval_exp
(
char * exp_name,
double * exp_value
)
char *exp_nameInputName of expression to be evaluated.
double *exp_valueOutputResult of evaluation.

 


 
UF_MODL_evaluate_curve (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Evaluates a curve for position and derivatives. The derivative types
can be found in uf_modl.h.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_evaluate_curve
(
tag_t curve_id,
double * param,
int * deriv_flag,
double pos_and_deriv [ ]
)
tag_tcurve_idInputObject identifier for the curve
double *paramInputParameter at which to evaluate
int *deriv_flagInputNumber of derivatives to evaluate.
UF_MODL_LOC = Return the point
UF_MODL_LOC_1STDERV = Return the
point and 1st derivative
UF_MODL_LOC_1STDERV_2NDDERV =
Return the point, 1st and 2nd derivative
doublepos_and_deriv [ ] OutputPosition and derivative.
Dimension of the array = 3 (deriv_flag+1)

 


 
UF_MODL_evaluate_face (view source)
 
Defined in: uf_modl.h
 
Overview
Computes the requested derivatives of a face at the given parameter
values.

Environment
Internal and External

See Also
Refer example
 
Required License(s)
solid_modeling

 
int UF_MODL_evaluate_face
(
tag_t face_tag,
int deriv_request,
double parms [ 2 ] ,
UF_MODL_SRF_VALUE_p_t eval_result
)
tag_tface_tagInputFace tag
intderiv_requestInputorder of the derivative to be computed:
UF_MODL_EVAL - position
UF_MODL_EVAL_DERIV1 - position and first partial
UF_MODL_EVAL_DERIV2 - position, first partial and second
partial
UF_MODL_EVAL_DERIV3 - position, first, second and third
partials
Defaults to UF_MODL_EVAL_DERIV2 for Blend faces

UF_MODL_EVAL_UNIT_NORMAL - position, first partials and
unitized normal.
UF_MODL_EVAL_NORMAL - position, first partials and the
ununitized normal.
UF_MODL_EVAL_ALL - position, normals and all the partials up
to the third order.
Defaults to UF_MODL_EVAL_DERIV2 for Blend faces
doubleparms [ 2 ] Inputu,v values at which derivatives are to be computed.
UF_MODL_SRF_VALUE_p_teval_resultOutputPointer to the structure containing
position and derivatives:
srf_pos[3] - position
srf_du[3] - d/du
srf_dv[3] - d/dv
srf_unormal[3] - unit normal
srf_d2u[3] - d2/du2
srf_dudv[3] - d2/dudv
srf_d2v[3] - d2/dv2
srf_d3u[3] - d3/du3
srf_d2udv[3] - d3/du2dv
srf_dud2v[3] - d3/dud2v
srf_d3v[3] - d3/dv3
srf_normal[3] - d/du X d/dv

 


 
UF_MODL_evaluate_parm (view source)
 
Defined in: uf_modl.h
 
Overview
Evaluates the parm structure at the given parameter value. If the parm method
type is UF_MODL_PARM_CONSTANT, the value returned is the same regardless of
the parameter value that is passed in.

Environment
Internal and External

History
Original release was in V13.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_evaluate_parm
(
UF_MODL_parm_p_t parm,
double parameter,
double * value
)
UF_MODL_parm_p_tparmInputPointer to parm structure to evaluate
doubleparameterInputParameter at which to evaluate. Must be between 0 and 1.
double *valueOutputValue of parm at given parameter.

 


 
UF_MODL_export_exp (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Exports expressions to a file. You input a file specification (path and
filename).

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_export_exp
(
char * file_spec
)
char *file_specInputFile name specification to export expressions into.
NOTE: if the file already exists, an error code is
returned and the file is not overwritten.

 


 
UF_MODL_export_udf (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Exports a user defined feature part. Note that you must use the
UF_MODL_boolean_udf to actually perform the Boolean operation
specified by the sign parameter.

User Defined Features (UDFs) allow you to define the shape and
function of features. This gives you the ability to create a library of
features tailored to your needs.

Four Open API routines provide support for the creation of User
Defined Features. These routines generally reflect the interactive
UDF functionality. Please see user-defined features in the Modeling
User Manual for more information and examples. The Open API
routines are UF_MODL_export_udf, UF_MODL_import_udf, UF_MODL_set_udf_parms
and UF_MODL_boolean_udf. In addition, there is one inquiry routine
UF_MODL_ask_udf_parms.

All UDFs must be predefined (created) and saved as a user-defined
feature file. You use the UF_MODL_export_udf to create the file. You
retrieve a UDF using UF_MODL_import_udf and use UF_MODL_set_udf_parms
to change the predefined feature parameters and UF_MODL_boolean_udf to
make the UDF part of your model. You can also use the relative position
routines (see UF_MODL_register_rpo and UF_MODL_unregister_rpo) to position
your UDF on your part.

To create a UDF file, you must first create a model using the existing
functions (Open API, GRIP, or interactively). This entire model,
including expressions, is the new UDF you wish to define. The UDF
must be created in the absolute coordinate space. The origin (0,0,0) is
considered the feature's origin.

After the geometry is defined, you use UF_MODL_export_udf to
create a user feature output file. The UDF file contains the geometry
as well as information on the input parameters (i.e. those parameters
that you let other users change when the UDF is brought into their
parts) and the attachment method.

The UDF file has the same name as the part name but with the ".udf"
extension. For example, if your part name were "name_of_file.prt",
then the udf file name would be "name_of_file.udf". Input parameters
are those parameters you wish to be entered during the creation of a
model as a feature. The input parameters are specified by the ip_prompts,
ip_names, and number_of_elements arguments.

All variables not entered as input variables become constants or they
can be controlled using expressions established before saving the
UDF file. For example, let's say your UDF consists of a block where
p0 represents the width, p1 represents the length, and p2 represents
the height. You have determined that you wish the width and length to
be specified when bringing in the UDF, but you wish the height to
always be the width plus twice the length.

In your creation of the block, you would have predefined p2 = p0 +
2p1. But you need to specify to the UFD file that p0 and p1 are the
input parameters. You specify the variables or expressions in the
ip_names argument. You can alias these expressions using the
ip_prompts arguments.

When specifying the input parameters when importing the UDF, you
set the parameters using the alias prompt name. An error occurs if
you specify variables that do not exist in the model and the UDF file
is not created. In our preceding example, you would specify the inputs
parameters as follows:
int number2 = number_of_elements = 2;
char ip_prompts[number2] = { "width", "length" };
char ip_names[number2] = { "p0", "p1" };

You specify the attachment method that the UDF is to perform when
brought into your model. The options are create, add, subtract, and
intersect (UF_NULLSIGN, UF_POSITIVE, UF_NEGATIVE, and UG_UNSIGNED
respectively).

After the feature is saved, you need to specify data when bringing the
UDF into your part. With UF_MODL_import_udf, you specify the udf
part file name and the destination csys and point. The routine returns
the tag of the UDF. The destination csys is the orientation in which
the feature is brought into the part. The destination point is the
location at which the system places the origin of the UDF.

UF_MODL_set_udf_parms sets the values for UDF predefined parameter names
(prompts). An error results if you provide an incorrect parameter name.
You can use UF_MODL_ask_udf_parms to inquire the names and current
setting of the input parameters.

Finally, you use UF_MODL_boolean_udf to specify the planar face on the UDF
(tool body) that is to be placed directly on the planar body (target body).
You also need to determine what is the x-direction on the planar tool face
to define the coordinate system for the relative positioning constraints.
The normal to the planar tool face is the z-axis and is used with the
x-direction to fully specify the relative positioning dimension coordinate
system. Before applying the boolean, you may wish to register the relative
position to allow you to specify the position of the udf. If the attachment
method is "create," then you do not need to specify the planar faces.
However, you must call UF_MODL_boolean_udf for every imported UDF regardless
of the type of Boolean operation performed.

Note: This routine works only with old-style Pre-V15 UDFs

Environment
Internal and External

See Also
UF_MODL_export_udf
UF_MODL_import_udf
UF_MODL_set_udf_parms
UF_MODL_boolean_udf
UF_MODL_ask_udf_parms
 
Required License(s)
gateway

 
int UF_MODL_export_udf
(
char * * ip_prompts,
char * * ip_names,
int number_of_elements,
UF_FEATURE_SIGN sign
)
char * *ip_promptsInputPointer to array of pointers to ip prompts.
char * *ip_namesInputPointer to array of pointers to ip variable names.
intnumber_of_elementsInputNumber of elements in array.
UF_FEATURE_SIGNsignInputThe attachment method sign. Valid options:
UF_NULLSIGN = 0, create new target solid
UF_POSITIVE = 1, add to target solid
UF_NEGATIVE = 2, subtract from target solid
UF_UNSIGNED = 3 intersect with target solid

 


 
UF_MODL_extract_face (view source)
 
Defined in: uf_modl_form_features.h
 
Overview
Extracts the given face into the work part. If the face given is in the
work part, then the extracted face is associative to the given face (i.e.
if the given face is moved, the extracted face moves with it). If the
given face is an occurrence of a face that's not in the work part, then
the face is created without having any associativity.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_extract_face
(
tag_t face,
int mode,
tag_t * sheet_body
)
tag_tfaceInputFace to be extracted. Can be an occurrence.
intmodeInputType of extraction to perform.
0 = new_face should be the same type of face
as the given face.
1 = new_face should be a cubic polynomial
approximation of the given face.
2 = new_face should be a b-surface
representation of the given face.
tag_t *sheet_bodyOutputSheet body created, this sheet is created in the work
part.

 


 
UF_MODL_feature_can_be_copied (view source)
 
Defined in: uf_modl.h
 
Overview
Ask if a feature can be copied

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_feature_can_be_copied
(
tag_t feature_eid,
logical * copy_flag
)
tag_tfeature_eidInputFeatures identifier
logical *copy_flagOutputflag TRUE/FALSE;

 


 
UF_MODL_fix_bsurface_data (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
This function inspects the b-surface data for degeneracies. If it finds
any, it attempts to fix them by moving one or more control points. The
fixed-up data is returned in the same memory as the supplied data.

Environment
Internal and External

See Also
UF_BREP_attach_geometry
Structure UF_MODL_state_t which is a type define of UF_CURVE_state_t

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_fix_bsurface_data
(
double degen_toler,
UF_MODL_bsurface_p_t bsurface,
int * num_states,
UF_MODL_state_p_t * states
)
doubledegen_tolerInputthreshold for reporting fixes: fixes less than this
value are not reported
UF_MODL_bsurface_p_tbsurfaceInputb-surface for which to remove degeneracies
int *num_statesOutputnumber of states in the states array
UF_MODL_state_p_t *statesOutput to UF_*free*states, some of original spline, some of output
spline; if NULL is provided no states are
returned. This must be freed by calling UF_free.

 


 
UF_MODL_form_features (view source)
 
Defined in: uf_modl_smd.h
 
Overview
This routine will set the state of an array of formable features
so that the features will be fully formed.
The given feaure tags must be tags of Flange, Inset Flange,
General Flange, SMBridge, or SMBend feature.

The caller of this routine may start an update cycle (if any of the features
are not already in their fully formed state) by using UF_MODL_update.

Return
Return code:
=0 : Successful
>0 : Failing error number
<0 : Failing error number
= UF_MODL_ERR_NOT_A_FORMABLE_FEATURE : The given tag was not
the tag of a formable
feature.

Environment
Internal and External

See Also
UF_MODL_unform_features

History
Originally released in V18.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_form_features
(
const int n_features,
const tag_t * const feature_tag_array,
logical * const is_update_required
)
const intn_featuresInputThe number of features tags
in the array.
const tag_t * constfeature_tag_arrayInputThe array of formable feature
tags.
logical * constis_update_requiredOutputIf update is required.

 


 
UF_MODL_free_bead (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Frees all the memory associated with the parameters returned from
UF_MODL_ask_bead.

Environment
Internal and External
 
Required License(s)
sheet_metal_design

 
int UF_MODL_free_bead
(
UF_MODL_project_curves_p_t centerline,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t secondary_faces,
UF_MODL_bead_section_plane_p_t section_plane,
UF_MODL_vector_p_t section_axis,
UF_MODL_bead_section_parms_p_t section_parms
)
UF_MODL_project_curves_p_tcenterlineInputPointer to information to define the
centerline of the bead.
UF_MODL_faces_p_tplacement_facesInputPointer to information to define the faces
where the bead is to be placed.
UF_MODL_offset_trans_faces_p_tsecondary_facesInputPointer to information to define
the optional secondary faces
for the bead.
UF_MODL_bead_section_plane_p_tsection_planeInputPointer to direction information
to define the normal of the
orientation plane of the bead
sections.
UF_MODL_vector_p_tsection_axisInputPointer to direction information to define the
centerline of the bead cross section.
UF_MODL_bead_section_parms_p_tsection_parmsInputPointer to information to define
the cross sectional shape of the
bead.

 


 
UF_MODL_free_bsurf_data (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Frees the B-surface data.

Environment
Internal and External

See Also
Refer to example
UF_MODL_create_bsurf_thru_pts
UF_MODL_ask_bsurf

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_free_bsurf_data
(
UF_MODL_bsurface_p_t bsurf
)
UF_MODL_bsurface_p_tbsurfInputB-surf data to be freed

 


 
UF_MODL_free_compare_data (view source)
 
Defined in: uf_mdlcmp.h
 
Overview
Function Name: UF_MODL_free_compare_data

Function Description:
Free model compare map data. Frees the memory allocated for the mapping
data structure containing the output of the compare results.

Input:
mapping_data - Pointer to the mapping data structure

Output:
None

Returns
0 : successful, >0 : failing error number

Environment
Internal and External

History
This function was originally released in NX 2.0
 
Required License(s)
solid_modeling

 
int UF_MODL_free_compare_data
(
UF_MODL_compare_part_map_data_t * mapping_data
)
UF_MODL_compare_part_map_data_t *mapping_dataInput

 


 
UF_MODL_free_compare_data_3 (view source)
 
Defined in: uf_mdlcmp.h
 
Overview
Function Name: UF_MODL_free_compare_data_3

Function Description:
Free model compare map data. Frees the memory allocated for the mapping
data structure containing the output of the compare results.

Input:
mapping_data - Pointer to the mapping data structure UF_MODL_compare_part_map_data_3_t

Output:
None

Returns
0 : successful, >0 : failing error number

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_free_compare_data_3
(
UF_MODL_compare_part_map_data_3_t * mapping_data
)
UF_MODL_compare_part_map_data_3_t *mapping_dataInput

 


 
UF_MODL_free_general_pad (view source)
 
Defined in: uf_modl_pads.h
 
Overview
Frees all the memory associated with the parameters returned from
UF_MODL_ask_general_pad.

Environment
Internal and External

See Also
UF_MODL_create_general_pad
UF_MODL_ask_general_pad
UF_MODL_edit_general_pad
please see example
 
Required License(s)
solid_modeling

 
int UF_MODL_free_general_pad
(
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t top_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t top_radius
)
UF_MODL_faces_p_tplacement_facesInputThe faces used to define the shape of
the pad at the placement faces. The
first face is used to determine the
target body.
UF_MODL_offset_trans_faces_p_ttop_facesInputThe definition of the top of the
pad. The top can either be an
offset or translation of the
specified faces. If it is
desired to have the top be an
offset or translate of the
placement faces, then just set
the UF_MODL_faces_p_t
pointer within this input i
structure to the
placement_faces pointer value.
UF_MODL_pocketpad_outline_p_toutlineInputThe definition of the curves used to
define the shape of the pad. The
shape can be defined by a single set of
curves at either the placement face or
the top face, and then the other curves
are derived with a taper angle. The
shape can also be defined by
specifying curves at both the
placement face and the top face.
UF_MODL_parm_p_tplacement_radiusInputThe specification of the radius desired
between the side of the pad and the
placement face.
UF_MODL_parm_p_ttop_radiusInputThe specification of the radius desired
between the side of the pad and the
top of the pad.

 


 
UF_MODL_free_general_pocket (view source)
 
Defined in: uf_modl_pockets.h
 
Overview
Frees all the memory associated with the parameters returned from
UF_MODL_ask_general_pocket. Refer to the description of
UF_MODL_create_general_pocket for an example of how to use this function.

Environment
Internal and External

See Also
UF_MODL_ask_general_pocket
UF_MODL_create_general_pocket
UF_MODL_edit_general_pocket
 
Required License(s)
solid_modeling

 
int UF_MODL_free_general_pocket
(
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t floor_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t floor_radius
)
UF_MODL_faces_p_tplacement_facesInputThe faces used to define the shape of
the pocket at the placement faces. The
first face is used to determine the
target body.
UF_MODL_offset_trans_faces_p_tfloor_facesInputThe definition of the floor of
the pocket. The floor can either
be an offset or translation of
the specified faces. If it is
desired to have the floor
be an offset or translate of the
placement faces, then just set i
the UF_MODL_faces_p_t pointer
within this input structure to
the placement_faces pointer
value.
UF_MODL_pocketpad_outline_p_toutlineInputThe definition of the curves used to
define the shape of the pocket. The
shape can be defined by a single set of
curves at either the placement face or
the floor face, and then the other
curves are derived with a taper angle.
The shape can also be defined by
specifying curves at both the
placement face and the floor face.
UF_MODL_parm_p_tplacement_radiusInputThe specification of the radius desired
between the side of the pocket and the
placement face.
UF_MODL_parm_p_tfloor_radiusInputThe specification of the radius desired
between the side of the pocket and the
floor of the pocket.

 


 
UF_MODL_free_gflange_data (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Frees the memory allocated to general flange data structure
This function is called after the UF_MODL_ask_gflange routine to
free memory allocated to members of gflange_data structure.

Return
Return code:
= 0 No Error
= not 0 Error code

Environment
Internal and External
 
Required License(s)
sheet_metal_design

 
int UF_MODL_free_gflange_data
(
UF_MODL_gflange_data_p_t gflange_data
)
UF_MODL_gflange_data_p_tgflange_dataInputgeneral flange data structure

 


 
UF_MODL_free_law (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Free the dtat struct for uf_law_parms
 
Required License(s)
gateway

 
void UF_MODL_free_law
(
void * uf_law_parms
)
void *uf_law_parmsInput

 


 
UF_MODL_free_law_extension (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Deallocates memory used for a Law Extension Open API data structure.
The flag free_laws, is used to decide if distance and angle laws are to be
freed. If the laws are not freed in this function, user may use
UF_MODL_free_law() to free the laws individually.

Environment
Internal and External

See Also
UF_MODL_create_law_extension
UF_MODL_edit_law_extension
UF_MODL_ask_law_extension
 
Required License(s)
gateway

 
void UF_MODL_free_law_extension
(
UF_MODL_lawext_data_p_t law_extension_data,
logical free_laws
)
UF_MODL_lawext_data_p_tlaw_extension_dataInputLaw Extension Open
API data structure to be
freed.
logicalfree_lawsInputIf TRUE, frees
distance and angle law else
not

 


 
UF_MODL_free_quilt (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
This routine should be called after a call to UF_MODL_ask_quilt in
order to free the space allocated by this routine.

Environment
Internal and External

See Also
UF_MODL_ask_quilt
UF_MODL_create_quilt
UF_MODL_edit_quilt
See the quilt data structures
 
Required License(s)
solid_modeling

 
int UF_MODL_free_quilt
(
UF_MODL_quilt_type_t quilt_data,
UF_MODL_quilt_data_structures_u * quilt_structures_p
)
UF_MODL_quilt_type_tquilt_dataInputType of quilt surface
UF_MODL_CURVE_MESH_ALONG_FIXED_VECTOR
UF_MODL_CURVE_MESH_ALONG_DRIVER_NORMALS
UF_MODL_B_SURFACE_ALONG_FIXED_VECTOR
UF_MODL_B_SURFACE_ALONG_DRIVER_NORMALS
UF_MODL_SELF_REFIT
UF_MODL_quilt_data_structures_u *quilt_structures_pInputPointer to structure
containing the defining
data of the quilt surface.

 


 
UF_MODL_free_refit_face_feature_data (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Deallocates memory used for a Refit Face Open API data structure.

Environment
Internal and External

See Also
UF_MODL_create_refit_face_feature
UF_MODL_edit_refit_face_feature
UF_MODL_ask_refit_face_feature_data
 
Required License(s)
gateway

 
void UF_MODL_free_refit_face_feature_data
(
UF_MODL_refit_face_data_p_t refit_data
)
UF_MODL_refit_face_data_p_trefit_dataInputRefit Face Open API data structure.

 


 
UF_MODL_free_rough_offset_data (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
This function will free the entity list in the parameters data structure of a rough offset feature.

Environment
Internal and External
See Also: UF_MODL_create_rough_offset
UF_MODL_ask_rough_offset
UF_MODL_edit_rough_offset

History
Released in V18.0
 
Required License(s)
gateway

 
void UF_MODL_free_rough_offset_data
(
UF_MODL_rough_offset_p_t parms
)
UF_MODL_rough_offset_p_tparmsInputparameters to be deleted

 


 
UF_MODL_free_silhouette_flange (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Deallocates memory used for a Silhouette Flange Open API data structure.

Environment
Internal and External

See Also
UF_MODL_create_silhouette_flange
UF_MODL_edit_silhouette_flange
UF_MODL_ask_silhouette_flange

History
First released in NX3
 
Required License(s)
gateway

 
void UF_MODL_free_silhouette_flange
(
UF_MODL_sflange_data_p_t sflange_data
)
UF_MODL_sflange_data_p_tsflange_dataInputSilhouette Flange Open API
data structure to be freed.

 


 
UF_MODL_free_snip_surface_feature_data (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Deallocates memory used for a Snip Surface Open API data structure.

Environment
Internal and External

See Also
UF_MODL_create_snip_surface_feature
UF_MODL_edit_snip_surface_feature
UF_MODL_ask_snip_surface_feature_data

History
First released in NX2
 
Required License(s)
gateway

 
void UF_MODL_free_snip_surface_feature_data
(
UF_MODL_snipsrf_feature_data_p_t usr_data_ptr
)
UF_MODL_snipsrf_feature_data_p_tusr_data_ptrInput

 


 
UF_MODL_free_string_list (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Frees a string list structure.

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MODL_free_string_list
(
UF_STRING_p_t string_list
)
UF_STRING_p_tstring_listInputPointer to string list structure

 


 
UF_MODL_free_styled_sweep_feature_data (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Deallocates memory used for a Styled Sweep Open API data structure.

Environment
Internal and External

See Also
UF_MODL_create_styled_sweep_feature
UF_MODL_edit_styled_sweep_feature
UF_MODL_ask_styled_sweep_feature_data
 
Required License(s)
gateway

 
void UF_MODL_free_styled_sweep_feature_data
(
UF_MODL_styled_sweep_data_p_t styled_sweep_data
)
UF_MODL_styled_sweep_data_p_tstyled_sweep_dataInputStyled Sweep Open API data structure.

 


 
UF_MODL_free_symb_thread_data (view source)
 
Defined in: uf_modl.h
 
Overview
This routine frees symbolic thread data structure UF_MODL_symb_thread_data_t filled by
UF_MODL_ask_symb_thread_parms.

Environment
Internal and External

See Also
please see example
UF_MODL_symb_thread_data_t

History
NX10.0.0
 
Required License(s)
gateway

 
void UF_MODL_free_symb_thread_data
(
UF_MODL_symb_thread_data_p_t thread
)
UF_MODL_symb_thread_data_p_tthreadInputPointer to thread parameter structure
UF_MODL_symb_thread_data_s

 


 
UF_MODL_free_udfs_def_data (view source)
 
Defined in: uf_modl_udf.h
 
Overview
This function frees the definition data of a UDF.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MODL_free_udfs_def_data
(
UF_MODL_udfs_def_data_p_t udfs_data
)
UF_MODL_udfs_def_data_p_tudfs_dataInput- Data to be freed

 


 
UF_MODL_genflg_ask_num_states (view source)
 
Defined in: uf_modl_smd.h
 
Overview
UF_MODL_genflg_ask_num_states

Returns the number of states in a given feature.

Environment
Internal and External

History
Released in NX3.0
 
Required License(s)
gateway

 
int UF_MODL_genflg_ask_num_states
(
tag_t genflg,
int * num_states
)
tag_tgenflgInputGenflg frec
int *num_statesOutputnumber of states

 


 
UF_MODL_genflg_ask_state_data (view source)
 
Defined in: uf_modl_smd.h
 
Overview
UF_MODL_genflg_ask_state_data

Gives the state info data for a given state index.

Environment
Internal and External

History
Released in NX3.0
 
Required License(s)
gateway

 
int UF_MODL_genflg_ask_state_data
(
tag_t genflg,
int state_index,
UF_MODL_genflg_state_data_p_t state
)
tag_tgenflgInputGenflg frec to create new state
intstate_indexInputState to be inquired
UF_MODL_genflg_state_data_p_tstateOutputstate info

 


 
UF_MODL_genflg_create_state (view source)
 
Defined in: uf_modl_smd.h
 
Overview
UF_MODL_genflg_create_state

Create a new state in the genflg feature.

Environment
Internal and External

History
Released in NX3.0
 
Required License(s)
advanced_sheet_metal_design

 
int UF_MODL_genflg_create_state
(
tag_t genflg,
UF_MODL_genflg_state_data_p_t state,
int* state_index
)
tag_tgenflgInputGenflg frec tag
UF_MODL_genflg_state_data_p_tstateInputState data structure
int*state_indexOutputcreated state index

 


 
UF_MODL_genflg_delete_state (view source)
 
Defined in: uf_modl_smd.h
 
Overview
UF_MODL_genflg_delete_state

Deletes the state for a given state index.

Environment
Internal and External

History
Released in NX3.0
 
Required License(s)
advanced_sheet_metal_design

 
int UF_MODL_genflg_delete_state
(
tag_t genflg,
int state_index
)
tag_tgenflgInputGenflg frec to create new state
intstate_indexInputstate to be delted

 


 
UF_MODL_genflg_edit_state (view source)
 
Defined in: uf_modl_smd.h
 
Overview
UF_MODL_genflg_edit_state

Edit the state of given general flange feature.

Environment
Internal and External

History
Released in NX3.0
 
Required License(s)
advanced_sheet_metal_design

 
int UF_MODL_genflg_edit_state
(
tag_t genflg,
int state_index,
UF_MODL_genflg_state_data_p_t state
)
tag_tgenflgInputGenflg frec to create new state
intstate_indexInputstate index to be edited
UF_MODL_genflg_state_data_p_tstateInputstate info to be edited

 


 
UF_MODL_get_curve_edge_direction (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Compute the direction flag for a curve or edge

The direction flag is computed base on the input point and
the input curve or edge. We assign UF_MODL_CURVE_START_FROM_BEGIN ,
if the input point is closer to the starting point than the end
point of the curve, and UF_MODL_CURVE_START_FROM_END, otherwise.

If the curve or edge is closed and the point is on both end points, we
assign UF_MODL_CURVE_START_FROM_END.

Return
error code

Environment
Internal and External

See Also
Refer to example
 
Required License(s)
solid_modeling

 
int UF_MODL_get_curve_edge_direction
(
double end_point [ 3 ] ,
tag_t curve_edge_eid,
int * direction
)
doubleend_point [ 3 ] Input: The input endpoint
tag_tcurve_edge_eidInput: The input curve or edge
int *directionOutput: Ouput direction

 


 
UF_MODL_get_dimension_data (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
This function is used to extract the data to create a drafting dimension for
a parametric expression associated with the given feature.

Note this function can not be used with Extruded Features.

Environment
Internal and External

History
Originally released in V17.0
 
Required License(s)
gateway

 
int UF_MODL_get_dimension_data
(
tag_t exp,
tag_t feature_tag,
UF_MODL_dimension_data_p_t dim_data
)
tag_texpInputThe expression tag for which we want to create the
dimension
tag_tfeature_tagInputThe feature which owns the expression.
UF_MODL_dimension_data_p_tdim_dataOutput to UF_*free*The structure which contains the
dimension data. This structure must be
allocated by the user. The member
array dim_data->top_array must be freed
by calling UF_free.

 


 
UF_MODL_hide_parent_curves (view source)
 
Defined in: uf_modl_curves.h
 
Overview
This routine hides the parent NX curves of an input feature.
If the fourth parameter is null, this routine will blank all
the parent NX curves of the feature.

If the fourth parameter is not null, it is assumed to be an array
of UF_MODL_display_info_t structures returned by
UF_MODL_show_parent_curves.
This routine will restore the curves in this array to their original
layers and blank status.

Environment
Internal and External

See Also
UF_MODL_show_parent_curves

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_hide_parent_curves
(
tag_t feature_tag,
int n_unch_disp_stat,
UF_MODL_disp_info_p_t unch_parents_disp_status,
int n_ch_disp_stat,
UF_MODL_disp_info_p_t * ch_parents_disp_status
)
tag_tfeature_tagInputInput feature record eid
intn_unch_disp_statInputThe number of parent NX curves
whose original display status
are in the array
unch_parents_disp_status.
Usually, this is an output
from
UF_MODL_show_parent_curves.
UF_MODL_disp_info_p_tunch_parents_disp_statusInputIf NULL, then all of the NX
curves used to construct the
feature will be blanked.
If not NULL this is an array
of structures that contain
the original display status
for the parent NX curves.
The display status for each
parent NX curve will be
restored to the original
values in this array. Normally
this array is an output from
UF_MODL_show_parent_curves
intn_ch_disp_statInputThe number of parent NX curves
whose original display status
are in the array
ch_parents_disp_status.
Usually, this is an output
from UF_MODL_show_parent_
curves.
UF_MODL_disp_info_p_t *ch_parents_disp_statusInputIf NULL, then all of the NX
curves used to construct the
feature will be blank.
If not NULL this is an array
of structures that contain the
original display status
for the parent NX curves. The
display status for each parent
NX curve will be restored to
the original values in this
array. Normally
this array is an output from
UF_MODL_show_parent_curves

 


 
UF_MODL_identify_exterior_using_hl (view source)
 
Defined in: uf_linked_exterior.h
 
Overview
This function identifies Exterior Faces from the array of bodies using
a hidden line solution. The context of the bodies is determined from
the xforms given.

See Also
UF_MODL_create_linked_exterior
UF_MODL_ask_linked_exterior
UF_MODL_edit_linked_exterior
UF_MODL_identify_exterior_using_rays

Environment
Internal and External

History
Released in V18.0
 
Required License(s)
solid_modeling

 
int UF_MODL_identify_exterior_using_hl
(
int num_bodies,
tag_t * bodies,
tag_t * xforms,
int num_dirs,
double direction [ ] [ 3 ] ,
double chordal_tol,
int resolution,
int * num_faces,
tag_t * * faces,
int * * body_index
)
intnum_bodiesInputNumber of tags in the bodies array.
tag_t *bodiesInputArray of body tags to identify faces from.
tag_t *xformsInputArray of xforms. One for each body,
determines the position of the body
relative to its source geometry.
NULL_TAG implies no transformation.
intnum_dirsInputNumber of directions
doubledirection [ ] [ 3 ] InputDirection to apply hidden line solution from
doublechordal_tolInputChordal tolerance for edges
intresolutionInputDetermines how many hatch lines drawn
per face. May be one of:
UF_LINKED_HL_RES_COARSE
UF_LINKED_HL_RES_NORMAL
UF_LINKED_HL_RES_FINE
UF_LINKED_HL_RES_VERY_FINE
int *num_facesInput / OutputNumber of tags in the faces array.
If input is > 0 will reallocate and add
external faces to existing output arrays
tag_t * *facesOutput to UF_*free*Array of face tags.
int * *body_indexOutput to UF_*free*Array of indices giving the body/xform
the face came from.

 


 
UF_MODL_identify_exterior_using_rays (view source)
 
Defined in: uf_linked_exterior.h
 
Overview
This function identifies Exterior Faces from the array of transformed
bodies by firing a ray at each face. The context of the bodies is
determined from the xforms given. The code will not fire rays
at input faces already identified as exterior.

See Also
UF_MODL_create_linked_exterior
UF_MODL_ask_linked_exterior
UF_MODL_edit_linked_exterior
UF_MODL_identify_exterior_using_hl

Environment
Internal and External

History
Released in V18.0
 
Required License(s)
solid_modeling

 
int UF_MODL_identify_exterior_using_rays
(
int num_bodies,
tag_t * bodies,
tag_t * xforms,
double origin [ 3 ] ,
double chordal_tol,
int ray_type,
int * num_faces,
tag_t * * faces,
int * * body_index
)
intnum_bodiesInputNumber of tags in the bodies array.
tag_t *bodiesInputArray of body tags to identify faces from.
tag_t *xformsInputArray of xforms. One for each body,
determines the position of the body
relative to its source geometry.
NULL_TAG implies no transformation.
doubleorigin [ 3 ] InputPoint to fire rays from from when
ray_type = UF_LINKED_RAY_FROM_POINT
doublechordal_tolInputChordal tolerance for edges
intray_typeInputDetermines orign of rays fired at each face.
May be one of:
UF_LINKED_RAY_ALONG_NORMS
UF_LINKED_RAY_ABOVE_NORMS
UF_LINKED_RAY_FROM_POINT
int *num_facesInput / OutputNumber of tags in the faces array.
If input is > 0 will reallocate and add
external faces to existing output arrays
tag_t * *facesOutput to UF_*free*Array of exterior faces.
int * *body_indexOutput to UF_*free*Array of indices giving the body/xform
the face came from.

 


 
UF_MODL_import_exp (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Imports expressions from a file. Input a file specification. This
routine does not automatically update the database. After you use this
routine, call UF_MODL_update to update the database.

Environment
Internal and External

See Also
UF_MODL_update
 
Required License(s)
gateway

 
int UF_MODL_import_exp
(
char * file_spec,
int new_def
)
char *file_specInputFile name specification to import expressions from.
intnew_defInputFlag designating action to be taken if a name read
from the file is already used for an expression.
0 = ok to replace existing definition
1 = must not exist. If it does, quit reading and give an error.
2 = delete all imports that are not used.

 


 
UF_MODL_import_udf (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Imports a user defined feature part. You must call UF_MODL_boolean_udf for
every UDF that you import.
Note: This routine works only with old-style Pre-V15 UDFs

Environment
Internal and External

See Also
UF_MODL_export_udf
UF_MODL_set_udf_parms
UF_MODL_boolean_udf
UF_MODL_ask_udf_parms
 
Required License(s)
gateway

 
int UF_MODL_import_udf
(
char * filename,
double dest_csys [ 9 ] ,
double dest_point [ 3 ] ,
tag_t * udf_id
)
char *filenameInputUser defined feature file name to import (with .udf
extension).
doubledest_csys [ 9 ] InputCSYS for importing the file.
doubledest_point [ 3 ] InputOrigin point of the CSYS.
tag_t *udf_idOutputFeature obj_id of created user defined feature.

 


 
UF_MODL_init_edge_blend_mult (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Initialize the multiple radius blend data structure
Initial values assigned :
blend_instanced = FALSE
num_setback = 0
num_var_rad = 0
num_stopshort = 0
vrb_tolerance = APRTOL
smooth_overflow = TRUE
cliff_overflow = TRUE
notch_overflow = TRUE
allow_twist_patches = TRUE
soften_vertices = FALSE
var_radius_data = NULL
setback_data = NULL
stopshort_data = NULL
edge_data = NULL
var_edges = NULL

Environment
Internal and External

History
NX3.0 Release
 
Required License(s)
gateway

 
void UF_MODL_init_edge_blend_mult
(
UF_MODL_edge_blend_mult_data_p_t blend_data
)
UF_MODL_edge_blend_mult_data_p_tblend_dataInputUser defining blend data

 


 
UF_MODL_init_edge_blend_point_mult (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Initializes the Point data for variable radius blends
Initial values assigned :
parameter = 0.0
radius = 0.25
radius_exp = NULL
status = 1

Environment
Internal and External

History
NX3.0 Release
 
Required License(s)
gateway

 
void UF_MODL_init_edge_blend_point_mult
(
UF_MODL_blend_point_data_p_t point_data
)
UF_MODL_blend_point_data_p_tpoint_dataInputUser defining blend data

 


 
UF_MODL_init_edge_blend_set_mult (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Initializes the Blend Set(Chainset) data
Initial values assigned :
edge_collector = NULL
edges = NULL
num_edges = 0
radius = 0.25
radius_exp = NULL
status = 1

Environment
Internal and External

History
NX3.0 Release
 
Required License(s)
gateway

 
void UF_MODL_init_edge_blend_set_mult
(
UF_MODL_edge_blend_set_p_t blend_set
)
UF_MODL_edge_blend_set_p_tblend_setInputUser defining blend data

 


 
UF_MODL_init_edge_blend_setback_mult (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Initializes the Setback data
Initial values assigned :
distance = 0.5
distance_exp = NULL
edge = NULL_TAG
from_start = true
status = 1

Environment
Internal and External

History
NX3.0 Release
 
Required License(s)
gateway

 
void UF_MODL_init_edge_blend_setback_mult
(
UF_MODL_edge_blend_setback_data_p_t sb_data
)
UF_MODL_edge_blend_setback_data_p_tsb_dataInputUser defining blend data

 


 
UF_MODL_init_edge_blend_stopshort_mult (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Initializes the StopShort data
Initial values assigned :
distance = 20
distance_exp = NULL
edge = NULL
from_start = true
status = 1

Environment
Internal and External

History
NX3.0 Release
 
Required License(s)
gateway

 
void UF_MODL_init_edge_blend_stopshort_mult
(
UF_MODL_edge_blend_stopshort_data_p_t ss_data
)
UF_MODL_edge_blend_stopshort_data_p_tss_dataInputUser defining blend data

 


 
UF_MODL_init_face_blend_data (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Initialize face blend create data

Environment
Internal and External

See Also
The initial values UF_MODL_init_face_blend_data assigned to
data structure UF_MODL_face_blend_create_data_t.

first_set = NULL
first_set_size = 0
flip_first_normal = FALSE
second_set = NULL
second_set_size = 0
flip_second_normal = FALSE
propagate = FALSE
cliff_edges = NULL
n_cliff_edges = 0
thls = NULL
n_thls = 0
proj_on_first_set = TRUE
end_overflow = TRUE
blend_tolerance = system distance tolerance
trim_option = UF_TRIM_AND_ATTACH
radius_type = UF_CONSTANT
default_radius = "0.25"
thls_1 = NULL
n_thls_1 = 0
law_parameters = NULL

History
Originally released in V16.0
 
Required License(s)
gateway

 
void UF_MODL_init_face_blend_data
(
UF_MODL_face_blend_create_data_p_t create_data
)
UF_MODL_face_blend_create_data_p_tcreate_dataInputData describing the blend.

 


 
UF_MODL_init_ripedge_ufdata (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Initialize the Edge Rip UF data. This will load the default values for
creation of Edge Rip feature.

Environment
Internal and External

History
Released in NX3.0
 
Required License(s)
gateway

 
void UF_MODL_init_ripedge_ufdata
(
UF_MODL_ripedge_data_p_t ripedge_ufdata
)
UF_MODL_ripedge_data_p_tripedge_ufdataInput / OutputEdge Rip UF data

 


 
UF_MODL_init_section_surface (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Initializes the section surface Open API data structure. It is to be
used in conjunction with UF_MODL_create_section_surface and
UF_MODL_edit_section_surface.

Environment
Internal and External

See Also
UF_MODL_ask_section_surface
UF_MODL_create_section_surface
UF_MODL_edit_section_surface
See the section surface data structures

History
V15.0 changes: The UF_MODL_secsrf_data_t structure was enhanced.
 
Required License(s)
solid_modeling

 
int UF_MODL_init_section_surface
(
UF_MODL_secsrf_data_p_t section_surface_data
)
UF_MODL_secsrf_data_p_tsection_surface_dataInput / OutputSection Surface Open API Data
Structure

 


 
UF_MODL_init_silhouette_flange_data (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Initializes Silhouette Flange Open API data structure.

Environment
Internal and External

See Also
UF_MODL_edit_silhouette_flange
UF_MODL_ask_silhouette_flange
UF_MODL_free_silhouette_flange

History
First released in NX4
 
Required License(s)
solid_modeling

 
int UF_MODL_init_silhouette_flange_data
(
UF_MODL_sflange_data_p_t sflange_data
)
UF_MODL_sflange_data_p_tsflange_dataOutputSilhouette Flange Open API
data structure.

 


 
UF_MODL_init_smcorner_ufdata (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Initialize the SMCorner UF data. This will load the default values for
creation of SMCorner feature.

Environment
Internal and External

History
Released in NX3.0
 
Required License(s)
gateway

 
void UF_MODL_init_smcorner_ufdata
(
UF_MODL_smcorner_data_p_t smcorner_ufdata
)
UF_MODL_smcorner_data_p_tsmcorner_ufdataInput / OutputSMCorner UF data

 


 
UF_MODL_init_string_list (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Initializes a string list structure.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MODL_init_string_list
(
UF_STRING_p_t string_list1
)
UF_STRING_p_tstring_list1InputPointer to string list structure

 


 
UF_MODL_init_stycorner_data (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Initialize data for Styled Corner Surface Feature NX Open API data structure.

The following values are set for the Styled Corner data:
--------------------------------------------------------
.num_base_faces = 0;
.base_faces = NULENT;

.blend_faces[3] = NULTAG;

.is_rectangular = 0;
.interior_opt = 0;
.trim_attach_opt = 0;

.boundary_conds[4]= 1;

.crv_opt[4].depth = .500;
.crv_opt[4].skew = .500;

.crv_opt[4].start_tagmag = 1.0;
.crv_opt[4].end_tagmag = 1.0;

.crv_opt[4].shape_control = 1;

.trim_curve_opt[2] = 2;

.interior_iso_u_crv_end_params[2]= 0.5;
.interior_iso_v_crv_end_params[2]= 0.5;

.dist_tol = 0.001;
.angle_tol = 0.1;
--------------------------------------------------------

Environment
Internal and External

See Also
UF_MODL_create_stycorner
UF_MODL_edit_stycorner
UF_MODL_ask_stycorner_data
UF_MODL_init_stycorner_data

History
First released in NX3
 
Required License(s)
solid_modeling

 
int UF_MODL_init_stycorner_data
(
UF_MODL_stycorner_data_p_t styled_corner_data
)
UF_MODL_stycorner_data_p_tstyled_corner_dataInput / OutputStyled corner NX Open
API data structure.

 


 
UF_MODL_initialize_compare_data (view source)
 
Defined in: uf_mdlcmp.h
 
Overview
Function Name: UF_MODL_initialize_compare_data

Function Description:
Initialize compare map data. Initializes memory allocated for the
mapping data structure containing output of the model compare results.

Input/Output:
mapping_data - Pointer to the mapping data structure

Returns
0 : successful, >0 : failing error number

Environment
Internal and External

History
This function was originally released in NX 2.0
 
Required License(s)
solid_modeling

 
int UF_MODL_initialize_compare_data
(
UF_MODL_compare_part_map_data_t * mapping_data
)
UF_MODL_compare_part_map_data_t *mapping_dataInput / Output

 


 
UF_MODL_intersect_bodies (view source)
 
Defined in: uf_modl.h
 
Overview
Intersect two bodies.

UF_MODL_intersect_bodies_with_retained_options honors the setting of the
"Boolean Face Properties from" option of the Modeling Preferences dialog,
but UF_MODL_intersect_bodies always applies the display properties of
the target body to new faces.

Environment
Internal and External

See Also
Refer to example
UF_MODL_intersect_bodies_with_retained_options
 
Required License(s)
solid_modeling

 
int UF_MODL_intersect_bodies
(
tag_t target,
tag_t tool,
int * num_result,
tag_t * * resulting_bodies
)
tag_ttargetInputTarget body
tag_ttoolInputTool body
int *num_resultOutputNumber of resultant bodies
tag_t * *resulting_bodiesOutput to UF_*free*Resultant bodies. This array must be freed
by calling UF_free.

 


 
UF_MODL_intersect_bodies_with_retained_options (view source)
 
Defined in: uf_modl.h
 
Overview
Intersect two bodies with options to keep the original target body, tool body, or both bodies.

Environment
Internal and External

See Also
Refer to example ,
UF_MODL_intersect_bodies.

History
Release version 19.
 
Required License(s)
solid_modeling

 
int UF_MODL_intersect_bodies_with_retained_options
(
tag_t original_target,
tag_t original_tool,
logical retain_target_body,
logical retain_tool_body,
tag_t * frec_eid
)
tag_toriginal_targetInputOriginal target body
tag_toriginal_toolInputOriginal tool body
logicalretain_target_bodyInputIndicate whether to retain the target body.
If TRUE - the resulting body is the new body and
target body is retained,
FALSE - the resulting body is the modified target body.
logicalretain_tool_bodyInputIndicate whether to retain the tool body.
If TRUE - the tool body is not consumed.
FALSE - the tool body is consumed
tag_t *frec_eidOutputThe resulting feature record tag

 


 
UF_MODL_intersect_curve_to_curve (view source)
 
Defined in: uf_modl.h
 
Overview
Determines the intersection between the two input curves, and outputs information describing the intersection.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_intersect_curve_to_curve
(
tag_t curve1_id,
tag_t curve2_id,
int* num_intersections,
double* * data
)
tag_tcurve1_idInputfirst curve or edge to intersect
tag_tcurve2_idInputsecond curve or edge to intersect
int*num_intersectionsOutputnumber of intersections
double* *dataOutput to UF_*free*This array must be freed by calling UF_free.
It is a one dimensional array whose size is num_intersections 5
data[5i + 0], data[5i + 1] and data[5i + 2] holds the coordinates of the point
data[5i + 3] holds the parameter of first curve or edge
data[5i + 4] holds the parameter of second curve or edge

 


 
UF_MODL_intersect_curve_to_face (view source)
 
Defined in: uf_modl.h
 
Overview
Determines the intersection between the curve and face, then outputs information describing the intersection.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_intersect_curve_to_face
(
tag_t curve_id,
tag_t face_id,
int* num_intersections,
double* * data
)
tag_tcurve_idInputcurve or edge to intersect
tag_tface_idInputface to intersect
int*num_intersectionsOutputnumber of intersections
double* *dataOutput to UF_*free*This array must be freed by calling UF_free.
It is a one dimensional array whose size is num_intersections 6
data[6i + 0], data[6i + 1] and data[6i + 2] holds the coordinates of the point
data[6i + 3] holds the parameter of first curve or edge
data[6i + 4] holds the u parameter of face
data[6i + 5] holds the v parameter of face

 


 
UF_MODL_intersect_curve_to_plane (view source)
 
Defined in: uf_modl.h
 
Overview
Determines the intersection between the curve and plane and
outputs information describing the intersection.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_intersect_curve_to_plane
(
tag_t curve_id,
tag_t plane_id,
int* num_intersections,
double* * data
)
tag_tcurve_idInputcurve or edge to intersect
tag_tplane_idInputplane curve to intersect
int*num_intersectionsOutputnumber of intersections
double* *dataOutput to UF_*free*This array must be freed by calling UF_free.
It is a one dimensional array whose size is num_intersections 4
data[4i + 0], data[4i + 1] and data[4i + 2] holds the coordinates of the point
data[4i + 3] holds the parameter of first curve or edge

 


 
UF_MODL_intersect_objects (view source)
 
Defined in: uf_modl.h
 
Overview
Determines the intersection between the two input objects and
outputs information describing the intersection.

Environment
Internal and External

See Also
For example and intersection description see
example and table
 
Required License(s)
solid_modeling

 
int UF_MODL_intersect_objects
(
tag_t object_1,
tag_t object_2,
double tolerance,
int * num_intersections,
UF_MODL_intersect_info_p_t * * intersections
)
tag_tobject_1InputFirst object to participate in the intersection.
tag_tobject_2InputSecond object to participate in the intersection
doubletoleranceInputTolerance used to determine if the objects
intersect. Any time object 1 passes within this
distance of object 2, it is considered an
intersection. This tolerance is a distance
tolerance in the units of the current work
part.
This input variable will only be used when object_1 or
object_2 is a point. All other cases will use the
Parasolid tolerance.
int *num_intersectionsOutputNumber of intersections found
UF_MODL_intersect_info_p_t * *intersectionsOutput to UF_*free*Array of intersection information
found, the memory allocated for
this array and each element of the
array should be freed with UF_free.

 


 
UF_MODL_is_body_convergent (view source)
 
Defined in: uf_modl.h
 
Overview
Given a body, function returns true if body is a convergent body

Environment
Internal and External

History
NX11.0.0
 
Required License(s)
solid_modeling

 
int UF_MODL_is_body_convergent
(
tag_t body,
logical * is_convergent_body
)
tag_tbodyInputbody to check
logical *is_convergent_bodyOutputTRUE if a body is convergent body, else FALSE

 


 
UF_MODL_is_body_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Is feature a body feature? That is does the feature create a body or is
it applied to a body.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_is_body_feature
(
tag_t feature,
logical * is_body_feature
)
tag_tfeatureInputfeature to check
logical *is_body_featureOutputTRUE if a body feature, else FALSE

 


 
UF_MODL_is_browseable_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Given a feature, ask if the feature is browseable feature.

Environment
Internal and External

History
NX8.0.3
 
Required License(s)
gateway

 
int UF_MODL_is_browseable_feature
(
tag_t feature_tag,
logical report_inactive_feature,
logical report_feature_unable_to_make_current,
logical * is_browseable
)
tag_tfeature_tagInputThe feature whose browseable status is to be checked.
logicalreport_inactive_featureInputTRUE: Inactive feature is reported as browseable.
FALSE: Inactive feature is not reported as browseable.
logicalreport_feature_unable_to_make_currentInputTRUE: Feature that cannot be made current is reported as browseable.
FALSE: Feature that cannot be made current is not reported as browseable.
logical *is_browseableOutputTrue if the feature is browseable, false otherwise.

 


 
UF_MODL_is_datum_axis_reversed (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Indicates if the datum axis is reversed in term of its direction. Each
datum axis has two directions: "regular" and "opposite". Here, a
"regular" datum axis direction would be the one displayed during
creation in an interactive session just before a user selects the apply
button. Similarly, an "opposite" datum axis direction signifies the
direction which is opposite to the regular one. If the current datum
axis direction is an opposite one, then the datum axis is reversed.

Environment
Internal and External

See Also
UF_MODL_is_datum_plane_reversed

History
Original release was in V14.0.
 
Required License(s)
gateway

 
int UF_MODL_is_datum_axis_reversed
(
tag_t datum_axis_tag,
logical * reversed
)
tag_tdatum_axis_tagInputtag of the datum axis to reverse
logical *reversedOutputTRUE = this means that the datum axis direction is
reversed.
FALSE = this means that the datum axis direction
is not reversed.

 


 
UF_MODL_is_datum_plane_reversed (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Indicates if the datum plane is reversed in term of its normal
direction. Each datum plane has two normal directions: "regular" and
"opposite". Here, a "regular" datum plane direction would be the one
displayed during creation in an interactive session just before a user
selects the apply button. Similarly, an "opposite" datum plane
direction signifies the direction which is opposite to the regular one. If
the current datum plane direction is an opposite one, then the datum
plane is reversed.

Environment
Internal and External

History
Original release was in V14.0.
 
Required License(s)
gateway

 
int UF_MODL_is_datum_plane_reversed
(
tag_t datum_plane_tag,
logical * reversed
)
tag_tdatum_plane_tagInputtag of the datum plane to reverse
logical *reversedOutputTRUE = Indicates the datum plane direction is
reversed.
FALSE = Indicates the datum plane direction is
not reversed.

 


 
UF_MODL_is_exp_in_part (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Is the expression in the part?

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_is_exp_in_part
(
tag_t object_in_search_part,
const char * left_hand_side,
logical * is_exp_in_part
)
tag_tobject_in_search_partInputdetermines which part to search in
const char *left_hand_sideInputleft hand side of expression
logical *is_exp_in_partOutputTRUE if expression is in part

 


 
UF_MODL_is_feature_a_hidden_set_member (view source)
 
Defined in: uf_modl.h
 
Overview
Is the feature a hidden member of a feature set, or sets?

Environment
Internal and External

History
Released in NX6.0
 
Required License(s)
gateway

 
int UF_MODL_is_feature_a_hidden_set_member
(
tag_t feature,
logical * hidden_member
)
tag_tfeatureInputTag of feature
logical *hidden_memberOutputReturn TRUE if the feature is a hidden member of a set. Otherwise, return FALSE.

 


 
UF_MODL_is_feature_a_set_member (view source)
 
Defined in: uf_modl.h
 
Overview
Is the feature a member of a feature set, or sets?

Environment
Internal and External

History
Released in V16.0
 
Required License(s)
gateway

 
int UF_MODL_is_feature_a_set_member
(
tag_t feature,
int * flag
)
tag_tfeatureInputTag of feature
int *flagOutputReturn 1 if the feature is a member of a set. Otherwise, return 0.

 


 
UF_MODL_is_geometric_expression (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Queries whether the specified expression is a geometric expression.

Environment
Internal and External

See Also
UF_MODL_ask_owning_feat_of_exp
Refer to example

History
This function was originally released in V15.0.
 
Required License(s)
gateway

 
int UF_MODL_is_geometric_expression
(
tag_t exp_tag,
logical * flag
)
tag_texp_tagInputTag of expression to query
logical *flagOutputTRUE if this expression is a geometric
expression

 


 
UF_MODL_is_import_body_feature (view source)
 
Defined in: uf_modl_import_body.h
 
Overview
Is input_tag an import body feature or involved with an Interop part/feature?

The argument input_tag can be NULL_TAG, in which case the current work part is determined
to be an Interop part. It can be the tag of a part, in which case that part is determined
to be an Interop part. Or it can be the tag of a feature, in which case the feature is determined
to be an Interop feature or an import body feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_is_import_body_feature
(
tag_t input_tag,
logical * is_import_body_feature
)
tag_tinput_tagInputThe tag to check
logical *is_import_body_featureOutputTRUE if Interop or an import body feature, else FALSE

 


 
UF_MODL_isodivide_face (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Iso-divides a B-surface using the specified parameter and direction.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_isodivide_face
(
tag_t * sheet_id,
double div_param,
int div_dir,
tag_t * second_sheet_id
)
tag_t *sheet_idInput / OutputInput: Face or body identifier of the sheet to be divided
Output: First sheet identifier after division
doublediv_paramInputDivision value:
0 < div_param < 1 divides the surface into two
pieces.
intdiv_dirInputDivision direction:
0 = constant U
1 = constant V
tag_t *second_sheet_idOutputSecond sheet identifier after division

 


 
UF_MODL_isotrim_face (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Trims or extends a B-surface depending on the trim parameter
values specified. The maximum values must be greater than the
minimum values.

The function trims when the parameter values lie in the range
between 0 and 1. The function extends when the parameter values are
outside the range 0 and 1 (e.g. Umin = -0.1 and Umax = 1.1 would
extend a B-surface in the U direction). Some B-surfaces, when extended
with large trim parameter values, may give unpredictable results.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_isotrim_face
(
tag_t * sheet_id,
double trim_param [ 4 ]
)
tag_t *sheet_idInput / OutputFace or body identifier of the sheet to be trimmed, on
output the identifier of the first face.
doubletrim_param [ 4 ] InputTrim parameters:
trim_param[0] = U minimum value
trim_param[1] = U maximum value
trim_param[2] = V minimum value
trim_param[3] = V maximum value

 


 
UF_MODL_matchedge_ask_data (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Inquires Match Edge feature and populates Match Edge Open API data structure.
The memory allocated for the structure may be freed using UF_MODL_matchedge_free_data().

Enviroment: Internal and External.

See Also
UF_MODL_matchedge_create_feature
UF_MODL_matchedge_edit_feature
UF_MODL_matchedge_free_data
UF_MODL_matchedge_check

History
Original release was in NX2.0.
 
Required License(s)
gateway

 
int UF_MODL_matchedge_ask_data
(
tag_t medge_tag,
UF_MODL_matchedge_data_p_t * uf_medge
)
tag_tmedge_tagInputMatch Edge feature object identifier
UF_MODL_matchedge_data_p_t *uf_medgeOutput to UF_*free*Match Edge Open API data structure

 


 
UF_MODL_matchedge_check (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Computes the edge/edeg deviations after using UF_MODL_matchedge_create_feature()
or UF_MODL_matchedge_edit_feature().

Enviroment: Internal and External.

See Also
UF_MODL_matchedge_create_feature
UF_MODL_matchedge_edit_feature
UF_MODL_matchedge_free_data
UF_MODL_matchedge_free_data

History
Original release was in NX2.0.
 
Required License(s)
solid_modeling  and  studio_free_form

 
int UF_MODL_matchedge_check
(
UF_MODL_matchedge_data_t* uf_data,
int continuity,
int num_pnts,
double* deviation
)
UF_MODL_matchedge_data_t*uf_dataInputMatch Edge Open API data structure
intcontinuityInput0, 1, 2, or 3, for desired continuity check
intnum_pntsInputnumber of points used in computing deviations
double*deviationOutputarray of deviations, its length is 1 + continuity,
deviation[0] for G0 deviation,
deviation[1] for G1 deviation in degree,
deviation[2] for relative G2 deviation,
deviation[3] for relative G3 deviation

 


 
UF_MODL_matchedge_create_feature (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Creates Match Edge feature from the Match Edge Open API data structure.
The returned integer is error status: 0 for no error; 1 for no memory; 2 for creation failure; 3 for others.
The memory allocated for uf_data can be freed using UF_MODL_matchedge_free_data().

Enviroment: Internal and External.

See Also
UF_MODL_matchedge_edit_feature
UF_MODL_matchedge_ask_data
UF_MODL_matchedge_free_data
UF_MODL_matchedge_check

History
Original release was in NX2.0.
 
Required License(s)
solid_modeling  and  studio_free_form

 
int UF_MODL_matchedge_create_feature
(
UF_MODL_matchedge_data_p_t uf_data,
tag_t * frec_tag
)
UF_MODL_matchedge_data_p_tuf_dataInputMatch Edge Open API data structure
tag_t *frec_tagOutputMatch Edge feature object identifier

 


 
UF_MODL_matchedge_edit_feature (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Edits existing Match Edge feature based on the Match Edge Open API data structure.
The returned integer is error status: 0 for no error; 1 for no memory; 2 for creation failure; 3 for others.
The memory allocated for uf_data can be freed using UF_MODL_matchedge_free_data().

Enviroment: Internal and External.

See Also
UF_MODL_matchedge_create_feature
UF_MODL_matchedge_ask_data
UF_MODL_matchedge_free_data
UF_MODL_matchedge_check

History
Original release was in NX2.0.
 
Required License(s)
solid_modeling  and  studio_free_form

 
int UF_MODL_matchedge_edit_feature
(
UF_MODL_matchedge_data_p_t uf_data,
tag_t frec_tag
)
UF_MODL_matchedge_data_p_tuf_dataInputMatch Edge Open API data structure
tag_tfrec_tagInputMatch Edge feature object identifier

 


 
UF_MODL_matchedge_free_data (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Deallocates memory used for a Match Edge Open API data structure.

Enviroment: Internal and External.

See Also
UF_MODL_matchedge_create_feature
UF_MODL_matchedge_edit_feature
UF_MODL_matchedge_ask_data
UF_MODL_matchedge_check

History
Original release was in NX2.0.
 
Required License(s)
gateway

 
void UF_MODL_matchedge_free_data
(
UF_MODL_matchedge_data_p_t medge_data
)
UF_MODL_matchedge_data_p_tmedge_dataInputMatch Edge Open API data structure to be freed

 


 
UF_MODL_model_compare (view source)
 
Defined in: uf_mdlcmp.h
 
Overview
Function Name: UF_MODL_model_compare

Function Description:
Compare parts. Compare bodies from the same part file or from different part files.


Input:
part1 - tag of part1
body_eid_part1 - Body eid from part 1, if NULL, all bodies from part 1
Bodies from the part must pass examine geometry check.
transform_1 - Transform for body_eid_part_1. Transformation needed to
convert body 1 into the same co-ordinate system as body 2.
Initialize with UF_MTX4_identity if bodies are defined in
the same coordinate system.
NOTE
Applicable only if part 1 and part 2 are not related and
body_eid_part1 and body_eid_part2 are not NULL. If they are
NULL, there should be only one body in part1 and part2.
part2 - tag of part2
body_eid_part2 - Body eid from part 2, if NULL, all bodies from part 2
Bodies from the part must pass examine geometry check.
transform_2 - Transform for body_eid_part_2. Transformation needed to
convert body 2 into the same co-ordinate system as body 1.
Initialize with UF_MTX4_identity if bodies are defined in
the same coordinate system.
NOTE
Applicable only if part 1 and part 2 are not related and
body_eid_part1 and body_eid_part2 are not NULL. If they are
NULL, there should be only one body in part1 and part2.
compare_feat_and_exp - Whether to compare features and expressions. Applicable
only if part1 and part2 are related.
accuracy - Accuracy setting for comparison
tolerance - Tolerance to be used to determine if two geometries can be
considered coincident
identical_face_rule - Rule for classifying faces as identical
changeduniquefacerule - Rule for classifying related faces as changed or unique
launch_ui - Whether to launch ui
NOTE
This option is not yet supported

Output:
mapping_data - Mapping data, result of the comparison
Note: Caller is responsible for freing the mapping data

Returns
0 : successful, >0 : failing error number

Environment
Internal and External

History
This function was originally released in NX 2.0
Please use the new version UF_MODL_model_compare_2 from NX 3.0 onwards
 
Required License(s)
solid_modeling

 
int UF_MODL_model_compare
(
tag_t part1,
tag_t body_eids_part1,
double transform_1 [ 16 ] ,
tag_t part2,
tag_t body_eids_part2,
double transform_2 [ 16 ] ,
logical compare_feat_and_exp,
UF_MODL_compare_accuracy_t accuracy,
double tolerance,
UF_MODL_compare_identicalface_rule_t identical_face_rule,
UF_MODL_compare_changeduniqueface_rule_t uniquechangedfacerule,
logical launch_ui,
UF_MODL_compare_part_map_data_t * mapping_data
)
tag_tpart1Input
tag_tbody_eids_part1Input
doubletransform_1 [ 16 ] Input
tag_tpart2Input
tag_tbody_eids_part2Input
doubletransform_2 [ 16 ] Input
logicalcompare_feat_and_expInput
UF_MODL_compare_accuracy_taccuracyInput
doubletoleranceInput
UF_MODL_compare_identicalface_rule_tidentical_face_ruleInput
UF_MODL_compare_changeduniqueface_rule_tuniquechangedfaceruleInput
logicallaunch_uiInput
UF_MODL_compare_part_map_data_t *mapping_dataOutput

 


 
UF_MODL_model_compare_2 (view source)
 
Defined in: uf_mdlcmp.h
 
Overview
Function Name: UF_MODL_model_compare_2

Function Description:
Compare parts. Compare bodies from the same part file or from different part files.
This new function takes in an compare options structure as input. An additional
option, continue_if_examine_geom_fails can be set in addition to the existing
options. Use this function from NX3.0 onwards instead of UF_MODL_model_compare.

Input:
part1 - tag of part1
body_eid_part1 - Body eid from part 1, if NULL, all bodies from part 1
Bodies from the part must pass examine geometry check.
transform_1 - Transform for body_eid_part_1. Transformation needed to
convert body 1 into the same co-ordinate system as body 2.
Initialize with UF_MTX4_identity if bodies are defined in
the same coordinate system.
NOTE
Applicable only if part 1 and part 2 are not related and
body_eid_part1 and body_eid_part2 are not NULL. If they are
NULL, there should be only one body in part1 and part2.
part2 - tag of part2
body_eid_part2 - Body eid from part 2, if NULL, all bodies from part 2
Bodies from the part must pass examine geometry check.
transform_2 - Transform for body_eid_part_2. Transformation needed to
convert body 2 into the same co-ordinate system as body 1.
Initialize with UF_MTX4_identity if bodies are defined in
the same coordinate system.
NOTE
Applicable only if part 1 and part 2 are not related and
body_eid_part1 and body_eid_part2 are not NULL. If they are
NULL, there should be only one body in part1 and part2.
compare_options - Comparison options. Use macro UF_MODL_INIT_COMPARE_OPTIONS
to initialize default options

Output:
mapping_data - Mapping data, result of the comparison
Note: Caller is responsible for freing the mapping data

Returns
0 : successful, >0 : failing error number

Environment
Internal and External

History
This function was originally released in NX 3.0

Note:
New status UF_MODL_COMP_ENT_NOT_COMPARED will be set for
- Features which do not contribute
to topology in the final part
- Faces and edges which are small or
sliver relative to the tolerance
 
Required License(s)
solid_modeling

 
int UF_MODL_model_compare_2
(
tag_t part1,
tag_t body_eids_part1,
double transform_1 [ 16 ] ,
tag_t part2,
tag_t body_eids_part2,
double transform_2 [ 16 ] ,
UF_MODL_compare_options_p_t compare_options,
UF_MODL_compare_part_map_data_t * mapping_data
)
tag_tpart1Input
tag_tbody_eids_part1Input
doubletransform_1 [ 16 ] Input
tag_tpart2Input
tag_tbody_eids_part2Input
doubletransform_2 [ 16 ] Input
UF_MODL_compare_options_p_tcompare_optionsInput
UF_MODL_compare_part_map_data_t *mapping_dataOutput

 


 
UF_MODL_model_compare_3 (view source)
 
Defined in: uf_mdlcmp.h
 
Overview
Function Name: UF_MODL_model_compare_3

Function Description:
Used as a replacement for UF_MODL_model_compare_2 in the common API.
Open C API programs may continue to use the original
UF_MODL_model_compare_2 function.

Compare parts. Compare bodies from the same part file or from different part files.
This new function takes in an compare options structure as input. An additional
option, continue_if_examine_geom_fails can be set in addition to the existing
options.

Input:
part1 - tag of part1
body_eid_part1 - Body eid from part 1, if NULL, all bodies from part 1
Bodies from the part must pass examine geometry check.
transform_1 - Transform for body_eid_part_1. Transformation needed to
convert body 1 into the same co-ordinate system as body 2.
Initialize with UF_MTX4_identity if bodies are defined in
the same coordinate system.
NOTE
Applicable only if part 1 and part 2 are not related and
body_eid_part1 and body_eid_part2 are not NULL. If they are
NULL, there should be only one body in part1 and part2.
part2 - tag of part2
body_eid_part2 - Body eid from part 2, if NULL, all bodies from part 2
Bodies from the part must pass examine geometry check.
transform_2 - Transform for body_eid_part_2. Transformation needed to
convert body 2 into the same co-ordinate system as body 1.
Initialize with UF_MTX4_identity if bodies are defined in
the same coordinate system.
NOTE
Applicable only if part 1 and part 2 are not related and
body_eid_part1 and body_eid_part2 are not NULL. If they are
NULL, there should be only one body in part1 and part2.
compare_options - Comparison options. Use macro UF_MODL_INIT_COMPARE_OPTIONS
to initialize default options

Output:
mapping_data - Mapping data, result of the comparison
Note: Caller is responsible for freeing the mapping data, by calling
UF_MODL_free_compare_data_3

Returns
0 : successful, >0 : failing error number

Environment
Internal and External

History
This function is just a wrapper over UF_MODL_model_compare_2.

Note:
New status UF_MODL_COMP_ENT_NOT_COMPARED will be set for
- Features which do not contribute
to topology in the final part
- Faces and edges which are small or
sliver relative to the tolerance
 
Required License(s)
solid_modeling

 
int UF_MODL_model_compare_3
(
tag_t part1,
tag_t body_eids_part1,
double transform_1 [ 16 ] ,
tag_t part2,
tag_t body_eids_part2,
double transform_2 [ 16 ] ,
UF_MODL_compare_options_p_t compare_options,
UF_MODL_compare_part_map_data_3_p_t * mapping_data
)
tag_tpart1Input
tag_tbody_eids_part1Input
doubletransform_1 [ 16 ] Input
tag_tpart2Input
tag_tbody_eids_part2Input
doubletransform_2 [ 16 ] Input
UF_MODL_compare_options_p_tcompare_optionsInput
UF_MODL_compare_part_map_data_3_p_t *mapping_dataOutput to UF_*free*Call UF_MODL_free_compare_data_3
to free mapping data.

 


 
UF_MODL_move_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Moves a list of features. The input is a list of feature identifiers, the
mode in which you want to move them, and the coordinate system
describing the move. The only type of output from this routine is the
normal error return from the program call.

POINT_TO_POINT option
real_data[0][3] Holds 3 elements to the "from point".
real_data[1][3] Holds 3 elements to the "to point".

AXIS_TO_AXIS option
real_data[0][6] Holds 6 element the first 3 is a point the next 3 elements
are the from vector
real_data[1][3] Holds 3 element to the to vector

CSYS_TO_CSYS option
The CSYS matrices in real_data are not rotation matrices,
but describe the orientation of the x, y, and z axes of the coordinate
system. In other words, if real_data[0] = { 1,2,3, 1,0,0, 0,1,0, 0,0,1 },
the coordinate system has origin (1,2,3). Its X axis is the vector
(1,0,0); Y axis is (0,1,0); and Z axis is (0,0,1).

The last nine components are not a rotation matrix but are, in fact,
the inverse of the CSYS rotation matrix. Also, the data in
real_data[0]) (as with all CMOD arrays representing matrices) is
column oriented. That is, matrices look like:
(Element1 Element4
Element2 Element5
Element3 Element6)

Whenever most Modeling operations are performed in Open API, the
system usually takes care of updating the database. However when you
move a feature this is not true. As a result, we recommend that after
moving a feature using the routine UF_MODL_move_feature, you should
update the database by calling routine UF_MODL_update.

Environment
Internal and External

See Also
UF_MODL_update
 
Required License(s)
solid_modeling

 
int UF_MODL_move_feature
(
uf_list_p_t cmtag,
int mode,
double real_data [ 2 ] [ 12 ]
)
uf_list_p_tcmtagInputLinked list of tags for features to be moved.
intmodeInputOption specifying how move is to be done.
POINT_TO_POINT ( 0 )
AXIS_TO_AXIS ( 1 )
CSYS_TO_CSYS ( 2 )
doublereal_data [ 2 ] [ 12 ] InputCSYS describing the move. real_data[0] holds 12
element reference coordinate system matrix (first
three elements translation, remainder is rotation).
real_data[1] holds 12 element destination
coordinate system matrix.

 


 
UF_MODL_mswp_ask_extrude (view source)
 
Defined in: uf_modl_mswp.h
 
Overview
This is to inquire the data for an extrude feature.

Environment
Internal and External

See Also
UF_MODL_mswp_edit_extrude, UF_MODL_mswp_create_extrude.
 
Required License(s)
gateway

 
int UF_MODL_mswp_ask_extrude
(
tag_t feature,
UF_MODL_mswp_extrude_p_t extrude
)
tag_tfeatureInputExtrude feature to be asked
UF_MODL_mswp_extrude_p_textrudeOutputData for the Extrude feature.

 


 
UF_MODL_mswp_create_extrude (view source)
 
Defined in: uf_modl_mswp.h
 
Overview
This is to create an extrude feature based on the input data.

Environment
Internal and External

See Also
UF_MODL_mswp_edit_extrude, UF_MODL_mswp_ask_extrude.
 
Required License(s)
gateway

 
int UF_MODL_mswp_create_extrude
(
UF_MODL_mswp_extrude_p_t extrude,
int * num_features,
tag_t * * features
)
UF_MODL_mswp_extrude_p_textrudeInputInput data to be used to create Extrude feature.
int *num_featuresOutputNumber of features
tag_t * *featuresOutput to UF_*free*List of feature identifiers created. This
must be freed by caller.

 


 
UF_MODL_mswp_edit_extrude (view source)
 
Defined in: uf_modl_mswp.h
 
Overview
This is to edit an extrude feature with given data. The good practice to
edit a feature is to follow the following steps:

Call UF_MODL_mswp_ask_extrude to get the data
Make necessary changes to the data
Call UF_MODL_mswp_edit_extrude

Environment
Internal and External

See Also
UF_MODL_mswp_ask_extrude, UF_MODL_mswp_create_extrude.
 
Required License(s)
gateway

 
int UF_MODL_mswp_edit_extrude
(
tag_t feature,
UF_MODL_mswp_extrude_p_t extrude
)
tag_tfeatureInput / OutputExtrude feature to be edited
UF_MODL_mswp_extrude_p_textrudeInputData for the Extrude feature.

 


 
UF_MODL_mswp_init_extrude_data (view source)
 
Defined in: uf_modl_mswp.h
 
Overview
This is to initialize the data structure for an extrude feature with the
following default values and options.

Section NULL_TAG
Direction NULL_TAG
Limit Type UF_MODL_MSWP_LIMIT_DISTANCE
Start Limit Distance 0.0/0.0 [in/mm]
End Limit Distance 1.0/25.0 [in/mm]
Taper Type UF_MODL_MSWP_TAPER_NONE
Offset Type UF_MODL_MSWP_OFFSET_NONE
Boolean Sign UF_NULLSIGN [create]
Boolean Target NULL_TAG

Environment
Internal and External

See Also
UF_MODL_mswp_create_extrude, UF_MODL_mswp_edit_extrude, UF_MODL_mswp_ask_extrude.
 
Required License(s)
gateway

 
int UF_MODL_mswp_init_extrude_data
(
UF_MODL_mswp_extrude_p_t extrude
)
UF_MODL_mswp_extrude_p_textrudeInput / OutputThe extrude data structure to be initialized.

 


 
UF_MODL_operations (view source)
 
Defined in: uf_modl.h
 
Overview
Performs a Boolean operation between two bodies.
NOTE: UF_NULLSIGN, which usually indicates create, defaults to
UF_POSITIVE (add to target solid).

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_operations
(
tag_t target,
tag_t tool,
UF_FEATURE_SIGN sign
)
tag_ttargetInputTarget solid.
tag_ttoolInputTools solid.
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed.
UF_NULLSIGN = same as UF_POSITIVE
UF_POSITIVE = add to target solid
UF_NEGATIVE = subtract from target solid
UF_UNSIGNED = intersect with target solid

 


 
UF_MODL_paste_features (view source)
 
Defined in: uf_modl.h
 
Overview
Paste an array of features into the current work part.

Environment
Internal and External

See Also
UF_MODL_copy_paste_features

History
This function is replaced by UF_MODL_copy_paste_features.
 
Required License(s)
solid_modeling

 
int UF_MODL_paste_features
(
tag_t * feature_array,
int num_features,
tag_t * old_parents,
tag_t * new_parents,
int num_parents,
int expression_transfer_mode,
int parent_transfer_mode
)
tag_t *feature_arrayInputArray of features identifier
intnum_featuresInputNumber of features
tag_t *old_parentsInputArray of old parents
tag_t *new_parentsInputArray of new parent
intnum_parentsInputNumber of refrences
intexpression_transfer_modeInputType of expression copy -
0 = New, 1 = link, 2 = instance
intparent_transfer_modeInputType of reference copy -
0 = New, 1 = link, 2 = instance

 


 
UF_MODL_patch_body (view source)
 
Defined in: uf_modl.h
 
Overview
Replaces a set of faces on a body by patching in the faces of a sheet
body. The outer edges of the sheet must lie on or near faces of the
target. The faces on the "reverse" side of the tool sheet are removed
and replaced by the sheet body.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_patch_body
(
tag_t target_body,
tag_t tool_sheet,
int reverse,
tag_t * feature_obj_id
)
tag_ttarget_bodyInputObject id of target body to be patched
tag_ttool_sheetInputObject id of sheet body to patch into target
intreverseInputPatch direction flag:
UF_MODL_ALONG_NORMAL - along surface normal of tool_sheet
UF_MODL_OPPOSITE_NORMAL - opposite surface normal of tool_sheet
tag_t *feature_obj_idOutputFeature object identifier of created patch feature

 


 
UF_MODL_preview_simplify (view source)
 
Defined in: uf_modl_simplify.h
 
Overview
Preview a simplification feature. This returns lists of the faces that
will be retained and removed if the feature is applied. The arrays
retained_faces> and <removed_faces> are allocated, and should be freed
afterwards by the caller with UF_free().

If a path can be traced from any retained face to any removed face without
crossing the boundary, the ifail UF_MODL_SIMPL_FACE_NOT_REMOVED is returned.
In this case, for each such removed face an array of faces is returned.
This array gives a path between the removed face and an explicitly retained
face which does not cross any boundaries. These arrays must be freed by
the caller with UF_free(). The retained and removed faces are still
returned.

If there are no leaks, <n_leaks> is 0, and <n_leak_faces> and <leak_faces>
are NULL. Note that the preview cannot detect possible heal failures
which may show up when the simplify is applied.

If the simplification feature already exists, but is suppressed, this
routine will still give the correct results. If it already exists and
is not suppressed, the removed faces will not be present in the solid,
and the result is unlikely to be useful.

Environment
Internal and External.

See Also
UF_MODL_create_simplify
UF_MODL_edit_simplify_parms
UF_MODL_ask_simplify_parms

UF_MODL_simpl_data_t

History
This function was originally released in V15.0
 
Required License(s)
solid_modeling

 
int UF_MODL_preview_simplify
(
UF_MODL_simpl_data_p_t simpl_parms,
int * n_retained_faces,
tag_t * * retained_faces,
int * n_removed_faces,
tag_t * * removed_faces,
int * n_leaks,
int * * n_leak_faces,
tag_t * * * leak_faces
)
UF_MODL_simpl_data_p_tsimpl_parmsInputParameters of the potential simplify
feature
int *n_retained_facesOutputNumber of faces that will be retained
tag_t * *retained_facesOutput to UF_*free*Faces that will be retained. This array must be
freed by calling UF_free.
int *n_removed_facesOutputNumber of faces that will be removed
tag_t * *removed_facesOutput to UF_*free*Faces that will be removed. This array must be
freed by calling UF_free.
int *n_leaksOutputThe number of leaks
int * *n_leak_facesOutput to UF_*free*The number of faces in the path of each leak. This
array must be freed by calling UF_free.
tag_t * * *leak_facesOutput to UF_*free*The faces in the path of each leak. This array must be
freed by calling UF_free.

 


 
UF_MODL_prom_map_object_down (view source)
 
Defined in: uf_modl_promotions.h
 
Overview
Given a promoted solid body, face, or edge, maps this body, face, or
edge down to the corresponding object on the base body. Returns a
NULL_TAG if there is no such object. An example where this could
happen is if a face is created as part of creating a feature at the
assembly level. In this case, There is no base face corresponding to
the promoted face. This routine maps across a single level of
promotions. This routine needs to be called multiple times to map
down multiple promotion levels.

Environment
Internal and External

See Also
Refer example
 
Required License(s)
solid_modeling

 
int UF_MODL_prom_map_object_down
(
tag_t prom_tag,
tag_t * base_tag
)
tag_tprom_tagInputtag of a promoted body, face, or edge.
tag_t *base_tagOutputtag of the base body, face, or edge corresponding to
the given promoted geometry

 


 
UF_MODL_prom_map_object_up (view source)
 
Defined in: uf_modl_promotions.h
 
Overview
Finds the promoted version of the given base body, face, or edge on the
promoted version of the solid given by the feature record. If no such edge or
face exists then a NULL_TAG is returned. An example where this could happen is
if an edge is modeled away on the promotion. This routine expects prototypes,
not occurrences and maps across a single level of promotions. This routine
needs to be called multiple times to map up multiple promotion levels.

Environment
Internal and External

See Also
Refer example
 
Required License(s)
solid_modeling

 
int UF_MODL_prom_map_object_up
(
tag_t base_tag,
tag_t prom_feat_tag,
tag_t * prom_tag
)
tag_tbase_tagInputtag of a base body, face, or edge
tag_tprom_feat_tagInputtag of a promotion feature record
tag_t *prom_tagOutputtag of the promoted version of the given body, face,
or edge in the given promotion

 


 
UF_MODL_put_list_item (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Adds the input object identifier to the end of the list that you input.
NOTE: Duplicate tags added to the list are ignored.

Environment
Internal and External

See Also
UF_MODL_ask_list_item
UF_MODL_create_list
UF_MODL_delete_list
UF_MODL_ask_list_count
UF_MODL_delete_list_item
 
Required License(s)
gateway

 
int UF_MODL_put_list_item
(
uf_list_p_t list,
tag_t obj_id
)
uf_list_p_tlistInputList of object identifiers.
tag_tobj_idInputObject identifier to put into list

 


 
UF_MODL_reattach_dir_ref (view source)
 
Defined in: uf_modl.h
 
Overview
This routine is used to redefine the directional reference.

Environment
Internal and External

See Also
UF_MODL_reattach_target_face
 
Required License(s)
solid_modeling

 
int UF_MODL_reattach_dir_ref
(
tag_t feature_eid,
tag_t ref_eid,
int ref_is_horizontal,
logical delete_rpo
)
tag_tfeature_eidInputthe feature being reattached
tag_tref_eidInputnew directional reference
intref_is_horizontalInput1: reference is horizontal; 0: reference is vertical
logicaldelete_rpoInput1 if the rpo dims are to be deleted

 


 
UF_MODL_reattach_target_face (view source)
 
Defined in: uf_modl.h
 
Overview
This routine redefines a target face.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_reattach_target_face
(
tag_t feature_eid,
tag_t face_eid,
double point [ 3 ] ,
int flip,
logical delete_rpo
)
tag_tfeature_eidInputthe feature being reattached
tag_tface_eidInputnew target placement face
doublepoint [ 3 ] Inputnew feature position
intflipInput1: if the datum plane is flipped, else 0
logicaldelete_rpoInput1 if the rpo dims are to be deleted

 


 
UF_MODL_reattach_thru_faces (view source)
 
Defined in: uf_modl.h
 
Overview
Redefines the first thru/trim face.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_reattach_thru_faces
(
tag_t feature_eid,
int number_of_faces,
tag_t face_eids [ ] ,
logical delete_rpo
)
tag_tfeature_eidInputthe feature being reattached
intnumber_of_facesInputthe number of trim/thru faces to be redefined
tag_tface_eids [ ] Inputthe new thru/trim faces
logicaldelete_rpoInput1 if the rpo dims are to be deleted

 


 
UF_MODL_reattach_tool_face (view source)
 
Defined in: uf_modl.h
 
Overview
Reattaches the new tool placement face.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_reattach_tool_face
(
tag_t feature_eid,
tag_t face_eid,
logical delete_rpo
)
tag_tfeature_eidInputthe feature being reattached
tag_tface_eidInputthe new tool placement face
logicaldelete_rpoInputTRUE, if the rpo dims are to be deleted

 


 
UF_MODL_record_feature_update_warnings (view source)
 
Defined in: uf_modl.h
 
Overview
The option determines whether feature update warnings will be recorded in the feature update report.
User should set this value back to "false" after using it.

Environment
Internal and External

History
NX8.5.1
 
Required License(s)
gateway

 
int UF_MODL_record_feature_update_warnings
(
logical warning_option
)
logicalwarning_optionInputTRUE indicates that feature update warnings will be recorded.

 


 
UF_MODL_redefine_replace_faces (view source)
 
Defined in: uf_modl.h
 
Overview
Replaces the current set of input faces with the set of faces input
through the parameter faces.

Environment
Internal and External

See Also
Refer to example

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_redefine_replace_faces
(
tag_t feature_eid,
int number_of_faces,
tag_t face_eids [ ]
)
tag_tfeature_eidInputOFFSET or HOLLOW feature
intnumber_of_facesInputNumber of faces in faces array
tag_tface_eids [ ] InputArray of faces to replace the current input faces in
the feature.

 


 
UF_MODL_redefine_rpo_constraint (view source)
 
Defined in: uf_modl_sketch.h
 
Overview
This function can be used to redefine the tool and target objects referenced
by a relative positioning constraint of a feature. The input parameter
constraint is the constraint whose target and tool objects have to be redefined.
All the constraints that have been applied to a feature can be obtained by
using UF_MODL_ask_constraints. Use UF_MODL_ask_constraint_type to verify the
type of constraint.

Parameters tangent2arc1 (target qualifier) and tangent2arc2 (tool_qualifier)
allow settings for specifying which end point of the tool and target objects
to use. Use UF_MODL_ask_edge_verts to determine the order of the end points
for tool or target objects that are edges.

Some features can be positioned using the centerline of the feature. You may i
use the centerline of a feature by passing in a NULL_TAG as the tool object.
The centerline must be qualified as either the horizontal or vertical
centerline, using the first or last endpoint. The following features allow the
centerline to be used as a tool edge: Slot, Groove, Rectangular Pad, and
Rectangular Pocket. The Groove feature has only a vertical centerline.

Environment
Internal and External.

See Also
UF_MODL_ask_constraints
UF_MODL_ask_constraint_type
UF_MODL_reattach_dir_ref
UF_MODL_reattach_target_face
UF_MODL_reattach_thru_faces
UF_MODL_reattach_tool_face

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_redefine_rpo_constraint
(
tag_t constraint,
tag_t eid_target,
int tangent2arc1,
tag_t eid_tool,
int tangent2arc2
)
tag_tconstraintInputthe constraint being redefined
tag_teid_targetInputthe new target object
inttangent2arc1Inputthe target qualifier
tag_teid_toolInputthe new tool object
inttangent2arc2Inputthe new tool qualifier

 


 
UF_MODL_redefine_trim_faces (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Respecifies trim faces for a UDF. All the old trim faces are replaced
by new trim faces. The UDF should have been trimmed when it was
originally imported.

Note: This routine works only with old-style Pre-V15 UDFs

Environment
Internal and External

See Also
UF_MODL_boolean_udf
 
Required License(s)
solid_modeling

 
int UF_MODL_redefine_trim_faces
(
tag_t udf_id,
int n_trim_faces,
tag_t trim_faces [ ] ,
logical delete_rpo
)
tag_tudf_idInputudf id which is returned from UF_MODL_boolean_udf()
intn_trim_facesInputnumber of trim faces
tag_ttrim_faces [ ] Inputarray of trim faces
logicaldelete_rpoInputflag to indicate whether to delete rpo or not

 


 
UF_MODL_register_cliff_blend (view source)
 
Defined in: uf_modl_blends.h
 
Overview
 
Required License(s)
solid_modeling

 
int UF_MODL_register_cliff_blend
(
UF_MODL_cliff_blend_f_t var_routine
)
UF_MODL_cliff_blend_f_tvar_routineInputRoutine name. You define the routine. The system
calls the routine like this:
error = routine((tag_t) obj_id, tag_t cliff)
where obj_id is the new blend that was just created.
Therefore, you should define the routine like this:
int routine(tag_t obj_id, tag_t cliff)
and the routine returns an error if it failed. If the
returned error is != 0, then the new form feature is
deleted and an error is returned..

 


 
UF_MODL_register_rpo_routine (view source)
 
Defined in: uf_modl_sketch.h
 
Overview
Registers a routine for relative positioning. This allows you to register
a routine into the Open API environment so that you can
constrain a feature during creation time. Subsequently, every time a
form feature is created, this registered routine is called.
To register a routine named user_rpo_routine(), the call is:

UF_MODL_register_rpo_routine(user_rpo_routine)
where user_rpo_routine is defined as:
int user_rpo_routine(tag_t obj_id)

Calling this function will prevent an internal Open API shared library from
being unloaded, and overrides the setting of the user supplied function,
ufusr_ask_unload.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_register_rpo_routine
(
UF_MODL_rpo_f_p_t routine
)
UF_MODL_rpo_f_p_troutineInputRoutine name. You define the routine. The system
calls the routine like this:
error = routine((tag_t) obj_id)
where obj_id is the new feature that was just
created. Therefore, you should define the routine
like this:
int routine(tag_t obj_id)
and the routine returns an error if it failed. If the
returned error is != 0, then the new form feature is
deleted and an error is returned..

 


 
UF_MODL_register_udf_mapping_routine (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Register a routine for UDF obtaining mapping data. This allows you to register
a routine into the Open API environment so that you can select some
objects that need to be mapped at UDF instantiation or editing if a mapping
between old UDF parents and new UDF parents is necessary. Subsequently,
every time a UDF feature is instantiated or edited, this registered routine
is called. To register a routine named user_udf_mapping_routine(), the call
is:

UF_MODL_register_udf_mapping_routine(user_udf_mapping_routine)
where user_udf_mapping_routine is defined as:
int user_udf_mapping_routine()

Calling this function will prevent an internal Open shared library from
being unloaded, and overrides the setting of the user supplied function,
ufusr_ask_unload.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
UF_MODL_unregister_udf_mapping_routine

History
This function was originally released in NX3.
 
Required License(s)
solid_modeling

 
int UF_MODL_register_udf_mapping_routine
(
UF_MODL_udf_mapping_f_p_t routine
)
UF_MODL_udf_mapping_f_p_troutineInputRoutine name. You define the routine.
The system calls the routine like this:
UF_MODL_udf_mapping_f_p_t routine
(tag_t udf_feature_tag,
UF_MODL_udf_ref_data_t ref_data)

where udf_feature_tag is a tag of the enquiring
UDF defintion feature (for instantiation)
or instantiated feature (for editing),
and ref_data is the output of this UDF parent
data including mapping data that the user needs
to obtain.

The routine returns an error if it failed.
If the returned error is != 0, then it is
successful.

 


 
UF_MODL_register_var_blend (view source)
 
Defined in: uf_modl_blends.h
 
Overview
 
Required License(s)
solid_modeling

 
int UF_MODL_register_var_blend
(
UF_MODL_var_blend_f_t routine
)
UF_MODL_var_blend_f_troutineInputRoutine name. You define the routine. The system
calls the routine like this:
error = routine(tag_t obj_id,
double points[100][3],
char radii[100][256],
int smooth_overflow
int cliff_overflow
int notch_overflow
double vrb_tol
int number_pts)
where obj_id is each edge on the list that was
provided to UF_MODL_create_blend. Therefore,
you should define the routine like this:
int routine(tag_t obj_id,
double points[100][3],
char radii[100][256],
int smooth_overflow
int cliff_overflow
int notch_overflow
double vrb_tol
int number_pts)
and the routine returns an error if it failed. If the
returned error is != 0, then the new form feature is
deleted and an error is returned..

 


 
UF_MODL_remove_thru_faces (view source)
 
Defined in: uf_modl.h
 
Overview
Removes the thru faces from a hole or slot feature.

Environment
Internal and External

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_remove_thru_faces
(
tag_t feature_eid
)
tag_tfeature_eidInputThe object identifier of the feature from which
the thru faces will be removed.

 


 
UF_MODL_rename_exp (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Renames an existing expression. You input the old and new expression names.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_rename_exp
(
char * old_exp_name,
char * new_exp_name
)
char *old_exp_nameInputName of expression to be renamed.
char *new_exp_nameInputNew name for expression.

 


 
UF_MODL_reorder_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Reorders features in the modeling application. Note that this routine
performs an update. Routine UF_MODL_ask_body_feats returns features in the
current creation order.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_reorder_feature
(
tag_t reference_feature,
uf_list_p_t reposition_features,
int method
)
tag_treference_featureInputPivot feature.
uf_list_p_treposition_featuresInputList of features to reorder.
intmethodInputReorder method:
1 = Before
2 = After

 


 
UF_MODL_replace_body_data (view source)
 
Defined in: uf_modl.h
 
Overview
Replaces the body of an unparameterized feature with a copy of
another body. Both bodies must be single face sheet bodies.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_replace_body_data
(
tag_t original_feature,
tag_t new_body
)
tag_toriginal_featureInputFeature Object Identifier of unparameterized
feature which is to have its body replaced. Must be
a single face sheet body.
tag_tnew_bodyInputObject Identifier of the single face sheet body to
copy.

 


 
UF_MODL_replace_boolean_body (view source)
 
Defined in: uf_modl.h
 
Overview
Replaces the tool body and target body of a boolean feature.

Environment
Internal and External

See Also
Refer to example

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_replace_boolean_body
(
tag_t boolean_feature_obj_id,
UF_MODL_boolean_body_e_t type,
tag_t new_body
)
tag_tboolean_feature_obj_idInputThe object identifier of a boolean feature to
be modified.
UF_MODL_boolean_body_e_ttypeInputThe type of body:
UF_MODL_TARGET_BODY
UF_MODL_TOOL_BODY
tag_tnew_bodyInputThe body tag of the new body which will replace either the
target or the tool body.

 


 
UF_MODL_replace_feat_strings (view source)
 
Defined in: uf_modl.h
 
Overview
Edits the string structure of a feature. The following restrictions apply:
1. The valid features for this function are:
Curve Mesh
Thru Curves
Ruled
Swept
Bounded Plane
2. Only the Replace option may be used with Ruled and Bounded Plane features.
3. When adding a new string at the beginning of a surface, use index = 0.
4. The string input must be the entire string being changed, even if
only one curve within a multi-curve string is changing. If you
wish to edit one curve in a multi-curve string, you must build the
entire new string.
5. This function does not perform an update of the feature. You
should call UF_MODL_update after you have completed all your
string edit operations.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_replace_feat_strings
(
tag_t feature_obj_id,
int option,
UF_STRING_p_t string,
int string_set,
int index
)
tag_tfeature_obj_idInputFeature object identifier
intoptionInputOperation to be performed
UF_MODL_STRING_ADD = Add a string
UF_MODL_STRING_REMOVE = Remove a string
UF_MODL_STRING_REPLACE = Replace a string
UF_STRING_p_tstringInputPointer to the string structure of a single string to
add or replace.
intstring_setInputSet of strings on which to perform the operation,
especially when the feature has more than 1 set of
strings
If feature = Thru Curve Mesh:
1 = Primary Curves
2 = Cross Curves
If feature = Freeform Sweep
1 = Guide Curves
2 = Section Curves
All others: string_set = 1
intindexInputIndex at which to perform the operation starting at index=1
If UF__MODL_STRING_ADD, add the string after the index
If UF_MODL_STRING_REMOVE or UF_MODL_STRING_REPLACE,
remove or replace at the index

 


 
UF_MODL_replace_features (view source)
 
Defined in: uf_modl.h
 
Overview
This function replaces the features in original_features[] by the
features in replacement_features[] or the copies of features in
replacement_features[] if original_features[] are features on bodies,
curve features and datum features. The children of the original_features[]
will be reparented to the replacement_features[] or copies.

The original features will be deleted.

original_features[] can contain: features on the same body, curve features,
datum plane and datum axis features.

replacement_features[] must contain: features on other bodies (if
original_features[] contains features on a body), other curve features
(if original_features[] contains curve features) and other datum plane
and other datum axis features (if original_features[] contains datum plane
or datum axis features).

Note that original_features[] and replacement_features[] must contain
features that are in the same part file. Also, for features on a body, the
parents of each of the features in replacement_features[] must be either
another feature in the replacement_features[] or must be a feature which
is before the earliest feature in the original_features[].

parent_map[] maps entities created by the original_features[] to the
corresponding entities on the replacement_features[]. In addition to the
original_features[] and replacement_features[] you will have to provide a map
of edges and faces on the original_features[] to the corresponding edges and
faces of the replacement_features[].

You will specify the map as a array of objects of type
UF_MODL_replace_features_t described below. The children of the
original_features[] will be reparented to copies of the corresponding
entities on the replacement_features[] that are specified in the parent_map[].

Calling this function with return_map as true does not perform the replacement
but returns a parent_map[] each of whose original_entity elements are edges
and faces created by original_features[]. Only those edges and faces that are
parents of downstream features are returned in the parent_map[]. The
replacement_entity elements of all the structures in the parent_map[] are 0.
You will have to assign the appropriate replacement_entity for each of
the structures returned in the parent_map[] before calling this function with
return_map as false to perform the actual replace.

Environment
Internal and External

See Also
Refer to example

History
New in v17.0
 
Required License(s)
solid_modeling

 
int UF_MODL_replace_features
(
tag_t * original_features,
int n_original_features,
tag_t * replacement_features,
int n_replm_features,
logical return_map,
logical use_copy_of_replacement,
UF_MODL_replace_features_t * * parent_map,
int * n_parent_map
)
tag_t *original_featuresInputArray of features to replace
intn_original_featuresInputnumber of original_features
tag_t *replacement_featuresInputArray of replacement features
intn_replm_featuresInputnumber of replacement_features
logicalreturn_mapInputreturn_map = true - return in
parent_map[] the edges and faces created
by the original_features[] which have to
be mapped to the corresponding edges and
faces on the replacement_features[]
return_map = false - perform the replace
logicaluse_copy_of_replacementInputuse_copy_of_replacement = false -
Use the replacement features directly to
replace the original features
use_copy_of_replacement = true - Copy
the replacement features and use the copy
of the replacement feature to replace the
original features
UF_MODL_replace_features_t * *parent_mapInput / OutputMap of edges and faces
created by the
original_features[] to
corresponding edges and faces
on the replacement_features[]
int *n_parent_mapInput / Outputnumber of elements in (parent_map)[]

 


 
UF_MODL_replace_sweep_strings (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
This function will replace the profile and/or guide curves/edges of
a sweep feature that can be one of the following types, Extruded,
Revolved, Sweep (Along a Guide), Cable/Tube.

The original and replacement curves/edges in the arrays original_profile/
guide_objs and new_profile/guide_objs have to be contiguous. The
original strings will be replaced in the order of the original_profile/
guide_objs array by the corresponding strings in the new_profile/guide_objs
array. If n_original_profile/guide_objs > n_new_profile/guide_objs,
the last (n_original_profile/guide_objs - n_new_profile/guide_objs)
strings in the original_profile/guide_objs array will be removed from
the sweep featur's profile/guide. If
n_original_profile/guide_objs < n_new_profile/guide_objs, the last
(n_new_profile/guide_objs - n_original_profile/guide_objs) strings in the
new profile/guide array will be added to the feature.

It is suggested to use this function instead of UF_MODL_edit_sweep_curves
if possible as UF_MODL_replace_sweep_strings has the edge/face tracking
information retained when possible.

Environment
Internal and External

See Also
UF_MODL_edit_sweep_curves

History
Released in V15.0
 
Required License(s)
solid_modeling

 
int UF_MODL_replace_sweep_strings
(
tag_t sweep_feature_id,
int n_original_profile_objs,
tag_t * original_profile_objs,
int n_new_profile_objs,
tag_t * new_profile_objs,
int n_original_guide_objs,
tag_t * original_guide_objs,
int n_new_guide_objs,
tag_t * new_guide_objs
)
tag_tsweep_feature_idInputFeature object identifier of sweep
intn_original_profile_objsInputNumber of contiguous original curves/edges in
the profile of the sweep feature to be replaced
tag_t *original_profile_objsInputAn array of contiguous original curves/edges in
the profile of the sweep feature to be replaced
intn_new_profile_objsInputNumber of contiguous curves/edges to replace
the curves/edges in the original_profile_objs.
tag_t *new_profile_objsInputAn array of contiguous curves/edges to replace
the curves/edges in the original_profile_objs.
intn_original_guide_objsInputNumber of contiguous original curves/edges
in the guide of the sweep feature to be replaced.
tag_t *original_guide_objsInputAn array of contiguous original curves/edges
in the guide of the sweep feature to be replaced.
intn_new_guide_objsInputNumber of contiguous curves/edges to replace
the curves/edges in the original_guide_objs.
tag_t *new_guide_objsInputAn array of contiguous curves/edges to replace
the curves/edges in the original_guide_objs.

 


 
UF_MODL_require_udf_mapping_for_edit (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Ask if a mapping between old UDF parents and new parents is needed at editing.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
UF_MODL_register_udf_mapping_routine
UF_MODL_unregister_udf_mapping_routine

History
This function was originally released in NX3.
 
Required License(s)
solid_modeling

 
int UF_MODL_require_udf_mapping_for_edit
(
tag_t udf_insert_tag,
logical * mapping_is_required,
int * mapping_num_objects,
tag_t * * mapping_objects
)
tag_tudf_insert_tagInputTag of UDF instantiated feature
logical *mapping_is_requiredOutputTRUE: a mapping is required
int *mapping_num_objectsOutputNumber of mapping objects
tag_t * *mapping_objectsOutput to UF_*free*Array of mapping objects

 


 
UF_MODL_require_udf_mapping_for_insert (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Ask if a mapping between old UDF parents and new parents is needed at instantiation.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
UF_MODL_register_udf_mapping_routine
UF_MODL_unregister_udf_mapping_routine

History
This function was originally released in NX3.
 
Required License(s)
solid_modeling

 
int UF_MODL_require_udf_mapping_for_insert
(
tag_t udf_define_tag,
logical * mapping_is_required,
int * mapping_num_objects,
tag_t * * mapping_objects
)
tag_tudf_define_tagInputTag of UDF definition feature
logical *mapping_is_requiredOutputTRUE: a mapping is required
int *mapping_num_objectsOutputNumber of mapping objects
tag_t * *mapping_objectsOutput to UF_*free*Array of mapping objects

 


 
UF_MODL_reverse_datum_axis (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Reverses the direction of a datum axis.

Environment
Internal and External

See Also
UF_MODL_reverse_datum_plane

History
Original release was in V14.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_reverse_datum_axis
(
tag_t datum_axis_tag
)
tag_tdatum_axis_tagInputTag of the datum axis to reverse.

 


 
UF_MODL_reverse_datum_plane (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
Reverses the normal direction of a datum plane. The function UF_MODL_update
must be called to actually apply the reversal.

Environment
Internal and External

See Also
UF_MODL_update
 
Required License(s)
solid_modeling

 
int UF_MODL_reverse_datum_plane
(
tag_t datum_plane_tag
)
tag_tdatum_plane_tagInputTag of the datum plane to reverse.

 


 
UF_MODL_reverse_dir_ref (view source)
 
Defined in: uf_modl.h
 
Overview
Redefines the directional reference of a feature.

Environment
Internal and External

See Also
UF_MODL_calculate_ref_dir
UF_MODL_ask_link_faces

History
Originally released in V15.0
 
Required License(s)
solid_modeling

 
int UF_MODL_reverse_dir_ref
(
tag_t feature_eid,
tag_t ref_eid,
int ref_is_horizontal,
logical delete_rpo,
logical reverse
)
tag_tfeature_eidInputthe feature being reattached
tag_tref_eidInputthe new directional reference
intref_is_horizontalInput1: reference is horizontal, 0: reference is
vertical
logicaldelete_rpoInput1: delete rpo dims
logicalreverseInput1: to reverse directional reference

 


 
UF_MODL_set_angle_tolerance (view source)
 
Defined in: uf_modl.h
 
Overview
Sets the angle tolerance found in the Modeling Preferences dialog box.

Return
Void.

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MODL_set_angle_tolerance
(
double * tolerance,
int * err_flag
)
double *toleranceInputAngle tolerance. Value must be greater than e-10
(greater than zero).
int *err_flagOutputError code:
0 = No error
1 = Invalid value, tolerance not changed

 


 
UF_MODL_set_body_density (view source)
 
Defined in: uf_modl.h
 
Overview
Set the density of a body.
The input must be a body tag.
If the body is in the context of an assembly, it is the caller function's
responsibility to retrieve the body tag before this function can be called, i.e.,
if body is an occurrence, then the body tag must be retrieved first.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_set_body_density
(
tag_t body,
UF_MODL_density_units_t units,
double density
)
tag_tbodyInputsolid/sheet body
UF_MODL_density_units_tunitsInputthe unit of 'density'
doubledensityInputdensity of body

 


 
UF_MODL_set_body_type_pref (view source)
 
Defined in: uf_modl.h
 
Overview
Changes the current setting for the sheet/solid body type modeling
preference. This preference is used when creating bodies through
curves to allow you to control the type of body created. The body type
option is used in the Through Curve Mesh, Through Curves, Extruded
Body, Body of Revolution, Swept, Section Surface and Ruled Free
Form Feature creation options.

Environment
Internal and External

See Also
UF_MODL_ask_body_type_pref
 
Required License(s)
solid_modeling

 
int UF_MODL_set_body_type_pref
(
int body_type
)
intbody_typeInputDesired setting of the body type preference:
UF_MODL_SOLID_BODY
UF_MODL_SHEET_BODY

 


 
UF_MODL_set_bsurf_knot_display (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Set the B-surface knot flag.

Environment
Internal and External

History
Originally released in NX5.0
 
Required License(s)
solid_modeling

 
int UF_MODL_set_bsurf_knot_display
(
tag_t face,
logical state
)
tag_tfaceInputFace tag of B-surface to be set pole flag
logicalstateInputsurface knot flag status

 


 
UF_MODL_set_bsurf_pole_display (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Set the B-surface pole flag.

Environment
Internal and External

History
Originally released in NX2.0
 
Required License(s)
solid_modeling

 
int UF_MODL_set_bsurf_pole_display
(
tag_t face,
logical state
)
tag_tfaceInputFace tag of B-surface to be set pole flag
logicalstateInputsurface pole flag status

 


 
UF_MODL_set_containment (view source)
 
Defined in: uf_modl.h
 
Overview
If UF_MODL_ask_uv_points_containment will be called multiple times for the same face
then this function, in conjunction with UF_MODL_unset_containment, will improve
the performance of the computations.

Call this function before to your calls to UF_MODL_ask_uv_points_containment

Environment
Internal and External

See Also
Refer to example

History
Originally released in NX8.0.2
 
Required License(s)
gateway

 
int UF_MODL_set_containment
(
tag_t face_eid
)
tag_tface_eidInputface which will be used in multiple UF_MODL_ask_uv_points_containment calls

 


 
UF_MODL_set_current_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Define the current feature. Any newly created feature will be created right
after this feature. When a new feature is created, it is made the current
feature.

Environment
Internal and External

History
This function was originally released in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_set_current_feature
(
tag_t feature_id
)
tag_tfeature_idInputFeature which is to be made the current
feature.

 


 
UF_MODL_set_curve_fit_method (view source)
 
Defined in: uf_modl_curves.h
 
Overview
Sets the curve fit method modeling preference.

Environment
Internal and External

See Also
UF_MODL_ask_curve_fit_method

History
This function was originally released in V15.0
 
Required License(s)
solid_modeling

 
int UF_MODL_set_curve_fit_method
(
int fit_method
)
intfit_methodInputcurve fit method 0=cubic, 1=quintic

 


 
UF_MODL_set_datum_csys_scaling (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
This function sets the "fixed size" display of datum CSYS feature. If "Fixed size component" toggle
in the CSYS constructor dialog is ON, then the datum CSYS will not be resized relative to the view.

If unsuccessful returns error code

Environment
Internal and External

History
NX3.0.1
 
Required License(s)
solid_modeling

 
int UF_MODL_set_datum_csys_scaling
(
const tag_t datum_csys_tag,
const logical scaling_on
)
const tag_tdatum_csys_tagInputTag of datum CSYS feature
const logicalscaling_onInputIf TRUE, datum CSYS with fixed size would be displayed

 


 
UF_MODL_set_datum_csys_visibility (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
This function sets the visibility of datum CSYS feature based on the logical value of
input argument "visibility"
If unsuccessful returns error code

Environment
Internal and External

History
NX3.0.1
 
Required License(s)
solid_modeling

 
int UF_MODL_set_datum_csys_visibility
(
const tag_t datum_csys_tag,
const logical visibility
)
const tag_tdatum_csys_tagInputTag of datum CSYS feature
const logicalvisibilityInputIf TRUE, datum CSYS with components would be visible

 


 
UF_MODL_set_default_density (view source)
 
Defined in: uf_modl.h
 
Overview
Sets the global solid density to the input value. The density units can be
any one of the following:

UF_MODL_pounds_inches
UF_MODL_pounds_feet
UF_MODL_grams_centimeters
UF_MODL_kilograms_meters

Environment
Internal and External

See Also
Refer to example
UF_MODL_ask_default_density

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_set_default_density
(
double density,
UF_MODL_density_units_t units
)
doubledensityInputdefault density
UF_MODL_density_units_tunitsInputunits of 'density'

 


 
UF_MODL_set_distance_tolerance (view source)
 
Defined in: uf_modl.h
 
Overview
Sets the distance tolerance found in the Modeling Preferences dialog box.

Return
Void.

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MODL_set_distance_tolerance
(
double * tolerance,
int * err_flag
)
double *toleranceInputDistance tolerance. Value must be greater than
metric 1e-5 or English 3e-7.
int *err_flagOutputError code:
0 = No error
1 = Invalid value, tolerance not changed

 


 
UF_MODL_set_dynamic_update (view source)
 
Defined in: uf_modl.h
 
Overview
Changes the current setting for the modeling dynamic update preference. This
preference is used when editing a curve or a bridge curve feature from which
we can derive visible sheet or solid bodies.

If UF_MODL_NO_DYNAMIC_UPDATE is used, NX will not update the children
features of the curve. If UF_MODL_DYNAMIC_UPDATE_INCREMENTAL or
UF_MODL_DYNAMIC_UPDATE_CONTINUOUS is used, NX will dynamically update
the children, depending on the immediate children preference, of the curve
each time the mouse stops moving or moves, respectively.

Environment
Internal and External

See Also
UF_MODL_ask_dynamic_update
UF_MODL_set_immediate_children
UF_MODL_ask_immediate_children

History
V17.0
 
Required License(s)
solid_modeling

 
int UF_MODL_set_dynamic_update
(
int update_type
)
intupdate_typeInputDesired setting for dynamic update:
UF_MODL_NO_DYNAMIC_UPDATE,
UF_MODL_DYNAMIC_UPDATE_INCREMENTAL,
UF_MODL_DYNAMIC_UPDATE_CONTINUOUS

 


 
UF_MODL_set_face_blend_law_radii (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Set face blend law radii

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_set_face_blend_law_radii
(
tag_t feature,
double * radii_values,
int rad_num
)
tag_tfeatureInputThe object identifier of the blend
double *radii_valuesInputArray of new law radii values
intrad_numInputNumber of new radii

 


 
UF_MODL_set_face_blend_law_range1_radii (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Set conic face blend law radii for offset1

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_set_face_blend_law_range1_radii
(
tag_t feature,
double * radii_values,
int rad_num
)
tag_tfeatureInputThe object identifier of the blend
double *radii_valuesInputArray of new law radii values
intrad_numInputNumber of new radii

 


 
UF_MODL_set_face_blend_law_range2_radii (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Set conic face blend law radii for offset2

Environment
Internal and External

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_set_face_blend_law_range2_radii
(
tag_t feature,
double * radii_values,
int rad_num
)
tag_tfeatureInputThe object identifier of the blend
double *radii_valuesInputArray of new law radii values
intrad_numInputNumber of new radii

 


 
UF_MODL_set_feat_tolerance (view source)
 
Defined in: uf_modl.h
 
Overview
Sets the given tolerance to the input feature.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_set_feat_tolerance
(
tag_t feature_obj_id,
double tolerance,
logical update_part
)
tag_tfeature_obj_idInputFeature to set
doubletoleranceInputDistance tolerance to set in the feature
logicalupdate_partInputIndicate whether to update the part.
If TRUE - Part will get updated by calling UF_MODL_update,
FALSE - Part will not get updated, User has to update the part.
User can set the tolerance of multiple features and then update
the part by calling UF_MODL_update at end or
pass the update_part flag as true for last feature

 


 
UF_MODL_set_flange_proc_factor (view source)
 
Defined in: uf_modl_smd.h
 
Overview
Sets the process factor for a specified flange feature.

Environment
Internal and External
 
Required License(s)
sheet_metal_design

 
int UF_MODL_set_flange_proc_factor
(
tag_t flange,
double proc_factor
)
tag_tflangeInputObject identifier for the flange feature.
doubleproc_factorInputProcess factor

 


 
UF_MODL_set_free_form_result (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Sets the free form construction result preference. This preference
controls free form feature creation in the Through Curves, Through
Curves Mesh, Swept, and Ruled functions. If the free form
construction result is 0 and the selected curves are coplanar, a
bounded plane is created. Otherwise, a B-surface is created.

Environment
Internal and External
 
Required License(s)
solid_modeling  and  ( free_form_modeling  or  nx_freeform_1 )

 
int UF_MODL_set_free_form_result
(
int free_form_result
)
intfree_form_resultInputfree form construction result preference
0 = create bounded plane, if selected curves are coplanar.
1 = always create B-surface.

 


 
UF_MODL_set_immediate_children (view source)
 
Defined in: uf_modl.h
 
Overview
Changes the current setting for the modeling immediate children preference.
This preference is used when editing curve whose is parent of features that
create sheet and/or solid bodies and the modeling dynamic update is either
UF_MODL_DYNAMIC_UPDATE_INCREMENTAL or UF_MODL_DYNAMIC_UPDATE_CONTINUOUS.

If the user edits a curve through edit feature or edit bridge curve feature,
this preference is not applicable. If UF_MODL_UPDATE_FIRST_LEVEL is used,
NX will update the first visible sheet or solid bodies that can be
derived from the curve. If UF_MODL_UPDATE_ALL, NX will update all
features related to the editing curve.

Environment
Internal and External

See Also
UF_MODL_ask_immediate_children
UF_MODL_ask_dynamic_update
UF_MODL_set_dynamic_update

History
V17.0
 
Required License(s)
solid_modeling

 
int UF_MODL_set_immediate_children
(
int update_level
)
intupdate_levelInputDesired setting for immediate children:
UF_MODL_UPDATE_FIRST_LEVEL,
UF_MODL_UPDATE_ALL

 


 
UF_MODL_set_midsrf_feature_create_method (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Sets the creation&trim method (either advanced or classic)

Environment
Internal and External

History
Originally released in NX5.0
 
Required License(s)
( solid_modeling  or  nx_masterfem )

 
int UF_MODL_set_midsrf_feature_create_method
(
tag_t feature_obj_id,
int adv_crt_and_trm
)
tag_tfeature_obj_idInputMidsurface Feature tag
intadv_crt_and_trmInputchoice of advanced create and trim

 


 
UF_MODL_set_rpo_refernce (view source)
 
Defined in: uf_modl_ugopenint.h
 
Overview
Set the reference object and location for RPO operations. This function can be used to
control where a form feature will be positioned, if RPO is needed for the feature.
For example, if it is called before UF_MODL_create_instantiated_udf, the system will
position the new UDF instance at the given place.

Environment
Internal and External

History
V17.0
 
Required License(s)
solid_modeling

 
int UF_MODL_set_rpo_refernce
(
tag_t reference,
double point [ 3 ] ,
int flip
)
tag_treferenceInputthe tag of the reference object, which can be a face or edge
doublepoint [ 3 ] Inputthe point to position a feature
intflipInputflip the direction or not, only valid for edge

 


 
UF_MODL_set_show_report_reference (view source)
 
Defined in: uf_modl.h
 
Overview
Set the show report reference option. The option determines whether feature
failure and warning will be shown in the feature update report.

Environment
Internal and External

History
NX8.0.3
 
Required License(s)
gateway

 
int UF_MODL_set_show_report_reference
(
logical reportReference
)
logicalreportReferenceInputTRUE indicates report reference will be shown, FALSE otherwise.

 


 
UF_MODL_set_suppress_exp_tag (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Links the parameter suppress expression to the feature.

The value of the specified expression tag must match the current
suppression state of the specified feature. If the feature is unsuppressed
then the expression value must be 1. If feature is suppressed then the
expression value must not be 1.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_set_suppress_exp_tag
(
tag_t feature_tag,
tag_t expression_tag
)
tag_tfeature_tagInputFeature object id
tag_texpression_tagInputSuppress expression tag

 


 
UF_MODL_set_sweep_axis (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Given an extrude or revolve feature, this function sets the direction

Environment
Internal and External

History
Originally released in V15.0
 
Required License(s)
solid_modeling

 
int UF_MODL_set_sweep_axis
(
tag_t feature_id,
double dir [ 3 ]
)
tag_tfeature_idInputThe feature ID.
doubledir [ 3 ] InputThe new direction of the extrude or revolve feature.

 


 
UF_MODL_set_sweep_tolerances (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Given an extrude or revolve feature, this function sets the new tolerances.

Environment
Internal and External

History
Originally released in V15.0
 
Required License(s)
solid_modeling

 
int UF_MODL_set_sweep_tolerances
(
tag_t feature_id,
double * tolerance
)
tag_tfeature_idInputThe feature ID.
double *toleranceOutputThe new chaining and distance tolerance.

 


 
UF_MODL_set_udf_parms (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Sets the parameters of a user defined feature part. This function can
only be called once for each udf.
Note: This routine works only with old-style Pre-V15 UDFs

Environment
Internal and External

See Also
UF_MODL_export_udf
UF_MODL_import_udf
UF_MODL_boolean_udf
UF_MODL_ask_udf_parms
 
Required License(s)
gateway

 
int UF_MODL_set_udf_parms
(
tag_t udf_id,
char * * prompt,
char * * values,
int number_of_parms
)
tag_tudf_idInputFeature obj_id.
char * *promptInputThe user defined feature prompt.
char * *valuesInputThe user defined feature values.
intnumber_of_parmsInputNumber of parameters in the arrays.

 


 
UF_MODL_set_update_fail_option (view source)
 
Defined in: uf_modl.h
 
Overview
Sets the current fail option in case an update failure occurs. This
allows the user to specify the update behavior in advance, should an
error occur in the middle of a modeling update. It would be as if a
user in interactive NX had selected the UNDO, SUPPRESS,
SUPPRESS ALL, ACCEPT_ALL or INTERRUPT button in the Edit
During Update dialog.

The user can also set a variable of UGII_UPDATE_FAIL_OPTION before running
an NX Open API and set it to any of the values defined in UF_MODL_update_option_e.

Environment
Internal and External

See Also
Refer to table

History
Original release was in V14.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_set_update_fail_option
(
UF_MODL_update_option_t new_fail_option
)
UF_MODL_update_option_tnew_fail_optionInputSets the update fail option to the
given value.

 


 
UF_MODL_set_xform_tag_of_datum_csys (view source)
 
Defined in: uf_modl_datum_features.h
 
Overview
This function sets the tag of the XFORM into the csys of a datum_csys

If unsuccessful returns error code

Environment
Internal and External

History
NX3
 
Required License(s)
gateway

 
int UF_MODL_set_xform_tag_of_datum_csys
(
tag_t datum_csys_feature,
tag_t xform_tag
)
tag_tdatum_csys_featureInputTag of datum csys feature
tag_txform_tagInputxform tag to be set in datum_csys_tag

 


 
UF_MODL_shape_pattern_create_dialog (view source)
 
Defined in: uf_modl_ugopenint.h
 
Overview
Function Description : This function will create a user interface
dialog to allow users to choose a Shape Pattern from a thumbnail list

Return
Error code

Environment
Internal & External

See Also
UF_MODL_shape_pattern_init_client_data
UF_MODL_shape_pattern_free_client_data

History
Originally released in NX503
 
Required License(s)
gateway

 
int UF_MODL_shape_pattern_create_dialog
(
UF_MODL_shape_pattern_client_dialog_data_p_t pClientData,
int * response
)
UF_MODL_shape_pattern_client_dialog_data_p_tpClientDataInput / OutputClient Data for Shape Pattern UI
int *responseOutputUI response: UF_UI_OK or UF_UI_CANCEL

 


 
UF_MODL_shape_pattern_free_client_data (view source)
 
Defined in: uf_modl_ugopenint.h
 
Overview
The following function will free the client data for shape pattern
which is used for UF_MODL_shape_pattern_create_dialog

Return
Error code

Environment
Internal & External

See Also
UF_MODL_shape_pattern_init_client_data

History
Originally released in NX503
 
Required License(s)
solid_modeling

 
int UF_MODL_shape_pattern_free_client_data
(
UF_MODL_shape_pattern_client_dialog_data_p_t pClientData
)
UF_MODL_shape_pattern_client_dialog_data_p_tpClientDataInputShape Pattern data structure
to be freed

 


 
UF_MODL_shape_pattern_init_client_data (view source)
 
Defined in: uf_modl_ugopenint.h
 
Overview
The following function will initialize the client data for shape pattern
which is used for UF_MODL_shape_pattern_create_dialog

Return
Error code

Environment
Internal & External

See Also
UF_MODL_shape_pattern_free_client_data

History
Originally released in NX503
 
Required License(s)
solid_modeling

 
int UF_MODL_shape_pattern_init_client_data
(
UF_MODL_shape_pattern_client_dialog_data_p_t pClientData
)
UF_MODL_shape_pattern_client_dialog_data_p_tpClientDataInput / OutputShape Pattern data structure
to be initialized

 


 
UF_MODL_show_parent_curves (view source)
 
Defined in: uf_modl_curves.h
 
Overview
This routine shows the parent NX curves of an input feature.
The customer default variable Solids_MoveCurvesToOtherLayer,
defined in ug_english.def and ug_metric.def will control the
behavior of this routine.

If Solids_MoveCurvesToOtherLayer = on, this routine
will unblank all parent NX curves of the selected feature,
and will move the parent NX curves that lie on the non-selectable
layers to the work layer.

If Solids_MoveCurvesToOtherLayer = off, this routine
unblank all parent NX curves of the selected feature, and
will change the mask of all non-selectable layers on which
the parent NX curves lie to be selectable layers.

If selectable is TRUE and the parent NX curves are on visible but
non-selectable layers, this routine will either move these
parent NX curves to the work layer or change the mask of the
layers according to the value of Solids_MoveCurvesToOtherLayer.

Environment
Internal and External

See Also
UF_MODL_hide_parent_curves

History
Originally released in V16.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_show_parent_curves
(
tag_t feature_tag,
logical selectable,
int * n_unch_disp_stat,
UF_MODL_disp_info_p_t * unch_parents_disp_status,
int * n_ch_disp_stat,
UF_MODL_disp_info_p_t * ch_parents_disp_status
)
tag_tfeature_tagInputInput feature record eid
logicalselectableInputThe parent curves are to be
selectable
int *n_unch_disp_statOutputThe number of parent curves
whose display status were
unchanged after the show action
UF_MODL_disp_info_p_t *unch_parents_disp_statusInput / Output to UF_*free*If NULL is passed in, then
nothing is returned. If a
pointer is passed in, then
an array of UF_MODL_disp_info_t
structures will be allocated, one
for each parent curve whose
display status was unchanged. The
UF_MODL_disp_info_t structure
will have the original display
information for the parent curve.
This array can then be passed
to UF_MODL_hide_parent_curves to
restore the curves to their
original display status.
This array must be freed by the
caller by calling UF_free.
int *n_ch_disp_statOutputThe number of parent curves whose
display status were changed after
the show action, i.e. the layer
number or blank status was
changed by this function.
UF_MODL_disp_info_p_t *ch_parents_disp_statusInput / Output to UF_*free*If NULL is passed in, then
nothing is returned. If a
pointer is passed in, then
an array of UF_MODL_disp_info_t
structures will be allocated,
one for each parent curve whose
display status was changed.
The UF_MODL_disp_info_t
structure will have the
original display information
for the parent curve.This array
can then be passed
to UF_MODL_hide_parent_curves
to restore the curves to their
original display status.
This array must be freed by the
caller by calling UF_free.

 


 
UF_MODL_smooth_bsurface_data (view source)
 
Defined in: uf_modl_bsurf.h
 
Overview
Makes a bsurface continuous to cont_order_x, where x refers to the u
or v direction. The order of continuity may be any non-negative
integer up to (but not including) the corresponding degrees of the
bsurface. Selection of a given cont_order implies that all lower order
continuities are to be achieved. The order of continuity is the number
of derivatives that are required to exist at all points of the bsurface, in
the corresponding u and v directions.

NX prefers surfaces to be continuous at least to order 1, in a
manner called in this documentation G1+. It is stronger than
mathematical G1, but is not quite C1. For G1+, at any row or column
corresponding to a knot value with multiplicity equal to the degree of
the surface in that direction, both tangent vectors (with respect to u
and with respect to v) must have the same direction, but not
necessarily the same length (if they are the same length, continuity C1 exists).

At any point in the surface, if cont_order_x cannot be achieved in the
corresponding direction, the highest continuity Cn within tolerance is
achieved. If C1 cannot be achieved, G1+ is achieved within tolerance
and a state code is returned. If G1+ cannot be achieved an error is returned.

Any seam that has any angle larger than ang_toler is not smoothed, even if
it's distance is within tolerance. Any seam that would require a change larger
than dist_toler is not smoothed. Any seam that can be smoothed is smoothed
even all of them cannot be smoothed.

Any knot that has a multiplicity high enough to make it possible for
the surface to be discontinuous at the corresponding row or column of
poles is checked. If the row or column of poles can be treated in such
poles is checked. If the row or column of poles can be treated in such
a way as to make the surface continuous to the given orders without
changing the shape more than toler, it is made so in u and v. If the
bsurface is closed in either or both u and v, the closure is also
checked.

Continuity is achieved using a mathematical process called knot
removal.
Use this function conservatively. In particular, if simplification is to be
done when the geometry is attached or edited, use this function only if
the geometry has some problem that prevents its use. Knot removal
may make the bsurface's equivalent surface (such as a cone)
unrecognizable by the simplifier. It can also have a long running time
(at orders of continuity greater than 1), because at every point where
a change is made the surface must be evaluated to check that the
change is within tolerance.

Bsurfaces that have end knots with a multiplcity greater than the order of the
surface in that direction, or have interior knots with a multiplicity greater
than surface order-1 in the respective directions, are not continuous, that is,
they have gaps. Such bsurfaces are not of general utility in CAD/CAM work.
NX cannot create them. This function may be used to "clean" up such
bsurfaces.

Environment
Internal and External

See Also
UF_BREP_attach_geometry
Structure UF_MODL_state_t which is a type define of UF_CURVE_state_t

History
This function was originally released in V15.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_smooth_bsurface_data
(
int cont_order_u,
int cont_order_v,
double dist_toler,
double ang_toler,
UF_MODL_bsurface_p_t bsurf,
int * num_states,
UF_MODL_state_p_t * states
)
intcont_order_uInputorder of continuity to achieve in the u direction
intcont_order_vInputorder of continuity to achieve in the v direction
doubledist_tolerInputdistance tolerance not to be exceeded
doubleang_tolerInputangular tolerance not to be exceeded
UF_MODL_bsurface_p_tbsurfInputspline surface data to make continuous
int *num_statesOutputnumber of states in states array
UF_MODL_state_p_t *statesOutput to UF_*free*state values for smoothing operation; if NULL
is provided no states are returned. This array
must be freed by calling UF_free.

 


 
UF_MODL_sort_features (view source)
 
Defined in: uf_modl_utilities.h
 
Overview
Sort features by order of update. Notice that if feature1 updates before
feature2 then it is legal for feature2 to reference feature1. This can be used
in a selection filter during edit.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_sort_features
(
tag_t feature1,
tag_t feature2,
int * result
)
tag_tfeature1Inputfirst feature
tag_tfeature2Inputsecond feature
int *resultOutput-1 if feature1 updates before feature2
0 if feature1 equals feature2
1 if feature1 updates after feature2

 


 
UF_MODL_split_body (view source)
 
Defined in: uf_modl.h
 
Overview
Split one or more bodies with a cutting plane or a body face.

Environment
Internal and External

See Also
Refer to example

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_split_body
(
int num_bodies,
tag_t * bodies,
tag_t cutting_body,
int * num_split_bodies,
tag_t * * split_bodies
)
intnum_bodiesInputNumber of bodies to be split
tag_t *bodiesInputBodies to be split
tag_tcutting_bodyInputCutting plane or a sheet body
int *num_split_bodiesOutputNumber of the split bodies
tag_t * *split_bodiesOutput to UF_*free*Returned split bodies. This array
must be freed by calling UF_free.

 


 
UF_MODL_split_body_retain_tool (view source)
 
Defined in: uf_modl.h
 
Overview
Split one or more bodies with a cutting plane or a body face and retain the tool body.

Environment
Internal and External

See Also
Refer to example

History
Originally released in NX304
 
Required License(s)
solid_modeling

 
int UF_MODL_split_body_retain_tool
(
int num_bodies,
tag_t * bodies,
tag_t cutting_body,
int * num_split_bodies,
tag_t * * split_bodies
)
intnum_bodiesInputNumber of bodies to be split
tag_t *bodiesInputBodies to be split
tag_tcutting_bodyInputCutting plane or a sheet body
int *num_split_bodiesOutputNumber of the split bodies
tag_t * *split_bodiesOutput to UF_*free*Returned split bodies. This array
must be freed by calling UF_free.

 


 
UF_MODL_subtract_bodies (view source)
 
Defined in: uf_modl.h
 
Overview
Subtract two bodies.

UF_MODL_subtract_bodies_with_retained_options honors the setting of the
"Boolean Face Properties from" option of the Modeling Preferences dialog,
but UF_MODL_subtract_bodies always applies the display properties of
the target body to new faces.

Environment
Internal and External

See Also
Refer to example
UF_MODL_subtract_bodies_with_retained_options
 
Required License(s)
solid_modeling

 
int UF_MODL_subtract_bodies
(
tag_t target,
tag_t tool,
int * num_result,
tag_t * * resulting_bodies
)
tag_ttargetInputTarget body
tag_ttoolInputTool body
int *num_resultOutputNumber of resultant bodies
tag_t * *resulting_bodiesOutput to UF_*free*Resultant bodies. These must be free by
calling UF_free.

 


 
UF_MODL_subtract_bodies_with_retained_options (view source)
 
Defined in: uf_modl.h
 
Overview
Subtract two bodies with options to keep the original target body, tool body, or both bodies.

Note: This function does not use the Modeling tolerance. The default tolerance used in the
Boolean operation is 0.01mm (1.0e-5 m).

Environment
Internal and External

See Also
Refer to example ,
UF_MODL_subtract_bodies.

History
Release version 19.
 
Required License(s)
solid_modeling

 
int UF_MODL_subtract_bodies_with_retained_options
(
tag_t original_target,
tag_t original_tool,
logical retain_target_body,
logical retain_tool_body,
tag_t * frec_eid
)
tag_toriginal_targetInputOriginal target body
tag_toriginal_toolInputOriginal tool body
logicalretain_target_bodyInputIndicate whether to retain the target body.
If TRUE - the resulting body is the new body and
target body is retained,
FALSE - the resulting body is the modified target body.
logicalretain_tool_bodyInputIndicate whether to retain the tool body.
If TRUE - the tool body is not consumed.
FALSE - the tool body is consumed
tag_t *frec_eidOutputThe resulting feature record tag

 


 
UF_MODL_suppress_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Suppresses a list of features. Note that the system adds all implied
features and performs an update.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_suppress_feature
(
uf_list_p_t feature_list
)
uf_list_p_tfeature_listInputList of features to suppress.

 


 
UF_MODL_SWEEP_free_trim_data (view source)
 
Defined in: uf_modl_sweep.h
 
Overview
Free the sweep trimming data.

Environment
Internal and External

See Also
UF_MODL_SWEEP_free_trim_data

History
Original release was in NX6.0
 
Required License(s)
gateway

 
int UF_MODL_SWEEP_free_trim_data
(
UF_MODL_SWEEP_TRIM_object_p_t trim_object
)
UF_MODL_SWEEP_TRIM_object_p_ttrim_object

 


 
UF_MODL_trace_a_ray (view source)
 
Defined in: uf_modl.h
 
Overview
Fires a ray at a list of transformed (optionally) bodies and returns information
about each face that is hit. A ray that is tangent to the interior of a
face, but does not cross through the face is not considered a hit. The lists
containing returned information are in the order of its distance from the
origin of the ray, the closest first.

The caller is responsible for freeing hit_list with UF_free.

Environment
Internal and External

See Also
Refer to example

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_trace_a_ray
(
int num_bodies,
tag_t * bodies,
double origin [ 3 ] ,
double direction [ 3 ] ,
double transform [ 16 ] ,
int num_desired,
int * num_results,
UF_MODL_ray_hit_point_info_p_t * hit_list
)
intnum_bodiesInputThe number of bodies that are to be hit
tag_t *bodiesInputArray of body tags that are to be hit. This array
is dimensioned to num_bodies.
doubleorigin [ 3 ] InputPoint from which the ray is fired.
doubledirection [ 3 ] InputThe direction the ray is fired.
doubletransform [ 16 ] InputTransformation needed to convert bodies into the
same co-ordinate system as the ray. Initialize
with UF_MTX4_identity. Only rotation and
translation are allowed.
intnum_desiredInputMaximum number of hit points desired. A value of
zero requests that all hit points be returned.
int *num_resultsOutputnumber of hit points found
UF_MODL_ray_hit_point_info_p_t *hit_listOutput to UF_*free*A pointer to an array of structures where each array
element will contain information about each hit.
The first element in this array will contain hit
point information that is closest to the origin
of the ray and the rest of the elements will
contain points that continue in order of increasing
distance. The caller must free this array by
calling UF_free.

 


 
UF_MODL_TREX_ask_trim_extend (view source)
 
Defined in: uf_modl_trex.h
 
Overview
Queries a trim and extend feature.

Returns the creation data for a trim / extend feature. Refer to UF_MODL_trex_input_p_t for
detailed information on the contents.

If successful, it returns the input data associated with the feature. If not successful,
it returns a valid error code.

Return
0 : if successful
!=0 : if there is a failure. Refer to TREX_ error codes in in uf_modl_error.h.

Environment
Internal and External

See Also
UF_MODL_TREX_edit_trex_feature
UF_MODL_TREX_free_trex_data

History
Originally released in NX 2.0.1
 
Required License(s)
gateway

 
int UF_MODL_TREX_ask_trim_extend
(
tag_t feature,
UF_MODL_TREX_appl_data_p_t feature_data
)
tag_tfeatureInputThe trim/extend feature tag
UF_MODL_TREX_appl_data_p_tfeature_dataOutput to UF_*free*The feature data

 


 
UF_MODL_TREX_create_trex_feature (view source)
 
Defined in: uf_modl_trex.h
 
Overview
Creates a trim and extend feature.

This is a complete interface to create a trim/extend feature. Extends the
target by a given distance or until a target. If extended until a tool then
the target will be trimmed by the tool and optionally can modify the tool
also to make a corner between the target and the tool.

Following types of collectors allowed for a target and tool.
1. A connected set of free edges
2. A connected set of faces
a) Could be a whole sheet body
b) A connected set of faces of a sheet body

The collector is a Smart Container. For edges the collector should be created
with UF_MODL_create_smart_wireframe_container. For faces the collector should
be created with UF_MODL_create_smart_face_container.

For now only "Body Faces" are allowed for face collectors.

In case of "connected set of free edges" required extension distances are
computed internally. No extensions are done if they are "a set of faces".

If successful, it returns the tag for the feature created. If not successful,
it returns a valid error code.

Return
0 : if successful
!=0 : if there is a failure. Refer to TREX_ error codes in in uf_modl_error.h.

Environment
Internal and External

See Also
UF_MODL_TREX_ask_trim_extend

History
Originally released in NX 2.0.1
 
Required License(s)
gateway

 
int UF_MODL_TREX_create_trex_feature
(
UF_MODL_TREX_appl_data_p_t feature_data,
tag_t* feature
)
UF_MODL_TREX_appl_data_p_tfeature_dataInput: Pointer to the structure
containing defining data for
the trim extend operation
tag_t*featureOutput: trim extend feature identifier

 


 
UF_MODL_TREX_edit_trex_feature (view source)
 
Defined in: uf_modl_trex.h
 
Overview
Edits a trim and extend feature.

Edits the parameters of a trim/extend feature. All the creation parameters are available
for editing also. One can query for the creation parameters by calling UF_MODL_TREX_ask_trim_extend.

Return
0 : if successful
!=0 : if there is a failure. Refer to TREX_ error codes in in uf_modl_error.h.

Environment
Internal and External

See Also
UF_MODL_TREX_ask_trim_extend

History
Originally released in NX 2.0.1
 
Required License(s)
gateway

 
int UF_MODL_TREX_edit_trex_feature
(
UF_MODL_TREX_appl_data_p_t feature_data,
tag_t feature
)
UF_MODL_TREX_appl_data_p_tfeature_dataInputPointer to the structure
containing defining data
for the trimextend operation
tag_tfeatureInputOffset curve on face
identifier

 


 
UF_MODL_TREX_free_trex_data (view source)
 
Defined in: uf_modl_trex.h
 
Overview
Frees the trim and extend feature input data.

Return
0 : if successful
!=0 : if there is a failure. Refer to TREX_ error codes in in uf_modl_error.h.

Environment
Internal and External

See Also
UF_MODL_TREX_ask_trim_extend

History
Originally released in NX 2.0.1
 
Required License(s)
gateway

 
int UF_MODL_TREX_free_trex_data
(
UF_MODL_TREX_appl_data_p_t feature_data
)
UF_MODL_TREX_appl_data_p_tfeature_data

 


 
UF_MODL_TREX_init_trex_data (view source)
 
Defined in: uf_modl_trex.h
 
Overview
Initializes the trim and extend feature input data.

Return
0 : if successful
!=0 : if there is a failure. Refer to TREX_ error codes in in uf_modl_error.h.

Environment
Internal and External

See Also
UF_MODL_TREX_ask_trim_extend

History
Originally released in NX 2.0.1
 
Required License(s)
gateway

 
int UF_MODL_TREX_init_trex_data
(
UF_MODL_TREX_appl_data_p_t feature_data
)
UF_MODL_TREX_appl_data_p_tfeature_data

 


 
UF_MODL_TREX_init_trex_data_set (view source)
 
Defined in: uf_modl_trex.h
 
Overview
Initializes the trim and extend target tool data set.

Return
0 : if successful
!=0 : if there is a failure. Refer to TREX_ error codes in in uf_modl_error.h.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_TREX_init_trex_data_set
(
UF_MODL_TREX_data_set_p_t feature_data_set
)
UF_MODL_TREX_data_set_p_tfeature_data_set

 


 
UF_MODL_trim_body (view source)
 
Defined in: uf_modl.h
 
Overview
Trims a solid body.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_trim_body
(
tag_t target_body,
tag_t tool_tag,
int direction_flag,
tag_t * trim_feature
)
tag_ttarget_bodyInputTarget body to be trimmed.
tag_ttool_tagInputTag of face, datum plane, or plane to be used for trim.
intdirection_flagInput0 = Accept default direction
1 = Reverse direction
tag_t *trim_featureOutputResultant trim_feature identifier tag

 


 
UF_MODL_trim_midsrf_feature (view source)
 
Defined in: uf_modl_freeform.h
 
Overview
Trims the face pair feature in a midsurface feature.

Environment
Internal and External
 
Required License(s)
( solid_modeling  or  nx_masterfem )

 
int UF_MODL_trim_midsrf_feature
(
tag_t midsrf_feature_obj_id
)
tag_tmidsrf_feature_obj_idInputMidsurface Feature tag

 


 
UF_MODL_trim_sheet (view source)
 
Defined in: uf_modl.h
 
Overview
Trims a sheet body to a collection of curves, faces, or planes. The
curves can be projected along surface normals or along a vector.
Points on the sheet body define which region(s) of the sheet are to be
kept or discarded by the trim. If it can be determined that a trim
failure has occurred because there were gaps between the trimming
geometry, then the system returns the positions of those gaps with the
corresponding return code.

The UF_MODL_trim_object_t data structure defines the objects used to trim the
sheet body. If the object is a curve, then the projection method must be
defined.

Environment
Internal and External

See Also
See example
 
Required License(s)
solid_modeling

 
int UF_MODL_trim_sheet
(
tag_t sheet_body_tag,
int count_bounding_objects,
UF_MODL_trim_object_t * * bounding_objects,
double projection_vector [ 3 ] ,
int point_key,
int point_count,
double point_coords [ ] ,
double tolerance,
int * number_gap_points,
double * * gap_points
)
tag_tsheet_body_tagInputTag of sheet body to trim.
intcount_bounding_objectsInputNumber of trimming objects.
UF_MODL_trim_object_t * *bounding_objectsInputArray of pointers to structures
holding trimming object data.
doubleprojection_vector [ 3 ] InputVector for curves projected along a vector.
intpoint_keyInputPoints define regions to:
0 = discard
1 = keep
intpoint_countInputNumber of points. (Number of regions.)
doublepoint_coords [ ] InputArray of points on the sheet.
(3 point_count values.)
doubletoleranceInputDistance tolerance for any approximations.
int *number_gap_pointsOutputNumber of points returned in gap_points.
double * *gap_pointsOutput to UF_*free*Array of points showing positions of gaps.
(3 number_gap_points values.) This array must be freed
by calling UF_free.

 


 
UF_MODL_udf_default_edit_mapping_tool (view source)
 
Defined in: uf_modl_ugopenint.h
 
Overview
Create a default UDF mapping tool and let users to select mapping objects at
editing.

Environment
Internal

History
This function was originally released in NX3.
 
Required License(s)
solid_modeling

 
int UF_MODL_udf_default_edit_mapping_tool
(
tag_t udf_insert_tag,
UF_MODL_udf_ref_data_p_t ref_data
)
tag_tudf_insert_tagInputUDF instantiated feature
UF_MODL_udf_ref_data_p_tref_dataInput / OutputUDF parent data

 


 
UF_MODL_udf_default_insert_mapping_tool (view source)
 
Defined in: uf_modl_ugopenint.h
 
Overview
Create a default UDF mapping tool and let users to select mapping objects at
instantiation.

Environment
Internal

History
This function was originally released in NX3.
 
Required License(s)
solid_modeling

 
int UF_MODL_udf_default_insert_mapping_tool
(
tag_t udf_define_tag,
UF_MODL_udf_ref_data_p_t ref_data
)
tag_tudf_define_tagInputUDF definition feature
UF_MODL_udf_ref_data_p_tref_dataInput / OutputUDF parent data

 


 
UF_MODL_udf_free_exp_data (view source)
 
Defined in: uf_modl_udf.h
 
Overview
This function frees the expression data of a UDF.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
UF_MODL_ask_instantiated_udf

History
This function was originally released in NX3.
 
Required License(s)
gateway

 
void UF_MODL_udf_free_exp_data
(
UF_MODL_udf_exp_data_p_t exp_data
)
UF_MODL_udf_exp_data_p_texp_dataInput- The UDF expression data to be freed

 


 
UF_MODL_udf_free_mapping_data (view source)
 
Defined in: uf_modl_udf.h
 
Overview
This function frees the mapping data of a UDF.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
UF_MODL_ask_instantiated_udf

History
This function was originally released in NX3.
 
Required License(s)
gateway

 
void UF_MODL_udf_free_mapping_data
(
UF_MODL_udf_mapping_data_p_t mapping_data
)
UF_MODL_udf_mapping_data_p_tmapping_dataInput- The UDF mapping data to be freed

 


 
UF_MODL_udf_free_ref_data (view source)
 
Defined in: uf_modl_udf.h
 
Overview
This function frees the reference data of a UDF.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
UF_MODL_ask_instantiated_udf

History
This function was originally released in NX3.
 
Required License(s)
gateway

 
void UF_MODL_udf_free_ref_data
(
UF_MODL_udf_ref_data_p_t ref_data
)
UF_MODL_udf_ref_data_p_tref_dataInput- The UDF reference data to be freed

 


 
UF_MODL_udf_init_exp_data (view source)
 
Defined in: uf_modl_udf.h
 
Overview
This function is to initialize the expression data of a UDF.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
UF_MODL_create_instantiated_udf1, UF_MODL_edit_instantiated_udf

History
This function was originally released in NX3.
 
Required License(s)
gateway

 
void UF_MODL_udf_init_exp_data
(
UF_MODL_udf_exp_data_p_t exp_data
)
UF_MODL_udf_exp_data_p_texp_dataInput / OutputThe UDF expression data to be initialized

 


 
UF_MODL_udf_init_insert_data_from_def (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Function description:

User function for initializing UDF instantiation data from
a UDF definition feature. Note that the following attributes are only
filled out (i.e. memory and content).

num_exps (UF_MODL_udf_exp_data_t)
old_exps (UF_MODL_udf_exp_data_t)
num_refs (UF_MODL_udf_ref_data_t)
old_refs (UF_MODL_udf_ref_data_t)
reverse_refs_dir (UF_MODL_udf_ref_data_t)
num_mapping_objs (UF_MODL_udf_mapping_data_t)
reverse_objs_dir (UF_MODL_udf_mapping_data_t)
old_output_objs (UF_MODL_udf_mapping_data_t)
old_output_objs_index (UF_MODL_udf_mapping_data_t)

The memory of the following attributes must be allocated by the user
and their contents must be inputted by the user for further applications
such as the instantiation of a UDF feature and etc.

new_exp_values (UF_MODL_udf_exp_data_t)
new_refs (UF_MODL_udf_ref_data_t)
new_output_objs (UF_MODL_udf_mapping_data_t)
new_output_objs_index (UF_MODL_udf_mapping_data_t)

Environment
Internal and External

It can accept single UDF references and Smart Collectors and Sections in
UF_MODL_udf_ref_data_t.

Note: This routine works only with new-style UDFs released in V15

See Also
UF_MODL_ask_instantiated_udf

History
This function was originally released in NX3.
 
Required License(s)
gateway

 
int UF_MODL_udf_init_insert_data_from_def
(
tag_t udf_define_tag,
UF_MODL_udf_exp_data_t * exp_data,
UF_MODL_udf_ref_data_t * ref_data
)
tag_tudf_define_tagInputTag of UDF definition feature
UF_MODL_udf_exp_data_t *exp_dataOutput to UF_*free*Expression data
UF_MODL_udf_ref_data_t *ref_dataOutput to UF_*free*Parent data

 


 
UF_MODL_udf_init_mapping_data (view source)
 
Defined in: uf_modl_udf.h
 
Overview
This function is to initialize the mapping data of a UDF.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
UF_MODL_create_instantiated_udf1, UF_MODL_edit_instantiated_udf

History
This function was originally released in NX3.
 
Required License(s)
gateway

 
void UF_MODL_udf_init_mapping_data
(
UF_MODL_udf_mapping_data_p_t mapping_data
)
UF_MODL_udf_mapping_data_p_tmapping_dataInput / OutputThe UDF mapping data to be initialized

 


 
UF_MODL_udf_init_ref_data (view source)
 
Defined in: uf_modl_udf.h
 
Overview
This function is to initialize the reference data of a UDF.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
UF_MODL_create_instantiated_udf1, UF_MODL_edit_instantiated_udf

History
This function was originally released in NX3.
 
Required License(s)
gateway

 
void UF_MODL_udf_init_ref_data
(
UF_MODL_udf_ref_data_p_t ref_data
)
UF_MODL_udf_ref_data_p_tref_dataInput / OutputThe UDF reference data to be initialized

 


 
UF_MODL_udf_rpo_menu (view source)
 
Defined in: uf_modl_ugopenint.h
 
Overview
Opens the default rpo menu for udf instantiation or feature paste.
This function should only be used to position new style UDFs or during
copy/paste of features.

Environment
Internal

History
This function was originally released in V17.0.2.
 
Required License(s)
solid_modeling

 
int UF_MODL_udf_rpo_menu
(
tag_t feature_eid
)
tag_tfeature_eidInputFeature to reposition

 


 
UF_MODL_udfs_ask_def_data (view source)
 
Defined in: uf_modl_udf.h
 
Overview
This function gets the data of a given UDFS feature.
To free the members of the data structure UF_MODL_udfs_def_data_p_t, please
call function UF_MODL_free_udfs_def_data.
Note: The features of udfs have the same name as the udf.
This routine works only with new-style UDFs released in V15

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MODL_udfs_ask_def_data
(
tag_t feature_tag,
UF_MODL_udfs_def_data_p_t udfs_data
)
tag_tfeature_tagInputfeature tag - Tag of UDFS feature
UF_MODL_udfs_def_data_p_tudfs_dataOutput to UF_*free*- Data for redefinition

 


 
UF_MODL_udfs_create_def (view source)
 
Defined in: uf_modl_udf.h
 
Overview
This function creates a new udfs feature by given data.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_udfs_create_def
(
tag_t * feature_tag,
UF_MODL_udfs_def_data_p_t udfs_data
)
tag_t *feature_tagInputfeature tag - Tag of UDFS feature
UF_MODL_udfs_def_data_p_tudfs_dataInput- Data for redefinition

 


 
UF_MODL_udfs_redefine_def (view source)
 
Defined in: uf_modl_udf.h
 
Overview
This function redefines a given UDFS feature. It also reorders the
feature as the "youngest" one in the file.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_udfs_redefine_def
(
tag_t feature_tag,
UF_MODL_udfs_def_data_p_t udfs_data
)
tag_tfeature_tagInputfeature tag - Tag of UDFS feature
UF_MODL_udfs_def_data_p_tudfs_dataInput- Data for redefinition

 


 
UF_MODL_unclock_instance (view source)
 
Defined in: uf_modl_isets.h
 
Overview
Unclocks the particular instance feature input as the feature object identifier.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_unclock_instance
(
tag_t feature_obj_id
)
tag_tfeature_obj_idInputObject identifier for instance

 


 
UF_MODL_unclock_iset (view source)
 
Defined in: uf_modl_isets.h
 
Overview
Unclocks the entire instance set input as the feature object identifier.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_unclock_iset
(
tag_t feature_obj_id
)
tag_tfeature_obj_idInputObject identifier for the instance set

 


 
UF_MODL_unform_features (view source)
 
Defined in: uf_modl_smd.h
 
Overview
This routine will set the state of an array of formable features
so that the features will be fully unformed.
The given feaure tags must be tags of Flange, Inset Flange,
General Flange, SMBridge, or SMBend feature.

The caller of this routine may start an update cycle (if any of the features
are not already in their fully unformed state) by using UF_MODL_update.

Return
Return code:
=0 : Successful
>0 : Failing error number
<0 : Failing error number
= UF_MODL_ERR_NOT_A_FORMABLE_FEATURE : The given tag was not
the tag of a formable
feature.

Environment
Internal and External

See Also
UF_MODL_form_features

History
Originally released in V18.0
 
Required License(s)
sheet_metal_design

 
int UF_MODL_unform_features
(
const int n_features,
const tag_t * const feature_tag_array,
logical * const is_update_required
)
const intn_featuresInputThe number of features tags
in the array.
const tag_t * constfeature_tag_arrayInputThe array of formable feature
tags.
logical * constis_update_requiredOutputIf update is required.

 


 
UF_MODL_unite_bodies (view source)
 
Defined in: uf_modl.h
 
Overview
Unite two bodies.

UF_MODL_unite_bodies_with_retained_options honors the setting of the
"Boolean Face Properties from" option of the Modeling Preferences dialog,
but UF_MODL_unite_bodies always applies the display properties of
the target body to new faces.

Environment
Internal and External

See Also
Refer to example
UF_MODL_unite_bodies_with_retained_options
 
Required License(s)
solid_modeling

 
int UF_MODL_unite_bodies
(
tag_t target,
tag_t tool
)
tag_ttargetInputTarget and resultant body
tag_ttoolInputTool body

 


 
UF_MODL_unite_bodies_with_retained_options (view source)
 
Defined in: uf_modl.h
 
Overview
Unites two bodies with options to keep the original target body, tool body, or both bodies.

Environment
Internal and External

See Also
Refer to example ,
UF_MODL_unite_bodies.

History
Release version 19.
 
Required License(s)
solid_modeling

 
int UF_MODL_unite_bodies_with_retained_options
(
tag_t original_target,
tag_t original_tool,
logical retain_target_body,
logical retain_tool_body,
tag_t * frec_eid
)
tag_toriginal_targetInputOriginal target body
tag_toriginal_toolInputOriginal tool body
logicalretain_target_bodyInputIndicate whether to retain the target body.
If TRUE - the resulting body is the new body and
target body is retained,
FALSE - the resulting body is the modified target body.
logicalretain_tool_bodyInputIndicate whether to retain the tool body.
If TRUE - the tool body is not consumed.
FALSE - the tool body is consumed
tag_t *frec_eidOutputThe resulting feature record tag

 


 
UF_MODL_unregister_cliff_blend (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Used to unregister any previously set cliff blend routine.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_unregister_cliff_blend
(
void
)

 


 
UF_MODL_unregister_rpo_routine (view source)
 
Defined in: uf_modl_sketch.h
 
Overview
Unregisters a routine for relative positioning.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_unregister_rpo_routine
(
void
)

 


 
UF_MODL_unregister_udf_mapping_routine (view source)
 
Defined in: uf_modl_udf.h
 
Overview
Unregisters a routine for relative positioning.

Note: This routine works only with new-style UDFs released in V15

Environment
Internal and External

See Also
UF_MODL_register_udf_mapping_routine
UF_MODL_unregister_udf_mapping_routine

History
This function was originally released in NX3.
 
Required License(s)
solid_modeling

 
int UF_MODL_unregister_udf_mapping_routine
(
void
)

 


 
UF_MODL_unregister_var_blend (view source)
 
Defined in: uf_modl_blends.h
 
Overview
Used to unregister any previously set variable radius blend routine.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_unregister_var_blend
(
void
)

 


 
UF_MODL_unset_containment (view source)
 
Defined in: uf_modl.h
 
Overview
If UF_MODL_ask_uv_points_containment will be called multiple times for the same face
then this function, in conjunction with UF_MODL_set_containment, will improve
the performance of the computations.

Call this function after to your calls to UF_MODL_ask_uv_points_containment

Environment
Internal and External

See Also
Refer to example

History
Originally released in NX8.0.2
 
Required License(s)
gateway

 
int UF_MODL_unset_containment
(
tag_t face_eid
)
tag_tface_eidInputface which was used in multiple UF_MODL_ask_uv_points_containment calls

 


 
UF_MODL_unset_suppress_exp_tag (view source)
 
Defined in: uf_modl_expressions.h
 
Overview
Unsets suppress expression tag from the input feature.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_unset_suppress_exp_tag
(
tag_t feature_tag
)
tag_tfeature_tagInputFeature object id

 


 
UF_MODL_unsuppress_feature (view source)
 
Defined in: uf_modl.h
 
Overview
Unsuppress a list of features. Note that the system adds all depended
features and performs an update.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_unsuppress_feature
(
uf_list_p_t feature_list
)
uf_list_p_tfeature_listInputList of features to unsuppress.

 


 
UF_MODL_update (view source)
 
Defined in: uf_modl.h
 
Overview
Updates a part. You call this routine after you use UF_MODL_import_exp,
UF_MODL_edit_exp, and UF_MODL_move_feature. Imported and edited expressions
do not take effect until you update the part. After you move a feature, please
update the database.

Environment
Internal and External
 
Required License(s)
solid_modeling

 
int UF_MODL_update
(
void
)

 


 
UF_MODL_update_all_features (view source)
 
Defined in: uf_modl.h
 
Overview
Logs all the features in the current work part to the NX update list,
then performs an update. You may use this function to check whether or not all
the features in a part can be updated without modifying the part. This
function is different from UF_MODL_update, which updates modified objects and
dependent objects only. UF_MODL_update_all_features returns a value of zero
if the update completes successfully. It returns the error code
UF_MODL_ERR_PENDING_UPDATE, if it detects that the model has been modified and
the corresponding update has not been performed yet. It also returns the error
code of the first encountered failure, should the update fail.

Environment
Internal and External

See Also
Refer for example

History
This function was originally released in V14.0.
 
Required License(s)
solid_modeling

 
int UF_MODL_update_all_features
(
void
)

 


 
UF_MODL_update_for_animation (view source)
 
Defined in: uf_modl.h
 
Overview
This function will trigger model update similar to UF_MODL_update. However
it will achieve a smoother animation display when the feature editing is done
in a loop.

Environment
Internal and External

History
This function was originally released in NX3
 
Required License(s)
solid_modeling

 
int UF_MODL_update_for_animation
(
void
)

 


 
UF_MODL_validate_body (view source)
 
Defined in: uf_modl.h
 
Overview
Validate all of the input bodies, and return a code for each body indicating
if it is valid or not.

Environment
Internal and External

See Also
Refer to example

History
Originally released in V16.0
 
Required License(s)
solid_modeling

 
int UF_MODL_validate_body
(
int num_bodies,
tag_t * bodies,
int * valid_info
)
intnum_bodiesInputNumber of bodies to be validated
tag_t *bodiesInputArray of bodies to be validated
int *valid_infoOutputValidity info for each body. This array
must have been allocated by the caller as
int valid_info[num_bodies]. There will be one
status per body, 1 indicates that the body is
valid and 2 indicates that the body is invalid.
valid_info[0] is the code for bodies[0], and
so on up to valid_info[num_bodies-1] and
bodies[num_bodies-1].