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 )
doubletoleranceInputconvert and sp-curve tolerance
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_countOutputarray for edge cnt in each loop
int * *edge_senseOutputarray for edge sense of each cv
tag_t * *edge_bcurvesOutputarray for 2D-trimming curve ID

 


 
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
 
Required License(s)
gateway

 
int UF_MODL_ask_die_tip
(
tag_t die_tip_feature,
UF_MODL_die_tip_info_p_t
)
tag_tdie_tip_featureInputdie tip feature to inquire
UF_MODL_die_tip_info_p_tOutput 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_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.
NEEDS A FREE ROUTINE
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
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_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.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
 
Required License(s)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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)
gateway

 
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_ptOutput