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)
solid_modeling
char * | cr1 | Output | Returned 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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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 | | |
int | ip2 [ ] | | |
tag_t | np3 [ ] | | |
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
uf5411 (view source)
Defined in: uf_modl_legacy.h
Overview
uf5411 read face trim status
Required License(s)
solid_modeling
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
)
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
)
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
)
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 * | np1 | Input | Object identifier of the base face |
double * | rp2 | Input | Offset Distance |
double * | rp3 | Input | Edge Curve Tolerance |
int * | lp4 | Input | Not used. |
tag_t * | nr5 | Output | Object 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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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 * | ip1 | | units of denisty 1 - lb/cu in 2 - lb/cu ft 3 - g /cu cm 4 - kg/cu m |
int * | ir2 | | error 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 * | rp1 | | new density |
int * | ip2 | | units 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_t | body_obj_id | Input | Body obj_id. |
int | flag | Input | Display 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_t | feature_eid | Input | The object identifier of the feature to which the thru faces will be added. |
int | number_of_faces | Input | The number of thru faces to add. |
tag_t | face_eids [ ] | Input | An array of thru faces that will be added to the feature. |
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_t | face | Input | Face object identifier |
uf_list_p_t * | adjacent_faces | Output to be freed | 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_t | edge | Input | Object identifier of a new edge |
tag_t * | alive_edge | Output | Object 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 2
different face labels, the program returns the original face.
Environment
Internal and External
Required License(s)
gateway
int UF_MODL_ask_alive_face
(
tag_t face,
tag_t * alive_face
)
tag_t | face | Input | Object identifier of a new face |
tag_t * | alive_face | Output | Object 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_t | set | Input | Tag of feature set |
tag_t * * | features | Output to be freed | Array of member features. This array must be freed by calling UF_free |
int * | number_of_features | Output | Number 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).
Environment
Internal and External
See Also
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_t | feature_obj_id | Input | Identifier for the feature. |
tag_t | constraint | Input | Identifier for constraint |
int | edit | Input | This 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. |
double | fixed1 [ 2 ] | Output | Dimension attachment point on the part |
double | fixed2 [ 2 ] | Output | Point on part that along with the fixed1 point, defines the line on the part that the dimension is parallel/at an angle to. |
double | feature1 [ 2 ] | Output | Dimension attachment point on the feature |
double | feature2 [ 2 ] | Output | Point 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_far | Output to be freed | Expression distance. This must be freed by calling UF_free. |
tag_t * | tool | Output | Edge on the tool or NULL_TAG for centerline |
tag_t * | part | Output | Edge 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 * | tolerance | Output | Angle 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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_dia | Output to be freed | Groove diameter. This must be freed by calling UF_free. |
char * * | ball_dia | Output to be freed | 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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_dia | Output to be freed | Ball diameter. This must be freed by calling UF_free. |
char * * | depth | Output to be freed | Slot depth. This must be freed by calling UF_free. |
char * * | distance | Output to be freed | Slot distance for a non-thru slot. This must be freed by calling UF_free. |
int * | thru_flag | Output | A 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
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_t | bead_tag | Input | Object tag for the bead feature |
UF_MODL_project_curves_p_t | centerline | Output to be freed | 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_t | placement_faces | Output to be freed | 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_t | secondary_faces | Output to be freed | 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_t | section_plane | Output to be freed | 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_t | section_axis | Output to be freed | 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_t | section_parms | Output to be freed | 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
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_t | feature_tag | Input | The tag of a Flange, Inset Flange, General Flange, SMBridge, or SMBend feature. |
char * * | exp_str | Output to be freed | 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
)
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
)
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
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
)
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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | radius | Output to be freed | 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 be freed | 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
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_t | body_tag | Input | Tag of sheet body to check for boundaries |
int * | num_boundaries | Output | Number of boundaries found |
int * * | num_edges | Output to be freed | Array of number of edges in each boundary found. This must be freed by calling UF_free. |
tag_t * * | edge_tags | Output to be freed | 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
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_t | body_tag | Input | body tag |
int * | num_tags | Output | The number of faces/edges in the input body which don't pass the consistency check. |
int * * | fault_tokens | Output to be freed | 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_tags | Output to be freed | 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
)
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_t | body | Input | Body object identifier |
uf_list_p_t * | edge_list | Output to be freed | 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_t | body | Input | Body object identifier |
uf_list_p_t * | face_list | Output to be freed | 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_t | body | Input | Body object identifier |
uf_list_p_t * | feature_tag_list | Output to be freed | 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
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_t | body_id | Input | Body object id |
int* | features_count | Output | Number of features |
UF_MODL_features_p_t* * | features_node | Output to be freed | 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
Required License(s)
gateway
int UF_MODL_ask_body_structures
(
tag_t body_tag,
int * num_tags,
tag_t * * fault_tags
)
tag_t | body_tag | Input | body tag |
int * | num_tags | Output | Number of faces/edges in the input body which don't pass data structures check. |
tag_t * * | fault_tags | Output to be freed | 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_t | body_id | Input | Object identifier for the body |
int * | body_type | Output | Body 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
Required License(s)
gateway
int UF_MODL_ask_body_type_pref
(
int * body_type
)
int * | body_type | Output | Current 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_t | feature_eid | Input | Boolean feature |
UF_FEATURE_SIGN * | sign | Output | Type of boolean: - UF_POSITIVE : unite - UF_NEGATIVE : subtract - UF_UNSIGNED : intersect |
tag_t * | original_target | Output | Original target body |
tag_t * | original_tool | Output | Original tool body |
logical * | retain_target_body | Output | Indicate 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_body | Output | Indicate 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | diameter | Output to be freed | Boss diameter. This must be freed by calling UF_free. |
char * * | height | Output to be freed | Boss height. This must be freed by calling UF_free. |
char * * | taper_angle | Output to be freed | 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
Required License(s)
gateway
int UF_MODL_ask_bounding_box
(
tag_t object,
double bounding_box [ 6 ]
)
tag_t | object | Input | Object identifier of object to ask bounding box. |
double | bounding_box [ 6 ] | Output | Bounding 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_t | object | Input | Object identifier of object to ask bounding box. |
tag_t | csys_tag | Input | CSYS to use for box alignment. NULL_TAG - Use Work CSYS |
logical | expand | Input | Expand the box to increase enclosure coverage FALSE - Do not expand TRUE - Expand |
double | min_corner [ 3 ] | Output | Minimum corner of box of object. [0] - minimum x value [1] - minimum y value [2] - minimum z value |
double | directions [ 3 ] [ 3 ] | Output | : direction vectors of bounding box [0][] - X Direction [1][] - Y Direction [2][] - Z Direction |
double | distances [ 3 ] | Output | Distances 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_t | object | Input | Object identifier of object to ask bounding box. |
tag_t | csys_tag | Input | CSYS to use for box alignment. NULL_TAG - Use Work CSYS |
double | min_corner [ 3 ] | Output | Minimum corner of box of object. [0] - minimum x value [1] - minimum y value [2] - minimum z value |
double | directions [ 3 ] [ 3 ] | Output | : direction vectors of bounding box [0][] - X Direction [1][] - Y Direction [2][] - Z Direction |
double | distances [ 3 ] | Output | Distances 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_t | feature_obj_id | Input | Feature object identifier |
UF_STRING_p_t | s_section | Output to be freed | Pointer to the string list structure. Contains the string loops which define the feature. Use UF_MODL_free_string_list to deallocate memory. |
double | tol [ 2 ] | Output | Tolerances: [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
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_t | face | Input | Face 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_t | bsurf | Output | Returned 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_t | face | Input | Face tag being inquired |
logical * | state | Output | Returned 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_t | face | Input | Face tag being inquired |
logical * | state | Output | Returned 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | diameter1 | Output to be freed | Counterbore diameter. This must be freed by calling UF_free. |
char * * | diameter2 | Output to be freed | Hole diameter. This must be freed by calling UF_free. |
char * * | depth1 | Output to be freed | Counterbore depth. This must be freed by calling UF_free. |
char * * | depth2 | Output to be freed | Hole depth for a none thru hole. This must be freed by calling UF_free. |
char * * | tip_angle | Output to be freed | Tip angle. This must be freed by calling UF_free. |
int * | thru_flag | Output | A 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | diameter1 | Output to be freed | Countersunk diameter. This must be freed by calling UF_free. |
char * * | diameter2 | Output to be freed | Hole diameter. This must be freed by calling UF_free. |
char * * | depth1 | Output to be freed | Hole depth for a none thru hole. This must be freed by calling UF_free. |
char * * | csink_angle | Output to be freed | Countersunk angle. This must be freed by calling UF_free. |
char * * | tip_angle | Output to be freed | Tip angle. This must be freed by calling UF_free. |
int * | thru_flag | Output | A 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * | subtype | Output | Chamfer subtype 1 = Single offset. 2 = Double offsets. 3 = Offset and angle. 4 = Freeform Single Offset 5 = Freeform Double Offset |
char * * | radius1 | Output to be freed | Chamfer offset. This must be freed by calling UF_free. |
char * * | radius2 | Output to be freed | Chamfer offset not valid for subtype 1 and 3. This must be freed by calling UF_free. |
char * * | theta | Output to be freed | 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | radius | Output to be freed | Iset radius. This must be freed by calling UF_free. |
char * * | number | Output to be freed | Number of instances. This must be freed by calling UF_free. |
char * * | angle | Output to be freed | 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_t | feature_tag | Input | the feature |
UF_MODL_dfo_region_p_t * | region | Output to be freed | region |
tag_t * | axis | Output | axis to define pattern |
int * | n_pattern | Output | pattern number |
char * * | angle | Output to be freed | 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_t | edge | Input | Edge object identifier |
double | reference [ 3 ] | Input | 3D point to determine the first endpoint of`edge' |
uf_list_p_t * | edges1 | Output to be freed | 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 * | edges2 | Output to be freed | 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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_diameter | Output to be freed | Base diameter. This must be freed by calling UF_free. |
char * * | top_diameter | Output to be freed | Top diameter. This must be freed by calling UF_free. |
char * * | height | Output to be freed | Cone height. This must be freed by calling UF_free. |
char * * | half_angle | Output to be freed | 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
Required License(s)
gateway
int UF_MODL_ask_constraint_type
(
tag_t constraint,
char * * type
)
tag_t | constraint | Input | Constraint to inquire on. |
char * * | type | Output to be freed | 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
Required License(s)
gateway
int UF_MODL_ask_constraints
(
tag_t feature,
uf_list_p_t * constraints
)
tag_t | feature | Input | Identifier for the feature. |
uf_list_p_t * | constraints | Output to be freed | 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_t | part | Input | NX part tag. |
tag_t * | feature_id | Output | Feature 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_t | tag | Input | Identifier 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
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_method | Output | curve 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_t | feature_obj_id | Input | Feature object identifier |
UF_STRING_p_t | s_prim | Output to be freed | 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_t | s_cross | Output to be freed | 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_t | s_spine | Output to be freed | 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 * | emphasis | Output | Emphasis flag 1 = Primary curves 2 = Cross curves 3 = Both |
int * | body_type | Output | Type of body: 0 = Sheet 1 = Solid |
int * | spline_pts | Output | Spline points flag: 0 = Do not reparameterize curves 1 = Reparameterize through spline points |
double | tol [ 3 ] | Output | Tolerances: [0] = Distance [1] = Angle (in radians) [2] = Intersection |
tag_t | c_face_id [ 4 ] | Output | Object 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 |
int | c_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_t | feature_obj_id | Input | Feature object identifier |
UF_STRING_p_t | s_prim | Output to be freed | 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_t | s_cross | Output to be freed | 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_t | s_spine | Output to be freed | 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 * | emphasis | Output | Emphasis flag 1 = Primary curves 2 = Cross curves 3 = Both |
int * | body_type | Output | Type of body: 0 = Sheet 1 = Solid |
int * | spline_pts | Output | Spline points flag: 0 = Do not reparameterize curves 1 = Reparameterize through spline points |
double | tol [ 3 ] | Output | Tolerances: [0] = Distance [1] = Angle (in radians) [2] = Intersection |
tag_t | c_collector_id [ 4 ] | Output | Collector 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 |
int | c_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_t | curve_id | Input | Curve identifier. |
double | ref_pnt [ 3 ] | Input | Reference point in absolute space (3 element array) |
double * | parm | Output | Parameter on curve. |
double | curve_pnt [ 3 ] | Output | Point 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_t | curve_id | Input | Object identifier for the curve |
double | ref_point [ 3 ] | Input | Reference point (in absolute coordinates) |
double * | parm | Output | Parameter 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_t | curve_id | Input | Object identifier for the curve |
int * | status | Output | Status 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
Environment
Internal and External
See Also
History
Modified in V15.0 to work relative to the occurrence.
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_t | curve_id | Input | The identifier of the curve on which the points are to be determined. |
double | ctol | Input | The chordal tolerance. 0= do not use chordal tolerance. |
double | atol | Input | The angular tolerance in radians 0= do not use angular tolerance. |
double | stol | Input | Maximum step length. 0 = do not use |
int * | numpts | Output | Number of points in the points array. |
double * * | pts | Output to be freed | 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
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_t | curve_id | Input | Curve identifier. |
double | parm | Input | Curve parameter. |
double | point [ 3 ] | Output | Point on curve (3 element array). |
double | tangent [ 3 ] | Output | Tangent of curve (3 element array). |
double | p_norm [ 3 ] | Output | Unit Principal normal of curve (3 element array). |
double | b_norm [ 3 ] | Output | Unit Binormal of curve (3 element array). |
double * | torsion | Output | Torsion. |
double * | rad_of_cur | Output | Radius 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | diameter | Output to be freed | Cylinder diameter. This must be freed by calling UF_free. |
char * * | depth | Output to be freed | Cylinder depth. This must be freed by calling UF_free. |
char * * | floor_rad | Output to be freed | Floor radius. This must be freed by calling UF_free. |
char * * | taper_angle | Output to be freed | 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | diameter | Output to be freed | Cylinder diameter. This must be freed by calling UF_free. |
char * * | height | Output to be freed | 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
Required License(s)
gateway
int UF_MODL_ask_datum_axis_parms
(
tag_t feature_id,
double origin [ 3 ] ,
double normal [ 3 ]
)
tag_t | feature_id | Input | Feature tag for datum axis |
double | origin [ 3 ] | Output | Datum axis base point |
double | normal [ 3 ] | Output | Datum 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_t | datum_csys_tag | Input | Tag of the datum CSYS feature |
tag_t * | csys_tag | Output | Tag of the smart CSYS |
tag_t * | origin | Output | Tag of the origin point |
tag_t | daxes [ 3 ] | Output | Tag of the three datum axes coincident with the coordinate axes |
tag_t | dplanes [ 3 ] | Output | Tag 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
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_t | dplane_tag | Input | Datum plane |
double | dplane_point [ 3 ] | Output | Origin point of the datum plane |
double | dplane_normal [ 3 ] | Output | Normal 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
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_t | feature_obj_id | Input | Feature object identifier of datum plane. |
double | origin [ 3 ] | Output | Datum plane center. |
double | normal [ 3 ] | Output | Datum plane normal. |
char * * | offset | Output to be freed | Offset distance from plane. This must be freed by calling UF_free. |
char * * | angle | Output to be freed | 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
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_t | datum_feature_tag | Input | The datum feature tag. |
tag_p_t | point | Output | The point of the datum. |
tag_p_t | direction | Output | The 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_t | daxis_tag | Input | The datum tag |
double * | length | Output | Length 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
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_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_t | exp | Input | Expression to query |
char * * | descriptor | Output to be freed | 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_t | die_tip_feature | Input | die tip feature to inquire |
| UF_MODL_die_tip_info_p_t | Output to be freed | 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 * | tolerance | Output | Distance 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | width | Output to be freed | Slot width. This must be freed by calling UF_free. |
char * * | depth | Output to be freed | Slot depth. This must be freed by calling UF_free. |
char * * | angle | Output to be freed | Dove tail angle. This must be freed by calling UF_free. |
char * * | distance | Output to be freed | Slot distance for a none thru slot. This must be freed by calling UF_free. |
int * | thru_flag | Output | A 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
History
V17.0
Required License(s)
gateway
int UF_MODL_ask_dynamic_update
(
int * update_type
)
int * | update_type | Output | Current 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
)
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
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_t | feature_obj_id | Input | Feature object identifier for the Edge Blend feature |
UF_MODL_edge_blend_data_p_t | blend_data | Output to be freed | 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_t | feature_eid | Input | Feature 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
)
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_t | edge | Input | Edge object identifier |
tag_t * | body_obj_id | Output | Object 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_t | edge | Input | Edge object identifier |
uf_list_p_t * | face_list | Output to be freed | 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_t | edge_obj_id | Input | Object identifier of the edge. |
uf_list_p_t * | feature_list | Output to be freed | 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_t | edge_tag | Input | Tag of edge to check |
double | tolerance | Input | Angle tolerance against which to check (in degrees) |
logical * | is_smooth | Output | FALSE = 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_t | edge_tag | Input | Tag of solid edge to check tolerance of |
double * | tolerance | Output | Tolerance 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_t | edge_id | Input | Object identifier for the edge |
int * | edge_type | Output | Edge 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
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_t | edge | Input | Object identifier of edge containing vertices |
double | point1 [ 3 ] | Output | first endpoint of edge. |
double | point2 [ 3 ] | Output | second endpoint of edge. |
int * | vertex_count | Output | Number 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_t | feat_obj_tag | Input | tag of the feature record of the enlarged sheet |
tag_t * | face | Output | tag of the base face of the enlarged sheet |
int * | type | Output | enlarge extension type: 0-linear extension; 1-natural extension |
char * | percent_size [ 4 ] | Output to be freed | 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 * | tolerance | Output | Distance 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_LENGTH+1 ]
)
char * | exp_name | Input | Name of expression. |
char | exp_defn [ UF_MAX_EXP_LENGTH+1 ] | Output | Complete 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_t | feature_obj_id | Input | Feature object identifier of created rectangular groove |
int * | number_of_exps | Output | Number of expressions returned |
char * * * | descriptions | Output to be freed | number_of_exps Array of expression descriptions related to feature. Use UF_free_string_array to deallocate memory when done. |
tag_t * * | exps | Output to be freed | 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_t | feature_obj_id | Input | Feature object identifier of created rectangular groove |
int * | number_of_exps | Output | Number of expressions returned |
char * * * | descriptions | Output to be freed | number_of_exps Array of expression descriptions related to feature. Use UF_free_string_array to deallocate memory when done. |
tag_t * * | exps | Output to be freed | 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_t | expression_tag | Input | Tag to evaluate. |
char * * | string | Output to be freed | 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_t | expression_tag | Input | Tag to evaluate. |
double * | value | Output | Value 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
Required License(s)
gateway
int UF_MODL_ask_exps_of_feature
(
tag_t feature,
int * number_of_exps,
tag_t * * exps
)
tag_t | feature | Input | Feature to query |
int * | number_of_exps | Output | number of expressions returned |
tag_t * * | exps | Output to be freed | 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 expressions of a part.
Environment
Internal and External
See Also
Required License(s)
gateway
int UF_MODL_ask_exps_of_part
(
tag_t part_tag,
int * number_of_exps,
tag_t * * exps
)
tag_t | part_tag | Input | Tag of the part to be queried |
int * | number_of_exps | Output | Number of expressions returned |
tag_t * * | exps | Output to be freed | 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_t | object | Input | Object identifier of object (valid objects are faces and edges) |
double | dir1 [ 3 ] | Input | First direction vector |
double | dir2 [ 3 ] | Input | Second direction vector |
double | dir3 [ 3 ] | Input | Third direction vector |
tag_t * | subent | Output | Object identifier of subobject containing the extreme point (Null object identifier (zero) is returned, if the point does not lie on a subobject). |
double | point [ 3 ] | Output | Coordinates 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,
double * direction
)
tag_t | feature_id | Input | Object tag for an extruded feature. |
double * | point | Output | The middle point of the first profile curve. This must be declared as double point[3]. |
double * | direction | Output | The 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
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_t | feature_obj_id | Input | Object tag for the extruded feature |
int* | num_objects | Output | Number of curves |
tag_t* * | objects | Output to be freed | 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_ptr | Output to be freed | 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_angle | Output to be freed | Taper angle. This must be freed by calling UF_free. |
char* | limits [ 2 ] | Output to be freed | Limits of extrusion. Each element of this array must be freed by calling UF_free. |
char* | offsets [ 2 ] | Output to be freed | Offsets for open strings. Each element of this array must be freed by calling UF_free. |
double | region_point [ 3 ] | Output | Point on region desired. |
logical* | region_specified | Output | True or False for region desired. |
logical* | solid_creation | Output | TRUE = a solid body. |
double | direction [ 3 ] | Output | Extrusion 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_t | feature | Input | The object identifier of the blend |
double * * | radii_values | Output to be freed | Array of law radii values. This is an array that must be freed by calling UF_free. |
int * | rad_num | Output | Data 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_t | feature | Input | The object identifier of the blend |
double * * | radii_values | Output to be freed | Array of law radii values. This is an array that must be freed by calling UF_free. |
int * | rad_num | Output | Number 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_t | feature | Input | The object identifier of the blend |
double * * | radii_values | Output to be freed | Array of law radii values. This is an array that must be freed by calling UF_free. |
int * | rad_num | Output | Number 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_t | face | Input | Face object identifier |
tag_t * | body_obj_id | Output | Object 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
)
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
Required License(s)
gateway
int UF_MODL_ask_face_data
(
tag_t face,
int * type,
double point [ ] ,
double dir [ ] ,
double box [ ] ,
double * radius,
double * rad_data,
int * norm_dir
)
tag_t | face | Input | Face obj_id |
int * | type | Output | Face 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 |
double | point [ ] | Output | Point 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 |
double | dir [ ] | Output | Direction 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 |
double | box [ ] | Output | Face 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 * | radius | Output | Face 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_data | Output | Face 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_dir | Output | Face 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_t | face | Input | Face object identifier |
uf_list_p_t * | edge_list | Output to be freed | 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
Required License(s)
gateway
int UF_MODL_ask_face_face_intersect
(
tag_t body_tag,
int * num_tags,
tag_t * * fault_tags
)
tag_t | body_tag | Input | body tag |
int * | num_tags | Output | Number of faces in the input body which have a face to face intersection |
tag_t * * | fault_tags | Output to be freed | 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_t | face_obj_id | Input | Face object identifier |
uf_list_p_t * | feature_list | Output to be freed | 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
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_t | object | Input | tag of face or body |
int * | u_count | Output | u grid counts |
int * | v_count | Output | v 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_t | face | Input | Object identifier of face containing loops |
uf_loop_p_t * | loop_list | Output to be freed | 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
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_t | face | Input | input face |
int * | num_radii | Output | number of radii found |
double | radii [ 2 ] | Output | minimum radii of curvature |
double | positions [ 6 ] | Output | point locations of minimum radii. |
double | params [ 4 ] | Output | u-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.
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_t | face_id | Input | Face identifier. |
double | ref_pnt [ 3 ] | Input | Reference point in absolute space (ref_pnt[3]). |
double | parm [ 2 ] | Output | Parameter (u,v) on face (parm[2]). |
double | face_pnt [ 3 ] | Output | Point 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
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_t | face_id | Input | Object identifier for the face |
int * | U_status | Output | U 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_period | Output | Period in U direction |
int * | V_status | Output | V 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_period | Output | Period 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
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_t | face_id | Input | Face identifier. |
double | param [ 2 ] | Input | Parameter (u,v) on face (param[2]). |
double | point [ 3 ] | Output | Point at parameter (point[3]). |
double | u1 [ 3 ] | Output | First derivative in U (u1[3]). |
double | v1 [ 3 ] | Output | First derivative in V (v1[3]). |
double | u2 [ 3 ] | Output | Second derivative in U (u2[3]). |
double | v2 [ 3 ] | Output | Second derivative in V (v2[3]). |
double | unit_norm [ 3 ] | Output | Unit face normal (unit_norm[3]). |
double | radii [ 2 ] | Output | Principal 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_t | face_tag | Input | face tag |
int * | fault_token | Output | Fault 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. |
double | point [ 3 ] | Output | Point 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_t | face_tag | Input | face tag to be queried. |
logical * | is_smooth | Output | logical 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
Required License(s)
gateway
int UF_MODL_ask_face_spikes
(
tag_t face_tag,
logical * is_spike
)
tag_t | face_tag | Input | Tag of face to check for spikes or cuts |
logical * | is_spike | Output | FALSE = 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_t | face_id | Input | Object identifier for the face |
int * | topo_type | Output | Topological 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_t | face | Input | tag of the face |
int * | torus_type | Output | Type 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_t | face | Input | tag of the face |
int * | type | Output | Face 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_t | face_tag | Input | Face tag |
double | uv_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_t | facepair_feature_obj_id | Input | Face Pair Feature tag |
int * | face_pair_type | Output | Face Pair Feature type 1 Defining face 2 User Selected |
tag_p_t | midsrf_feature_obj_id | Output | Midsurface Feature tag of the Face Pair |
tag_p_t | defining_face_1 | Output | Defining face for side 1 |
tag_p_t | defining_face_2 | Output | Defining face for side 2 |
tag_p_t | user_selected_midsurface | Output | A Face or a sheet solid used to represent the midsurface of the Face Pair feature. |
uf_list_p_t * | side_1 | Output to be freed | List of target solid faces for side 1. This must be freed by calling UF_MODL_delete_list. |
uf_list_p_t * | side_2 | Output to be freed | List of target solid faces for side 2. This must be freed by calling UF_MODL_delete_list. |
tag_p_t | midsurface_sheet_body | Output | Midsurface 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_t | feature_obj_id | Input | Feature object identifier. |
tag_t * | body_obj_id | Output | Body 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 [ ] ,
double dir_y [ ]
)
tag_t | feature_obj_id | Input | A feature object identifier |
double | dir_x [ ] | Output | X direction |
double | dir_y [ ] | Output | Y direction |
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_t | feature_obj_id | Input | Feature object identifier to perform the inquiry function upon. |
uf_list_p_t * | object_list | Output to be freed | 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_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_t | feature_obj_id | Input | Feature object identifier to inquire upon. |
uf_list_p_t * | object_list | Output to be freed | 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_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 [ ]
)
tag_t | feature_obj_id | Input | A feature object identifier |
double | location [ ] | Output | Location 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
Required License(s)
gateway
int UF_MODL_ask_feat_name
(
tag_t feature_tag,
char * * feature_name
)
tag_t | feature_tag | Input | Object identifier of feature to inquire. |
char * * | feature_name | Output to be freed | 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_t | feature | Input | Feature tag |
int * | n_eids | Output | Number of objects |
tag_t * * | eids | Output to be freed | 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
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_t | feature_eid | Input | Feature to inguire upon |
char * * | feature_name | Output to be freed | 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
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_t | feature_tag | Input | feature on which we are inquiring. |
int * | num_parents | Output | number of parents tags in parent array. |
tag_t * * | parent_array | Output to be freed | Pointer to an array holding the feature tags of the parents. This must be freed by calling UF_free. |
int * | num_children | Output | number of children tags in the children array. |
tag_t * * | children_array | Output to be freed | 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
History
Originally released in V19.0
Required License(s)
gateway
int UF_MODL_ask_feat_sysname
(
tag_t feature_eid,
char * * feature_name
)
tag_t | feature_eid | Input | Feature to inguire upon |
char * * | feature_name | Output to be freed | 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_t | feature_obj_id | Input | Feature to inquire upon |
logical * | tolerance_exists | Output | Returns TRUE if distance tolerance exists for the feature |
double * | tolerance | Output | Distance 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
Required License(s)
gateway
int UF_MODL_ask_feat_type
(
tag_t feature_obj_id,
char * * feature_type
)
tag_t | feature_obj_id | Input | Feature to inquire upon. |
char * * | feature_type | Output to be freed | String containing feature type. Use UF_free to deallocate memory when done. |
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_t | feature_obj_id | Input | Feature object identifier to inquire. |
UF_FEATURE_SIGN * | boolean_status | Output | UF_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_t | feature_obj_id | Input | Feature object identifier |
UF_FEATURE_SIGN * | sign | Output | Sign 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
Required License(s)
gateway
int UF_MODL_ask_features_of_exp
(
tag_t exp,
int * number_of_features,
tag_t * * features
)
tag_t | exp | Input | Expression to query |
int * | number_of_features | Output | Number of feature tags returned |
tag_t * * | features | Output to be freed | 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
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_t | mirror_set | Input | The tag of the mirror feature |
tag_t * * | features | Output to be freed | An array of input features. This array must be freed by calling UF_free. |
int * | number_of_features | Output | Number 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_t | udf_tag | Input | The object identifier of either a UDF_INS or UDF_DEF feature. |
tag_t * * | features | Output to be freed | Array of features inside the udf. This array must be freed by calling UF_free. |
int * | num_feature | Output | Number 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_t | feature_tag | Input | Object identifier of an existing straight-brake flange feature. |
UF_MODL_flange_data_p_t * | parameters | Output to be freed | 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_t | flange | Input | Object identifier for the flange feature. |
double * | proc_factor | Output | Process 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
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_t | feature_tag | Input | The tag of a Flange, Inset Flange, General Flange, SMBridge, or SMBend feature. |
UF_MODL_state_e_t * const | state | Output | The 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 * const | state_info | Output | Optional. 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_result | Output | free 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,
char * tolerance_str,
UF_MODL_parm_p_t plus,
UF_MODL_parm_t bend_radius [ ] ,
UF_MODL_parm_t bend_angle [ ] ,
UF_MODL_parm_t web_length [ ]
)
tag_t | general_flange_tag | Input | Attachment face for the generalized flange. The flange is constrained to be tangent to this face along the bend edge. |
UF_STRING_p_t | bend_edge_string | Output | An edge in the tangent face, used as the attachment edge the generalized flange. |
UF_STRING_p_t | spine_string | Output | An 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_count | Output | The 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_cubic | Output | =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_normal | Output | =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_thicken | Output | =0 If Body type is solid, thicken the plus bend and web along the direction of the bend. =1 If Body type is solid, thicken the plus bend and web opposite to the direction of the bend. |
char * | thickness_str | Output | Thickness 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. |
char * | tolerance_str | Output | This 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_t | plus | Output | The law specification of the target face extension between the bend edge and the start of the bend. |
UF_MODL_parm_t | bend_radius [ ] | Output | The 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_t | bend_angle [ ] | Output | The 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_t | web_length [ ] | Output | The 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
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_t | general_pad_tag | Input | Object identifier of the general pad feature whose parameters are to be retrieved. |
UF_MODL_faces_p_t | placement_faces | Output to be freed | 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_t | top_faces | Output to be freed | 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_t | outline | Output to be freed | 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_t | placement_radius | Output to be freed | 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_t | top_radius | Output to be freed | 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
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_t | general_pad_tag | Input | Object identifier of the general pad feature whose parameters are to be retrieved. |
UF_MODL_faces_p_t | placement_faces | Output to be freed | 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_t | top_faces | Output to be freed | 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_t | outline | Output to be freed | 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_t | placement_radius | Output to be freed | 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_t | top_radius | Output to be freed | 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
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_t | general_pocket_tag | Input | Object identifier of the general pocket feature whose parameters are to be retrieved. |
UF_MODL_faces_p_t | placement_faces | Output to be freed | 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_t | floor_faces | Output to be freed | 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_t | outline | Output to be freed | 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_t | placement_radius | Output to be freed | 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_t | floor_radius | Output to be freed | 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
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_t | general_pocket_tag | Input | Object identifier of the general pocket feature whose parameters are to be retrieved. |
UF_MODL_faces_p_t | placement_faces | Output to be freed | 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_t | floor_faces | Output to be freed | 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_t | outline | Output to be freed | 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_t | placement_radius | Output to be freed | 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_t | floor_radius | Output to be freed | 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_t | gflange_tag | Input | general flange tag |
UF_MODL_gflange_data_p_t * | gflange_data | Output to be freed | 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_t | feature_id | Input | Feature identifier |
int * | type | Input | Hollow type: 1 = face 2 = region 3 = body |
double * | tolerance | Output | Tolerance. |
char * * | thickness | Output to be freed | Default thickness. This must be freed by calling UF_free. |
int * | n_pierced_faces | Output | Number of pierced faces |
tag_t * * | pierced_faces | Output to be freed | n_pierced_faces Array of pierced face identifiers. This array must be freed by calling UF_free. |
int * | n_boundary_faces | Output | Number of boundary faces |
tag_t * * | boundary_faces | Output to be freed | n_boundary_faces Array of boundary face identifers. This array must be freed by calling UF_free. |
int * | n_offset_faces | Output | Number of offset faces |
tag_t * * | offset_faces | Output to be freed | n_offset_faces Array of offset face ids. This array must be freed by calling UF_free. |
char * * * | offset_thickness | Output to be freed | 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | thickness | Output to be freed | 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.
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 [ ] ,
double feature [ ] ,
double fixc [ ] ,
double feac [ ] ,
char * * how_far,
tag_t * tool,
tag_t * part
)
tag_t | feature_obj_id | Input | Identifier for the feature. |
tag_t | constraint | Input | Identifier for constraint |
int | edit | Input | This 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. |
double | fixed [ ] | Output | Dimension attachment point on the part |
double | feature [ ] | Output | Dimension attachment point on the feature |
double | fixc [ ] | Output | Center of arc if attachment point is tangent to arc edge on part, otherwise it is the same as the fixed point. |
double | feac [ ] | Output | Center of arc if attachment point is tangent to arc edge on feature, otherwise it is the same as the feature point. |
char * * | how_far | Output to be freed | Expression distance. This must be freed by calling UF_free. |
tag_t * | tool | Output | Edge on the tool or NULL_TAG for centerline |
tag_t * | part | Output | Edge 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
History
V17.0
Required License(s)
gateway
int UF_MODL_ask_immediate_children
(
int * update_level
)
int * | update_level | Output | Current 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_t | feature_tag | Input | The imprint feature |
int * | n_edges | Output | The number of edges created by the imprint feature |
tag_t * * | edges | Output to be freed | 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
)
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
)
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_t | feature_tag | Input | Object identifier of an existing straight-brake inset flange feature. |
UF_MODL_inset_flange_data_p_t * | parameters | Output to be freed | 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_t | feature_obj_id | Input | A feature object identifier of linear_iset or circular_iset |
uf_list_p_t * | instances_feature_list | Output to be freed | 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_t | feature_obj_id | Input | A feature object identifier of the instance |
tag_t * | iset_feature_obj_id | Output | Pointer 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_t | feature_tag | Input | Tag of a feature |
tag_t * * | feature_patterns | Output to be freed | Array of feature instances. This array must be freed using UF_free |
int * | n_feature_patterns | Output | Number 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
)
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
Required License(s)
gateway
int UF_MODL_ask_law_extension
(
tag_t law_extension,
UF_MODL_lawext_data_p_t law_extension_data
)
tag_t | law_extension | Input | Law Extension feature object identifier. |
UF_MODL_lawext_data_p_t | law_extension_data | Output | Law 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
Required License(s)
gateway
int UF_MODL_ask_law_extension1
(
tag_t law_extension,
UF_MODL_lawext_data_p_t law_extension_data
)
tag_t | law_extension | Input | Law Extension feature object identifier. |
UF_MODL_lawext_data_p_t | law_extension_data | Output | Law 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_t | feature_obj_id | Input | Linear instance set feature identifier. |
int | edit | Input | This 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_x | Output to be freed | Expression containing the number of instances in the X direction. This must be freed by calling UF_free. |
char * * | number_in_y | Output to be freed | Expression containing the number of instances in the Y direction. This must be freed by calling UF_free. |
char * * | distance_x | Output to be freed | The distance between instances in the X direction. This must be freed by calling UF_free. |
char * * | distance_y | Output to be freed | 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
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_t | feature_obj_id | Input | Feature to inquire upon. |
tag_t | link_face_parms | Input | Link face identifier. |
double | cplane_csys [ 12 ] | Output | Plane 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
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_t | feature_eid | Input | the feature being inquired |
tag_t * | target_face_eid | Output | the target placement face |
tag_t * | tool_face_eid | Output | the tool placement face |
tag_t * | dir_ref | Output | the directional reference |
logical * | ref_is_horizontal | Output | TRUE = 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_t | feature_tag | Input | Feature tag |
UF_MODL_linked_ext_p_t | ext_data | Output to be freed | 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_groups | Output | Number of groups this feature owns |
tag_t * * | groups | Output to be freed | Groups this feature owns (may be null) |
int * | num_subfeats | Output | Number of subfeatures this feature owns |
tag_t * * | subfeats | Output to be freed | Subfeatures this feature owns (may be null) |
double | mass_props [ 47 ] | Output | Mass 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
Required License(s)
gateway
int UF_MODL_ask_list_count
(
uf_list_p_t list,
int * count
)
uf_list_p_t | list | Input | List of object identifiers. |
int * | count | Output | Count 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
Required License(s)
gateway
int UF_MODL_ask_list_item
(
uf_list_p_t list,
int index,
tag_t * object
)
uf_list_p_t | list | Input | List of object identifiers. |
int | index | Input | Count into the list. |
tag_t * | object | Output | Object 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_LENGTH ]
)
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
Required License(s)
gateway
int UF_MODL_ask_loop_list_count
(
uf_loop_p_t list,
int * count
)
uf_loop_p_t | list | Input | Pointer to a loop list |
int * | count | Output | Pointer 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
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_t | loop_list | Input | List of object identifiers |
int | index | Input | Count into the list |
int * | type | Output | Peripheral=1, Hole=2, Other=3 |
uf_list_p_t * | list | Output to be freed | 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
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 * | objects | Input | num_objs Array of solid or sheet body identifiers, Solid bodies for analysis type 1, Sheet bodies for analysis types 2 and 3 |
int | num_objs | Input | Number of objects |
int | type | Input | Type of 3D Analysis 1 = Solid Bodies 2 = Thin Shell - Sheet Bodies 3 = Bounded by Sheet Bodies |
int | units | Input | Units of mass and length 1 = Pounds and inches 2 = Pounds and feet 3 = Grams and centimeters 4 = Kilograms and meters |
double | density | Input | Density - 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]). |
int | accuracy | Input | 1 = Use Accuracy 2 = Use Relative Tolerances |
double | acc_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) |
double | mass_props [ 47 ] | Output | Mass 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 |
double | statistics [ 13 ] | Output | Errors 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_t | feature_obj_id | Input | A feature object identifier of the instance. |
tag_t * | master_feature_obj_id | Output | The 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_t | face_tag | Input | Tag of a face whose owning feature is an instance master |
tag_t | feat_instance | Input | Tag of a patterned feature |
tag_t * | instanced_face | Output | Tag 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_t | eid | Input | Entity id (currently curve only) |
double | range [ 4 ] | Input | Entity'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 |
int | curva_type | Input | Curvature type of the surface. Not used for curve |
double | max_curva [ 5 ] | Output | Data 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 * | status | Output | 1 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_t | face | Input | Object identifier of face |
int * | nfaces | Output | Number of merged faces |
tag_t * * | faces | Output to be freed | 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_t | feature_obj_id | Input | Midsurface Feature tag |
int * | adv_crt_and_trm | Output | |
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_t | feature_obj_id | Input | Midsurface Feature tag |
uf_list_p_t * | facepair_list | Output to be freed | 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
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.
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_t | object1 | Input | First object (if NULL_TAG, the point coordinates in guess1 are used instead) |
tag_t | object2 | Input | Second 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. |
int | guess1_given | Input | 1 - if a guess point for object1 is specified 0 otherwise Ignored if object1 is a body |
double | guess1 [ 3 ] | Input | Guess 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. |
int | guess2_given | Input | 1 - if a guess point for object2 is specified 0 otherwise Ignored if object2 is a body |
double | guess2 [ 3 ] | Input | Guess 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_dist | Output | Resultant minimum distance. |
double | pt_on_obj1 [ 3 ] | Output | Minimum distance Point on object1. |
double | pt_on_obj2 [ 3 ] | Output | Minimum 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
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.
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_t | object1 | Input | First object (if NULL_TAG, the point coordinates in guess1 are used instead) |
tag_t | object2 | Input | Second 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. |
int | guess1_given | Input | 1 - if a guess point for object1 is specified 0 otherwise Ignored if object1 is a body |
double | guess1 [ 3 ] | Input | Guess 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. |
int | guess2_given | Input | 1 - if a guess point for object2 is specified 0 otherwise Ignored if object2 is a body |
double | guess2 [ 3 ] | Input | Guess 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_dist | Output | Resultant minimum distance. |
double | pt_on_obj1 [ 3 ] | Output | Minimum distance Point on object1. |
double | pt_on_obj2 [ 3 ] | Output | Minimum distance Point on object2. |
double * | accuracy | Output | Size 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
)
int | opt_level | Input | 0, 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_t | object1 | Input | First object (if NULL_TAG, the point coordinates in guess1 are used instead) |
tag_t | object2 | Input | Second 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. |
int | guess1_given | Input | 1 - if a guess point for object1 is specified 0 otherwise Ignored if object1 is a body |
double | guess1 [ 3 ] | Input | Guess 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. |
int | guess2_given | Input | 1 - if a guess point for object2 is specified 0 otherwise Ignored if object2 is a body |
double | guess2 [ 3 ] | Input | Guess 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_dist | Output | Resultant minimum distance. |
double | pt_on_obj1 [ 3 ] | Output | Minimum distance Point on object1. |
double | pt_on_obj2 [ 3 ] | Output | Minimum distance Point on object2. |
double * | accuracy | Output | Size 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
)
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_t | obj_tag | Input | Tag of solid face or curve |
double * | matrix | Input | Matrix against which to check for alignment |
double | tolerance | Input | Angle tolerance within which to check |
logical * | is_misaligned | Output | Alignment 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
)
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_tag | Input | body identifier |
int * | object_type | Input | UF_solid_face_subtype or UF_solid_edge_subtype |
char * | object_name | Input | case sensitive object name |
tag_t * | object | Output | returned 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_t | feature | Input | feature being inquired |
uf_list_p_t * | feature_list | Output to be freed | 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_t | feature | Input | Feature to check |
tag_t * | next_feature | Output | Next 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_t | object_id | Input | Object ID |
int * | dimensionality | Output | Dimensionality of the object: -1 = object is not valid UF_MODL_POINT UF_MODL_LINEAR UF_MODL_PLANAR UF_MODL_THREE_DIMENSIONAL |
double | data [ 6 ] | Output | If 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
)
int | ug_type | Input | Object Type |
int | ug_subtype | Input | Object subtype |
tag_t * | object | Input / Output | Object'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 of 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
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
Required License(s)
gateway
int UF_MODL_ask_object_feat
(
tag_t object_tag,
tag_t * feature_tag
)
tag_t | object_tag | Input | Object identifier. |
tag_t * | feature_tag | Output | Feature object identifier. |
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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | value | Output to be freed | 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_t | feature_tag | Input | feature_tag. |
UF_MODL_dfo_region_t * * | region | Output to be freed | faces to be operated |
char * * | offset | Output to be freed | 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_feature | Output | Number of out of date features. |
tag_t * * | features | Output to be freed | 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_t | exp | Input | Expression to query |
tag_t * | feature | Output | Feature 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.
Environment
Internal and External
See Also
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_t | feature_obj_id | Input | Identifier for the feature. |
tag_t | constraint | Input | Identifier for constraint |
int | edit | Input | This 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. |
double | fixed [ 2 ] | Output | Dimension attachment point on the part |
double | feature [ 2 ] | Output | Dimension attachment point on the feature |
double | fixc [ 2 ] | Output | Center of arc if attachment point is tangent to arc edge on part, otherwise it is the same as the fixed point. |
double | feac [ 2 ] | Output | Center of arc if attachment point is tangent to arc edge on feature, otherwise it is the same as the feature point. |
char * * | how_far | Output to be freed | Expression distance. This must be freed by the caller by calling UF_free. |
tag_t * | tool | Output | Edge on the tool or NULL_TAG for a centerline |
tag_t * | part | Output | Edge 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.
Environment
Internal and External
See Also
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_t | feature_obj_id | Input | Identifier for the feature. |
tag_t | constraint | Input | Identifier for constraint |
int | edit | Input | This 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. |
double | fixed1 [ 2 ] | Output | Dimension attachment point on the part |
double | fixed2 [ 2 ] | Output | Point on the part that along with the fixed1 point, defines the line on the part that the dimension is parallel to. |
double | feature1 [ 2 ] | Output | Dimension attachment point on the feature. |
double | feature2 [ 2 ] | Output | Point on the feature that along with the feature1 point, defines the line on the feature that the dimension is parallel to. |
int * | parallel | Output | Is this a parallel constraint or a perpendicular constraint? TRUE=Parallel, FALSE=perpendicular |
char * * | how_far | Output to be freed | Expression distance. This must be freed by calling UF_free. |
tag_t * | tool | Output | Edge on the tool or NULL_TAG for a centerline. |
tag_t * | part | Output | Edge 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
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_t | feature_obj_id | Input | Feature object identifier of patch body feature |
tag_t * | target_body | Output | Object id of target body |
tag_t * | tool_sheet | Output | Object id of sheet body tool |
int * | reverse | Output | Patch 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.
Environment
Internal and External
See Also
Required License(s)
gateway
int UF_MODL_ask_perp_dist
(
tag_t feature,
tag_t constraint,
int edit,
double fixed1 [ ] ,
double fixed2 [ ] ,
double feature1 [ ] ,
double feac [ ] ,
char * * how_far,
tag_t * tool,
tag_t * part
)
tag_t | feature | Input | Identifier for the feature. |
tag_t | constraint | Input | Identifier for constraint |
int | edit | Input | This 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. |
double | fixed1 [ ] | Output | Dimension attachment point on the part. |
double | fixed2 [ ] | Output | Point on the part that along with the fixed1 point, defines the line that the dimension is perpendicular to. |
double | feature1 [ ] | Output | Dimension attachment point on the part. |
double | feac [ ] | Output | Center of arc if the attachment point is tangent to arc edge of feature, otherwise it is the same as the feature point. |
char * * | how_far | Output to be freed | Expression distance. This must be freed by calling UF_free. |
tag_t * | tool | Output | Edge on the tool or NULL_TAG for a centerline |
tag_t * | part | Output | Edge 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
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_t | plane_tag | Input | Plane |
double | origin_point [ 3 ] | Output | Origin point of the plane |
double | plane_normal [ 3 ] | Output | Normal 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
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_t | mirror_set | Input | The tag of the mirror feature |
tag_t * | plane | Output | The 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
)
double | point [ 3 ] | Input | Absolute coordinates of the reference point. |
tag_t | curve | Input | Identifier of the selected curve. |
double | offset | Input | Offset distance from the reference point along the selected curve. |
int | direction | Input | Direction 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) |
double | tolerance | Input | Distance tolerance between solid edge and approximated curve. |
double * | parameter | Output | Parameter 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
)
double | point [ 3 ] | Input | Absolute coordinates of the reference point. |
tag_t | curve | Input | Identifier of the selected curve. |
double | offset | Input | Offset distance from the reference point along the selected curve. |
int | direction | Input | Direction 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) |
double | tolerance | Input | Distance tolerance between solid edge and approximated curve. |
double | point_along_curve [ 3 ] | Output | Absolute coordinates of the point on the curve at the offset distance. |
double * | parameter | Output | Parameter 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
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
)
double | point [ 3 ] | Input | Point coordinates of the inquiry point |
tag_t | body | Input | Face, edge, solid, or sheet body tag on which point is inquired |
int * | pt_status | Output | Returned 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
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_t | feature_tag | Input | Feature tag |
int * | num_points | Output | Number of points |
tag_t * * | points | Output to be freed | 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_t | feature | Input | Feature to check |
tag_t * | prev_feature | Output | Previous 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_t | feature_tag | Input | Feature object identifier |
int | edit | Input | Unused flag |
char * * | diameter | Output to be freed | Prism diameter. This must be freed by calling UF_free. |
char * * | height | Output to be freed | Prism height. This must be freed by calling UF_free. |
char * * | number_of_sides | Output to be freed | 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
Required License(s)
gateway
int UF_MODL_ask_proj_curves
(
tag_t proj_curve_feature,
uf_list_p_t * uf_curve_refs
)
tag_t | proj_curve_feature | Input | Projected curve feature identifier. |
uf_list_p_t * | uf_curve_refs | Output to be freed | 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
Required License(s)
gateway
int UF_MODL_ask_prom_feat_of_solid
(
tag_t prom_solid,
tag_t * prom_feat
)
tag_t | prom_solid | Input | Promoted solid to be queried |
tag_t * | prom_feat | Output | Promotion 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
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_t | prom_solid | Input | Promoted solid body to be queried |
logical | full_path | Input | If 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_path | Output to be freed | 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_instances | Output | Number 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_t | feature_tag | Input | Object identifier of feature to inquire. |
char * * | feature_name | Output to be freed | 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_t | quilt_tag | Input | Object identifier of quilt surface to be read |
UF_MODL_quilt_type_t * | quilt_data | Output | Type of quilt surface (see the description area). |
UF_MODL_quilt_data_structures_u * | quilt_structure_pointer | Output to be freed | 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
Required License(s)
gateway
int UF_MODL_ask_quilt_type
(
tag_t quilt_tag,
UF_MODL_quilt_type_t * quilt_data
)
tag_t | quilt_tag | Input | Object identifier of quilt surface |
UF_MODL_quilt_type_t * | quilt_data | Output | Type 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_t | feature_eid | Input | Feature object identifier of a created reblend face |
UF_MODL_reblend_face_data_p_t | reblend_data | Output to be freed | 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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_dia | Output to be freed | Groove diameter. This must be freed by calling UF_free. |
char * * | width | Output to be freed | 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 be freed | Pad size (length , width , height). |
char * * | corner_rad | Output to be freed | Pad corner radius. This must be freed by calling UF_free. |
char * * | taper_angle | Output to be freed | 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,
char * * corner_rad,
char * * floor_rad,
char * * taper_angle
)
tag_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 | Output to be freed | Pointer to an array of three character pointers for length, width, and depth. This must be freed by calling UF_free. |
char * * | corner_rad | Output to be freed | Pocket corner radius. This must be freed by calling UF_free. |
char * * | floor_rad | Output to be freed | Pocket floor radius. This must be freed by calling UF_free. |
char * * | taper_angle | Output to be freed | 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | width | Output to be freed | Slot width. This must be freed by calling UF_free. |
char * * | depth | Output to be freed | Slot depth. This must be freed by calling UF_free. |
char * * | distance | Output to be freed | Slot distance for a none thru slot. This must be freed by calling UF_free. |
int * | thru_flag | Output | A 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_t | feature_tag | Input | the feature |
UF_MODL_dfo_region_p_t * | region | Output to be freed | region |
tag_t * | x_axis | Output | X-Axis |
tag_t * | axis | Output | Y-Axis |
int * | num_x | Output | number along XC |
int * | num_y | Output | number along YC |
char * * | x_offset | Output to be freed | offset along XC |
char * * | y_offset | Output to be freed | 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_array | Input | Array of features identifier |
int | num_features | Input | Number of features |
tag_t * * | parents | Output to be freed | An array of all the parents. This array must be freed by calling UF_free. |
char * * * | parent_names | Output to be freed | An array of names of each parent. This array must be freed by calling UF_free_string_array. |
int * | num_parents | Output | Number 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
Required License(s)
gateway
int UF_MODL_ask_refit_face_feature_data
(
tag_t refit,
UF_MODL_refit_face_data_p_t refit_data
)
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_t | feature_tag | Input | the feature |
tag_t * * | target_faces | Output to be freed | target faces |
int * | num_target | Output | number of faces |
tag_t * * | non_blend_faces | Output to be freed | adjacent tangent faces which are not blends |
int * | num_non_blend | Output | number of non-blend faces |
tag_t * | tool_face | Output | tool face |
logical * | reverse_direction | Output | reverse 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_t | feature_tag | Input | the feature |
tag_t * * | target_faces | Output to be freed | - target faces |
int * | num_target | Output | number of faces |
tag_t * * | non_blend_faces | Output to be freed | num_non_blend adjacent tangent faces which are not blends |
int * | num_non_blend | Output | number of non-blend faces |
char * * | parameter | Output to be freed | 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
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_t | feature_obj_id | Input | Object tag for the revolved feature |
int* | num_objects | Output | Number of revolved curves |
tag_t* * | objects | Output to be freed | 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_ptr | Output to be freed | 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 be freed | Limits of revolution. Each element of this array must be freed by calling UF_free. |
char* | offsets [ 2 ] | Output to be freed | Offsets for open strings. Each element of this array must be freed by calling UF_free. |
double | region_point [ 3 ] | Output | Point on region desired. |
logical* | region_specified | Output | True or False for region desired. |
logical* | solid_creation | Output | TRUE = a solid body. |
double | direction [ 3 ] | Output | Revolution 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
)
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
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
)
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_t | feature_obj_id | Input | Feature object identifier of created rectangular groove |
int * | number_of_exps | Output | Number of expressions returned |
char * * * | descriptions | Output to be freed | Array of expression descriptions related to features rpo dimensions. Use UF_free_string_array to deallocate memory when done. |
tag_t * * | exps | Output to be freed | 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_t | feature_obj_id | Input | Feature object identifier of created rectangular groove |
int * | number_of_exps | Output | Number of expressions returned |
char * * * | descriptions | Output to be freed | Array of expression descriptions related to features rpo dimensions. Use UF_free_string_array to deallocate memory when done. |
tag_t * * | exps | Output to be freed | 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_routine | Input | Function 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_t | feature_obj_id | Input | Feature object identifier |
UF_STRING_p_t | s_section | Output to be freed | 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_t | s_spine | Output to be freed | Pointer to the string list structure for the spine string. (for alignment = 5). Use UF_MODL_free_string_list to deallocate memory. |
int * | alignment | Output | Alignment method: 1 = Parameter 2 = Arc length 3 = Distance 4 = Angles 5 = Spine curves |
double | value [ 6 ] | Output | Data 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_type | Output | Type of body: 0 = Sheet 1 = Solid |
double | tol [ 2 ] | Output | Tolerances: [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_t | feature_obj_id | Input | Feature object identifier |
UF_STRING_p_t | s_section | Output to be freed | 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_t | s_spine | Output to be freed | Pointer to the string list structure for the spine string. (for alignment = 5). Use UF_MODL_free_string_list to deallocate memory. |
int * | alignment | Output | Alignment method: 1 = Parameter 2 = Arc length 3 = Distance 4 = Angles 5 = Spine curves |
double | value [ 6 ] | Output | Data 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_type | Output | Type of body: 0 = Sheet 1 = Solid |
double | tols [ 2 ] | Output | Tolerances: [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
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_LENGTH ]
)
tag_t | feature_tag | Input | The tag of an existing scale feature |
UF_SCALE_TYPE_t * | type | Output | Scale type. It is one of the following: UF_SCALE_TYPE_UNIFORM UF_SCALE_TYPE_AXISYMMETRIC UF_SCALE_TYPE_GENERAL |
tag_t * | so_point | Output | This 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_dir | Output | This 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_csys | Output | This 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. |
char | factor [ 3 ] [ UF_MAX_EXP_LENGTH ] | Output | An 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
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_t | section_surface | Input | Section Surface Feature object identifier. |
UF_MODL_secsrf_data_p_t | section_surface_data | Output | Section 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 * | name | Input | Feature set name |
tag_t * | set | Output | Tag 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_t | feature | Input | Tag of feature |
tag_t * * | sets | Output to be freed | Array of feature sets that the feature belongs too. This array must be freed by calling UF_free |
int * | number_of_sets | Output | Number 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
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_t | feature_obj_eid | Input | Feature object id of trimmed sheet. |
tag_t * | target_sheet_body | Output | Tag of the target sheet body |
int * | tool_sheet_bodies_count | Output | Number of tool sheet bodies |
tag_t * * | tool_sheet_bodies | Output to be freed | Array of NX eids of sheet bodies. This array must be freed by calling UF_free. |
double * | tolerance | Output | Distance 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
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_t | feature_obj_eid | Input | Feature object id of trimmed sheet. |
int * | target_faces_count | Output | Number of faces on the target body to be sewn |
tag_t * * | target_faces | Output to be freed | 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_count | Output | Number of faces on the tool body to be sewn |
tag_t * * | tool_faces | Output to be freed | Array of NX eids of faces on the tool body to be sewn. This array must be freed by calling UF_free. |
double * | tolerance | Output | Distance 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_t | face1 | Input | Object identifier of first face |
tag_t | face2 | Input | Object identifier of second face |
uf_list_p_t * | shared_edges | Output to be freed | 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_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
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_t | sflange_tag | Input | Silhouette Flange feature object identifier. |
UF_MODL_sflange_data_p_t | sflange_data | Output | Silhouette 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | diameter | Output to be freed | Hole diameter. This must be freed by calling UF_free. |
char * * | depth | Output to be freed | Hole depth for a none thru hole. This must be freed by calling UF_free. |
char * * | tip_angle | Output to be freed | Tip angle. This must be freed by calling UF_free. |
int * | thru_flag | Output | A 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
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_t | feature_tag | Input | The simplify feature |
UF_MODL_simpl_data_p_t | simpl_parms | Output to be freed | 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
Required License(s)
gateway
int UF_MODL_ask_sketch_of_sweep
(
tag_t sweep_obj_id,
tag_t * sketch_obj_id
)
tag_t | sweep_obj_id | Input | The sweep feature object identifier |
tag_t * | sketch_obj_id | Output | Pointer 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
)
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
)
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
)
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
)
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
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
)
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
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_t | hole_tag | Input | Tag of the SMHole from which to get information |
UF_MODL_smhole_data_p_t | user_data | Output | Pass 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
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_t | user_data | Output | Data describing the punch feature. |
tag_t | punch_tag | Input | The 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
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_t | slot_tag | Input | Tag of the SMSlot from which to get information |
UF_MODL_smslot_data_p_t | user_data | Output | Pointer 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
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
)
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
Required License(s)
gateway
int UF_MODL_ask_solid_of_prom_feat
(
tag_t prom_feat,
tag_t * prom_solid
)
tag_t | prom_feat | Input | Promotion feature to be queried |
tag_t * | prom_solid | Output | Promoted 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
)
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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | diameter | Output to be freed | 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_t | edge | Input | Object identifier of edge |
int * | nedges | Output | Number of split edges |
tag_t * * | edges | Output to be freed | 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_t | face | Input | Object identifier of face |
int * | nfaces | Output | Number of split faces |
tag_t * * | faces | Output to be freed | 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
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
)
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
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
)
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_t | feature_obj_id | Input | Feature object identifier of a subdivided face |
tag_t * | face | Output | Face object identifier which the subdivided face is on |
tag_t * * | curves | Output to be freed | Pointer to array of curves associated with the subdivide face feature |
int * | count | Output | Number of curves in curve array |
int* | proj_type | Output | Projection type 1 = Along surface normal 2 = Along vector (Not implemented yet) |
double* | vector | Output | Projection 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_t | feature_tag | Input | Feature object id |
tag_t * | expression_tag | Output | Suppress 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_t | feature | Input | Feature to check. |
int * | suppress | Output | If 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_list | Output to be freed | 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_t | feature_obj_id | Input | Feature object identifier of sweep |
UF_STRING_p_t | s_guide | Output to be freed | 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_t | s_section | Output to be freed | 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_t | s_spine | Output to be freed | Pointer to the string list structure for the spine string. Use UF_MODL_free_string_list to deallocate memory. |
UF_METHOD_p_t | orientation | Output | Pointer 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_t | scaling | Output | Pointer 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 * | alignment | Output | Alignment method: 1 = Parameter 2 = Arc Length |
int * | inter | Output | Interpolation method (for s_section->num > 1): 1 = Linear 2 = Cubic |
int * | body_type | Output | Type of body: 0 = Sheet 1 = Solid |
double | tol [ 3 ] | Output | Tolerances: [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
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_t | sweep_id | Input | sweep or extrusion object identifier |
int * | n_profile_curves | Output | number of profile curves |
tag_t * * | profile_curves | Output to be freed | An array of profile curves. This is must be freed by calling UF_free. |
int * | n_guide_curves | Output | number of guide curves |
tag_t * * | guide_curves | Output to be freed | 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_t | feature_id | Input | The feature ID |
double | pos [ 3 ] | Output | The axis point for a revolve feature. Not used for an extrude feature. This must be declared as double pos[3]. |
double | dir [ 3 ] | Output | The 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
Required License(s)
gateway
int UF_MODL_ask_sweep_of_udf
(
tag_t udf_eid,
tag_t * sweep_eid
)
tag_t | udf_eid | Input | udf object identifier |
tag_t * | sweep_eid | Output | sweep 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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_angle | Output to be freed | Taper angle. This must be freed by calling UF_free. |
char * * | limit1 | Output to be freed | Start angle (degrees) for revolved features or start offset distance for extruded features. This must be freed by calling UF_free. |
char * * | limit2 | Output to be freed | 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
Required License(s)
gateway
int UF_MODL_ask_symb_thread_parms
(
tag_t thread_obj_id,
UF_MODL_symb_thread_data_t * parameters
)
tag_t | thread_obj_id | Input | Thread object id |
UF_MODL_symb_thread_data_t * | parameters | Output to be freed | Pointer to thread parameter structure UF_MODL_symb_thread_data_s NEEDS A FREE ROUTINE |
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_t | feature_obj_id | Input | A feature object identifier. |
int | edit | Input | This 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_width | Output to be freed | Slot top width. This must be freed by calling UF_free. |
char * * | top_depth | Output to be freed | Slot top depth. This must be freed by calling UF_free. |
char * * | bottom_width | Output to be freed | Slot bottom width. This must be freed by calling UF_free. |
char * * | bottom_depth | Output to be freed | Slot bottom depth. This must be freed by calling UF_free. |
char * * | distance | Output to be freed | Slot distance for a none thru slot. This must be freed by calling UF_free. |
int * | thru_flag | Output | A 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,
logical * taper_all_instances,
int * num_edges,
tag_t * * edges,
double * dist_tol,
double * angle_tol
)
tag_t | feature_eid | Input | feature eid of created taper |
int * | type | Output | taper type |
tag_t * | direction_tag | Output | taper direction |
char * | angle_str | Output | taper angle |
logical * | taper_all_instances | Output | tapering all instances |
int * | num_edges | Output | number of edges |
tag_t * * | edges | Output to be freed | array of edges, this must be freed by calling UF_free |
double * | dist_tol | Output | tolerance of distance |
double * | angle_tol | Output | tolerance 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
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,
logical * taper_all_instances,
tag_t * edge_collection,
double * distance_tolerance,
double * angle_tolerance
)
tag_t | feature_obj_id | Input | Feature object identifier for the Taper feature |
int * | taper_type | Output | Taper type |
tag_t * | direction_tag | Output | Taper direction |
char * | angle_str | Output | Taper angle |
logical * | taper_all_instances | Output | Tapering all instances |
tag_t * | edge_collection | Output | Collection of edges to be tapered |
double * | distance_tolerance | Output | Distance tolerance |
double * | angle_tolerance | Output | Angle 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | diameter | Output to be freed | Hole diameter. This must be freed by calling UF_free. |
char * * | taper_angle | Output to be freed | Taper angle. This must be freed by calling UF_free. |
char * * | depth | Output to be freed | Hole depth for a none thru hole. This must be freed by calling UF_free. |
int * | thru_flag | Output | A 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_t | feature_obj_id | Input | A feature object identifier |
int | edit | Input | This 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 * * | angle | Output to be freed | 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_t | feature_obj_id | Input | Feature object identifier |
UF_STRING_p_t | s_section | Output to be freed | 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_t | s_spine | Output to be freed | Pointer to the string list structure for the spine string. (for alignment = 5). Use UF_MODL_free_string_list to deallocate memory. |
int * | patch | Output | Patch type 1 = Single (Bezier) 2 = Multiple (B-spline) |
int * | alignment | Output | Alignment method 1 = Parameter 2 = Arc length 3 = Distance 4 = Angles 5= Spine curves 6 = Spline Points |
double | value [ 6 ] | Output | Data 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 * | vdegree | Output | Degree of surface in V direction |
int * | vstatus | Output | Periodic status of surface in V direction: 0 = Open 1 = Closed (at least s_section->num > 2) |
int * | body_type | Output | Type of body, 0 = Sheet, 1 = Solid |
double | tol [ 3 ] | Output | Tolerances: [0] = Distance [1] = Angle (in radians) [2] = Intersection |
tag_t | c_face_id [ 2 ] | Output | Object identifiers of neighbor surfaces from which constraints are obtained [0] = first section string [1] = last section string |
int | c_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_t | feature_obj_id | Input | Feature object identifier |
UF_STRING_p_t | s_section | Output to be freed | 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_t | s_spine | Output to be freed | Pointer to the string list structure for the spine string. (for alignment = 5). Use UF_MODL_free_string_list to deallocate memory. |
int * | patch | Output | Patch type 1 = Single (Bezier) 2 = Multiple (B-spline) |
int * | alignment | Output | Alignment method 1 = Parameter 2 = Arc length 3 = Distance 4 = Angles 5= Spine curves 6 = Spline Points |
double | value [ 6 ] | Output | Data 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 * | vdegree | Output | Degree of surface in V direction |
int * | vstatus | Output | Periodic status of surface in V direction: 0 = Open 1 = Closed (at least s_section->num > 2) |
int * | body_type | Output | Type of body, 0 = Sheet, 1 = Solid |
double | tol [ 3 ] | Output | Tolerances: [0] = Distance [1] = Angle (in radians) [2] = Intersection |
tag_t | c_collector_id [ 2 ] | Output | Collector containing the neighbor surfaces from which constraints are obtained [0] = first section string [1] = last section string |
int | c_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
Required License(s)
gateway
int UF_MODL_ask_thru_faces
(
tag_t feature_eid,
tag_t * face1,
tag_t * face2
)
tag_t | feature_eid | Input | the feature being inquired |
tag_t * | face1 | Output | the first thru/trim face |
tag_t * | face2 | Output | the 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_t | feature | Input | Feature to check |
int * | time_stamp | Output | Time 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_t | obj_tag | Input | Tag of solid body, face, edge, or curve |
double | tolerance | Input | Tolerance value to check against, if = 0, then use the current modeling distance tolerance |
logical * | is_tiny | Output | FALSE = 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_t | feature_tag | Input | Feature object identifier |
int | edit | Input | Unused flag |
char * * | major_diameter | Output to be freed | Torus major diameter. This must be freed by calling UF_free. |
char * * | minor_diameter | Output to be freed | 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_t | feature_obj_eid | Input | Feature object id of trimmed sheet. |
tag_t * | sheet_body_tag | Output | Tag of trimmed sheet |
int * | bounding_object_count | Output | Number of trimming boundary objects |
tag_t * * | bounding_objects | Output to be freed | Array of NX eids of trimming objects. This array must be freed by calling UF_free. |
UF_MODL_vector_p_t | projection_method | Output | A 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_key | Output | Points define regions to: 0 = retain; 1 = discard |
int * | point_count | Output | Number of region points |
double * * | point_coords | Output to be freed | 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 * | tolerance | Output | Distance 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_t | feature_obj_id | Input | A feature object identifier. |
int | edit | Input | This 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_dia | Output to be freed | Groove diameter. This must be freed by calling UF_free. |
char * * | width | Output to be freed | Groove width. This must be freed by calling UF_free. |
char * * | corner_rad | Output to be freed | 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_t | feature_obj_id | Input | A feature object identifier. |
int | edit | Input | This 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 * * | width | Output to be freed | Slot width. This must be freed by calling UF_free. |
char * * | depth | Output to be freed | Slot depth. This must be freed by calling UF_free. |
char * * | corner_rad | Output to be freed | Slot corner radius This must be freed by calling UF_free. |
char * * | distance | Output to be freed | Slot distance for a none thru slot. This must be freed by cal ling UF_free. |
int * | thru_flag | Output | A 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_t | udf_tag | Input | Object identifier of a UDF feature definition, UDF_DEF. |
tag_t * * | parents | Output to be freed | Array of external parents of the udf. This must be freed by calling UF_free. |
char * * * | parents_prompt | Output to be freed | Array of prompts. This must be freed by calling UF_free_string_array. |
int * | num_parents | Output | Number of external parents |
tag_t * * | expression | Output to be freed | Array of expressions. This must be freed by calling UF_free. |
char * * * | expression_prompt | Output to be freed | Array of prompt. This must be freed by calling UF_free_string_array. |
int * | num_expression | Output | NUmber 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
)
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
)
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_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
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_t | feature_obj_id | Input | A feature object identifier |
char * * | udf_name | Output to be freed | UDF file name. Use UF_free to deallocate memory. |
char * * * | udf_prompt | Output to be freed | UDF prompt array. Define this array as char prompt. Use UF_free_string_array to deallocate memory. |
char * * * | udf_values | Output to be freed | UDF expression array. Define this array as char values. Use UF_free_string_array to deallocate memory. |
int * | num_values | Output | Number 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_t | feature_id | Input | Feature to be checked. |
char * * | error_message | Output to be freed | 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
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_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
History
V18.0
Required License(s)
gateway
int UF_MODL_ask_update_undo_feat
(
tag_t * feat,
int * feat_ifail
)
tag_t * | feat | Output | Feature that failed to update resulting in an UNDO |
int * | feat_ifail | Output | The 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.
Environment
Internal and External
See Also
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
)
int | n_uvs | Input | Number of 2D (u, v) points |
double * | u_parms | Input | Array of u parameters of 2D points |
double * | v_parms | Input | Array of v parameters of 2D points |
tag_t | face_eid | Input | Face on which the 2D points are inquired |
int * | pts_status | Output | Array 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_t | part | Input | NX part tag, required |
char * | cfg_file_name | Input | VDA Checker configuration file name, required |
char * | log_file_name | Input | Results 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_name | Input | Compliance 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
)
double | vector1 [ 3 ] | Input | First vector |
double | vector2 [ 3 ] | Input | Second vector |
double * | small_angle | Output | Small angle (in radians) |
double * | large_angle | Output | Large 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.
Environment
Internal and External
See Also
Required License(s)
gateway
int UF_MODL_ask_vert_dime
(
tag_t feature_obj_id,
tag_t constraint,
int edit,
double fixed [ ] ,
double feature [ ] ,
double fixc [ ] ,
double feac [ ] ,
char * * how_far,
tag_t * tool,
tag_t * part
)
tag_t | feature_obj_id | Input | Identifier for the feature. |
tag_t | constraint | Input | Identifier for constraint |
int | edit | Input | This 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. |
double | fixed [ ] | Output | Dimension attachment point on the part |
double | feature [ ] | Output | Dimension attachment point on the feature |
double | fixc [ ] | Output | Center of arc if attachment point is tangent to arc edge on part, otherwise it is the same as the fixed point. |
double | feac [ ] | Output | Center of arc if attachment point is tangent to arc edge on feature, otherwise it is the same as the feature point. |
char * * | how_far | Output to be freed | Expression distance. This must be freed by calling UF_free. |
tag_t * | tool | Output | Edge on the tool or NULL_TAG for a centerline. |
tag_t * | part | Output | Edge 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
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_t | feature_tag | Input | Feature tag |
UF_MODL_wrap_assem_p_t | wrap_data | Output to be freed | 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
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_t | feature_tag | Input | Feature tag |
UF_MODL_wrap_geom_p_t | wrap_data | Output to be freed | 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_t | datum_csys_tag | Input | Tag 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
Required License(s)
solid_modeling
int UF_MODL_assign_string_directions
(
double * end_points,
UF_STRING_p_t string_list1
)
double * | end_points | Input | An array of 3string_list->num doubles. |
UF_STRING_p_t | string_list1 | Input / Output to be freed | 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_t | feature_obj_id | Input | Midsurface 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_t | feature_obj_id | Input | Midsurface Feature tag |
int | autopairoptions | Input | 0 for d/t or 1 for thickness option |
double | autoval | Input | The 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
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_t | udf_id | Input | Feature obj_id. |
tag_t | target_face | Input | Planar face on the target body. |
tag_t | tool_face | Input | Planar face on the tool body (of the UDF). |
double | tool_dir [ 3 ] | Input | Relative position coordinate system x-direction. |
int | num_target_faces | Input | number of faces in solid_target_faces array. If not trimming the UDF, set it 0. |
tag_t * | solid_target_faces | Input | array of faces on the target used as trim faces to trim the UDF. If not trimming the UDF, set it NULL. |
int | num_tool_faces | Input | number of faces in solid_tool_faces array. If not trimming the UDF, set it 0. |
tag_t * | solid_tool_faces | Input | array 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. |
logical | included | Input | true if included faces; false if excluded faces. |
tag_t * | udf_meta_id | Output | Tag 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
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_t | udf_id | Input | udf feature id |
tag_t | target_face | Input | datum plane id or a face on the target body |
tag_t | tool_face | Input | face on the udf tool body |
double | tool_dir [ 3 ] | Input | X direction of the tool |
int | num_target_faces | Input | length of target faces array |
tag_t * | target_faces | Input | array of trimming faces on the target body |
int | num_tool_faces | Input | length of tool faces array |
tag_t * | tool_faces | Input | array of faces on udf body which are included or excluded |
logical | included | Input | true for included faces, or false for excluded faces |
tag_t | target_body | Input | the target body with which the udf will be booleaned |
logical | flip | Input | true to accept the datum plane direction, false to flip the datum pside |
tag_t * | udf_meta_id | Output | this 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
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_t | feature_eid | Input | feature eid |
tag_t | face_eid | Input | target placement face. |
logical | flip_face_normal | Input | this flag is only used when the target placement face is a datum plane. 1 flip the datum plane. |
tag_t | ref_eid | Input | directional reference. |
double | ref_dir [ 3 ] | Output | vector 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_t | offset_feature | Input | Offset feature |
tag_t | new_base_face | Input | New 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
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_t | target | Input | Target body against which interference is checked |
int | num_tools | Input | Number of tool bodies specified in tools array |
tag_t * | tools | Input | Tool bodies whose interference with target is inquired. Dimensioned to num_tools |
int * | results | Output | Interference 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)
solid_modeling
int UF_MODL_clock_instance
(
tag_t feature_obj_id,
char * clock_value1,
char * clock_value2
)
tag_t | feature_obj_id | Input | Object identifier of the instance |
char * | clock_value1 | Input | X-dir clocking expression |
char * | clock_value2 | Input | Y-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_t | object1 | Input | Object identifier of first object (valid objects are faces and edges) |
tag_t | object2 | Input | Object identifier of second object (valid objects are faces and edges) |
int | relation | Input | Relation to be used for comparison. 1 = Geometric Equivalence |
int * | equivalent | Output | 1 = 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_t | solid_object1 | Input | Object identifier of first object (valid objects are faces and edges) |
tag_t | solid_object2 | Input | Object identifier of second object (valid objects are faces and edges) |
double | facet_tolerance | Input | Specifies the maximum distance any point on a facet can be from its parent surface. All vertices of facets are on the surface. |
double | distance_tolerance | Input | Specifies the maximum distance a vertex of a facet can be from the other surface. |
int * | status | Output | Status 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
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_t | datum_feature_tag | Input | The 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_array | Input | Array of features identifier |
int | num_features | Input | Number of features |
tag_t * | old_parents | Input | Array of old parents |
tag_t * | new_parents | Input | Array of new parent |
int | num_parents | Input | Number of refrences |
int | expression_transfer_mode | Input | Type of expression copy - 0 = New, 1 = link, 2 = instance |
int | parent_transfer_mode | Input | Type of reference copy - 0 = New, 1 = link, 2 = instance |
tag_p_t * | new_feature_array | Output to be freed | 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
)
int | nu | Input | number of control vertices in u direction |
int | nv | Input | number of control vertices in v direction |
int | ku | Input | order in u direction |
int | kv | Input | order in v direction |
double | u_knot [ ] | Input | knot sequence in u direction |
double | v_knot [ ] | Input | knot sequence in v direction |
double | poles [ ] | Input | array of homogenous control vertices (wx,wy,wz,w) |
int | loop_count | Input | count of trimming loops |
int * | edge_counts | Input | array holding count of edges per loop |
int * | edge_senses | Input | array holding sense of edge curves |
tag_t * | edge_bcurves | Input | array of object ids of trimming 2D b-curves in the uv domain of the b-surface |
double | edge_tol | Input | tolerance to attach to sp-curve edges |
tag_t * | bsurf_id | Output | object id for b-surface |
int * | knot_fixup | Output | knot fixup status |
int * | pole_fixup | Output | pole fixup status |
UF_MODL_cre_chamfer_with_flip_option (view source)
Defined in: uf_modl.h
Overview
Creates a chamfer feature using the type of chamfer, first and second
offset, and angle and list of edges to operate on. If the Flip_option flag
is set to TRUE, the order of the input offsets will be flipped. The output
of this function is the object identifier associated to the chamfer.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_cre_chamfer_with_flip_option
(
int subtype,
char * offset1,
char * offset2,
char * theta,
uf_list_p_t edges,
logical flip_option,
tag_t * feature_obj_id
)
int | subtype | Input | Chamfer type: 1 = Single Offset 2 = Double Offset 3 = Offset and Angle 4 = Freeform Single Offset 5 = Freeform Double Offset |
char * | offset1 | Input | Chamfer offset 1 |
char * | offset2 | Input | Chamfer offset 2 |
char * | theta | Input | Chamfer angle |
uf_list_p_t | edges | Input | List of edges to chamfer |
logical | flip_option | Input | Chamfer flip option |
tag_t * | feature_obj_id | Output | Feature 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
)
int | subtype | Input | Chamfer type: 1 = Single Offset 2 = Double Offset 3 = Offset and Angle 4 = Freeform Single Offset 5 = Freeform Double Offset |
char * | offset1 | Input | Chamfer offset 1 |
char * | offset2 | Input | Chamfer offset 2 |
char * | theta | Input | Chamfer angle |
uf_list_p_t | edges | Input | List of edges to chamfer |
logical | instance_option | Input | Enable chamfer all instances ON/OFF |
logical | flip_option | Input | Chamfer flip option |
tag_t * | feature_obj_id | Output | Feature 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_t | midsrf_feature_obj_id | Input | Midsurface Feature tag |
tag_t | defining_face_1 | Input | Defining face for side 1 |
tag_t | defining_face_2 | Input | Defining face for side 2 |
uf_list_p_t | side_1 | Input | List of target solid faces for side 1 |
uf_list_p_t | side_2 | Input | List of target solid faces for side 2 |
tag_p_t | facepair_feature_obj_id | Output | Face 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_t | midsrf_feature_obj_id | Input | Midsurface Feature tag |
tag_t | user_selected_midsurface | Input | A Face or a sheet solid used to represent the midsurface of the Face Pair feature. |
uf_list_p_t | side_1 | Input | List of target solid faces for side 1 |
uf_list_p_t | side_2 | Input | List of target solid faces for side 2 |
tag_p_t | facepair_feature_obj_id | Output | Face 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
)
int | nu | Input | number of control vertices in u direction |
int | nv | Input | number of control vertices in v direction |
int | ku | Input | order in u direction |
int | kv | Input | order in v direction |
double | u_knot [ ] | Input | knot sequence in u direction |
double | v_knot [ ] | Input | knot sequence in v direction |
double | poles [ ] | Input | array of homogeneous control vertices (wx,wy,wz,w) |
int | loop_count | Input | count of trimming loops |
int * | edge_counts | Input | array holding count of edges per loop |
int * | edge_senses | Input | array holding sense of edge curves (sum of edge_counts[]) -1 = end to start 1 = start to end |
tag_t * | edge_curves | Input | array holding object ids of trimming curves |
int | proj_curves | Input | do we need to project the curves? 0=no 1=yes |
double | dist_tol | Input | distance tolerance for use in sp-curve creation |
tag_t * | bsurf_id | Output | object identifier for b-surface |
int * | knot_fixup | Output | knot fixup status |
int * | pole_fixup | Output | pole fixup status |
UF_MODL_create_ball_groove (view source)
Defined in: uf_modl_grooves.h
Overview
Creates a ball groove feature by inputting its location, direction,
diameter and width. Along with these items a placement face is
needed to determine which face the ball groove is associated to. The
output of this function is the object identifier associated to the ball
groove.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_ball_groove
(
double location [ 3 ] ,
double direction [ 3 ] ,
char * diame,
char * width,
tag_t face,
tag_t * feature_obj_id
)
double | location [ 3 ] | Input | Ball groove location. |
double | direction [ 3 ] | Input | Ball groove direction |
char * | diame | Input | Ball groove diameter. |
char * | width | Input | Ball groove width. |
tag_t | face | Input | Face for the RPO constraint. |
tag_t * | feature_obj_id | Output | Feature object identifier of created ball groove |
UF_MODL_create_ball_slot (view source)
Defined in: uf_modl_slots.h
Overview
Creates a ball slot feature using an origin, tool axis, slot direction,
ball diameter, depth, and length. One of two methods of creation is
taken depending on whether you want a thru slot or not.
1. If you want a defined distance, then input the distance and
placement face (face_li). Also, set the value of face_t1 and face_t2
to zero.
2. If you want to have the slot thru from one face to another, then
supply the placement face and the two faces from which to
measure the slot distance.
The output of this function is the object identifier of the ball slot.
The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_ball_slot
(
double location [ ] ,
double tool_axis [ ] ,
double direction [ ] ,
char * width,
char * depth,
char * distance,
tag_t face_li,
tag_t face_t1,
tag_t face_t2,
tag_t * feature_tag
)
double | location [ ] | Input | Ball slot location. |
double | tool_axis [ ] | Input | Ball slot tool axis. |
double | direction [ ] | Input | Ball slot direction. |
char * | width | Input | Ball slot width. |
char * | depth | Input | Ball slot depth. |
char * | distance | Input | Ball slot distance. |
tag_t | face_li | Input | Face for the RPO constraint. |
tag_t | face_t1 | Input | Face for thru face 1. |
tag_t | face_t2 | Input | Face for thru face 2. |
tag_t * | feature_tag | Output | Feature object identifier of created ball slot |
UF_MODL_create_bead (view source)
Defined in: uf_modl_smd.h
Overview
Creates a bead.
Environment
Internal and External
Required License(s)
sheet_metal_design
int UF_MODL_create_bead
(
UF_MODL_project_curves_p_t centerline,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t secondary_faces,
UF_MODL_bead_section_plane_p_t section_plane,
UF_MODL_vector_p_t section_axis,
UF_MODL_bead_section_parms_p_t section_parms,
tag_t* bead_tag
)
UF_MODL_project_curves_p_t | centerline | Input | Pointer to information to define the centerline of the bead. |
UF_MODL_faces_p_t | placement_faces | Input | Pointer 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_t | secondary_faces | Input | Pointer 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_t | section_plane | Input | Pointer to direction information to define the normal of the orientation plane of the bead sections. |
UF_MODL_vector_p_t | section_axis | Input | Pointer 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_t | section_parms | Input | Pointer to information to define the cross sectional shape of the bead. |
tag_t* | bead_tag | Output | Object tag for the bead feature. |
UF_MODL_create_bend_operation (view source)
Defined in: uf_modl_smd.h
Overview
Create an Unbend/Rebend operation
Return
Return code :
Environment
Internal and External
History
Released in V19.0
Required License(s)
sheet_metal_design
int UF_MODL_create_bend_operation
(
UF_MODL_bend_operation_data_p_t bend_data,
tag_p_t operation_tag
)
UF_MODL_create_blend (view source)
Defined in: uf_modl_blends.h
Overview
Creates a blend feature using the input radius, a list of edges to blend,
the overflow condition flags, and variable radius blend tolerance. To
specify all types of blends, set all of the overlfow flags to 0 (zero). To
allow only one type of blend, for example "smooth", set the
smooth_overflow flag to 0 (zero) and the other two flags to 1 (one).
The output of this function is the object identifier associated to the
blend.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_blend
(
const char * radius,
uf_list_p_t edge_list,
int smooth_overflow,
int cliff_overflow,
int notch_overflow,
double vrb_tool,
tag_t * feature_obj_id
)
const char * | radius | Input | Blend radius |
uf_list_p_t | edge_list | Input | List of edges to blend |
int | smooth_overflow | Input | Smooth overflow/prevent flag: 0 = Allow this type of blend 1 = Prevent this type of blend |
int | cliff_overflow | Input | Cliffedge overflow/prevent flag: 0 = Allow this type of blend 1 = Prevent this type of blend |
int | notch_overflow | Input | Notch overflow/prevent flag: 0 = Allow this type of blend 1 = Prevent this type of blend |
double | vrb_tool | Input | Variable radius blend tolerance |
tag_t * | feature_obj_id | Output | Feature 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
Required License(s)
solid_modeling
int UF_MODL_create_blend_faces
(
UF_MODL_blend_faces_create_data_p_t create_data,
UF_MODL_blend_faces_limit_data_p_t limit_data,
tag_t * feature_tag,
int * num_bodies_created,
tag_t * * bodies_created,
int * num_blend_faces,
tag_t * * blend_faces
)
UF_MODL_blend_faces_create_data_p_t | create_data | Input | Data describing the blend. |
UF_MODL_blend_faces_limit_data_p_t | limit_data | Input | Data describing the blend. |
tag_t * | feature_tag | Output | The object identifier of the created blend. |
int * | num_bodies_created | Output | This is unused, and always returns 0. |
tag_t * * | bodies_created | Output to be freed | num_bodies_created This is unused, the pointer is always set to NULL. |
int * | num_blend_faces | Output | This is unused, and always returns 0. |
tag_t * * | blend_faces | Output to be freed | num_blend_faces This is unused, the pointer is always set to NULL. |
UF_MODL_create_block (view source)
Defined in: uf_modl_primitives.h
Overview
Create a solid block.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_block
(
UF_FEATURE_SIGN sign,
tag_t targ_tag,
double corner_pt [ 3 ] ,
char * edge_len [ 3 ] ,
tag_t * blk_tag
)
UF_FEATURE_SIGN | sign | Input | Sign of primitive |
tag_t | targ_tag | Input | Target body (if needed) |
double | corner_pt [ 3 ] | Input | Corner point |
char * | edge_len [ 3 ] | Input | Edge lengths |
tag_t * | blk_tag | Output | Block 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
Required License(s)
solid_modeling
int UF_MODL_create_block1
(
UF_FEATURE_SIGN sign,
double corner_pt [ 3 ] ,
char * edge_len [ 3 ] ,
tag_t * blk_obj_id
)
UF_FEATURE_SIGN | sign | Input | The 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 |
double | corner_pt [ 3 ] | Input | Corner point (origin) of block |
char * | edge_len [ 3 ] | Input | Three edge lengths of block |
tag_t * | blk_obj_id | Output | Feature 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
Required License(s)
solid_modeling
int UF_MODL_create_boss
(
double location [ 3 ] ,
double direction [ 3 ] ,
char * diame,
char * height,
char * angle,
tag_t face,
tag_t * feature_obj_id
)
double | location [ 3 ] | Input | Boss location. |
double | direction [ 3 ] | Input | Boss direction. |
char * | diame | Input | Boss diameter. |
char * | height | Input | Boss height. |
char * | angle | Input | Boss tip angle. |
tag_t | face | Input | Face for the RPO constraint (may be a datum plane) |
tag_t * | feature_obj_id | Output | Feature 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
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_t | s_section | Input | Pointer 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 |
double | tol [ 3 ] | Input | Tolerances: [0] = Distance [1] = Angle (in radians) [2] = Not used (formerly listed as Intersection) |
tag_t * | body_obj_id | Output | Body 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,
tag_t * primary_edges,
int * primary_edges_dir,
UF_STRING_p_t side_string1,
UF_STRING_p_t side_string2,
tag_t * side_faces,
tag_t * side_edges,
tag_t * result_tag
)
int | continuity_type | Input | 1 = tangent continuous, 2= curvature continuous |
int | guide_type | Input | 0 = no guides; 1= guide strings; 2= guide surfaces |
tag_t * | primary_faces | Input | tags of 2 primary surfaces to be bridged |
tag_t * | primary_edges | Input | tags of edges on primary surfaces where the bridge should be attached. |
int * | primary_edges_dir | Input | direction of primary_edges (if continuity_type = 1) 1 = forward -1 = backward |
UF_STRING_p_t | side_string1 | Input | first guide string (if guide_type = 1) |
UF_STRING_p_t | side_string2 | Input | second guide string (if guide_type = 1) |
tag_t * | side_faces | Input | tags of 2 side guide surfaces (if guide_type = 2) |
tag_t * | side_edges | Input | tags of edges on side surfaces where bridge should be attached (if guide_type = 2) |
tag_t * | result_tag | Output | tag 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
)
int | nu | Input | number of control vertices in u direction |
int | nv | Input | number of control vertices in v direction |
int | ku | Input | order in u direction |
int | kv | Input | order in v direction |
double | u_knot [ ] | Input | knot sequence in u direction |
double | v_knot [ ] | Input | knot sequence in v direction |
double | poles [ 4 ] | Input | array of homogenous control vertices (wx,wy,wz,w) |
int * | num_loops | Output | number of loops of curve |
int * | edge_counts | Output | array of counts of edges per loop |
tag_t * | edge_curves | Output | array of b-curves |
int * | knot_fixup | Output | knot fixup status |
int * | pole_fixup | Output | pole 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
)
int | nu | Input | number of control vertices in u direction |
int | nv | Input | number of control vertices in v direction |
int | ku | Input | order in u direction |
int | kv | Input | order in v direction |
double | u_knot [ ] | Input | knot sequence in u direction |
double | v_knot [ ] | Input | knot sequence in v direction |
double | poles [ ] | Input | array of homogenous control vertices (wx,wy,wz,w) |
int * | num_loops | Output | number of loops of curve |
int | edge_counts [ 2 ] | Output | array of counts of edges per loop. This must be declared as an int edge_counts[2]. |
tag_t | edge_curves [ 4 ] | Output | array of b-curves. This must be declared as a tag_t edge_curves[4]. |
int * | knot_fixup | Output | knot fixup status |
int * | pole_fixup | Output | pole 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
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
)
int | nu | Input | Number of poles in u direction |
int | nv | Input | Number of poles in v direction |
int | ku | Input | Order in u direction |
int | kv | Input | Order in v direction |
double | u_knot [ ] | Input | Knot sequence in u direction |
double | v_knot [ ] | Input | Knot sequence in v direction |
double | poles [ ] | Input | Array 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_id | Output | Object identifier for b-surface |
int * | knot_fixup | Output | Knot fixup status: 0 = no fixups performed 1 = knot sequence fixed |
int * | pole_fixup | Output | Pole 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
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
)
int | create_mode | Input | Creation 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 |
int | u_closed_status | Input | Open/closed status in u direction = 0 -> open = 1 -> closed |
int | v_closed_status | Input | Open/closed status in v direction = 0 -> open = 1 -> closed |
int | u_degree | Input | Degree in u direction |
int | v_degree | Input | Degree in v direction |
int | num_rows | Input | Number of rows of points |
UF_MODL_bsurf_row_info_t * | pts_info_per_row | Input | Points information for each row. This is an array of UF_MODL_bsurf_row_info_t structures dimensioned to num_rows. |
tag_t * | bsurf_obj_id | Output | Tag 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
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_t | surface | Input | structure describing bsurface to create |
tag_t * | eid | Output | Tag of NX bspline surface object |
int * | num_states | Output | Number of states in states array |
UF_MODL_state_p_t * | states | Output to be freed | Array of states representing problems in the bsurface; if NULL is provided no states are returned. This must be freed by calling UF_free. |
UF_MODL_create_c_bore_hole (view source)
Defined in: uf_modl_holes.h
Overview
Creates a c-bore hole. The Origin indicates where the center of the
C-Bore hole is located on the link-face. Interactively, this is the face
chosen to place the hole in, and the location of the pick is used as the
origin. The Open API programmer inputs this information. The
C-Bore and Hole Diameters, C-Bore and Hole Depths, and Hole
Tip Angle control the size. The Direction Vector has to be
perpendicular to the link-face, opposite the face normal. If a thru
face is indicated, then the Hole Depth is ignored. The output of this
function is the object identifier associated to the c-bore hole.
The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_c_bore_hole
(
double location [ 3 ] ,
double direction [ 3 ] ,
const char * diameter1,
const char * depth1,
const char * diameter2,
const char * depth2,
const char * angle,
tag_t face_li,
tag_t face_t1,
tag_t * feature_obj_id
)
double | location [ 3 ] | Input | Hole location. |
double | direction [ 3 ] | Input | Hole direction. |
const char * | diameter1 | Input | Hole diameter. |
const char * | depth1 | Input | Hole depth. |
const char * | diameter2 | Input | C-bore diameter. |
const char * | depth2 | Input | C-bore depth. |
const char * | angle | Input | Hole tip angle. |
tag_t | face_li | Input | Face for the RPO constraint. |
tag_t | face_t1 | Input | Face for thru face. |
tag_t * | feature_obj_id | Output | Feature object identifier of created C bore hole |
UF_MODL_create_c_sunk_hole (view source)
Defined in: uf_modl_holes.h
Overview
Creates a counter-sunk hole. The Origin indicates where the center
of the C-Sunk hole is located on the link-face. Interactively, this is
the face chosen to place the hole in, and the location of the pick is
used as the origin. In Open API, this information is input by the
user. The C-Sunk and Hole Diameters, C-Sunk and Hole Depths,
and Hole Tip Angle control the size. The Direction Vector has to be
perpendicular to the link-face, opposite the face normal. If a thru
face is indicated, then the Hole Depth is ignored. The output of this
function is the object identifier associated to the c-sunk hole.
The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_c_sunk_hole
(
double location [ 3 ] ,
double direction [ 3 ] ,
const char * diameter1,
const char * depth1,
const char * diameter2,
const char * csink_angle,
const char * angle,
tag_t face_li,
tag_t face_t1,
tag_t * feature_obj_id
)
double | location [ 3 ] | Input | Hole location. |
double | direction [ 3 ] | Input | Hole direction. |
const char * | diameter1 | Input | Hole diameter. |
const char * | depth1 | Input | Hole depth. |
const char * | diameter2 | Input | C-sunk diameter. |
const char * | csink_angle | Input | C-sunk angle. |
const char * | angle | Input | Hole tip angle. |
tag_t | face_li | Input | Face for the RPO constraint. |
tag_t | face_t1 | Input | Face for thru face. |
tag_t * | feature_obj_id | Output | Feature object identifier of created csunk hole |
UF_MODL_create_chamfer (view source)
Defined in: uf_modl.h
Overview
Creates a chamfer feature using the type of chamfer, first and second
offset, and angle and list of edges to operate on. The output of this
function is the object identifier associated to the chamfer.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_chamfer
(
int subtype,
char * offset1,
char * offset2,
char * theta,
uf_list_p_t edges,
tag_t * feature_obj_id
)
int | subtype | Input | Chamfer type: 1 = Single Offset 2 = Double Offset 3 = Offset and Angle 4 = Freeform Single Offset 5 = Freeform Double Offset |
char * | offset1 | Input | Chamfer offset 1 |
char * | offset2 | Input | Chamfer offset 2 |
char * | theta | Input | Chamfer angle |
uf_list_p_t | edges | Input | List of edges to chamfer |
tag_t * | feature_obj_id | Output | Feature 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
Required License(s)
solid_modeling
int UF_MODL_create_circular_iset
(
int method,
double location [ ] ,
double axis [ 3 ] ,
char * number_str,
char * angle_str,
uf_list_p_t feature_list,
tag_t * feature_obj_id
)
int | method | Input | Method: 0 = General 1 = Simple 2 = Identical |
double | location [ ] | Input | Rotation point. |
double | axis [ 3 ] | Input | Rotation axis. |
char * | number_str | Input | Number of instances. |
char * | angle_str | Input | Rotation angle. |
uf_list_p_t | feature_list | Input | List of selected features. |
tag_t * | feature_obj_id | Output | Feature object identifier of created iset |
UF_MODL_create_circular_pattern_face (view source)
Defined in: uf_modl_dfo.h
Overview
This function create circular patterns for a given set of faces.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_circular_pattern_face
(
UF_MODL_dfo_region_p_t region,
tag_t axis,
int n_pattern,
char * angle,
tag_t * feature_tag
)
UF_MODL_dfo_region_p_t | region | Input | region |
tag_t | axis | Input | center axis to define pattern |
int | n_pattern | Input | number of patterns |
char * | angle | Input | angle between patterns |
tag_t * | feature_tag | Output | the new feature |
UF_MODL_create_cone (view source)
Defined in: uf_modl_primitives.h
Overview
Create a solid cone.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_cone
(
UF_FEATURE_SIGN sign,
tag_t targ_tag,
double origin [ 3 ] ,
char * height,
char * diam [ 2 ] ,
double direction [ 3 ] ,
tag_t * cone_tag
)
UF_FEATURE_SIGN | sign | Input | Sign of primitive |
tag_t | targ_tag | Input | Target body (if needed) |
double | origin [ 3 ] | Input | Cone base origin |
char * | height | Input | Cone height |
char * | diam [ 2 ] | Input | Cone diameters |
double | direction [ 3 ] | Input | Cone direction vector |
tag_t * | cone_tag | Output | Cone feature tag |
UF_MODL_create_cone1 (view source)
Defined in: uf_modl_primitives.h
Overview
Creates a cone. The origin indicates where the center of the bottom
face is located for the cone. The direction vector controls which axis
the cone is created on. The base and top diameters (diam) and height
control the size of the cone. The sign parameter controls the boolean
operation performed. The output of this function is the object
identifier associated to that cone.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_cone1
(
UF_FEATURE_SIGN sign,
double origin [ 3 ] ,
char * height,
char * diam [ 2 ] ,
double direction [ 3 ] ,
tag_t * cone_obj_id
)
UF_FEATURE_SIGN | sign | Input | The 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 |
double | origin [ 3 ] | Input | Origin for cone to be created. |
char * | height | Input | Height for cone to be created. |
char * | diam [ 2 ] | Input | Diameters for cone to be created. [0] = base diameter [1] = top diameter |
double | direction [ 3 ] | Input | Direction vector for cone to be created. |
tag_t * | cone_obj_id | Output | Feature 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_t | edge_id | Input | Object identifier of the edge |
tag_t * | ugcrv_id | Output | Identifier 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
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_t | s_prim | Input | Pointer 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_t | s_cross | Input | Pointer 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_t | s_spine | Input | Pointer 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_point | Input | Curve end point. 0 = Do not use end point 1 = Curve of first primary string 2 = Curve of last primary string 3 = Both |
int * | emphasis | Input | Emphasis flag 1 = Primary curves 2 = Cross curves 3 = Both |
int * | body_type | Input | Type of body: 0 = Sheet (Default) 1 = Solid |
int * | spline_pts | Input | Spline points flag: 0 = Do not reparameterize curves 1 = Reparameterize through spline points |
UF_FEATURE_SIGN | boolean | Input | The 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 |
double | tol [ 3 ] | Input | Tolerances: [0] = Distance [1] = Angle (in radians) [2] = Intersection |
tag_t | c_face_id [ 4 ] | Input | Object 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 |
int | c_flag [ 4 ] | Input | Flags 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_id | Output | Body 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
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_t | s_prim | Input | Pointer 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_t | s_cross | Input | Pointer 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_t | s_spine | Input | Pointer 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_point | Input | Curve end point. 0 = Do not use end point 1 = Curve of first primary string 2 = Curve of last primary string 3 = Both |
int * | emphasis | Input | Emphasis flag 1 = Primary curves 2 = Cross curves 3 = Both |
int * | spline_pts | Input | Spline points flag: 0 = Do not reparameterize curves 1 = Reparameterize through spline points |
int | simple | Input | Simple 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_type | Input | Type of body: 0 = Sheet (Default) 1 = Solid |
UF_FEATURE_SIGN | boolean | Input | The 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 | target_body | Input | The target body for the boolean operation |
double | tols [ 3 ] | Input | Tolerances: [0] = Distance [1] = Angle (in radians) [2] = Intersection |
int | c_num [ 4 ] | Input | Number 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 ] | Input | Pointers 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 |
int | c_flag [ 4 ] | Input | Flags 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_id | Output | Body object identifier |
UF_MODL_create_cyl1 (view source)
Defined in: uf_modl_primitives.h
Overview
Creates a cylinder. The origin indicates where the center of the
bottom face is located for the cylinder. The direction vector controls
the axis on which the cylinder is created. The diameter and height
control the size of the cylinder. The sign parameter controls the
boolean operation performed. The output of this function is the object
identifier associated to the cylinder.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_cyl1
(
UF_FEATURE_SIGN sign,
double origin [ 3 ] ,
char * height,
char * diam,
double direction [ 3 ] ,
tag_t * cyl_obj_id
)
UF_FEATURE_SIGN | sign | Input | The 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 |
double | origin [ 3 ] | Input | Origin of cylinder to be created. |
char * | height | Input | Height of cylinder to be created. |
char * | diam | Input | Diameter of cylinder to be created. |
double | direction [ 3 ] | Input | Direction vector for cylinder to be created. |
tag_t * | cyl_obj_id | Output | Feature object identifier of created cylinder |
UF_MODL_create_cyl_pocket (view source)
Defined in: uf_modl_pockets.h
Overview
Creates a cylindrical pocket feature using a location, direction,
diameter, depth, floor radius, and taper angle. Along with these items
a placement face is needed to determine which face the pocket is
associated to. The output of this function is the object identifier
associated to the cylindrical pocket.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_cyl_pocket
(
double location [ ] ,
double direction [ ] ,
char * diame,
char * depth,
char * radius,
char * angle,
tag_t face,
tag_t * feature_obj_id
)
double | location [ ] | Input | Cylindrical pockets location. |
double | direction [ ] | Input | Cylindrical pockets direction. |
char * | diame | Input | Cylindrical pockets diameter. |
char * | depth | Input | Cylindrical pockets depth. |
char * | radius | Input | Cylindrical pockets floor radius. |
char * | angle | Input | Cylindrical pockets taper angle. |
tag_t | face | Input | Face for the RPO constraint. |
tag_t * | feature_obj_id | Output | Feature object identifier of created pocket |
UF_MODL_create_cylinder (view source)
Defined in: uf_modl_primitives.h
Overview
Create a solid cylinder.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_cylinder
(
UF_FEATURE_SIGN sign,
tag_t targ_tag,
double origin [ 3 ] ,
char * height,
char * diam,
double direction [ 3 ] ,
tag_t * cyl_tag
)
UF_FEATURE_SIGN | sign | Input | Sign of primitive |
tag_t | targ_tag | Input | Target body (if needed) |
double | origin [ 3 ] | Input | Cylinder base origin |
char * | height | Input | Cylinder height |
char * | diam | Input | Cylinder diameter |
double | direction [ 3 ] | Input | Cylinder dir vector |
tag_t * | cyl_tag | Output | Cylinder 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_t | object_in_part | Input | Object in part to define context. |
tag_t | xform_tag | Input | Tag 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 |
logical | create_components | Input | Flag that if set will create all the components: origin point,3 datum planes and 3 datum axes |
tag_t * | datum_csys_feature | Output | Tag 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_t | object_in_part | Input | Object in part to define context |
tag_t | parent_datum_csys_tag | Input | Tag of CSYS component of the parent datum CSYS feature |
const double | linear_offset [ 3 ] | Input | Linear offset values in distance units |
const double | angular_offset [ 3 ] | Input | Angular (rotational) offset values in angle units |
logical | create_components | Input | If TRUE, datum CSYS with components would be created |
tag_t * | datum_csys_tag | Output | Tag of created datum CSYS feature |
UF_MODL_create_dove_tail_slot (view source)
Defined in: uf_modl_slots.h
Overview
Creates a dove tail slot feature using an origin, tool axis, slot
direction, width, angle, depth, and length. One of two creation
methods is taken depending on whether you want a thru slot or not.
1. If you want a defined distance, then input the distance and
placement face (face_li). Also, set the value of face_t1 and face_t2
to zero.
2. If you want to have the slot thru from one face to another, then
supply the placement face and the two faces from which to
measure the slot distance.
The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.
The output of this function is the object identifier associated to the
dove tail slot.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_dove_tail_slot
(
double location [ ] ,
double tool_axis [ ] ,
double direction [ ] ,
char * width,
char * depth,
char * angle,
char * distance,
tag_t face_li,
tag_t face_t1,
tag_t face_t2,
tag_t * feature_tag
)
double | location [ ] | Input | Dove tailslot location. |
double | tool_axis [ ] | Input | Dove tailslot tool axis. |
double | direction [ ] | Input | Dove tailslot direction. |
char * | width | Input | Dove tailslot width. |
char * | depth | Input | Dove tailslot depth. |
char * | angle | Input | Dove tailslot angle. |
char * | distance | Input | Dove tailslot distance. |
tag_t | face_li | Input | Face for the RPO constraint. |
tag_t | face_t1 | Input | Face for thru face 1. |
tag_t | face_t2 | Input | Face for thru face 2. |
tag_t * | feature_tag | Output | Feature object identifier of created dovetail-slot |
UF_MODL_create_edge_blend (view source)
Defined in: uf_modl_blends.h
Overview
create an edge blend
Environment
Internal and External
It can accept individual edges or an edge collector.
History
V17 release
NX2.0 Allow user input edge collector in the edge_data array
Required License(s)
solid_modeling
int UF_MODL_create_edge_blend
(
UF_MODL_edge_blend_data_p_t blend_data,
tag_t * blend_eid
)
UF_MODL_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_create_enlarge (view source)
Defined in: uf_modl_freeform.h
Overview
Creates the enlarged sheet to the specified type and percentage of based face.
Base face may not be periodic.
Environment
Internal and External
History
This function is provided in v17 initially.
Required License(s)
solid_modeling and ( free_form_modeling or nx_freeform_1 )
int UF_MODL_create_enlarge
(
tag_t face,
int type,
char * percent_size [ 4 ] ,
double tolerance,
tag_t * feat_obj_tag
)
tag_t | face | Input | tag of the base face of the enlarged sheet |
int | type | Input | enlarge extension type: 0-linear extension; 1-natural extension |
char * | percent_size [ 4 ] | Input | 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 |
double | tolerance | Input | Distance tolerance for approximations. |
tag_t * | feat_obj_tag | Output | tag 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
Required License(s)
solid_modeling
int UF_MODL_create_exp
(
char * expr_str
)
char * | expr_str | Input | New expression. The maximum number of characters for an expression name (lhs or left hand side) is 130 characters. The maximum length for the entire expression is UF_MAX_EXP_LENGTH + 1. 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
Required License(s)
solid_modeling
int UF_MODL_create_exp_tag
(
const char * string,
tag_t * new_exp
)
const char * | string | Input | The string for the expression |
tag_t * | new_exp | Output | The 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
History
Originally released in V15.0
Required License(s)
solid_modeling
int UF_MODL_create_extrude_trim_opts
(
tag_t * extrude_array,
int extrude_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_ptr,
UF_MODL_SWEEP_TRIM_OPTS trim_options,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ ] ,
logical cut_specified,
logical solid_body_creation,
double dir [ ] ,
UF_FEATURE_SIGN sign,
tag_t * * objects,
int * object_count
)
tag_t * | extrude_array | Input | List of objects to be extruded. |
int | extrude_count | Input | Count of the objects to be extruded. |
UF_MODL_SWEEP_TRIM_object_p_t | trim_ptr | Input | The structure that contains the trimming data. |
UF_MODL_SWEEP_TRIM_OPTS | trim_options | Input | Trimming 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_angle | Input | The taper angle for the extrusion. |
char * | limits [ 2 ] | Input | extrude_count The limits of the extrusion. Only used if the trim_ptr argument is NULL. |
char * | offsets [ 2 ] | Input | The offsets for open strings |
double | region_point [ ] | Input | The point on the region desired. |
logical | cut_specified | Input | TRUE or FALSE for region desired. |
logical | solid_body_creation | Input | If TRUE, create solid bodies if the input string is closed. Otherwise sheet bodies will be created. |
double | dir [ ] | Input | The extrusion direction. |
UF_FEATURE_SIGN | sign | Input | The 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 * * | objects | Output to be freed | An array of extruded feature tags. This must be freed by calling UF_free. |
int * | object_count | Output | The 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
History
Originally released in V16.0.
Required License(s)
solid_modeling
int UF_MODL_create_extrude_trim_opts1
(
tag_t * extrude_array,
int extrude_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_ptr,
UF_MODL_SWEEP_TRIM_OPTS trim_options,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ ] ,
logical cut_specified,
logical solid_body_creation,
double dir [ ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
tag_t * * objects,
int * object_count
)
tag_t * | extrude_array | Input | List of objects to be extruded. |
int | extrude_count | Input | Count of the objects to be extruded. |
UF_MODL_SWEEP_TRIM_object_p_t | trim_ptr | Input | The structure that contains the trimming data. |
UF_MODL_SWEEP_TRIM_OPTS | trim_options | Input | Trimming 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_angle | Input | The taper angle for the extrusion. |
char * | limits [ 2 ] | Input | extrude_count The limits of the extrusion. Only used if the trim_ptr argument is NULL. |
char * | offsets [ 2 ] | Input | The offsets for open strings |
double | region_point [ ] | Input | The point on the region desired. |
logical | cut_specified | Input | TRUE or FALSE for region desired. |
logical | solid_body_creation | Input | If TRUE, create solid bodies if the input string is closed. Otherwise sheet bodies will be created. |
double | dir [ ] | Input | The extrusion direction. |
UF_FEATURE_SIGN | sign | Input | The 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 | target_body | Input | Target body to perform Boolean operation |
tag_t * * | objects | Output to be freed | An array of extruded feature tags. This must be freed by calling UF_free. |
int * | object_count | Output | The 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
Required License(s)
solid_modeling
int UF_MODL_create_extruded
(
uf_list_p_t objects,
char * taper_angle,
char * limit [ 2 ] ,
double point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
uf_list_p_t * features
)
uf_list_p_t | objects | Input | List of objects to be extruded. |
char * | taper_angle | Input | Taper angle (in degrees). |
char * | limit [ 2 ] | Input | Limit 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). |
double | point [ 3 ] | Input | not used |
double | direction [ 3 ] | Input | Extrusion axis. |
UF_FEATURE_SIGN | sign | Input | The 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 * | features | Output to be freed | 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
History
Originally released in V16.0.
Required License(s)
solid_modeling
int UF_MODL_create_extruded1
(
uf_list_p_t objects,
char * taper_angle,
char * limit [ 2 ] ,
double point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
uf_list_p_t * features
)
uf_list_p_t | objects | Input | List of objects to be extruded. |
char * | taper_angle | Input | Taper angle (in degrees). |
char * | limit [ 2 ] | Input | Limit 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). |
double | point [ 3 ] | Input | not used |
double | direction [ 3 ] | Input | Extrusion axis. |
UF_FEATURE_SIGN | sign | Input | The 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 | target_body | Input | Target body to perform Boolean |
uf_list_p_t * | features | Output to be freed | 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
History
Originally released in V18.0.
Required License(s)
solid_modeling
int UF_MODL_create_extruded2
(
uf_list_p_t objects,
char * taper_angle,
char * limit [ 2 ] ,
double point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
uf_list_p_t * features
)
uf_list_p_t | objects | Input | List of objects to be extruded. |
char * | taper_angle | Input | Taper angle (in degrees). |
char * | limit [ 2 ] | Input | Limit 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). |
double | point [ 3 ] | Input | not used |
double | direction [ 3 ] | Input | Extrusion axis. |
UF_FEATURE_SIGN | sign | Input | The 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 * | features | Output to be freed | 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_t | objects | Input | List of objects or one section builder, but not both, to be extruded. |
uf_list_p_t | path_objects | Input | List of objects or one section builder, but not both, for providing a path for the extrusion. |
double | point [ 3 ] | Input | Point |
double | direction [ 3 ] | Input | Not used, can be set as (0,0,1) |
UF_FEATURE_SIGN | sign | Input | Sign 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 * | features | Output to be freed | 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
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_t | objects | Input | List of objects or one section builder, but not both, to be extruded. |
uf_list_p_t | path_objects | Input | List of objects or one section builder, but not both, for providing a path for the extrusion. |
double | point [ 3 ] | Input | Point |
double | direction [ 3 ] | Input | Not used, can be set as (0,0,1). |
UF_FEATURE_SIGN | sign | Input | Sign 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_t | target_body | Input | The target body to perform Boolean operation |
uf_list_p_t * | features | Output to be freed | 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
Required License(s)
solid_modeling
int UF_MODL_create_extrusion
(
tag_t * objects,
int object_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t * * features,
int* number_of_features
)
tag_t * | objects | Input | List of objects to be extruded |
int | object_count | Input | Number of objects |
UF_MODL_SWEEP_TRIM_object_p_t | trim_data | Input | Pointer to structure for trimming data |
char * | taper_angle | Input | Taper Angle. The taper angle can be non-zero only if the body being created is a sheet body. |
char * | limits [ 2 ] | Input | Limits of extrusion. Only valid if trim_data = NULL |
char * | offsets [ 2 ] | Input | Offsets for open strings |
double | region_point [ 3 ] | Input | Point on region desired |
logical | region_specified | Input | True or False for region desired |
logical | solid_creation | Input | If TRUE, create solid bodies if input string is closed. Otherwise, sheet bodies are the result. |
double | direction [ 3 ] | Input | Extrusion direction |
UF_FEATURE_SIGN | sign | Input | The 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 * * | features | Output to be freed | Array of extruded feature tags. This must be freed by calling UF_free. |
int* | number_of_features | Output | Number 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
History
Originally released in V16.0.
Required License(s)
solid_modeling
int UF_MODL_create_extrusion1
(
tag_t * objects,
int object_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
tag_t * * features,
int* number_of_features
)
tag_t * | objects | Input | List of objects to be extruded |
int | object_count | Input | Number of objects |
UF_MODL_SWEEP_TRIM_object_p_t | trim_data | Input | Pointer to structure for trimming data |
char * | taper_angle | Input | Taper Angle. |
char * | limits [ 2 ] | Input | Limits of extrusion. Only valid if trim_data = NULL |
char * | offsets [ 2 ] | Input | Offsets for open strings |
double | region_point [ 3 ] | Input | Point on region desired |
logical | region_specified | Input | True or False for region desired |
logical | solid_creation | Input | If TRUE, create solid bodies if input string closed. Otherwise, sheet bodies are the result. |
double | direction [ 3 ] | Input | Extrusion direction |
UF_FEATURE_SIGN | sign | Input | The 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 | target_body | Input | target body to perform Boolean operation |
tag_t * * | features | Output to be freed | Array of extruded feature tags. This must be freed by calling UF_free. |
int* | number_of_features | Output | Number 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
History
Originally released in V18.0.
Required License(s)
solid_modeling
int UF_MODL_create_extrusion2
(
tag_t * objects,
int object_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t * * features,
int* number_of_features
)
tag_t * | objects | Input | List of objects to be extruded |
int | object_count | Input | Number of objects |
UF_MODL_SWEEP_TRIM_object_p_t | trim_data | Input | Pointer to structure for trimming data |
char * | taper_angle | Input | Taper Angle. The taper angle can be non-zero only if the body being created is a sheet body. |
char * | limits [ 2 ] | Input | Limits of extrusion. Only valid if trim_data = NULL |
char * | offsets [ 2 ] | Input | Offsets for open strings |
double | region_point [ 3 ] | Input | Point on region desired |
logical | region_specified | Input | True or False for region desired |
logical | solid_creation | Input | If TRUE, create solid bodies if input string is closed. Otherwise, sheet bodies are the result. |
double | direction [ 3 ] | Input | Extrusion direction |
UF_FEATURE_SIGN | sign | Input | The 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 * * | features | Output to be freed | Array of extruded feature tags. This must be freed by calling UF_free. |
int* | number_of_features | Output | Number 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
History
Originally released in V15.0
Required License(s)
solid_modeling
int UF_MODL_create_extrusion_default
(
tag_t * extrude_array,
int extrude_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_ptr,
UF_MODL_SWEEP_TRIM_OPTS trim_options,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ ] ,
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_array | Input | List of objects to be extruded. |
int | extrude_count | Input | Count of the objects to be extruded. |
UF_MODL_SWEEP_TRIM_object_p_t | trim_ptr | Input | The structure that contains the trimming data. |
UF_MODL_SWEEP_TRIM_OPTS | trim_options | Input | Trimming 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_angle | Input | The taper angle for the extrusion. |
char * | limits [ 2 ] | Input | extrude_count The limits of the extrusion. Only used if the trim_ptr argument is NULL. |
char * | offsets [ 2 ] | Input | The offsets for open strings |
double | region_point [ ] | Input | The point on the region desired. |
logical | cut_specified | Input | TRUE or FALSE for region desired. |
logical | solid_body_creation | Input | If TRUE, create solid bodies if the input string is closed. Otherwise sheet bodies will be created. |
tag_t | sketch_eid | Input | The object identifier of a sketch which will be used to determine the direction of the extrusion. |
logical | reverse_default | Input | If TRUE, then reverse the direction of the sketch. If FALSE, then use the same direction as the sketch. |
UF_FEATURE_SIGN | sign | Input | The 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 * * | objects | Output to be freed | An array of extruded feature tags. This must be freed by calling UF_free. |
int * | object_count | Output | The number of features returned in the objects array. |
UF_MODL_create_extrusion_default1 (view source)
Defined in: uf_modl_sweep.h
Overview
Creates an extruded feature, and perform Boolean operation with a target body.
Environment
Internal and External
See Also
UF_MODL_create_extrusion_default
History
originally released in V.16.0.
Required License(s)
solid_modeling
int UF_MODL_create_extrusion_default1
(
tag_t * extrude_array,
int extrude_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_ptr,
UF_MODL_SWEEP_TRIM_OPTS trim_options,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ ] ,
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_array | Input | List of objects to be extruded. |
int | extrude_count | Input | Count of the objects to be extruded. |
UF_MODL_SWEEP_TRIM_object_p_t | trim_ptr | Input | The structure that contains the trimming data. |
UF_MODL_SWEEP_TRIM_OPTS | trim_options | Input | Trimming 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_angle | Input | The taper angle for the extrusion. |
char * | limits [ 2 ] | Input | The limits of the extrusion. Only used if the trim_ptr argument is NULL. |
char * | offsets [ 2 ] | Input | The offsets for open strings |
double | region_point [ ] | Input | The point on the region desired. |
logical | cut_specified | Input | TRUE or FALSE for region desired. |
logical | solid_body_creation | Input | If TRUE, create solid bodies if the input string is closed. Otherwise sheet bodies will be created. |
tag_t | sketch_eid | Input | The object identifier of a sketch which will be used to determine the direction of the extrusion. |
logical | reverse_default | Input | If TRUE, then reverse the direction of the sketch. If FALSE, then use the same direction as the sketch. |
UF_FEATURE_SIGN | sign | Input | The 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 | target_body | Input | Boolean target |
tag_t * * | objects | Output to be freed | An array of extruded feature tags. This must be freed by calling UF_free. |
int * | object_count | Output | The 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
History
Originally released in V15.0
Required License(s)
solid_modeling
int UF_MODL_create_extrusion_dir
(
tag_t * extrude_array,
int extrude_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_ptr,
UF_MODL_SWEEP_TRIM_OPTS trim_options,
char * taper_angle,
char * limits [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ ] ,
logical cut_specified,
logical solid_body_creation,
tag_t datum_eid,
UF_FEATURE_SIGN sign,
tag_t * * objects,
int * object_count
)
tag_t * | extrude_array | Input | List of objects to be extruded. |
int | extrude_count | Input | Count of the objects to be extruded. |
UF_MODL_SWEEP_TRIM_object_p_t | trim_ptr | Input | The structure that contains the trimming data. |
UF_MODL_SWEEP_TRIM_OPTS | trim_options | Input | Trimming 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_angle | Input | The taper angle for the extrusion. |
char * | limits [ 2 ] | Input | extrude_count The limits of the extrusion. Only used if the trim_ptr argument is NULL. |
char * | offsets [ 2 ] | Input | The offsets for open strings |
double | region_point [ ] | Input | The point on the region desired. |
logical | cut_specified | Input | TRUE or FALSE for region desired. |
logical | solid_body_creation | Input | If TRUE, create solid bodies if the input string is closed. Otherwise sheet bodies will be created. |
tag_t | datum_eid | Input | Object identifier of a datum which will provide the direction of the extrusion. |
UF_FEATURE_SIGN | sign | Input | The 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 * * | objects | Output to be freed | An array of extruded feature tags. This must be freed by calling UF_free. |
int * | object_count | Output | The 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
Required License(s)
solid_modeling
int UF_MODL_create_extrusion_path
(
tag_t * objects,
int object_count,
tag_t * path_objects,
int path,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
UF_FEATURE_SIGN sign,
tag_t * * features,
int* number_of_features
)
tag_t * | objects | Input | Section Objects. |
int | object_count | Input | Number of section objects |
tag_t * | path_objects | Input | Path objects |
int | path | Input | Number of path objects |
UF_MODL_SWEEP_TRIM_object_p_t | trim_data | Input | Not used |
char * | offsets [ 2 ] | Input | Offsets |
double | region_point [ 3 ] | Input | Point in desired region |
logical | region_specified | Input | True or False for region desired |
logical | solid_creation | Input | If TRUE, create solid bodies if input string closed. Otherwise, sheet bodies are the result. |
UF_FEATURE_SIGN | sign | Input | The 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 * * | features | Output to be freed | Array of extrude feature tags. This must be freed by calling UF_free. |
int* | number_of_features | Output | Number 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
History
Originally released in V16.0.
Required License(s)
solid_modeling
int UF_MODL_create_extrusion_path1
(
tag_t * objects,
int object_count,
tag_t * path_objects,
int path,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
UF_FEATURE_SIGN sign,
tag_t target_body,
tag_t * * features,
int* number_of_features
)
tag_t * | objects | Input | Section Objects. |
int | object_count | Input | Number of section objects |
tag_t * | path_objects | Input | Path objects |
int | path | Input | Number of path objects |
UF_MODL_SWEEP_TRIM_object_p_t | trim_data | Input | Not used |
char * | offsets [ 2 ] | Input | Offsets |
double | region_point [ 3 ] | Input | Point in desired region |
logical | region_specified | Input | True or False for region desired |
logical | solid_creation | Input | If TRUE, create solid bodies if input string closed. Otherwise, sheet bodies are the result. |
UF_FEATURE_SIGN | sign | Input | The 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 | target_body | Input | Boolean target |
tag_t * * | features | Output to be freed | Array of extrude feature tags. This must be freed by calling UF_free. |
int* | number_of_features | Output | Number of features returned |
UF_MODL_create_face_blend (view source)
Defined in: uf_modl_blends.h
Overview
Creates a face blend
This function is intended to replace UF_MODL_create_blend_faces.
Creates face-to-face blends or construction of blends, between
walls of faces that are not necessarily adjacent to each other (and not
necessarily part of the same body). A wall may be constructed from
faces on a single body or from multiple sheet bodies. In this case, the
sheets are sewn together automatically before blending (if possible).
Optionally, the wall faces may be trimmed automatically to the new
blend edges, and may also be attached to the blend. The blend radius
may be constant, controlled by a Law function along a spine curve or
by specification of Tangency Curves only.
It can accept individual faces, curves and edges for the face sets and
tangent hold lines. It can also accept the face, edge and curve collectors
in the same corresponding array. But for each array, only one collector
is allowed.
Environment
Internal and External
History
Added in v16.0
NX2.0 Allow user input collectors
Required License(s)
solid_modeling
int UF_MODL_create_face_blend
(
UF_MODL_face_blend_create_data_p_t create_data,
UF_MODL_blend_faces_limit_data_p_t limit_data,
tag_t * feature_tag,
int * num_bodies_created,
tag_t * * bodies_created,
int * num_blend_faces,
tag_t * * blend_faces
)
UF_MODL_face_blend_create_data_p_t | create_data | Input | Data describing the blend. |
UF_MODL_blend_faces_limit_data_p_t | limit_data | Input | Data describing the blend. |
tag_t * | feature_tag | Output | The object identifier of the created blend. |
int * | num_bodies_created | Output | This is unused, and always returns 0. |
tag_t * * | bodies_created | Output to be freed | This is unused, the pointer is always set to NULL. |
int * | num_blend_faces | Output | This is unused, and always returns 0. |
tag_t * * | blend_faces | Output to be freed | This is unused, the pointer is always set to NULL. |
UF_MODL_create_face_constraint (view source)
Defined in: uf_modl_dfo.h
Overview
Create a face constraint
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_face_constraint
(
UF_MODL_dfo_region_p_t region,
UF_MODL_dfo_constraint_p_t constraint,
tag_t * feature_tag
)
UF_MODL_create_face_offset (view source)
Defined in: uf_modl.h
Overview
Create offset feature using the input offset and list of features or
faces. The output of this function is the object identifier associated to
the offset feature. This routine works on planar faces, cylindrical faces
and conical faces.
Environment
Internal and External
History
NX2.0 added the functionality to allow inputing face collector
Required License(s)
solid_modeling
int UF_MODL_create_face_offset
(
char * offset,
uf_list_p_t faces,
tag_t * feature_obj_id
)
char * | offset | Input | Offset 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_t | faces | Input | Offset 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_id | Output | Feature 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
Required License(s)
solid_modeling
int UF_MODL_create_face_taper
(
double location [ ] ,
double direction [ ] ,
char * angle,
uf_list_p_t faces,
tag_t * feature_obj_id
)
double | location [ ] | Input | Taper location. |
double | direction [ ] | Input | Taper direction. |
char * | angle | Input | Taper angle. |
uf_list_p_t | faces | Input | List of faces to taper. |
tag_t * | feature_obj_id | Output | Feature object identifier of created face taper |
UF_MODL_create_feature_offset (view source)
Defined in: uf_modl.h
Overview
Creates an offset.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_feature_offset
(
char * offset,
uf_list_p_t features,
tag_t * feature_obj_id
)
char * | offset | Input | Offset |
uf_list_p_t | features | Input | Offset feature object list. |
tag_t * | feature_obj_id | Output | Feature object identifier of created feature offset |
UF_MODL_create_feature_taper (view source)
Defined in: uf_modl_taper.h
Overview
Creates a taper on a specified feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_feature_taper
(
double location [ 3 ] ,
double direction [ 3 ] ,
char * angle,
tag_t original_feature,
tag_t * taper_feature
)
double | location [ 3 ] | Input | Location of the taper |
double | direction [ 3 ] | Input | Direction of the taper |
char * | angle | Input | Angle of taper |
tag_t | original_feature | Input | Identifier for the feature to be tapered. |
tag_t * | taper_feature | Output | Identifier 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_t | spline_data | Input | Structure containing the spline data. |
double * | max_err | Output | The maximum error at any point used in the approximation. |
int * | max_err_pt | Output | The point at which the maximum error exists. |
tag_p_t | obj_id | Output | Identifier of the created curve. |
UF_MODL_create_fixed_daxis (view source)
Defined in: uf_modl_datum_features.h
Overview
Creates a fixed datum axis feature which lies on the line through
Point1 in the direction of Point2.
Environment
Internal and External
See Also
History
Original release was in V13.0.
Required License(s)
solid_modeling
int UF_MODL_create_fixed_daxis
(
double point1 [ 3 ] ,
double point2 [ 3 ] ,
tag_t * daxis_tag
)
double | point1 [ 3 ] | Input | first point of datum axis |
double | point2 [ 3 ] | Input | second point of datum axis |
tag_t * | daxis_tag | Output | the created fixed datum axis. This is a not a feature tag. To obtain the feature tag use UF_MODL_ask_object_feat. |
UF_MODL_create_fixed_dplane (view source)
Defined in: uf_modl_datum_features.h
Overview
Creates a fixed datum plane feature where the plane passes through
"point" with a normal of "direction".
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_fixed_dplane
(
double point [ 3 ] ,
double direction [ 3 ] ,
tag_t * dplane_tag
)
double | point [ 3 ] | Input | center point of datum plane |
double | direction [ 3 ] | Input | normal vector of datum plane |
tag_t * | dplane_tag | Output | The created fixed datum plane tag. This is not a feature tag. To obtain the feature tag use UF_MODL_ask_object_feat. |
UF_MODL_create_flange (view source)
Defined in: uf_modl_smd.h
Overview
Creates a flange feature. The output of the routine is the object
identifier of the flange.
Environment
Internal and External
Required License(s)
sheet_metal_design
int UF_MODL_create_flange
(
double orig [ 3 ] ,
double xdir [ 3 ] ,
double zdir [ 3 ] ,
tag_t face,
tag_t edge,
char * thick,
char * width,
char * angle,
char * length,
char * radius,
char * taper_l,
char * taper_r,
int ang_tgl,
int len_tgl,
int rad_tgl,
tag_t * flange
)
double | orig [ 3 ] | Input | Default origin of flange. |
double | xdir [ 3 ] | Input | X-direction of flange (across bend.) |
double | zdir [ 3 ] | Input | Z-direction, normal to the face. |
tag_t | face | Input | Face to which the flange should attach. |
tag_t | edge | Input | Horizontal edge. |
char * | thick | Input | Thickness expression string (if null, infer from face) |
char * | width | Input | Width expression string (if null, infer from edge) |
char * | angle | Input | Bend angle expression string |
char * | length | Input | Tangent length expression string |
char * | radius | Input | Inside radius of the bend |
char * | taper_l | Input | Left taper of flange |
char * | taper_r | Input | Right taper of flange |
int | ang_tgl | Input | Bend/Include angle switch |
int | len_tgl | Input | Tangent/Contour length switch |
int | rad_tgl | Input | Inside/Outside radius switch |
tag_t * | flange | Output | Object identifier for the flange feature. |
UF_MODL_create_frenet_daxis (view source)
Defined in: uf_modl_datum_features.h
Overview
Create a datum axis which is defined by a curve and a point on that curve.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_frenet_daxis
(
tag_t curve_tag,
tag_t direction_tag,
char * perc_string,
int direction_type,
tag_t * daxis_feid
)
tag_t | curve_tag | Input | eid of the curve, it could be UF_line_type, UF_circle_type, UF_conic_type, UF_spline_type or UF_solid_edge_subtype. |
tag_t | direction_tag | Input | eid of the constraint object which defines the direction of the projection curve, NULL if not the case. it could be a face, edge, line, datum plane or datum axis. |
char * | perc_string | Input | the parameter of curve, range from 0 to 100 |
int | direction_type | Input | the direction of frenet datum axis, 1 and 4 are tangent direction and its opposite, 2 and 5 are normal direction and its opposite, 3 and 6 are binormal and its opposite, and 0 when projection curve is created |
tag_t * | daxis_feid | Output | the created daxis eid |
UF_MODL_create_general_flange (view source)
Defined in: uf_modl_smd.h
Overview
Creates a general flange from its target face, bend radius, bend angle,
and web length. Along with these items an optional spine, thickness,
tolerance string, bend direction, and step data can be set. The output
is the object identifier associated to the general flange.
Environment
Internal and External
See Also
Required License(s)
sheet_metal_design
int UF_MODL_create_general_flange
(
tag_t target_face,
UF_STRING_p_t bend_edge_string,
UF_STRING_p_t spine_string,
UF_STRING_p_t section_curves,
int step_count,
int poly_cubic,
int reverse_normal,
int reverse_thicken,
char * thickness_str,
char * tolerance_str,
UF_MODL_parm_p_t plus,
UF_MODL_parm_t bend_radius [ ] ,
UF_MODL_parm_t bend_angle [ ] ,
UF_MODL_parm_t web_length [ ] ,
tag_p_t general_flange_tag
)
tag_t | target_face | Input | Attachment face for the generalized flange. The flange is constrained to be tangent to this face along the bend edge. |
UF_STRING_p_t | bend_edge_string | Input | An edge in the tangent face, used as the attachment edge the generalized flange. |
UF_STRING_p_t | spine_string | Input | An edge or curve used to define the section planes for the bend and web. If this values is null, the bend edge string is used as the spine string. |
UF_STRING_p_t | section_curves | Input | Two or more section curves used as an alternate method for creating a general flange. The curves must start tangent to the target face, be C0 with the bend edge, be coplanar, end to end and be made up of alternating lines and arcs. If this parameter is used, the plus, bend_radius, bend_angle and web_length is ignored. |
int | step_count | Input | The 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_cubic | Input | =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_normal | Input | =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_thicken | Input | =0 If Body type is solid, thicken the plus bend and web along the direction of the bend. =1 If Body type is solid, thicken the plus bend and web opposite to the direction of the bend. |
char * | thickness_str | Input | Thickness of the solid body created if the Modeling preference for body type is set to solid. |
char * | tolerance_str | Input | This is initially set from the the modeling distance tolerance. This value has the same effect as the modeling distance tolerance. |
UF_MODL_parm_p_t | plus | Input | The law specification of the target face extension between the bend edge and the start of the bend. |
UF_MODL_parm_t | bend_radius [ ] | Input | The law specification of the radius of the bend. |
UF_MODL_parm_t | bend_angle [ ] | Input | The law specification of the angle of the bend. |
UF_MODL_parm_t | web_length [ ] | Input | The law specification of the length of the surface extension after the bend. |
tag_p_t | general_flange_tag | Output | Pointer to Feature object identifier of created flange |
UF_MODL_create_general_pad (view source)
Defined in: uf_modl_pads.h
Overview
Creates a general pad. Expressions are created for the taper_angle,
top_offset, placement_radius, and top_radius if they are used.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_general_pad
(
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t top_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t top_radius,
tag_t * general_pad_tag
)
UF_MODL_faces_p_t | placement_faces | Input | The faces or a face collector used to define the shape of the pad at the placement faces. The first face is used to determine the target body. |
UF_MODL_offset_trans_faces_p_t | top_faces | Input | The faces or a face collector used to define the top of the pad. The top can either be an offset or translation of the specified faces. If it is desired to have the top be an offset or translate of the placement faces, then just set the UF_MODL_faces_p_t pointer within this input structure to the placement_faces pointer value. |
UF_MODL_pocketpad_outline_p_t | outline | Input | The definition of the curves used to define the shape of the pad. The shape can be defined by a single set of curves or section builder at either the placement face or the top face, and then the other curves or section builder are derived with a taper angle. The shape can also be defined by specifying curves or section builders at both the placement face and the top face. |
UF_MODL_parm_p_t | placement_radius | Input | The specification of the radius desired between the side of the pad and the placement face. |
UF_MODL_parm_p_t | top_radius | Input | The specification of the radius desired between the side of the pad and the top of the pad. |
tag_t * | general_pad_tag | Output | Object identifier for the general pad feature. |
UF_MODL_create_general_pocket (view source)
Defined in: uf_modl_pockets.h
Overview
Creates a general pocket. Creates Expressions for the taper_angle,
floor_offset, placement_radius, and floor_radius if they are used.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_general_pocket
(
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t floor_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t floor_radius,
tag_t * general_pocket_tag
)
UF_MODL_faces_p_t | placement_faces | Input | The faces or a face collector used to define the shape of the pocket at the placement faces. The first face is used to determine the target body. |
UF_MODL_offset_trans_faces_p_t | floor_faces | Input | The faces or a face collector used to define the floor of the pocket. The floor can either be an offset or translation of the specified faces. If it is desired to have the floor be an offset or translate of the placement faces, then just set the UF_MODL_faces_p_t pointer within this input structure to the placement_faces pointer value. |
UF_MODL_pocketpad_outline_p_t | outline | Input | The definition of the curves used to define the shape of the pocket. The shape can be defined by a single set of curves or section builder at either the placement face or the floor face, and then the other curves or section builder are derived with a taper angle. The shape can also be defined by specifying curves or section builders at both the placement face and the floor face. |
UF_MODL_parm_p_t | placement_radius | Input | The specification of the radius desired between the side of the pocket and the placement face. |
UF_MODL_parm_p_t | floor_radius | Input | The specification of the radius desired between the side of the pocket and the floor of the pocket. |
tag_t * | general_pocket_tag | Output | Object identifier for the general pocket feature. |
UF_MODL_create_gflange (view source)
Defined in: uf_modl_smd.h
Overview
Creates a generalized flange.
Environment
Internal and External
Required License(s)
sheet_metal_design
int UF_MODL_create_gflange
(
UF_MODL_gflange_data_p_t gflange_data,
tag_p_t gflange_tag
)
UF_MODL_create_hollow (view source)
Defined in: uf_modl_hollow.h
Overview
Creates a hollow feature using the input thickness and a list of faces to
hollow. The output of this function is the object identifier associated
to the hollow.
The thickness specified must be larger than the default modeling tolerance.
If a smaller thickness is desired than the modeling tolerance,
UF_MODL_create_variable_hollow may be used.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_hollow
(
char * thickness,
uf_list_p_t faces,
tag_t * feature_obj_id
)
char * | thickness | Input | Hollow thickness. |
uf_list_p_t | faces | Input | List of faces to be hollow. |
tag_t * | feature_obj_id | Output | Feature object identifier of created hollow |
UF_MODL_create_impr_faces (view source)
Defined in: uf_modl_simplify.h
Overview
Create an imprint feature according to the specified data (using an
explicit array of faces and a datum plane to define new edges on the
solid). The part containing the solid will be fully loaded if necessary.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_impr_faces
(
UF_MODL_imprint_faces_data_p_t parms,
tag_t * feature_tag
)
UF_MODL_create_impr_loop (view source)
Defined in: uf_modl_simplify.h
Overview
Create an imprint feature according to the specified data (using
a face and a datum plane to define a loop of new edges on the solid).
The part containing the solid will be fully loaded if necessary.
Environment
Internal and External.
Required License(s)
solid_modeling
int UF_MODL_create_impr_loop
(
UF_MODL_imprint_loop_data_p_t parms,
tag_t * feature_tag
)
UF_MODL_create_inset_flange (view source)
Defined in: uf_modl_smd.h
Overview
Generates a Sheet Metal Design inset flange feature. It provides the
ability to create the feature along the complete extent of the
attachment face or partially with reliefs automatically added during
construction.
Environment
Internal and External
Required License(s)
sheet_metal_design
int UF_MODL_create_inset_flange
(
tag_t attach_face,
tag_t reference_edge,
double position [ ] ,
double xdirection [ ] ,
double zdirection [ ] ,
UF_MODL_inset_flange_data_p_t parameters,
tag_p_t feature_tag
)
tag_t | attach_face | Input | Attachment face of target body. |
tag_t | reference_edge | Input | Horizontal edge reference of target body. |
double | position [ ] | Input | Default origin of inset flange feature. |
double | xdirection [ ] | Input | Direction of inset flange along the width of the bend. |
double | zdirection [ ] | Input | Normal of attachment/link face. |
UF_MODL_inset_flange_data_p_t | parameters | Input | Structure which defines the size and shape of the inset flange feature. |
tag_p_t | feature_tag | Output | Object identifier of the inset flange feature. |
UF_MODL_create_instantiated_udf (view source)
Defined in: uf_modl_udf.h
Overview
Create a new UDF instantiation in the current part. The steps to instantiate a
new UDF are as follows:
1) Open the UDF definition file using UF_PART_open_quiet().
2) Find the UDF feature definition.
3) Ask for the UDF definition to get all the external references.
4) Change part to the instantiation part
5) For each external reference you need to select a new reference in the
instantiation part.
6) Get new values for the expressions.
7) Use UF_MODL_create_instantiated_udf to create a UDF instantiation.
There is a newer version of this API - UF_MODL_create_instantiated_udf1
It is recommended to use the newer version for the following cases -
1. The inputs to a UDF consist of selection-intent objects.
2. One needs to use a UDF input in the reverse sense.
3. One wants provide specific mapping when dealing with selection-intent inputs.
For more details about mapping see the documentation for UF_MODL_create_instantiated_udf1
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
See Also
History
Originally released in V15.0
Required License(s)
solid_modeling
int UF_MODL_create_instantiated_udf
(
tag_t udf_definition_tag,
char * cgm_file_name,
tag_t * old_parents,
tag_t * new_parents,
int num_parents,
tag_t * old_expression,
char * * new_expression_value,
int num_expression,
tag_t * new_udf
)
tag_t | udf_definition_tag | Input | The object identifier of the udf feature definition, UDF_DEF. |
char * | cgm_file_name | Input | Cgm file |
tag_t * | old_parents | Input | Array of old parents |
tag_t * | new_parents | Input | Array of new parents |
int | num_parents | Input | Number of parents |
tag_t * | old_expression | Input | Array of udf definition expression |
char * * | new_expression_value | Input | Array of new expression new values only the right hand side |
int | num_expression | Input | Number of expressions. |
tag_t * | new_udf | Output | New udf instantiated feature, a UDF_INS feature. |
UF_MODL_create_instantiated_udf1 (view source)
Defined in: uf_modl_udf.h
Overview
Function description:
User function for instantiating a UDF feature.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
It can accept single UDF references and Smart Collectors and Sections in
UF_MODL_udf_ref_data_t.
There is a newer version of this API - UF_MODL_create_instantiated_udf1
It is recommended to use the newer version for the following cases -
1. The inputs to a UDF consist of selection-intent objects.
2. One needs to use a UDF input in the reverse sense.
3. One wants provide specific mapping when dealing with selection-intent inputs.
A simple example where mapping is required while instantiating a UDF is as follows:
1. A UDF comprises of an extrude feature and a blend feature
2. The blend feature blends one edge of the extrude feature
3. The extrude feature's input is a selection-intent section.
4. In the UDF definition, the section comprised of four curves. One of the
curves produces an extrude lateral face. One edge of the lateral face
was blended by the blend feature.
5. Hence the blend feature is a downstream child of one of the curves of the
input section of the UDF definition.
6. While instantiating, the new input section can have any number of curves.
7. Hence while instantiating, the output blend feature will get created based
on which curve of the instantiation input selection-intent section maps to the
corresponding curve of definition selection-intent section.
The following steps describe how to instantiate a UDF with mapping using the Open C API:
Compile and link this
example as an Internal User Function program
In NX, open the part
nx4part.prt
Run the user function program
When the user function prompts for a UDF, browse and select
nx4mapping2.prt
Then select the sketch(8)
Select "Sketch Section" on the next dialog
For smart-dir, select the sketch(8) again
OK through all other dialogs to create the UDF
To run see how this works interactively in NX two files have been provided. They are
nx4mapping2.cgm
nx4mapping2.prt
See Also
UF_MODL_udf_init_insert_data_from_def
History
This function was originally released in NX3.
Required License(s)
solid_modeling
int UF_MODL_create_instantiated_udf1
(
tag_t udf_define_tag,
UF_MODL_udf_exp_data_t * exp_data,
UF_MODL_udf_ref_data_t * ref_data,
tag_t * udf_insert_tag
)
UF_MODL_create_isocline_curves (view source)
Defined in: uf_modl_curves.h
Overview
Creates isocline curves on the given face defined by the specified
direction and angle.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_isocline_curves
(
tag_t face_id,
double direction [ 3 ] ,
double angle,
double dist_tol,
tag_t * * isocurve_id,
int * isocurve_cnt
)
tag_t | face_id | Input | The face identifier |
double | direction [ 3 ] | Input | Isocline direction (normalized vector) |
double | angle | Input | Isocline angle (between specified direction and normals of the curves) in degrees. Angle range is from -90 to +90 degrees. |
double | dist_tol | Input | Tolerance value. The tolerance is only used when the input face is foreign or an offset of a non analytic face. |
tag_t * * | isocurve_id | Output to be freed | Array of isocline curve object identifiers. The allocated arrays must be freed with UF_free(). |
int * | isocurve_cnt | Output | Number of curves created. |
UF_MODL_create_isocurve (view source)
Defined in: uf_modl_curves.h
Overview
Creates isoparametric curves on a face. You cannot create isoparametric
curves of constant v from a blend. The resulting isoparametric curves
are not "smart" curves. In other words, they are not associative to the
face from which they were created. If the face is modified, the curves
do not change.
Environment
Internal and External
Required License(s)
( solid_modeling or drafting )
int UF_MODL_create_isocurve
(
tag_t face_id,
int uv_flag,
double parameter,
double dist_tol,
tag_t * * isocurve_id,
int * isocurve_cnt
)
tag_t | face_id | Input | The face identifier. |
int | uv_flag | Input | 1 = create curve along u isoparameter. 2 = create curve along v isoparameter. |
double | parameter | Input | Parameter at which to create the curve. |
double | dist_tol | Input | Tolerance value. The tolerance is only used when the input face is foreign or an offset of a non analytic face. |
tag_t * * | isocurve_id | Output to be freed | Array of isoparametric curve identifiers. You may get multiple curves if the face is trimmed. The allocated arrays must be freed with UF_free(). |
int * | isocurve_cnt | Output | Number of curves created. |
UF_MODL_create_law (view source)
Defined in: uf_modl_curves.h
Overview
Prototypes for createa LAW parm
extern UFUNEXPORT int UF_MODL_create_law()
INPUT-
------
law_method = type of law
1 - constant (numeric law)
2 - linear (numeric law)
3 - cubic s-shape (numeric law)
4 - linear on spine (numeric law)
5 - by equation (equation law)
6 - cubic on spine (numeric law)
7 - by curves (graphic law)
law_str1 = contents depend on law_method setting
= 1 - expression for constant radius
= 2,3 - expression start radius value
= 5 - expression for t function
law_str2 = contents depend on law_method setting
= 0,1 - not used
= 2,3 - expression end radius value
= 5 - expression for f function
spine_string = spine curves depending on law_method setting
= 4,6 - (required)
= other - (optional)
law_cv_string = law curves (only for method = 7)
num_spine_points = number of spine points (method 4 and 6 only)
spine_xyz[] = 3D point coordinates of spine points selected (law_method
4 and 6 only)
spine_values[] = law function value on the 3d points (law_method
4 and 6 only)
base_line_tag = base line (law method 7 only)
base_direction = base line direction
+1 or
-1
OUTPUT-
-------
law_parm_ptr = a pointer for a LAW_PARM data struct
RETURNS-
--------
int = status
0 - no error
1 - invalid method
2 - missing spine
3 - missing law curve
Required License(s)
gateway
int UF_MODL_create_law
(
int law_method,
char * law_str1,
char * law_str2,
UF_STRING_t spine_str,
UF_STRING_t law_cv_str,
int num_spine_points,
double spine_xyz [ ] ,
double spine_values [ ] ,
tag_t base_line_tag,
int base_direction,
void * * uf_law_parms
)
int | law_method | Input | |
char * | law_str1 | Input | |
char * | law_str2 | Input | |
UF_STRING_t | spine_str | Input | |
UF_STRING_t | law_cv_str | Input | |
int | num_spine_points | Input | |
double | spine_xyz [ ] | Input | |
double | spine_values [ ] | Input | |
tag_t | base_line_tag | Input | |
int | base_direction | Input | |
void * * | uf_law_parms | Output | |
UF_MODL_create_law_extension (view source)
Defined in: uf_modl_freeform.h
Overview
Creates Law Extension feature from the Law Extension Open API data structure.
Environment
Internal and External
See Also
Required License(s)
( solid_modeling or drafting )
int UF_MODL_create_law_extension
(
UF_MODL_lawext_data_p_t law_extension_data,
tag_p_t law_extension
)
UF_MODL_lawext_data_p_t | law_extension_data | Input | Law Extension Open API data structure. |
tag_p_t | law_extension | Output | Law Extension feature object identifier. |
UF_MODL_create_linear_iset (view source)
Defined in: uf_modl_isets.h
Overview
Creates a linear instance set feature using the existing work
coordinate system. The values needed are the number in the XC
direction, spacing for the XC direction, number in the YC direction,
spacing in the YC direction, and a list of features to instance. The
output of this function is the object identifier associated to the linear
instance set.
A different instance set will be created for each item in the feature_list.
feature_obj_id will be the identifier of last instance set feature created.
To query ids of other instance set features, call UF_MODL_ask_instance_iset
with each item in the feature list as an argument.
To query instances created by this instance set use the function
UF_MODL_ask_instance
The method options correspond to what is available interactively. See
the Modeling User Manual for details.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_linear_iset
(
int method,
char * number_in_x,
char * distance_x,
char * number_in_y,
char * distance_y,
uf_list_p_t feature_list,
tag_t * feature_obj_id
)
int | method | Input | Method: 0 = General 1 = Simple 2 = Identical |
char * | number_in_x | Input | Number in XC direction. |
char * | distance_x | Input | Spacing in XC direction. |
char * | number_in_y | Input | Number in YC direction. |
char * | distance_y | Input | Spacing in YC direction. |
uf_list_p_t | feature_list | Input | List of selected CMOD features. |
tag_t * | feature_obj_id | Output | Feature object identifier of created linear iset |
UF_MODL_create_linked_exterior (view source)
Defined in: uf_linked_exterior.h
Overview
This function creates an Linked Exterior feature, and its
associated sheet bodies, in the same part as object_in_part. The
input faces will extracted as one or more, possibly disjoint,
regions. The xform gives the context for each face. Adjacent
faces which come from the same body and share an xform will be
joined into single sheet body. Input faces cannot be occurrences.
This feature is implemeted as a feature set which owns hidden
subfeatures similar to Linked Regions. The subfeatures should not be
edited or deleted individually.
See Also
UF_MODL_ask_linked_exterior
UF_MODL_edit_linked_exterior
UF_MODL_identify_exterior_using_hl
UF_MODL_identify_exterior_using_rays
Environment
Internal and External
History
Released in V18.0
Required License(s)
solid_modeling
int UF_MODL_create_linked_exterior
(
UF_MODL_linked_ext_p_t ext_data,
tag_t * feature_tag
)
UF_MODL_create_list (view source)
Defined in: uf_modl_utilities.h
Overview
Creates a linked list of objects. A list of objects may contain
identifiers for bodies, features, faces and edges. You use this routine
to create a list for those modeling routines that require a list as an
input; please do not use this for ask routines that return lists.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_list
(
uf_list_p_t * list
)
UF_MODL_create_local_scale (view source)
Defined in: uf_modl_dfo.h
Overview
This function performs a local scale
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_local_scale
(
UF_MODL_dfo_scale_type_t type,
UF_MODL_dfo_region_p_t region,
tag_t so_point,
tag_t so_dir,
tag_t so_csys,
char factors [ 3 ] [ UF_MAX_EXP_LENGTH ] ,
tag_t * feature_tag
)
UF_MODL_dfo_scale_type_t | type | Input | local scale type |
UF_MODL_dfo_region_p_t | region | Input | faces to be operated |
tag_t | so_point | Input | smart point |
tag_t | so_dir | Input | smart direction |
tag_t | so_csys | Input | smart coordinate system |
char | factors [ 3 ] [ UF_MAX_EXP_LENGTH ] | Input | scale factors |
tag_t * | feature_tag | Output | Feature object identifier of a created local scale |
UF_MODL_create_midsrf_feature (view source)
Defined in: uf_modl_freeform.h
Overview
Creates a midsurface feature. The returned midsurface feature tag
can then be used to add face pair features.
Environment
Internal and External
See Also
Required License(s)
( solid_modeling or nx_masterfem )
int UF_MODL_create_midsrf_feature
(
tag_t target_body,
tag_p_t feature_obj_id
)
tag_t | target_body | Input | Solid target body to place the Midsurface Feature |
tag_p_t | feature_obj_id | Output | Midsurface Feature tag |
UF_MODL_create_mirror_body (view source)
Defined in: uf_modl.h
Overview
Mirrors the input body about the datum plane specified.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_mirror_body
(
const tag_t body,
const tag_t datum_plane,
tag_t * mirrored_body
)
const tag_t | body | Input | Object identifier of the body to be mirrored. |
const tag_t | datum_plane | Input | Object identifier of the datum plane |
tag_t * | mirrored_body | Output | Object identifier for the mirror body feature. |
UF_MODL_create_mirror_pattern_face (view source)
Defined in: uf_modl_dfo.h
Overview
This function create mirror for a given set of faces.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_mirror_pattern_face
(
UF_MODL_dfo_region_p_t region,
tag_t mirror_plane,
tag_t * feature_tag
)
UF_MODL_create_mirror_set (view source)
Defined in: uf_modl.h
Overview
This function creates a mirror set feature.
Environment
Internal and External
History
Released in V16.0
Required License(s)
solid_modeling
int UF_MODL_create_mirror_set
(
tag_t * features,
int number_of_feature,
tag_t mirror_plane,
tag_t * mirror_set
)
tag_t * | features | Input | Array of features to mirror |
int | number_of_feature | Input | Number of features in the array |
tag_t | mirror_plane | Input | The mirror plane. This can be a face or a datum plane. |
tag_t * | mirror_set | Output | The tag of the new mirror set |
UF_MODL_create_move_region (view source)
Defined in: uf_modl_dfo.h
Overview
This function moves a set of faces by given transformation
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_move_region
(
UF_MODL_transform_type_t type,
UF_MODL_dfo_region_p_t region,
void * transf_data,
tag_t * feature_tag
)
UF_MODL_transform_type_t | type | Input | transformation type |
UF_MODL_dfo_region_p_t | region | Input | faces to be operated |
void * | transf_data | Input | transformation data, can be of following types: UF_MODL_transf_pp_p_t - point to point translation UF_MODL_transf_dist_p_t - translation along direction UF_MODL_transf_angle_p_t - rotation about axis UF_MODL_transf_aa_p_t - rotation between two axes |
tag_t * | feature_tag | Output | Feature tag |
UF_MODL_create_multi_transition_law (view source)
Defined in: uf_modl_curves.h
Overview
Generate law param data <uf_law_parms> for multi-transition laws
on base curves.
extern UFUNEXPORT int UF_MODL_create_multi_transition_law ()
INPUT-
------
UF_STRING_t spine_string = string for base curves, <Required>
int num_pts = number of law points, <Required>
double pt_xyzs = array of 3D coords, <Required>
char pt_law_values = array of law values, <Required>
int pt_trans_types = array of law types, <Required>
OUTPUT-
-------
uf_law_parms = pointer for law_param data, To be freed from caller
MODL_law_pm_free ((MODL_law_p_t)(uf_law_parms));
RETURNS-
--------
0 = no error
2 = error
Required License(s)
gateway
int UF_MODL_create_multi_transition_law
(
UF_STRING_t spine,
int num_pts,
double * pt_xyzs,
char * * pt_law_values,
int * pt_trans_types,
void * * uf_law_parms
)
UF_STRING_t | spine | Input | |
int | num_pts | Input | |
double * | pt_xyzs | Input | |
char * * | pt_law_values | Input | |
int * | pt_trans_types | Input | |
void * * | uf_law_parms | Output | |
UF_MODL_create_multiple_sews (view source)
Defined in: uf_modl.h
Overview
Create multiple sewn sheets from a set of sheets. This routine returns a list
of sheet bodies. If you want the sew features, they can be obtained by calling
Environment
Internal and External
See Also
History
Modified in V15 to return a list of sheet bodies, not a list of SEW
features
Required License(s)
solid_modeling
int UF_MODL_create_multiple_sews
(
tag_t target_sheet,
int num_tools,
tag_t tools_sheet [ ] ,
double tolerance,
uf_list_p_t* disjoint_list,
uf_list_p_t* sew_list
)
tag_t | target_sheet | Input | Target sheet |
int | num_tools | Input | Number of tools sheet array. |
tag_t | tools_sheet [ ] | Input | Tools sheet array. |
double | tolerance | Input | tolerance value. |
uf_list_p_t* | disjoint_list | Output to be freed | List of disjoint sheets. This list must be freed by calling UF_MODL_delete_list. |
uf_list_p_t* | sew_list | Output to be freed | List of sewn sheets. These are sheet bodies. If you want the sheet feature, then you must call UF_MODL_ask_body_features and then search the list for the latest SEW feature. This list must be freed by calling UF_MODL_delete_list. |
UF_MODL_create_non_uni_scale (view source)
Defined in: uf_modl.h
Overview
Create a non-uniform scale feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_non_uni_scale
(
tag_t body_eid,
int csys_type,
char * scale_factors [ 3 ] ,
tag_t * feature_eid
)
tag_t | body_eid | Input | EID of body to be scaled |
int | csys_type | Input | Currently only UF_CSYS_WORK_COORDS is accepted |
char * | scale_factors [ 3 ] | Input | |
tag_t * | feature_eid | Output | EID of the scale feature |
UF_MODL_create_offset_region (view source)
Defined in: uf_modl_dfo.h
Overview
This function offset a region by a given distance along face normals.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_offset_region
(
UF_MODL_dfo_region_p_t region,
char * offset,
tag_t * feature_tag
)
UF_MODL_dfo_region_p_t | region | Input | faces to be operated |
char * | offset | Input | offset value, in expression string |
tag_t * | feature_tag | Output | feature_tag created by the operation. |
UF_MODL_create_plane (view source)
Defined in: uf_modl.h
Overview
Create a plane.
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_create_plane
(
double origin_point [ 3 ] ,
double plane_normal [ 3 ] ,
tag_t * plane_tag
)
double | origin_point [ 3 ] | Input | Origin point of the plane |
double | plane_normal [ 3 ] | Input | Plane normal |
tag_t * | plane_tag | Output | New plane |
UF_MODL_create_point_dirr_daxis (view source)
Defined in: uf_modl_datum_features.h
Overview
Creates a datum axis at a given point with a given direction.
If smart objects are used to specify the start point or direction,
their update option must be set to UF_SO_update_within_modeling.
Environment
Internal and External
See Also
History
Original release was in V16.0.
Required License(s)
solid_modeling
int UF_MODL_create_point_dirr_daxis
(
tag_t point,
tag_t direction,
tag_t * daxis_tag
)
tag_t | point | Input | The start point of the datum axis. |
tag_t | direction | Input | The direction of the datum axis. |
tag_t * | daxis_tag | Output | The created datum axis. This is a not a feature tag. To obtain the feature tag use UF_MODL_ask_object_feat. |
UF_MODL_create_point_dirr_dplane (view source)
Defined in: uf_modl_datum_features.h
Overview
Creates a datum plane perpendicular to a given direction at a given point.
If smart objects are used to specify the point or direction,
their update option must be set to UF_SO_update_within_modeling.
Environment
Internal and External
See Also
History
Original release was in V16.0.
Required License(s)
solid_modeling
int UF_MODL_create_point_dirr_dplane
(
tag_t point,
tag_t direction,
tag_t * dplane_tag
)
tag_t | point | Input | A point on the datum plane. |
tag_t | direction | Input | The normal to the datum plane. |
tag_t * | dplane_tag | Output | The created datum plane. This is a not a feature tag. To obtain the feature tag use UF_MODL_ask_object_feat. |
UF_MODL_create_points_feature (view source)
Defined in: uf_modl.h
Overview
Create a Points Feature
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_create_points_feature
(
int num_points,
tag_t * points,
tag_t * feature_tag
)
int | num_points | Input | Number of points |
tag_t * | points | Input | Array of point tags |
tag_t * | feature_tag | Output | Feature tag |
UF_MODL_create_proj_curves (view source)
Defined in: uf_modl_curves.h
Overview
Creates associated projected curves. The tolerance used to create a
curve projection can be changed by using the subroutine
UF_MODL_set_distance_tolerance. The projection along face normals or
along a vector produces an exact projection when projecting onto a plane.
The projected curve feature can be deleted using UF_MODL_delete_feature or
the curves can be accessed using UF_MODL_ask_proj_curves and deleted
individually. Similarly, UF_MODL_move_feature can be used to move the
projected curve feature.
Environment
Internal and External
See Also
Required License(s)
( solid_modeling or drafting )
int UF_MODL_create_proj_curves
(
uf_list_p_t curve_refs,
uf_list_p_t face_refs,
int along_face_normal,
double * proj_vector,
tag_t * proj_curve_feature
)
uf_list_p_t | curve_refs | Input | List of curve, sketch, or projected curve feature identifiers. |
uf_list_p_t | face_refs | Input | List of plane, datum plane, or face identifiers. |
int | along_face_normal | Input | 0 = Use projection vector (proj_vector) 1 = Use face normals |
double * | proj_vector | Input | 3D vector in absolute space |
tag_t * | proj_curve_feature | Output | Projected curve feature identifier |
UF_MODL_create_promotion (view source)
Defined in: uf_modl_promotions.h
Overview
Creates a promotion feature using the input body occurrence. The promotion
feature is created in the work part. The occurrence must be a solid body
occurrence from either the work part or one of its superassemblies.
The occurrence is also used to determine which of the possibly many copies of
the base solid in the assembly to promote.
Note : The Part Navigator may be left out of date with this call.
Need to call UF_MODL_update to update it.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_promotion
(
tag_t body_occ,
tag_t * feature_tag
)
tag_t | body_occ | Input | Tag of the body occurrence to be promoted |
tag_t * | feature_tag | Output | Tag of the newly created promotion feature |
UF_MODL_create_quilt (view source)
Defined in: uf_modl_freeform.h
Overview
Creates a quilt surface.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_quilt
(
UF_MODL_quilt_type_t quilt_data,
UF_MODL_quilt_data_structures_p_u quilt_structure_po,
tag_t * quilt_tag,
int * tol_achieved
)
UF_MODL_quilt_type_t | quilt_data | Input | Type of quilt surface UF_MODL_CURVE_MESH_ALONG_FIXED_VECTOR UF_MODL_CURVE_MESH_ALONG_DRIVER_NORMALS UF_MODL_B_SURFACE_ALONG_FIXED_VECTOR UF_MODL_B_SURFACE_ALONG_DRIVER_NORMALS UF_MODL_SELF_REFIT |
UF_MODL_quilt_data_structures_p_u | quilt_structure_po | Input | Pointer to structure containing the defining data of the quilt surface. |
tag_t * | quilt_tag | Output | Object identifier of quilt surface to be created |
int * | tol_achieved | Output | Flag indicating that the resultant face achieved the tolerance requirements. 0 = No 1 = yes |
UF_MODL_create_reblend_face (view source)
Defined in: uf_modl_dfo.h
Overview
Create a reblend face feature
Environment
Internal and External
History
V19 release
Required License(s)
solid_modeling
int UF_MODL_create_reblend_face
(
UF_MODL_reblend_face_data_p_t reblend_data,
tag_t * reblend_eid
)
UF_MODL_create_rect_groove (view source)
Defined in: uf_modl_grooves.h
Overview
Creates a rectangular groove feature by inputting its location,
direction, diameter and width. Along with these items a placement
face is needed to determine which face the groove is associated to.
The output of this function is the object identifier associated to the
rectangular groove.
Environment
Internal and External
See Also
The
code creates the cylinder
and rectangular groove shown in the preceding figure.
Required License(s)
solid_modeling
int UF_MODL_create_rect_groove
(
double location [ 3 ] ,
double direction [ 3 ] ,
char * diame,
char * width,
tag_t face,
tag_t * feature_obj_id
)
double | location [ 3 ] | Input | Rectangular groove location. |
double | direction [ 3 ] | Input | Rectangular groove direction. |
char * | diame | Input | Rectangular groove diameter. |
char * | width | Input | Rectangular groove width. |
tag_t | face | Input | Face for the RPO constraint. The face should be of type UF_cylinder_type or UF_cone_type. |
tag_t * | feature_obj_id | Output | Feature object identifier of created rectangular groove |
UF_MODL_create_rect_pad (view source)
Defined in: uf_modl_pads.h
Overview
Creates a rectangular pad feature using a location, direction, X
direction, size, corner radius and taper angle. Along with these items
a placement face is needed to determine which face the pad is
associated to. The output of this function is the object identifier
associated to the rectangular pad.
Return
Return code:
= 0: successful
> 0: failing error number
< 0: failing error number
Environment
Internal and External
History
For V18.0, a datum plane may be input as the face defining the
RPO constraint.
See Also
Required License(s)
solid_modeling
int UF_MODL_create_rect_pad
(
double location [ ] ,
double direction [ ] ,
double x_dir [ 3 ] ,
char * size [ 3 ] ,
char * radius,
char * angle,
tag_t face,
tag_t * feature_obj_id
)
double | location [ ] | Input | Rectangular pad location. |
double | direction [ ] | Input | Rectangular pad direction. |
double | x_dir [ 3 ] | Input | Rectangular pad x direction. |
char * | size [ 3 ] | Input | Rectangular pad size. |
char * | radius | Input | Rectangular pad corner radius. |
char * | angle | Input | Rectangular pad taper angle. |
tag_t | face | Input | Face for the RPO constraint (may be a datum plane). |
tag_t * | feature_obj_id | Output | Feature object identifier of created rect. pad |
UF_MODL_create_rect_pocket (view source)
Defined in: uf_modl_pockets.h
Overview
Creates a rectangular pocket feature using the location, direction, X
direction, size, corner radius, floor radius and taper angle. Along with
these items a placement face is needed to determine which face the
pocket is associated to. The output of this function is the object
identifier associated to the rectangular pocket.
Return
Return code:
= 0: successful
> 0: failing error number
< 0: failing error number
Environment
Internal and External
History
For V18.0, a datum plane may be input as the face defining the
RPO constraint.
See Also
Required License(s)
solid_modeling
int UF_MODL_create_rect_pocket
(
double location [ ] ,
double direction [ ] ,
double x_dir [ ] ,
char * len [ 3 ] ,
char * corner,
char * floor,
char * angle,
tag_t face,
tag_t * feature_obj_id
)
double | location [ ] | Input | Rectangular pocket location. |
double | direction [ ] | Input | Rectangular pocket direction. |
double | x_dir [ ] | Input | Rectangular pocket x direction. |
char * | len [ 3 ] | Input | Rectangular pocket size. |
char * | corner | Input | Rectangular pocket corner radius. |
char * | floor | Input | Rectangular pocket floor radius. |
char * | angle | Input | Rectangular pocket taper angle. |
tag_t | face | Input | Face for the RPO constraint (may be a datum plane). |
tag_t * | feature_obj_id | Output | Feature object identifier of created rect. pocket |
UF_MODL_create_rect_slot (view source)
Defined in: uf_modl_slots.h
Overview
Creates a rectangular slot feature using an origin, tool axis, slot
direction, length, width, and depth. One of two creation methods are
taken depending on whether you want a thru slot or not. If you want a
defined distance, then input the distance and placement face. Also,
set the value of face_t1 and face_t2 to zero. But, if you want to have
the slot thru from one face to another, then supply the placement face
and the two faces from which to measure the slot distance. The
output of this function is the object identifier associated to the
rectangular slot.
The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_rect_slot
(
double location [ ] ,
double tool_axis [ ] ,
double direction [ ] ,
char * width,
char * depth,
char * distance,
tag_t face_li,
tag_t face_t1,
tag_t face_t2,
tag_t * feature_tag
)
double | location [ ] | Input | Rectangular slot location. |
double | tool_axis [ ] | Input | Rectangular slot tool axis. |
double | direction [ ] | Input | Rectangular slot direction. |
char * | width | Input | Rectangular slot width. |
char * | depth | Input | Rectangular slot depth. |
char * | distance | Input | Rectangular slot distance. |
tag_t | face_li | Input | Face for the RPO constraint. |
tag_t | face_t1 | Input | Face for thru face 1. |
tag_t | face_t2 | Input | Face for thru face 2. |
tag_t * | feature_tag | Output | Feature object identifier of created rectangular slot |
UF_MODL_create_rectangular_pattern_face (view source)
Defined in: uf_modl_dfo.h
Overview
This function create rectangular patterns for a given set of faces.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_rectangular_pattern_face
(
UF_MODL_dfo_region_p_t region,
tag_t x_axis,
tag_t y_axis,
int num_x,
int num_y,
char * x_offset,
char * y_offset,
tag_t * feature_tag
)
UF_MODL_dfo_region_p_t | region | Input | region |
tag_t | x_axis | Input | x-axis to define offset |
tag_t | y_axis | Input | y-axis |
int | num_x | Input | number along XC |
int | num_y | Input | number along YC, only for type==0 |
char * | x_offset | Input | offset along XC |
char * | y_offset | Input | offset along YC |
tag_t * | feature_tag | Output | the new feature |
UF_MODL_create_refit_face_feature (view source)
Defined in: uf_modl_freeform.h
Overview
Creates Refit Face feature from the Refit Face Open API data structure.
This will always create a new feature rather than modifying the parent feature.
This works like interactive NXwhen Preferences -> Modeling -> Free Form has
the Associative Freeform Editing option toggled to ON.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_refit_face_feature
(
UF_MODL_refit_face_data_p_t refit_data,
tag_p_t refit
)
UF_MODL_create_relative_daxis (view source)
Defined in: uf_modl_datum_features.h
Overview
Allows you to create relative datum axes. When the geometric objects
of the constraints and/or point types (for point constraints) are input,
the routine creates the appropriate datum axis.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_relative_daxis
(
int num_refs,
tag_t obj_eids [ 3 ] ,
int point_select [ 3 ] ,
tag_t * daxis_feid
)
int | num_refs | Input | number of constraints maximum number of three |
tag_t | obj_eids [ 3 ] | Input | eids of the constraint objects maximum number of three |
int | point_select [ 3 ] | Input | Array indicating to use edge constraint or point on edge constraint if edge tag is supplied in obj_tags: UF_MODL_EDGE UF_MODL_MID_POINT UF_MODL_END_POINT UF_MODL_RIGHT_END_POINT start point of the edge UF_MODL_LEFT_END_POINT end point of edge |
tag_t * | daxis_feid | Output | Feature tag for the created datum axis, or NULL_TAG if the datum axis was not created. |
UF_MODL_create_relative_dplane (view source)
Defined in: uf_modl_datum_features.h
Overview
Allows you to create relative datum planes based on the input
constraints. Refer to the table of available constraint types shown
below for the allowable combination of constraint types. If any of the
constraint geometry is an edge, then you must specify whether you are
using the edge or a point on the edge via the point_select parameter.
The which_plane argument determines which datum plane solutions
are returned. You can get up to two datum planes depending on the
specified constraints. The reference point is used to specify which
plane is returned first in the dplane_tag array. If you do not specify
this value, then the datum planes are returned in an arbitrary order.
When editing the Datum Plane created by this function an old style datum plane
dialog will be presented.
See the
table of available constraint types
NOTE: A "Through Point" constraint can only be specified by putting an edge in
the object_tags array and an appropriate mid/end modifier in the
point_select array.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_relative_dplane
(
int num_refs,
tag_t object_tags [ 3 ] ,
int point_select [ 3 ] ,
int which_plane,
double reference_point [ 3 ] ,
char * angle_string,
char * offset_string,
int* num_dplanes,
tag_t dplane_tag [ 2 ]
)
int | num_refs | Input | Number of constraint objects (<=3). |
tag_t | object_tags [ 3 ] | Input | Array of constraint object tags (<=3). See the table of "Available Constraint Types" for possible constraint types. |
int | point_select [ 3 ] | Input | Array indicating to use edge constraint or point on edge constraint if edge tag is supplied in obj_tags: UF_MODL_EDGE UF_MODL_MID_POINT UF_MODL_END_POINT UF_MODL_RIGHT_END_POINT start point of the edge UF_MODL_LEFT_END_POINT end point of edge |
int | which_plane | Input | Solution number if more than one datum plane can be constructed for the set of input constraints. For the case where the first input object is a CYL/REV/CONE/SPHERE and the second input object is a PLANE: 1. Two planes parallel to plane and tangent to the face. The plane closest to the reference point is returned first in the dplane_tag array. 2. Two planes perpendicular to plane and tangent to the face. The plane closest to the reference point is returned first in the dplane_tag array. 3. Plane through the face axis and angle to plane. No reference point needed for this case. For the case where the first input object is a CYL/REV and the second input object is a CYL/REV/SPHERE: (see Figure for examples) 1. Two planes where the tangency is on the "same sides" of the faces. The plane closest to the reference point is returned first in the dplane_tag array. 2. Two planes where the tangency is on the "opposite sides" of the faces. The plane closest to the reference point is returned first in the dplane_tag array. 3. Plane through both the face axes. No reference point needed for this case. For the case where the first input object is a CYL/REV/SPHERE and the second input object is a POINT: 1. Two planes tangent to the face and through point. The plane closest to the reference point is returned first in the dplane_tag array. |
double | reference_point [ 3 ] | Input | Reference points used with which_plane flag. If NULL, then the order of the datum planes in the dplane_tag array is arbitrary. |
char * | angle_string | Input | Angle parameter string. |
char * | offset_string | Input | Offset parameter string. |
int* | num_dplanes | Output | Number of datum planes returned (<=2) |
tag_t | dplane_tag [ 2 ] | Output | The created datum plane(s). These are feature tags. |
UF_MODL_create_reparam_sheet (view source)
Defined in: uf_modl_freeform.h
Overview
Creates a single, bicubic, b-surface, sheet body that approximates a
four-sided region of several existing faces. The driver curves or
B-surface must lie inside the boundary of the target surfaces.
Basically, points on a "driver" surface are projected along some given
vector or along the driver surface normal vectors onto the "target"
faces (the ones being approximated). These projected points are then
used to construct the approximating sheet body. You can think of the
projection as a process of emitting a ray from each original point to
hit the target faces.
The accuracy of the approximated sheet body depends on the supplied
tolerances. See the section on tolerances for more information.
Projection Type, Vector, and Size Limit (tol[4])
If the proj_type is set to use driver surface normal, then you do not
need to supply any data for the projection vector (it is ignored if you
do). Otherwise, a projection vector must be specified.
When using surface normal projections, you may supply a tolerance
value (tol[4]). This value helps the algorithm decide which point on
the approximating faces to use if the faces bend around and the
emitted ray finds two intersection points. A value of zero causes the
system to default to 10 times the interior distance tolerance. If your
driver is far from the target (more than 10 times the tolerance), then
you should adjust the projection size limits.
Driver Type
Internally, the driver is always a b-surface. However, for
convenience, we allow you to select a mesh of curves, instead of a
surface. We just build a b-surface internally from this mesh of curves.
Therefore, when you use curves as drivers, they must satisfy all the
conditions required for building a curve-mesh free form.
The last driver type option, self-refit, provides a short-cut way to
approximate a single untrimmed b-surface. You might do this if you are
given a surface of high degree and you want to approximate it with a lower
degree surface (the reparameterize function always outputs bicubic surfaces,
i.e. surfaces of degree 3 in both the U and V directions).
Overlap Checking
If this option is set to "Yes," then the system checks for and tries to
handle overlapping faces. The system tries to intersect each ray with
all nearby faces, and finds the "uppermost" projection point. This can
be a time exhaustive process. If the overlap option is set to "No," the
algorithm assumes that each emitted ray can only hit one target face,
so it stops and proceeds to the next ray as soon as it finds a hit. This is
less time exhaustive if the target faces do not actually overlap, or if
they are close together in the regions where they do overlap.
Curves
The primary and cross curves are only necessary if you indicate the
driver type to be curves. The number of primary and cross curves must
be at least two and less than 50. The number of curves and the curve
tags are ignored if you specify a driver type other than curve. The
curves are going to be used to build a curve-mesh free form.
Therefore, each primary curve must intersect each of the cross curves
once and only once. If you suspect your curves are inappropriate, you
might want to build the curve-mesh free form body yourself before
using the reparameterize function.
If you have specified a driver type of face or self-refit, than specify
the appropriate face tag. Obviously, using an existing driver surface is
much more convenient than using the same set of driving curves over
and over again. So, if you are using the function repeatedly in a loop,
it might be worth constructing the b-surface sheet body to use as a driver.
Tolerances
This allows you to specify the tolerances to be used in the
approximation process. The algorithm actually starts out with a very
simple approximating surface (which is unlikely to be within
tolerance) and then gradually makes it more complex until it is able to
replicate the original shape to within the specified tolerances. Using
tighter tolerances produces a more complex result, and this consumes
storage space and slows down all subsequent operations. Therefore,
the tolerances you use should not be any tighter than they need to be.
We expect the algorithm to be used with distance tolerances of around
.039 to 0.195 inches (1 to 5 mm) and angular tolerances of 2 to 20
degrees. If you use tight angular tolerances on very wavy surfaces, the
algorithm generates huge number of patches. If you set both angular
tolerances to 90 degrees, then angular deviation in not even checked,
which greatly speeds up processing.
To achieve reasonable performance, the algorithm does not rigorously
check the deviation between the approximating face and the originals.
We actually just check a small array of points on each patch of the
approximating face. Experience has shown that this is a reasonable
way to estimate the actual error in practical cases, though one could
certainly construct pathological examples where this approach would fail.
Tighter tolerances may be specified at the edges to assure better
alignment with adjacent faces. Looser tolerances in the interior may
be specified to allow a simpler face to be created.
Target Faces
Faces can lie on a single body or on multiple bodies. Only face tags
may be used. This parameter is ignored if you specified the self-refit
option for driver type.
Output
The function returns the tag of the created sheet body and a flag
stating where the surface was able to meet tolerance. The tolerance
flag has no meaning if a body was not created. The face created is a
bicubic b-surface with double knots, which means it is C1 continuous
See
glossary
In other words, the face is smooth, it does not have any sharp ridges
or cusps. The resulting body is not associative to the input data.
The sheet body may not reach tolerance if, during the approximation
process, one of the patches is found to be smaller in width or length
than the inside distance tolerance. This usually indicates a
perturbation or other anomaly in a region of one of the input faces.
You may wish to analyze the resulting face for deviations, validity, and
shape. The algorithm does not really make any attempt to preserve
the "character" of the input faces, it just tries to stay within tolerance.
Small features sometimes get smoothed away and extraneous wrinkles
may be introduced, especially in areas with tight curvature.
Tips and Techniques
The algorithm assumes that your input faces are reasonably clean. It is
designed to handle certain types of anomalies, such as small gaps
(up to approximately 1mm) overlaps, providing the overlapping faces are
roughly the same height, very thin faces (up to 0.1 mm wide) and duplicate
faces.
In all of the figures that follow in this tips and techniques section we show
a side view of the driver surface and target faces. The driver surface is
always shown above the target faces. However, the approximation process has
difficulties handling input data in which there are extraneous faces that are
at different heights from the desired face.
overlapping faces that are at different heights
faces that have not been properly trimmed back (for example, when filleted)
sharp ridges, where faces do not join smoothly
backdrafts and undercuts nearly vertical walls.
For simple shapes, with loose tolerances, a brute force approach, using
just four drive curves, might work okay. But taking some care in the
constructing drive curves is usually worth the extra effort. If your
target face includes feature lines like long ridges or valleys with
small radius of curvature in one direction, you should try to construct
driver curves that run roughly parallel to these. This makes it much
easier for the algorithm to achieve tolerance using a reasonably small
number of patches.
It may be a good idea to build several approximating faces, and then sew
them together, instead of trying to approximate the entire area with a
single face. This often produces less data and smaller models. One reason
for this is the natural patch structure for b-surfaces. The "seams" between
patches on a single surface must always run all the way across the surface,
from one edge to the opposite edge. This means that any complexity that gets
introduced into the surface in one area propagates across the entire
surface. If you approximate different regions separately, you can sew
the approximating face together into a sheet body.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_reparam_sheet
(
int proj_type,
int drv_type,
int check_overlap,
int num_primary,
tag_t * prim_cvs,
int num_cross,
tag_t * cros_cvs,
double * proj_vec,
int num_fs,
tag_t * faces,
double tols [ 5 ] ,
tag_t * new_face,
int * tol_achieved
)
int | proj_type | Input | Type of projection 0 = Use input vector 1 = Use driver surface normal |
int | drv_type | Input | Type of drive 0 = Curves 1 = Face (B-surface type) 2 = Self-refit (B-surface type) |
int | check_overlap | Input | Flag for controlling the overlap checking 0 = No 1 = Yes |
int | num_primary | Input | Number of primary curves |
tag_t * | prim_cvs | Input | Object identifiers of the primary curves (face object identifier, if drv_typ != 0) |
int | num_cross | Input | Number of cross curves |
tag_t * | cros_cvs | Input | Object identifiers of the cross curves |
double * | proj_vec | Input | Projection vector |
int | num_fs | Input | Number of target faces |
tag_t * | faces | Input | Object identifiers of the target faces |
double | tols [ 5 ] | Input | Tolerances: [0] = Distance tolerance in interior of surface [1] = Angular tolerance (in degrees) in interior of surface [2] = Outside edge distance tolerance [3] = Outside edge angular tolerance (in degrees) [4] = Projection size limit (0 - if no limit) |
tag_t * | new_face | Output | Object identifier of the resultant face |
int * | tol_achieved | Output | Flag indicating that the resultant face achieved the tolerance requirements. 0 = No 1 = Yes |
UF_MODL_create_replace_face (view source)
Defined in: uf_modl_dfo.h
Overview
This function replaces the surface data of target faces with that of a tool face.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_replace_face
(
tag_t * target_faces,
int num_target,
tag_t * non_blend_faces,
int num_non_blend,
tag_t tool_face,
logical reverse_direction,
tag_t * feature_tag
)
tag_t * | target_faces | Input | target faces |
int | num_target | Input | number of faces |
tag_t * | non_blend_faces | Input | adjacent tangent faces which are not blends |
int | num_non_blend | Input | number of non-blend faces |
tag_t | tool_face | Input | tool face |
logical | reverse_direction | Input | reverse direction of the tool face or not |
tag_t * | feature_tag | Output | feature_tag created by the operation. |
UF_MODL_create_resize_face (view source)
Defined in: uf_modl_dfo.h
Overview
This function changes the size of a set of cylindrical/spherical/conic faces.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_resize_face
(
tag_t * target_faces,
int num_target,
tag_t * non_blend_faces,
int num_non_blend,
char * new_parameter,
tag_t * feature_tag
)
tag_t * | target_faces | Input | faces to be operated |
int | num_target | Input | number of faces |
tag_t * | non_blend_faces | Input | adjacent tangent faces which are not blends |
int | num_non_blend | Input | number of non-blend faces |
char * | new_parameter | Input | new diameter for cylindrical/spherical faces, or half angle |
tag_t * | feature_tag | Output | the new feature |
UF_MODL_create_reverse_normal (view source)
Defined in: uf_modl.h
Overview
Create a reverse normal feature. This will flip the normal on a sheet body.
Environment
Internal and External
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_create_reverse_normal
(
tag_t sheet_body_tag,
int option_flag,
tag_t * reverse_normal_tag
)
tag_t | sheet_body_tag | Input | sheet body to be reversed |
int | option_flag | Input | = 0 - do not allow multiple reverse normal features on the sheet body = 1 - allow multiple reverse normal features on the sheet body |
tag_t * | reverse_normal_tag | Output | identifier for reverse normal feature |
UF_MODL_create_revolution (view source)
Defined in: uf_modl_sweep.h
Overview
Creates a revolved feature.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_revolution
(
tag_t * objects,
int object,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * limit [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
double axis_point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t * * features,
int* number_of_features
)
tag_t * | objects | Input | Array of objects or one section builder object tag but not both, to be revolved |
int | object | Input | Count of objects |
UF_MODL_SWEEP_TRIM_object_p_t | trim_data | Input | Pointer to structure for trimming data |
char * | limit [ 2 ] | Input | Limit of revolution. |
char * | offsets [ 2 ] | Input | Offsets for open strings |
double | region_point [ 3 ] | Input | Point on region of object |
logical | region_specified | Input | True or False for region desired |
logical | solid_creation | Input | If the body_type preference set by UF_MODL_set_body_type_pref is UF_MODL_SOLID_BODY, and solid_creation is set to TRUE, then UF_MODL_create_revolution creates solid bodies if the input string is closed. Otherwise, sheet bodies are the result. |
double | axis_point [ 3 ] | Input | Point of origin for axis direction vector |
double | direction [ 3 ] | Input | Revolution axis direction vector. |
UF_FEATURE_SIGN | sign | Input | The 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 * * | features | Output to be freed | Array of revolved feature tags. This must be freed by calling UF_free. |
int* | number_of_features | Output | Number of features returned |
UF_MODL_create_revolution1 (view source)
Defined in: uf_modl_sweep.h
Overview
Creates a revolved feature, and performs Boolean operation with given target
body.
Environment
Internal and External
See Also
History
Originally released in V16.0.
Required License(s)
solid_modeling
int UF_MODL_create_revolution1
(
tag_t * objects,
int object,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * limit [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ 3 ] ,
logical region_specified,
logical solid_creation,
double axis_point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
tag_t * * features,
int* number_of_features
)
tag_t * | objects | Input | Array of objects or one section builder object tag but not both, to be revolved |
int | object | Input | Count of objects |
UF_MODL_SWEEP_TRIM_object_p_t | trim_data | Input | Pointer to structure for trimming data |
char * | limit [ 2 ] | Input | Limit of revolution. |
char * | offsets [ 2 ] | Input | Offsets for open strings |
double | region_point [ 3 ] | Input | Point on region of object |
logical | region_specified | Input | True or False for region desired |
logical | solid_creation | Input | If the body_type preference set by UF_MODL_set_body_type_pref is UF_MODL_SOLID_BODY, and solid_creation is set to TRUE, then UF_MODL_create_revolution creates solid bodies if the input string is closed. Otherwise, sheet bodies are the result. |
double | axis_point [ 3 ] | Input | Point of origin for axis direction vector |
double | direction [ 3 ] | Input | Revolution axis direction vector. |
UF_FEATURE_SIGN | sign | Input | The 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 | target_body | Input | target body to perform Boolean operation |
tag_t * * | features | Output to be freed | Array of revolved feature tags. This must be freed by calling UF_free. |
int* | number_of_features | Output | Number of features returned |
UF_MODL_create_revolution_dir (view source)
Defined in: uf_modl_sweep.h
Overview
Creates a revolved feature. This function behaves like
UF_MODL_create_revolution, except the revolved point and direction are
determined by the direction of the input datum.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_revolution_dir
(
tag_t * objects,
int object,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * limit [ 2 ] ,
char * offsets [ 2 ] ,
double region_point [ ] ,
logical region_specified,
logical solid_creation,
tag_t datum_tag,
UF_FEATURE_SIGN sign,
tag_t * * features,
int* number_of_features
)
tag_t * | objects | Input | Array of objects or one section builder object tag but not both, to be revolved |
int | object | Input | Count of objects |
UF_MODL_SWEEP_TRIM_object_p_t | trim_data | Input | Pointer to structure for trimming data |
char * | limit [ 2 ] | Input | Limit of the revolution. |
char * | offsets [ 2 ] | Input | Offsets for open strings |
double | region_point [ ] | Input | Point on region of object |
logical | region_specified | Input | True or False for region desired |
logical | solid_creation | Input | If the body_type preference set by UF_MODL_set_body_type_pref is UF_MODL_SOLID_BODY, and solid_creation is set to TRUE, then UF_MODL_create_revolution creates solid bodies if the input string is closed. Otherwise, sheet bodies are the result. |
tag_t | datum_tag | Input | Object identifier of the datum which is to be used to determine the direction of the revolve. |
UF_FEATURE_SIGN | sign | Input | The 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 * * | features | Output to be freed | Array of revolved feature tags. This must be freed by calling UF_free. |
int* | number_of_features | Output | Number of features returned |
UF_MODL_create_revolved (view source)
Defined in: uf_modl_sweep.h
Overview
Creates a solid of revolution.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_revolved
(
uf_list_p_t obj_id_list,
char * limit [ 2 ] ,
double point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
uf_list_p_t * feature_list
)
uf_list_p_t | obj_id_list | Input | List of objects or one section builder object tag but not both, to be revolved |
char * | limit [ 2 ] | Input | Limits of revolution. The declaration should be limit[2], where limit[0] = start angle and limit[1] = end angle. Angles are in degrees. |
double | point [ 3 ] | Input | Point |
double | direction [ 3 ] | Input | Revolution axis. |
UF_FEATURE_SIGN | sign | Input | The sign of the operation to be performed. UF_NULLSIGN = create new target solid UF_POSITIVE = add to target solid UF_NEGATIVE = subtract from target solid UF_UNSIGNED = intersect with target solid |
uf_list_p_t * | feature_list | Output to be freed | List of feature identifiers created. This list must be freed by calling UF_MODL_delete_list. |
UF_MODL_create_revolved1 (view source)
Defined in: uf_modl_sweep.h
Overview
Creates a solid of revolution, and performs Boolean operation with given
target body.
Environment
Internal and External
See Also
History
Originally released in V16.0.
Required License(s)
solid_modeling
int UF_MODL_create_revolved1
(
uf_list_p_t obj_id_list,
char * limit [ 2 ] ,
double point [ 3 ] ,
double direction [ 3 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
uf_list_p_t * feature_list
)
uf_list_p_t | obj_id_list | Input | List of objects or one section builder object tag but not both, to be revolved |
char * | limit [ 2 ] | Input | Limits of revolution. The declaration should be limit[2], where limit[0] = start angle and limit[1] = end angle. Angles are in degrees. |
double | point [ 3 ] | Input | Point |
double | direction [ 3 ] | Input | Revolution axis. |
UF_FEATURE_SIGN | sign | Input | The 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 | target_body | Input | Boolean target |
uf_list_p_t * | feature_list | Output to be freed | List of feature identifiers created. This list must be freed by calling UF_MODL_delete_list. |
UF_MODL_create_ripedge (view source)
Defined in: uf_modl_smd.h
Overview
Create a Edge Rip feature.
Environment
Internal and External
History
Released in NX3.0
Required License(s)
sheet_metal_design
int UF_MODL_create_ripedge
(
UF_MODL_ripedge_data_p_t ripedge_ufdata,
tag_t * ripedge_tag
)
UF_MODL_create_rough_offset (view source)
Defined in: uf_modl_freeform.h
Overview
This function will create a rough offset feature.
Environment
History
Released in V18.0
Required License(s)
solid_modeling
int UF_MODL_create_rough_offset
(
UF_MODL_rough_offset_p_t parms,
tag_t * feature_tag
)
UF_MODL_create_rpo_constraints (view source)
Defined in: uf_modl_ugopenint.h
Overview
Creates relative positioning constraints.
This function is for internal Open API mode only. Parameters
target_qualifier[] and tool_qualifier[] allow settings for
specifying which end point of an edge to use. Use
UF_MODL_ask_edge_verts to determine the order of the end points.
For features that are automatically booleaned into the target, this
function should only be called from within a rpo routine as
specified by UF_MODL_register_rpo_routine.
There are three constraint types that are present interactively that do
not appear in the constraint_array[ ]: Point Onto Point, Point Onto
Line, and Line Onto Line.
Point Onto Point - Can require one or two constraint types depending on
what you constrain. For example, to constrain a circular pad onto
a circular cylinder, use PARA_DIST_PARMS and set the constraint value to
"0.0". However, if you wish to constrain rectangular features you may need
to use HORZ_DIST_PARMS and VERT_DIST_PARMS and set both constraint values
to "0.0".
Point Onto Line - Use PERP_DIST_PARMS and set the constraint value to "0.0".
Line Onto Line - Use PARA_EDGE_PARMS and set the constraint value to "0.0"
When a target or tool edge is an arc, the position must be qualified as
either the arc center or the closest tangency point on the arc. When the
edge is not an arc, the position must be qualified as either the first or
last endpoint of the edge.
Some features can be positioned using the centerline of the feature.
You may use the centerline of a feature by passing in a NULL_TAG
as the tool edge. The centerline must be qualified as either the
horizontal or vertical centerline, using the first or last endpoint. The
following features allow the centerline to be used as a tool edge: Slot,
Groove, Rectangular Pad, Rectangular Pocket. The Groove feature
has only a vertical centerline.
Environment
Internal
See Also
History
In V13.0, the tangent2arc1 and tangent2arc2 parameters were
renamed to target_qualifier and tool_qualifier respectively and were
given string defined constants for values. The object_id_tool was
modified to accept a NULL_TAG for centerline.
Required License(s)
solid_modeling
int UF_MODL_create_rpo_constraints
(
tag_t feature_obj_id,
tag_t horz_dir_obj_id,
tag_t vert_dir_obj_id,
tag_t obj_id_target [ ] ,
int target_qualifier [ ] ,
tag_t obj_id_tool [ ] ,
int tool_qualifier [ ] ,
char * constraint_value [ ] ,
char * constraint_array [ ] ,
int num_of_constrnts
)
tag_t | feature_obj_id | Input | Feature to be constrained |
tag_t | horz_dir_obj_id | Input | Horizontal direction. |
tag_t | vert_dir_obj_id | Input | Vertical direction (if horz_dir_obj_id == 0). |
tag_t | obj_id_target [ ] | Input | Array of target edges. |
int | target_qualifier [ ] | Input | Array of flags used to qualify the position on each target edge. Valid flags are: UF_MODL_ARC_CENTER UF_MODL_ARC_TANGENT UF_MODL_ENDPOINT_1 UF_MODL_ENDPOINT_2 |
tag_t | obj_id_tool [ ] | Input | Array of tool edges (NULL_TAG for centerline). |
int | tool_qualifier [ ] | Input | Array of flags used to qualify the position on each tool edge. Valid flags are: UF_MODL_ARC_CENTER UF_MODL_ARC_TANGENT UF_MODL_ENDPOINT_1 UF_MODL_ENDPOINT_2 UF_MODL_HORZ_CENTERLINE_PNT_1 UF_MODL_HORZ_CENTERLINE_PNT_2 UF_MODL_VERT_CENTERLINE_PNT_1 UF_MODL_VERT_CENTERLINE_PNT_2 |
char * | constraint_value [ ] | Input | Array of constraint values. |
char * | constraint_array [ ] | Input | Array of constraint type: "ANGL_EDGE_PARMS", "HORZ_DIST_PARMS", "VERT_DIST_PARMS", "PARA_DIST_PARMS", "PARA_EDGE_PARMS" , "PERP_DIST_PARMS" |
int | num_of_constrnts | Input | Number of constraints. |
UF_MODL_create_ruled (view source)
Defined in: uf_modl_freeform.h
Overview
Creates a feature by assigning one-to-one correspondence between
points on two selected curves and then connecting the corresponding
points by straight lines. The following restrictions apply:
1. The first segment curve of each section spine is a starting curve.
2. Point
a. Point object may be included but only as the one point of the
first section string.
b. Curve end point may be included but only as the one curve of
the first section string. s_section->dir[ ] indicates which end
point should be used.
The output of this function is the object identifier associated to the
feature.
Environment
Internal and External
See Also
Required License(s)
solid_modeling and ( free_form_modeling or nx_freeform_1 )
int UF_MODL_create_ruled
(
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
int * alignment,
double value [ 6 ] ,
int * end_point,
int * body_type,
UF_FEATURE_SIGN boolean,
double tol [ 3 ] ,
tag_t * body_obj_id
)
UF_STRING_p_t | s_section | Input | Pointer to the section list structure. int num Total number of section string (min=2, max=2) int string[ ] Total number of segment curves/ sketch identifier of each section string (min=1, max =402) int dir[ ] Direction of each section string 1 = Start to end -1 = End to start tag_t id[ ] Identifier of section curve or the section builder object tags but not both |
UF_STRING_p_t | s_spine | Input | Pointer to the spine list structure. (for alignment = 5) int num Total number of spine string (min=0, max=1) int string[ ] Total number of segment curves/ sketch identifier of each spine string (min=1, max=402) int dir[ ] Direction of each spine string 1 : Start to end -1 : End to start tag_t id[ ] Identifier of spine curve or the section builder object tags but not both |
int * | alignment | Input | Alignment method: 1 = Parameter 2 = Arc length 3 = Distance 4 = Angles 5 = Spine curves |
double | value [ 6 ] | Input | Data for alignment method: [0-2] = 3D vector defining direction line (for alignment = 3) [0-5] = 3D start and end coordinates of line defining the axis of revolution for planes (for alignment = 4) |
int * | end_point | Input | Curve end point or point 0 = Do not use end point 1 = Curve/point of first section string |
int * | body_type | Input | Type of body: 0 = Sheet (Default) 1 = Solid |
UF_FEATURE_SIGN | boolean | Input | The 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 |
double | tol [ 3 ] | Input | Tolerances: [0] = Distance [1] = Angle (in radians) [2] = Intersection (not used) |
tag_t * | body_obj_id | Output | Body object identifier |
UF_MODL_create_ruled1 (view source)
Defined in: uf_modl_freeform.h
Overview
Creates a feature by assigning one-to-one correspondence between points on two
selected curves and then connecting the corresponding points by straight lines.
This function behaves like UF_MODL_create_thru_curves with an extra input
for passing in the target body for the boolean operation.
If body_type is solid (1) and the sign of the operation to be performed is
not create, then the target body is required.
The following restrictions apply:
1. The first segment curve of each section spine is a starting curve.
2. Point
a. Point object may be included but only as the one point of the
first section string.
b. Curve end point may be included but only as the one curve of
the first section string. s_section->dir[ ] indicates which end
point should be used.
The output of this function is the object identifier associated to the
feature.
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
solid_modeling and ( free_form_modeling or nx_freeform_1 )
int UF_MODL_create_ruled1
(
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
int * alignment,
double value [ 6 ] ,
int * end_point,
int * body_type,
UF_FEATURE_SIGN boolean,
tag_t target_body,
double tol [ 3 ] ,
tag_t * body_obj_id
)
UF_STRING_p_t | s_section | Input | Pointer to the section list structure. int num Total number of section string (min=2, max=2) int string[ ] Total number of segment curves/ sketch identifier of each section string (min=1, max =402) int dir[ ] Direction of each section string 1 = Start to end -1 = End to start tag_t id[ ] Identifier of section curve or the section builder object tags but not both |
UF_STRING_p_t | s_spine | Input | Pointer to the spine list structure. (for alignment = 5) int num Total number of spine string (min=0, max=1) int string[ ] Total number of segment curves/ sketch identifier of each spine string (min=1, max=402) int dir[ ] Direction of each spine string 1 : Start to end -1 : End to start tag_t id[ ] Identifier of spine curve or the section builder object tags but not both |
int * | alignment | Input | Alignment method: 1 = Parameter 2 = Arc length 3 = Distance 4 = Angles 5 = Spine curves |
double | value [ 6 ] | Input | Data for alignment method: [0-2] = 3D vector defining direction line (for alignment = 3) [0-5] = 3D start and end coordinates of line defining the axis of revolution for planes (for alignment = 4) |
int * | end_point | Input | Curve end point or point 0 = Do not use end point 1 = Curve/point of first section string |
int * | body_type | Input | Type of body: 0 = Sheet (Default) 1 = Solid |
UF_FEATURE_SIGN | boolean | Input | The 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 | target_body | Input | The target body for the boolean operation |
double | tol [ 3 ] | Input | Tolerances: [0] = Distance [1] = Angle (in radians) [2] = Intersection (not used) |
tag_t * | body_obj_id | Output | Body object identifier |
UF_MODL_create_scale (view source)
Defined in: uf_modl.h
Overview
This function will create scale features.
Environment
Internal and External
See Also
History
Released in V16.0
Required License(s)
solid_modeling
int UF_MODL_create_scale
(
UF_SCALE_TYPE_t type,
tag_t * body_tags,
int num_body_tags,
tag_t so_point,
tag_t so_dir,
tag_t so_csys,
char factors [ 3 ] [ UF_MAX_EXP_LENGTH ] ,
tag_t * * tags
)
UF_SCALE_TYPE_t | type | Input | The type of scale feature to create: UF_SCALE_TYPE_UNIFORM UF_SCALE_TYPE_AXISYMMETRIC UF_SCALE_TYPE_GENERAL |
tag_t * | body_tags | Input | An array of tags which contains the bodies to be scaled |
int | num_body_tags | Input | The number of body tags |
tag_t | so_point | Input | This is the tag of a smart point to use as the origin of the scale feature. If a NULL_TAG is passed, the default origin will be the origin of the WCS. This argument is ignored for UF_SCALE_TYPE_GENERAL scale features. |
tag_t | so_dir | Input | This is a tag of a smart point to be used as the direction of the scale for a UF_SCALE_TYPE_AXISYMMETRIC scale feature. It is ignored for all other scale features. If a NULL_TAG is passed for an axisymmetric scale feature, then the default will be the Z-axis of the WCS. |
tag_t | so_csys | Input | This is the tag of a smart CSYS to be used for a UF_SCALE_TYPE_GENERAL scale feature. This parameter is ignored for all other scale features. If a NULL_TAG is passed for a general scale feature, then the default will be the WCS. |
char | factors [ 3 ] [ UF_MAX_EXP_LENGTH ] | Input | An array of strings that define the scale factors. These scale factors may include expressions. For a uniform scale feature, there is only one string to use as a scale factor. For an axisymmetric scale feature, two factor strings must be passed in, the first being the scale factor along the axis, and the second being the scale factor in the other direction. For a general scale feature, there will be three strings passed in this array, the first being the scale in the x-axis, the second being the scale in the y-axis and the third being the scale in the z-axis. |
tag_t * * | tags | Output to be freed | This is an array of tags for the scale features created. There will be one scale feature for each body passed in.This array must be freed by calling UF_free. |
UF_MODL_create_section_surface (view source)
Defined in: uf_modl_freeform.h
Overview
Creates a section surface feature from the section surface Open
API data structure.
Environment
Internal and External
See Also
History
V15.0 changes: The UF_MODL_secsrf_data_t structure was enhanced.
Required License(s)
solid_modeling and ( free_form_modeling or nx_freeform_1 )
int UF_MODL_create_section_surface
(
UF_MODL_secsrf_data_p_t section_surface_data,
tag_p_t section_surface
)
UF_MODL_secsrf_data_p_t | section_surface_data | Input | Section Surface Open API Data Structure |
tag_p_t | section_surface | Output | Section Surface Feature object identifier. |
UF_MODL_create_set_of_feature (view source)
Defined in: uf_modl.h
Overview
Create a feature set.
Environment
Internal and External
History
Released in V16.0
Required License(s)
solid_modeling
int UF_MODL_create_set_of_feature
(
char * name,
tag_t * features,
int number_of_feature,
int hide_state,
tag_t * feature
)
char * | name | Input | Name of feature set |
tag_t * | features | Input | Array of feature tags representing the members of the feature set |
int | number_of_feature | Input | Number of features in array |
int | hide_state | Input | Hide state of feature set TRUE/FALSE |
tag_t * | feature | Output | Tag of feature set |
UF_MODL_create_sew (view source)
Defined in: uf_modl.h
Overview
Sews sheet bodies or faces of solid bodies together. When sewing solids, the
arrays targets and tools contain the faces from the target and tool bodies. The
faces from one body must match in geometry with the faces from the other body.
It is important to understand the interactive functionality in NX before trying
to use this function.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_sew
(
int option,
int num_targets,
tag_t targets [ ] ,
int num_tools,
tag_t tools [ ] ,
double tolerance,
int type_body,
uf_list_p_t * disjoint_list,
tag_t * sew_id
)
int | option | Input | Option flag: 0 = Sew general 1 = Sew all instances |
int | num_targets | Input | Size of the targets array |
tag_t | targets [ ] | Input | Array of target tags ( sheet body when type_body = 0 or face(s) from a solid body when type_body = 1 ). |
int | num_tools | Input | Size of the tool array |
tag_t | tools [ ] | Input | Array of tool tags ( sheet body when type_body = 0 or face(s) from a solid body when type_body = 1 ). |
double | tolerance | Input | Tolerance value |
int | type_body | Input | Type of body: 0 = Sheet (default) 1 = Solid |
uf_list_p_t * | disjoint_list | Output to be freed | List contains disjoint sheets from the target. This list must be freed by calling UF_MODL_delete_list. |
tag_t * | sew_id | Output | The sew feature that was created. |
UF_MODL_create_silhouette_flange (view source)
Defined in: uf_modl_freeform.h
Overview
Creates Silhouette Flange feature from the Silhouette Flange Open API data structure.
Environment
Internal and External
See Also
History
First released in NX3
Required License(s)
solid_modeling
int UF_MODL_create_silhouette_flange
(
UF_MODL_sflange_data_p_t sflange_data,
tag_t * sflange_tag
)
UF_MODL_create_silhouette_flange_pipe (view source)
Defined in: uf_modl_freeform.h
Overview
Creates Pipe of Silhouette Flange from the Silhouette Flange Open API data structure.
Environment
Internal and External
See Also
History
First released in NX3
Required License(s)
solid_modeling
int UF_MODL_create_silhouette_flange_pipe
(
UF_MODL_sflange_data_p_t sflange_data,
tag_t * centerline_tag
)
UF_MODL_sflange_data_p_t | sflange_data | Input | Silhouette Flange Open API data structure. |
tag_t * | centerline_tag | Output | Centerline curve object identifier of the pipe of Silhouette Flange. |
UF_MODL_create_simple_hole (view source)
Defined in: uf_modl_holes.h
Overview
Creates a simple hole. The Origin indicates where the center of the
simple hole is located on the link-face. Interactively, this is the face
chosen to place the hole in, and the location of the pick is used as the
origin. In Open API, this information is input by the user. The
Diameter, Depth and Tip Angle control the sizing of the hole. The
Direction Vector has to be perpendicular to the link-face, opposite
the face normal. If a thru face is indicated, then the depth is ignored.
The output of this function is the object identifier associated to the
simple hole.
The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_simple_hole
(
double location [ 3 ] ,
double direction [ 3 ] ,
const char * diame,
const char * depth,
const char * angle,
tag_t face_li,
tag_t face_t1,
tag_t * feature_obj_id
)
double | location [ 3 ] | Input | Hole location. |
double | direction [ 3 ] | Input | Hole direction. |
const char * | diame | Input | Hole diameter. |
const char * | depth | Input | Hole depth. |
const char * | angle | Input | Hole tip angle. |
tag_t | face_li | Input | Face for the RPO constraint. |
tag_t | face_t1 | Input | Face for thru face. |
tag_t * | feature_obj_id | Output | Feature object identifier of created simple hole |
UF_MODL_create_simplified_curve (view source)
Defined in: uf_modl_curves.h
Overview
This routine is to be obsoleted in the near future. Please use its
replacement function UF_CURVE_create_simplified_curve.
Returns an array of line and arc identifiers which approximates curves
and edges. The tolerance parameter determines the maximum
distance between a curve or edge and its approximated arc segments.
NOTE: The size of the segments array depends on the input
parameters curve_count, tolerance, and the complexity of the
individual curves being simplified. For curves that have a lot of
curvature change, it may take a lot of arcs and lines to approximate
them.
Environment
Internal and External
See Also
Required License(s)
( solid_modeling or drafting )
int UF_MODL_create_simplified_curve
(
int curve_count,
tag_t * curves,
double tolerance,
int * segment_count,
tag_t * segments
)
int | curve_count | Input | Count of curves and edges (512 maximum). |
tag_t * | curves | Input | Array of curve and edge identifiers. This should be declared as tag_t curves[curve_count]. |
double | tolerance | Input | Maximum distance from arc segment to curve. |
int * | segment_count | Output | Count of lines and arcs. |
tag_t * | segments | Output | Array of line and arc identifiers. |
UF_MODL_create_simplify (view source)
Defined in: uf_modl_simplify.h
Overview
Create a simplify feature according to the specified data. The part
containing the body on which the feature is being applied will be fully
loaded if necessary. <n_retained_faces> gives the number of faces on the
body after the simplify has been applied, <n_removed_faces> gives the
number of faces on the body removed when the simplify is applied. If the
feature cannot be created because one or more faces could not be removed,
the ifail UF_MODL_SIMPL_HEAL_FAILED is returned, and the array
<failing_wound_edges> will contain the tags of the edges which could not be
healed. UF_MODL_SIMPL_HEAL_FAILED is also returned if the simplified body
would have been invalid, in which case <n_failing_wound_edges> will be 0. If
this or another ifail is returned, the feature is not created, and
<feature_tag> will be NULL_TAG.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_simplify
(
UF_MODL_simpl_data_p_t simpl_parms,
tag_t * feature_tag,
int * n_failing_wound_edges,
tag_t * * failing_wound_edges,
int * n_retained_faces,
int * n_removed_faces
)
UF_MODL_simpl_data_p_t | simpl_parms | Input | Parameters of the new simplify feature |
tag_t * | feature_tag | Output | The feature created |
int * | n_failing_wound_edges | Output | Number of edges of failing wounds |
tag_t * * | failing_wound_edges | Output to be freed | Array of edges of failing wounds. This must be freed by calling UF_free. |
int * | n_retained_faces | Output | Number of faces retained on the body |
int * | n_removed_faces | Output | Number of faces removed from the body |
UF_MODL_create_smbend (view source)
Defined in: uf_modl_smd.h
Overview
Creates a smbend feature.
Environment
Internal and External
Return
Return code:
= 0 No error
= not 0 Error code
History
Originally released in V17.0
Required License(s)
sheet_metal_design
int UF_MODL_create_smbend
(
UF_MODL_smbend_data_p_t user_data,
tag_p_t bend_tag
)
UF_MODL_smbend_data_p_t | user_data | Input | Data supplied by the user to define the feature |
tag_p_t | bend_tag | Output | the tag of the new bend feature that was created |
UF_MODL_create_smbend_corner (view source)
Defined in: uf_modl_smd.h
Overview
This procedure uses data from the user to create a new smbend feature
from a converted corner.
Return
Return code:
= 0 No Error
= not 0 Error code
Environment
External
History
Originally released in V17.0.3
Required License(s)
sheet_metal_design
int UF_MODL_create_smbend_corner
(
UF_MODL_smbend_corner_data_p_t user_data,
tag_p_t bend_tag
)
UF_MODL_create_smbend_cylinder (view source)
Defined in: uf_modl_smd.h
Overview
This procedure uses data from the user to create a new smbend feature
from a converted cylindrical face.
Return
Return code:
= 0 No Error
= not 0 Error code
Environment
External
History
Originally released in V17.0.3
Required License(s)
sheet_metal_design
int UF_MODL_create_smbend_cylinder
(
UF_MODL_smbend_cylinder_data_p_t user_data,
tag_p_t bend_tag
)
UF_MODL_create_smbracket (view source)
Defined in: uf_modl_smd.h
Overview
Creates a sheet metal bracket (SMBRACKET).
Environment
Internal and External
History
Original release was in V16.0
Required License(s)
sheet_metal_design
int UF_MODL_create_smbracket
(
UF_MODL_smbracket_data_p_t user_data,
tag_t * bracket_body_tag
)
UF_MODL_smbracket_data_p_t | user_data | Input | smbracket Open API Data Structure |
tag_t * | bracket_body_tag | Input / Output | If set to NULL_TAG, tag of the created bracket body is returned. If set to tag of the target body, bracket is created and united with the target body. It returns the tag of the target body. |
UF_MODL_create_smcorner (view source)
Defined in: uf_modl_smd.h
Overview
Create a SMCorner feature.
Environment
Internal and External
History
Released in NX3.0
Required License(s)
sheet_metal_design
int UF_MODL_create_smcorner
(
UF_MODL_smcorner_data_p_t smcorner_ufdata,
tag_t * smcorner_tag
)
UF_MODL_create_smcutout (view source)
Defined in: uf_modl_smd.h
Overview
Creates a sheet metal cutout (SMCUTOUT) feature by providing its placement
face, outline curves, and projection direction. The output of this function
is the object identifier of the SMCutout feature.
Environment
Internal and External
See Also
History
Original release was in V15.0
Required License(s)
sheet_metal_design
int UF_MODL_create_smcutout
(
UF_MODL_smcutout_data_p_t user_data,
tag_p_t cutout_tag
)
UF_MODL_create_smd_flange (view source)
Defined in: uf_modl_smd.h
Overview
Generates a Sheet Metal Design flange feature. It differs from the
existing UF_MODL_create_flange in that it provides the ability to
independently taper the bend and web areas of the feature and you
can create Miter and Butt joints also. Negative bend angle is no more
allowed as a way to change the bend direction of the Flange. Parameter
'reverse_direction' of structure UF_MODL_flange_data_t should be used to
change the direction of the Flange.
Environment
Internal and External
Required License(s)
sheet_metal_design
int UF_MODL_create_smd_flange
(
tag_t attach_face,
tag_t reference_edge,
double position [ ] ,
double xdirection [ ] ,
double zdirection [ ] ,
UF_MODL_flange_data_p_t flange_data,
tag_p_t feature_tag
)
tag_t | attach_face | Input | Attachment face of target body. |
tag_t | reference_edge | Input | Horizontal edge reference of target body. This should lie on the attachment face of the Flange, else an error will be returned. |
double | position [ ] | Input | NOT USED. Origin of flange feature will be found automatically. |
double | xdirection [ ] | Input | NOT USED. Direction of flange along the width of the bend will be derived automatically. |
double | zdirection [ ] | Input | NOT USED. Normal of attachment/link face will be found automatically. |
UF_MODL_flange_data_p_t | flange_data | Input | Structure which defines the size and shape of the flange feature. This is expanded to include the parameters for Miter and Butt joints also. |
tag_p_t | feature_tag | Output | Object identifier of the flange feature. |
UF_MODL_create_smhole (view source)
Defined in: uf_modl_smd.h
Overview
Creates a sheet metal hole.
Environment
Internal and External
See Also
History
Original release was in V14.0.
Required License(s)
sheet_metal_design
int UF_MODL_create_smhole
(
UF_MODL_smhole_data_p_t user_data,
tag_p_t hole_tag
)
UF_MODL_smhole_data_p_t | user_data | Input | Pointer to a UF_MODL_smhole_data_s data structure |
tag_p_t | hole_tag | Output | Pointer to the tag of the SMHole that gets created |
UF_MODL_create_smjoggle (view source)
Defined in: uf_modl_smd.h
Overview
Creates a Sheet Metal Joggle from input joggle data structure.
Environment
Internal and External
History
Original release was in V16.0
Required License(s)
sheet_metal_design
int UF_MODL_create_smjoggle
(
UF_MODL_smjoggle_data_p_t joggle_data,
tag_t * joggle
)
UF_MODL_create_smpunch (view source)
Defined in: uf_modl_smd.h
Overview
This procedure creates an SMPunch feature.
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
sheet_metal_design
int UF_MODL_create_smpunch
(
UF_MODL_smpunch_data_p_t user_data,
tag_p_t punch_tag
)
UF_MODL_create_smrelief (view source)
Defined in: uf_modl_smd.h
Overview
Creates a sheet metal relief (SMRELIEF).
Environment
Internal and External
History
Original release was in V16.0
Required License(s)
sheet_metal_design
int UF_MODL_create_smrelief
(
UF_MODL_smrelief_data_p_t user_data
)
UF_MODL_create_smslot (view source)
Defined in: uf_modl_smd.h
Overview
Creates a sheet metal slot.
Environment
Internal and External
See Also
History
Original release was in V14.0.
Required License(s)
sheet_metal_design
int UF_MODL_create_smslot
(
UF_MODL_smslot_data_p_t user_data,
tag_p_t slot_tag
)
UF_MODL_smslot_data_p_t | user_data | Input | Pointer to a UF_MODL_smslot_data_s data structure |
tag_p_t | slot_tag | Output | Pointer to the tag of the SMSlot that gets created |
UF_MODL_create_snip_surface_feature (view source)
Defined in: uf_modl_freeform.h
Overview
Creates a Snip Surface Feature using the Snip surface Open API data structure.
Make sure the following items are initialized properly:
usr_data->edit_face != 0
usr_data->project_method <= 3
usr_data->refit_method <= 3
usr_data->refit_degree > 0
usr_data->refit_degree < 25
usr_data->refit_patches > 0
usr_data->refit_patches < 1000
Minimum five parameters are required to be specified as follows:
1.Edit face
2.One of the types of bounding objects
3.Type of operation (snipping or divide)
4.Region point
5.Surface refitting method
Environment
Internal and External
See Also
History
First released in NX2
Required License(s)
solid_modeling
int UF_MODL_create_snip_surface_feature
(
UF_MODL_snipsrf_feature_data_p_t usr_data,
tag_p_t snip_tag
)
UF_MODL_create_solid_punch (view source)
Defined in: uf_modl_smd.h
Overview
Create a Solid Punch feature.
Return
Return code :
Environment
Internal and External
History
Released in NX2.0
Required License(s)
sheet_metal_design
int UF_MODL_create_solid_punch
(
UF_MODL_solid_punch_data_p_t smspunch_ufdata,
tag_t * smspunch_tag
)
UF_MODL_create_sphere (view source)
Defined in: uf_modl_primitives.h
Overview
Create a solid sphere.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_sphere
(
UF_FEATURE_SIGN sign,
tag_t targ_tag,
double center [ 3 ] ,
char * diam,
tag_t * sphere_tag
)
UF_FEATURE_SIGN | sign | Input | Sign of primitive |
tag_t | targ_tag | Input | Target body (if needed) |
double | center [ 3 ] | Input | Sphere center |
char * | diam | Input | Sphere diameter |
tag_t * | sphere_tag | Output | Sphere feature tag |
UF_MODL_create_sphere1 (view source)
Defined in: uf_modl_primitives.h
Overview
Creates a sphere. The Origin indicates the center of the sphere. The
Diameter controls the size, and the sign parameter controls the
boolean operation performed. The output of this function is the feature
tag associated to the sphere.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_sphere1
(
UF_FEATURE_SIGN sign,
double center [ 3 ] ,
char * diam,
tag_t * sphere_obj_id
)
UF_FEATURE_SIGN | sign | Input | The 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 |
double | center [ 3 ] | Input | Center of sphere to be created. |
char * | diam | Input | Diameter of sphere to be created. |
tag_t * | sphere_obj_id | Output | Feature tag of created sphere. |
UF_MODL_create_spline (view source)
Defined in: uf_modl_curves.h
Overview
Creates a spline. The periodic status of the curve is inherited from the
defining data. If the curve is not periodic on input, but can be made
periodic, the resulting curve is made C1 periodic.
Tips and Techniques
This routine takes standard NURB (nonuniform rational B-spline) data as input.
The poles are ordered quadruplets consisting of the ABS coordinates and a
weight . As a general guideline, let all of the weights = 1.0. For the knot
sequence values:
Let u1, ..., uorder = 0.0
Let upoles+1, ..., upoles+order = 1.0
This sets the beginning four sequence values to 0.0 and the last four
sequence values to 1.0 when the order is four. For the other sequence
values, let nu = 1/(poles-order+1). Then the remaining normalized
sequence values would be:
uorder+1 = 1nu, uorder+2 = 2nu, ..., upoles =(poles-order)nu.
For example, suppose we have 8 poles and order = 4, then:
nu = 1/(8-4+1) = 0.2 and
u1, ..., uorder = u1, ..., u4 = 0.0,
upoles+1, ..., upoles+order = u9, ..., u12 = 1.0,
u5 = .2, u6 = .4, u7 = .6, u8 = .8 which gives us the following
normalized, non-decreasing knot sequence:
{ 0,0,0,0,.2,.4,.6,.8,1,1,1,1 }.
Environment
Internal and External
See Also
For the glossary definition Please see
glossary
For a detailed description of splines and reference materials see
splines
See
example
Required License(s)
solid_modeling
int UF_MODL_create_spline
(
int nc,
int kc,
double knot [ ] ,
double poles [ ] ,
tag_t * spline_id,
int * knot_fixup,
int * pole_fixup
)
int | nc | Input | Number of control vertices (poles) |
int | kc | Input | Order (degree + 1) |
double | knot [ ] | Input | Knot sequence (dimensioned to poles + order, e.g. knot[nc + kc] |
double | poles [ ] | Input | Array homogeneous control vertices (wx,wy,wz,w) - dimensioned to (poles 4), e.g. poles[nc 4] |
tag_t * | spline_id | Output | object identifier for the spline |
int * | knot_fixup | Output | Knot fixup status 0 = no fixups performed 1 = knot sequence fixed |
int * | pole_fixup | Output | Pole fixup status 0 = no fixups performed 1 = pole array fixed |
UF_MODL_create_string_list (view source)
Defined in: uf_modl_utilities.h
Overview
Creates a string list structure. The output of this function is a pointer
to the string list structure.
Example:
UF_MODL_create_string_list call setup
UF_STRING_t guide;
UF_STRING_p_t gu = &guide;
UF_MODL_create_string_list( 3, 50, gu );
Creates 3 guides containing 50 entities
Return
void
Environment
Internal and External
See Also
Required License(s)
gateway
void UF_MODL_create_string_list
(
int num_string,
int num_object,
UF_STRING_p_t string_list1
)
int | num_string | Input | Number of strings |
int | num_object | Input | Number of object |
UF_STRING_p_t | string_list1 | Input / Output to be freed | The caller passes in a pointer to an already allocated UF_STRING_t structure, and this routine allocates space for the arrays in the structure. The arrays allocated inside of this structure must be freed by calling UF_MODL_free_string_list. |
UF_MODL_create_stycorner (view source)
Defined in: uf_modl_freeform.h
Overview
Creates an Styled Corner Surface Feature using its NX Open API data structure.
Environment
Internal and External
See Also
History
First released in NX3
Required License(s)
solid_modeling
int UF_MODL_create_stycorner
(
UF_MODL_stycorner_data_p_t styled_corner_data,
tag_t * frec_tag
)
UF_MODL_create_styled_sweep_feature (view source)
Defined in: uf_modl_freeform.h
Overview
Creates Styled Sweep feature from the Styled Sweep Open API data structure.
Environment
Internal and External
See Also
Required License(s)
gateway
int UF_MODL_create_styled_sweep_feature
(
UF_MODL_styled_sweep_data_p_t styled_sweep_data,
tag_p_t styswp
)
UF_MODL_create_subdiv_face (view source)
Defined in: uf_modl.h
Overview
Creates a subdivided face feature. The output of this function is the
object identifier associated to the subdivide face.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_subdiv_face
(
const tag_t* curve_refs,
const int count,
const tag_t face,
const int proj_type,
const double vector [ 3 ] ,
tag_t * feature_obj_id
)
const tag_t* | curve_refs | Input | Array of curves to subdivide the face with |
const int | count | Input | Number of curves in curve_refs |
const tag_t | face | Input | Face object identifier |
const int | proj_type | Input | Projection type 1 = Along surface normal 2 = Along vector (Not implemented yet) |
const double | vector [ 3 ] | Input | Projection vector if projection type = 2 (Not used) |
tag_t * | feature_obj_id | Output | Feature object identifier of created subdivide face |
UF_MODL_create_surf_from_cloud (view source)
Defined in: uf_modl_freeform.h
Overview
Creates a B-surface using a list of existing points. The points may
appear in any order. There must be enough points to define a surface
with the requested degree and patches and the points should cover the
area inside the specified boundaries.
The boundaries of the surface, projected onto the specified X-Y
plane, form a quadrilateral. The boundaries can be specified by the
optional bnd_corners parameter. These points, projected onto the
X-Y plane of the specified coordinate system must form a convex
quadrilateral.
The order of the points determine the U and V directions of the
resulting surface.
If the pointer to bnd_corners is NULL, the boundaries are the
smallest rectangle that encloses the cloud points in the specified X-Y
plane. The U direction of the surface is aligned with the X direction
and the V direction of the surface is aligned with the Y direction.
The X-Y plane may be specified by the optional csys_matrix
parameter. If csys_matrix is NULL, the absolute X-Y plane is used.
In all cases the Z direction is assumed to be approximately normal to
the surface and the surface must not be ambiguous when viewed from
this direction.
Normals Z1, Z2, Z3, and other acceptable vectors all produce the
same best fit surface. However, Zn produces a dramatically different
surface. Other incorrect vectors produces different results, none
acceptable. The system cannot detect when this condition occurs.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_surf_from_cloud
(
int point_cnt,
double cloud [ ] [ 3 ] ,
double csys_matrix [ 2 ] [ 3 ] ,
double bnd_corners [ 4 ] [ 3 ] ,
int U_degree,
int V_degree,
int U_patches,
int V_patches,
int corner_switch,
double * average_error,
double * max_error,
int * max_error_index,
tag_t * surface_tag
)
int | point_cnt | Input | Number of points in the cloud array. |
double | cloud [ ] [ 3 ] | Input | Array of points [point_cnt][3]. The points may appear in any order. There must be enough points to define a surface of the requested order an they should cover the area within the boundaries specified below. The points should not represent a surface that is ambiguous in the surface normal direction. |
double | csys_matrix [ 2 ] [ 3 ] | Input | Orientation - X-Y vectors, the U-V directions of the surface correspond to these X-Y vectors. The surface must be unambiguous in the Z direction. If this pointer is NULL, the absolute X-Y-Z of the data is used. |
double | bnd_corners [ 4 ] [ 3 ] | Input | Boundary corners - 4 points specifying the corners of the surface. The resulting surface boundaries, projected onto the X-Y plane, specified above, forms a quadrilateral with corners at the projection of these points onto that plane. The U direction of the surface lie in a direction approximately aligned with the 1st and 3rd line segments and the V direction aligned with the 2n and 4th. If this pointer is NULL, the quadrilateral is the max-min box of the input data in the specified X-Y plane. |
int | U_degree | Input | Desired degree of the resulting surface in the U direction. Valid values are 1 through 24. |
int | V_degree | Input | Desired degree of the resulting surface in the V direction. Valid values are 1 through 24. |
int | U_patches | Input | Number of patches desired in the U direction of the resulting surface. |
int | V_patches | Input | Number of patches desired in the V direction of the resulting surface. |
int | corner_switch | Input | Currently unused. |
double * | average_error | Output | The average distance, in the Z direction, between all input points and the resulting surface. |
double * | max_error | Output | The maximum distance, in the Z direction, between all input points and the resulting surface. |
int * | max_error_index | Output | The sequence number, within the cloud array, of the point where the maximum error (max_error) occurred. |
tag_t * | surface_tag | Output | Object identifier for the resulting surface. |
UF_MODL_create_sweep (view source)
Defined in: uf_modl_freeform.h
Overview
Creates a freeform sweep feature. The first segment curve of each guide/section/spine
is a starting curve. The output of this function is the object identifier
associated to the sweep. Use UF_MODL_init_string_list and
UF_MODL_create_string_list to create input strings. Use UF_MODL_free_string_list
to free memory once this routine has been called, and the string list is no
longer needed.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_sweep
(
UF_STRING_p_t s_guide,
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
UF_METHOD_p_t orientation,
UF_METHOD_p_t scaling,
int * alignment,
int * inter,
int * body_type,
UF_FEATURE_SIGN boolean,
double tol [ 3 ] ,
tag_t * body_obj_id
)
UF_STRING_p_t | s_guide | Input | Pointer to the guide list structure. int num Total number of guide strings (min=1, max=3) int string[ ] Total number of segment curves/ sketch identifier of each guide string (min=1, max =402) int dir[ ] Direction of each guide string 1 = Start to end -1 = End to start tag_t id[ ] Identifier of guide curve |
UF_STRING_p_t | s_section | Input | Pointer to the section list structure. int num Total number of section strings (min=1, max=150) int string[ ] Total number of segment curves/ sketch/face of each section string (min=1, max=402) int dir[ ] Direction of each section string 1 = Start to end -1 = End to start tag_t id[ ] Identifier of section curve |
UF_STRING_p_t | s_spine | Input | Pointer to the spine list structure. int num Total number of section strings (min=0, max=1) int string[ ] Total number of segment curves/ sketch/face of each section string (min=1, max=402) int dir[ ] Direction of each section string 1 = Start to end -1 = End to start tag_t id[ ] Identifier of spine curve |
UF_METHOD_p_t | orientation | Input | Pointer 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_t | scaling | Input | Pointer 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 * | alignment | Input | Alignment method: 1 = Parameter 2 = Arc Length |
int * | inter | Input | Interpolation method (for s_section->num > 1): 1 = Linear 2 = Cubic |
int * | body_type | Input | Type of body: 0 = Sheet (Default) 1 = Solid |
UF_FEATURE_SIGN | boolean | Input | The 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 |
double | tol [ 3 ] | Input | Tolerances: [0] = Distance [1] = Angle (in degrees) [2] = Intersection |
tag_t * | body_obj_id | Output | Body object identifier of sweep |
UF_MODL_create_symb_thread (view source)
Defined in: uf_modl.h
Overview
Creates a thread feature. Specify the creation parameters in the
thread parameter structure.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_symb_thread
(
UF_MODL_symb_thread_data_p_t parameters,
tag_t * thread_obj_id
)
UF_MODL_create_t_slot (view source)
Defined in: uf_modl_slots.h
Overview
Creates a T-slot feature using an origin, tool axis, slot direction, top
and bottom width, top and bottom depth, and length. One of two
creation methods are taken depending on whether you want a thru
slot or not. If you want a defined distance, then input the distance and
placement face. Also, set the value of face_t1 and face_t2 to zero.
But, if you want to have the slot thru from one face to another, then
supply the placement face and the two faces from which to measure
the slot distance. The output of this function is the object identifier
associated to the T-slot.
The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_t_slot
(
double location [ ] ,
double tool_axis [ ] ,
double direction [ ] ,
char * t_width,
char * t_depth,
char * b_width,
char * b_depth,
char * distance,
int face_li,
int face_t1,
int face_t2,
tag_t * feature_tag
)
double | location [ ] | Input | T slot location. |
double | tool_axis [ ] | Input | T slot tool axis. |
double | direction [ ] | Input | T slot direction. |
char * | t_width | Input | T slot top width. |
char * | t_depth | Input | T slot top depth. |
char * | b_width | Input | T slot bottom width. |
char * | b_depth | Input | T slot bottom depth. |
char * | distance | Input | T slot distance. |
int | face_li | Input | Face for the RPO constraint. |
int | face_t1 | Input | Face for thru face 1. |
int | face_t2 | Input | Face for thru face 2. |
tag_t * | feature_tag | Output | Feature object identifier of created t slot |
UF_MODL_create_taper_from_edges (view source)
Defined in: uf_modl_taper.h
Overview
Create a taper feature from the input edges.
Environment
Internal and External
You can input individual edges or an edge collector as the first element
of array edges[].
History
NX2.0 added the edge collector functionality
Required License(s)
solid_modeling
int UF_MODL_create_taper_from_edges
(
tag_t direction_tag,
char * angle_str,
logical taper_all_instances,
int num_edges,
tag_t edges [ ] ,
tag_t * feature_tag
)
tag_t | direction_tag | Input | taper direction |
char * | angle_str | Input | taper angle |
logical | taper_all_instances | Input | all instances or else just this one |
int | num_edges | Input | number of edges in array |
tag_t | edges [ ] | Input | array of edges to taper |
tag_t * | feature_tag | Output | feature eid of created feature taper |
UF_MODL_create_taper_from_faces (view source)
Defined in: uf_modl_taper.h
Overview
Creates a face taper feature using a location, direction, angle, and a
list of faces to taper. The output of this function is the object identifier
associated to the face taper.
You can input individual faces or a face collector as the first element
of array faces[].
Environment
Internal and External
See Also
History
NX2.0 added the face collector functionality
Required License(s)
solid_modeling
int UF_MODL_create_taper_from_faces
(
tag_t point_tag,
tag_t direction_tag,
char * angle_str,
logical taper_all_instances,
int num_faces,
tag_t faces [ ] ,
tag_t * feature_tag
)
tag_t | point_tag | Input | taper location |
tag_t | direction_tag | Input | taper direction |
char * | angle_str | Input | taper angle |
logical | taper_all_instances | Input | all instances or else just this one |
int | num_faces | Input | number of faces in array |
tag_t | faces [ ] | Input | array of faces to taper |
tag_t * | feature_tag | Output | feature eid of created feature taper |
UF_MODL_create_taper_from_tangent_faces (view source)
Defined in: uf_modl_taper.h
Overview
Create a taper feature from tangent faces.
You can input individual faces or a face collector as the first element
of array faces[].
Environment
Internal and External
History
NX2.0 added the face collector functionality
Required License(s)
solid_modeling
int UF_MODL_create_taper_from_tangent_faces
(
tag_t direction_tag,
char * angle_str,
logical taper_all_instances,
int num_faces,
tag_t faces [ ] ,
tag_t * feature_eid
)
tag_t | direction_tag | Input | taper direction |
char * | angle_str | Input | taper angle |
logical | taper_all_instances | Input | all instances or else just this one |
int | num_faces | Input | number of faces in array |
tag_t | faces [ ] | Input | array of faces to taper |
tag_t * | feature_eid | Output | feature eid of created feature taper |
UF_MODL_create_taper_split_line (view source)
Defined in: uf_modl_taper.h
Overview
Create a split line taper. A regular taper will create multiple faces,
based on the edges supplied to the function. A split line taper will
create a single face, but the face may not meet the edges specified.
In this case sweep faces are created perpendicular to the reference
direction to accomodate the mismatch.
You can input individual edges or an edge collector as the first element
of array edges[].
Environment
Internal and External
History
Originally released in V16.0
NX2.0 added the edge collector functionality
Required License(s)
solid_modeling
int UF_MODL_create_taper_split_line
(
tag_t point_tag,
tag_t direction_tag,
char * angle_str,
logical taper_all_instances,
int num_edges,
tag_t edges [ ] ,
double dist_tol,
double angle_tol,
tag_t * feature_tag
)
tag_t | point_tag | Input | taper reference point |
tag_t | direction_tag | Input | taper direction |
char * | angle_str | Input | taper angle |
logical | taper_all_instances | Input | If TRUE, all instances will be tapered. If FALSE, then just this instance is tapered. |
int | num_edges | Input | number of edges in array |
tag_t | edges [ ] | Input | array of edges to taper |
double | dist_tol | Input | distance tolerances |
double | angle_tol | Input | angle tolerances |
tag_t * | feature_tag | Output | feature eid of created feature taper |
UF_MODL_create_thru_curves (view source)
Defined in: uf_modl_freeform.h
Overview
Creates a feature through a collection of curves in one direction. The
following restrictions apply:
1. The first segment curve of each primary/cross/spine is a starting curve.
2. If single patch, then vdegree = 0, vclose = 0 (open.) The output of this
function is the object identifier associated to the feature.
3. If alignment is set to Spline Points, the input sections must all be
single B-curves with the same number of defining points.
Environment
Internal and External
See Also
Required License(s)
solid_modeling and ( free_form_modeling or nx_freeform_1 )
int UF_MODL_create_thru_curves
(
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
int * patch,
int * alignment,
double value [ 6 ] ,
int * vdegree,
int * vstatus,
int * body_type,
UF_FEATURE_SIGN boolean,
double tol [ 3 ] ,
tag_t c_face_id [ 2 ] ,
int c_flag [ 2 ] ,
tag_t * body_obj_id
)
UF_STRING_p_t | s_section | Input | Pointer to the section list structure. int num Total number of section string (min=2, max=150) int string[ ] Total number of segment curves/ sketch identifier of each section string (min=1, max =402) int dir[ ] Direction of each section string 1 = Start to end -1 = End to start tag_t id[ ] Identifier of section curve or the section builder object tags, but not both |
UF_STRING_p_t | s_spine | Input | Pointer to the spine list structure. (for alignment = 5) int num Total number of spine string (min=0, max=1) int string[ ] Total number of segment curves/ sketch identifier of each spine string (min=1, max=402) int dir[ ] Direction of each spine string 1 = Start to end -1 = End to start tag_t id[ ] Identifier of spine curve or the section builder object tags, but not both |
int * | patch | Input | Patch type 1 = Single (Bezier) 2 = Multiple (B-spline) |
int * | alignment | Input | Alignment method 1 = Parameter 2 = Arc length 3 = Distance 4 = Angles 5= Spine curves 6 = Spline Points |
double | value [ 6 ] | Input | Data 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 * | vdegree | Input | Degree of surface in V direction. For patch=2, 0 < vdegree <= (s_section.num-1) |
int * | vstatus | Input | Periodic status of surface in V direction: 0 = Open 1 = Closed (at least s_section->num > 2) |
int * | body_type | Input | Type of body= 0 = Sheet (Default) 1 = Solid |
UF_FEATURE_SIGN | boolean | Input | The 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 |
double | tol [ 3 ] | Input | Tolerances: [0] = Distance [1] = Angle (in radians) [2] = Intersection |
tag_t | c_face_id [ 2 ] | Input | Object identifiers of neighbor surfaces or collectors of faces from which constraints are obtained [0] = first section string [1] = last section string |
int | c_flag [ 2 ] | Input | Flags indicating constraint types: 0 = no constraint 1 = tangency constraint 2 = curvature constraint with [0] = first primary string [1] = last primary string |
tag_t * | body_obj_id | Output | Body object identifier |
UF_MODL_create_thru_curves1 (view source)
Defined in: uf_modl_freeform.h
Overview
Creates a feature through a collection of curves in one direction.
This function behaves like UF_MODL_create_thru_curves with an extra input
for passing in the target body for the boolean operation.
If body_type is solid (1) and the sign of the operation to be performed is
not create, then the target body is required.
The following restrictions apply:
1. The first segment curve of each primary/cross/spine is a starting curve.
2. If single patch, then vdegree = 0, vclose = 0 (open.) The output of this
function is the object identifier associated to the feature.
3. If alignment is set to Spline Points, the input sections must all be
single B-curves with the same number of defining points.
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
solid_modeling and ( free_form_modeling or nx_freeform_1 )
int UF_MODL_create_thru_curves1
(
UF_STRING_p_t s_section,
UF_STRING_p_t s_spine,
int * patch,
int * alignment,
double value [ 6 ] ,
int * vdegree,
int * vstatus,
int simple,
int * body_type,
UF_FEATURE_SIGN boolean,
tag_t target_body,
double tols [ 3 ] ,
int c_num [ 2 ] ,
tag_t * c_face_id [ 2 ] ,
int c_flag [ 2 ] ,
int c_dir,
tag_t * body_obj_id
)
UF_STRING_p_t | s_section | Input | Pointer to the section list structure. When simple option is 2, then the user supplied template string must be added as the last item of this section string structure, but the number of section strings will not be increased. For example, to create a feature using 3 section strings and a user defined template (simple option = 2), num would be 3, but string and dir would have 4 elements, string[3] would be the number of segment curves for the user defined template, and dir[3] would be the direction for the user defined template. The tags for the user defined template would be added onto the end of the id array. int num Total number of section strings (min=2, max=150) int string[ ] Total number of segment curves/ sketch identifier of each section string (min=1, max =402) int dir[ ] Direction of each section string 1 = Start to end -1 = End to start tag_t id[ ] Identifier of section curve or the section builder object tags, but not both |
UF_STRING_p_t | s_spine | Input | Pointer to the spine list structure (for alignment = 5). int num Total number of spine string (min=0, max=1) int string[ ] Total number of segment curves/ sketch identifier of each spine string (min=1, max=402) int dir[ ] Direction of each spine string 1 = Start to end -1 = End to start tag_t id[ ] Identifier of spine curve or the section builder object tags, but not both |
int * | patch | Input | Patch type. 1 = Single (Bezier) 2 = Multiple (B-spline) |
int * | alignment | Input | Alignment method. 1 = Parameter 2 = Arc length 3 = Distance 4 = Angles 5 = Spine curves 6 = Spline Points |
double | value [ 6 ] | Input | Data for alignment method. [0-2] = 3D vector defining direction line (alignment = 3) [0-5] = Coordinates of line defining the axis of revolution for planes (alignment = 4) |
int * | vdegree | Input | Degree of surface in V direction. For patch=2, 0< vdegree <= (s_section.num-1) |
int * | vstatus | Input | Periodic status of surface in V direction. 0 = Open 1 = Closed (At least three section curves are required). |
int | simple | Input | Simple math option 0 : do not use simple creation 1 : use simple creation with system defined template 2 : use simple creation with user supplied template. The user supplied template will be passed at the end of the s_section structure above. |
int * | body_type | Input | Type of body. 0 = Sheet (Default) 1 = Solid |
UF_FEATURE_SIGN | boolean | Input | The 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 | target_body | Input | The target body for the boolean operation. |
double | tols [ 3 ] | Input | Tolerances. [0] = Distance [1] = Angle (in radians) [2] = Intersection |
int | c_num [ 2 ] | Input | Number of constraint faces or collectors of faces. [0] = First section string [1] = Last section string |
tag_t * | c_face_id [ 2 ] | Input | Pointers to object identifiers of neighbor surfaces or 2 collectors of faces from which constraints are obtained [0] = First section string [1] = Last section string |
int | c_flag [ 2 ] | Input | Flags indicating constraint types. 0 = No constraint 1 = Tangency constraint 2 = Curvature constraint [0] = First section string [1] = Last section string |
int | c_dir | Input | Constraint direction. 0 = Not specified 1 = Isoparametric 2 = Normal to the string |
tag_t * | body_obj_id | Output | Body object identifier. |
UF_MODL_create_trimmed_sheet (view source)
Defined in: uf_modl_freeform.h
Overview
Modifies the input sheet body to the specified boundary and regional
conditions. The boundary conditions (faces, planes, edges, and curves)
are used to divide the input sheet body into regions by imprinting new
edges on the input sheet body. The regional conditions are employed
to classify the discarded and retained regions of the input sheet body.
The output sheet body is the retained region(s) of the input sheet body.
Environment
Internal and External
Required License(s)
solid_modeling and ( free_form_modeling or nx_freeform_1 )
int UF_MODL_create_trimmed_sheet
(
tag_t sheet_body_tag,
int bounding_object_count,
tag_t * bounding_objects,
UF_MODL_vector_p_t projection_method,
int key_pt,
int point_count,
double point_coords [ ] ,
double tolerance,
int * gap_point_count,
double * * gap_points,
tag_t * feature_obj_eid
)
tag_t | sheet_body_tag | Input | Tag of sheet body to be trimmed |
int | bounding_object_count | Input | Number of trimming boundary objects |
tag_t * | bounding_objects | Input | Array of NX eids of trimming objects |
UF_MODL_vector_p_t | projection_method | Input | A 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 | key_pt | Input | Points defining regions to: 1 = discard; 0 = keep |
int | point_count | Input | Number of region points |
double | point_coords [ ] | Input | Array of region points on the sheet to be trimmed. This array contains 3point_count entries. |
double | tolerance | Input | Distance tolerance for approximations. |
int * | gap_point_count | Output | The number of gap points returned when there are gaps between the edges produced by the bounding objects. These points show where the gaps are. |
double * * | gap_points | Output to be freed | Array of points showing location of the gaps. This array has 3n_gap_points entries. This array must be freed by calling UF_free. |
tag_t * | feature_obj_eid | Output | Feature object id of trimmed sheet. |
UF_MODL_create_trimmed_tube (view source)
Defined in: uf_modl_sweep.h
Overview
Creates a tube feature.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_trimmed_tube
(
tag_t * objects,
int object_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * diameters [ 2 ] ,
UF_FEATURE_SIGN sign,
tag_t * * features,
int* number_of_features
)
tag_t * | objects | Input | Array of objects or one section builder object tag, but not both, for the tube path |
int | object_count | Input | Number of objects |
UF_MODL_SWEEP_TRIM_object_p_t | trim_data | Input | Not used |
char * | diameters [ 2 ] | Input | [0] = Outer Diameter [1] = Inner diameter |
UF_FEATURE_SIGN | sign | Input | The 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 * * | features | Output to be freed | Array of tube feature tags |
int* | number_of_features | Output | Number of features returned |
UF_MODL_create_trimmed_tube1 (view source)
Defined in: uf_modl_sweep.h
Overview
Creates a tube feature, and perform Boolean operation with given target body.
Environment
Internal and External
See Also
History
Originally released in V16.0.
Required License(s)
solid_modeling
int UF_MODL_create_trimmed_tube1
(
tag_t * objects,
int object_count,
UF_MODL_SWEEP_TRIM_object_p_t trim_data,
char * diameters [ 2 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
tag_t * * features,
int* number_of_features
)
tag_t * | objects | Input | Array of objects or one section builder object tag, but not both, for the tube path |
int | object_count | Input | Number of objects |
UF_MODL_SWEEP_TRIM_object_p_t | trim_data | Input | Not used |
char * | diameters [ 2 ] | Input | [0] = Outer Diameter [1] = Inner diameter |
UF_FEATURE_SIGN | sign | Input | The 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 | target_body | Input | Boolean target |
tag_t * * | features | Output to be freed | Array of tube feature tags |
int* | number_of_features | Output | Number of features returned |
UF_MODL_create_true_taper_from_edges (view source)
Defined in: uf_modl_taper.h
Overview
Create a true taper from edges
Environment
Internal and External
You can input individual edges or an edge collector as the first element
of array edges[].
History
Originally released in V17.0
NX2.0 added the edge collector functionality
Required License(s)
solid_modeling
int UF_MODL_create_true_taper_from_edges
(
tag_t direction_tag,
char * angle_str,
logical taper_all_instances,
int num_edges,
tag_t edges [ ] ,
double dist_tol,
double angle_tol,
tag_t * feature_eid
)
tag_t | direction_tag | Input | taper direction |
char * | angle_str | Input | taper angle |
logical | taper_all_instances | Input | If TRUE, all instances will be tapered. If FALSE, then just this instance is tapered. |
int | num_edges | Input | number of edges in array |
tag_t | edges [ ] | Input | array of edges to taper |
double | dist_tol | Input | distance tolerances |
double | angle_tol | Input | angle tolerances |
tag_t * | feature_eid | Output | feature eid of created feature taper |
UF_MODL_create_tube (view source)
Defined in: uf_modl_sweep.h
Overview
Creates a tube, or cable, depending on the inner and outer diameters
specified. A cable is produced if the inner diameter is set to zero. The
output of this function is a list of feature object identifiers. The limit
variable is of type character to allow for expressions.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_create_tube
(
uf_list_p_t path_list,
char * limit [ 2 ] ,
UF_FEATURE_SIGN sign,
uf_list_p_t * feature_list
)
uf_list_p_t | path_list | Input | List of objects or one section builder object tag, but not both, for the path. |
char * | limit [ 2 ] | Input | Inner diameter and outer diameter of the tube. You can declare this as char limit[2], where: [0] = outer diameter expression [1] = inner diameter expression |
UF_FEATURE_SIGN | sign | Input | The sign of the operation to be performed. UF_NULLSIGN = create new target solid UF_POSITIVE = add to target solid UF_NEGATIVE = subtract from target solid UF_UNSIGNED = intersect with target solid |
uf_list_p_t * | feature_list | Output to be freed | Feature object identifier list for tube created. This list must be freed by calling UF_MODL_delete_list. |
UF_MODL_create_tube1 (view source)
Defined in: uf_modl_sweep.h
Overview
Creates a tube, or cable, and performs Boolean operation with given target body.
Environment
Internal and External
See Also
History
Originally released in V16.0.
Required License(s)
solid_modeling
int UF_MODL_create_tube1
(
uf_list_p_t path_list,
char * limit [ 2 ] ,
UF_FEATURE_SIGN sign,
tag_t target_body,
uf_list_p_t * feature_list
)
uf_list_p_t | path_list | Input | List of objects or one section builder object tag, but not both, for the path. |
char * | limit [ 2 ] | Input | Inner diameter and outer diameter of the tube. You can declare this as char limit[2], where: [0] = outer diameter expression [1] = inner diameter expression |
UF_FEATURE_SIGN | sign | Input | The 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 | target_body | Input | Boolean target |
uf_list_p_t * | feature_list | Output to be freed | Feature object identifier list for tube created. This list must be freed by calling UF_MODL_delete_list. |
UF_MODL_create_u_groove (view source)
Defined in: uf_modl_grooves.h
Overview
Creates a U-groove feature by inputting its location, direction,
diameter, width, and corner radius. Along with these items a
placement face is needed to determine which face the groove is
associated to. The output of this function is the object identifier
associated to the U-groove.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_u_groove
(
double location [ ] ,
double direction [ ] ,
char * diame,
char * width,
char * corner,
tag_t face,
tag_t * feature_obj_id
)
double | location [ ] | Input | U groove location. |
double | direction [ ] | Input | U groove direction. |
char * | diame | Input | U groove diameter |
char * | width | Input | U groove width. |
char * | corner | Input | U groove corner radius |
tag_t | face | Input | Face for the RPO constraint. |
tag_t * | feature_obj_id | Output | Feature object identifier of created u-groove |
UF_MODL_create_u_slot (view source)
Defined in: uf_modl_slots.h
Overview
Creates a U slot feature using an origin, tool axis, slot direction,
width, corner radius, depth, and length. One of two creation methods
are taken depending on whether you want a thru slot or not. If you
want a defined distance, then input the distance and placement face.
Also, set the value of face_t1 and face_t2 to zero. But if you want to
have the slot thru from one face to another, then supply the
placement face and the two faces from which to measure the slot
distance. The output of this function is the object identifier associated
to the U slot.
The "Face for the RPO constraint" parameter, face_li, can accept a datum plane.
You can pass in the tag of the datum plane feature or datum plane body. For
relative datums the parent body is used as the target. For an absolute datum
the target body must be set by calling UF_MODL_active_part.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_u_slot
(
double location [ ] ,
double tool_axis [ ] ,
double direction [ ] ,
char * width,
char * depth,
char * radius,
char * distance,
tag_t face_li,
tag_t face_t1,
tag_t face_t2,
tag_t * feature_tag
)
double | location [ ] | Input | U slot location. |
double | tool_axis [ ] | Input | U slot tool axis. |
double | direction [ ] | Input | U slot direction. |
char * | width | Input | U slot width. |
char * | depth | Input | U slot depth. |
char * | radius | Input | U slot corner radius. |
char * | distance | Input | U slot distance. |
tag_t | face_li | Input | Face for the RPO constraint. |
tag_t | face_t1 | Input | Face for thru face 1. |
tag_t | face_t2 | Input | Face for thru face 2. |
tag_t * | feature_tag | Output | Feature object identifier of created u slot |
UF_MODL_create_uniform_scale (view source)
Defined in: uf_modl.h
Overview
Create a uniform scale feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_uniform_scale
(
tag_t body_eid,
int csys_type,
char * scale_factor,
tag_t * feature_eid
)
tag_t | body_eid | Input | EID of body to be scaled |
int | csys_type | Input | Currently only UF_CSYS_WORK_COORDS is accepted |
char * | scale_factor | Input | |
tag_t * | feature_eid | Output | EID of the scale feature |
UF_MODL_create_variable_hollow (view source)
Defined in: uf_modl_hollow.h
Overview
Create a variable hollow feature.
Environment
Internal and External
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_create_variable_hollow
(
double tolerance,
char * thickness,
int n_pierced_faces,
tag_t * pierced_faces,
int n_boundary_faces,
tag_t * boundary_faces,
int n_offset_faces,
tag_t * offset_faces,
char * * offset_thickness,
tag_t * feature_id
)
double | tolerance | Input | Tolerance |
char * | thickness | Input | Default thickness |
int | n_pierced_faces | Input | Number of pierced faces |
tag_t * | pierced_faces | Input | Array of pierced face identifiers. |
int | n_boundary_faces | Input | Number of boundary faces |
tag_t * | boundary_faces | Input | Array of boundary face identifiers |
int | n_offset_faces | Input | Number of offset faces |
tag_t * | offset_faces | Input | Array of offset face identifiers |
char * * | offset_thickness | Input | Array of offset thickness expressions |
tag_t * | feature_id | Output | Feature identifier |
UF_MODL_create_variable_offset (view source)
Defined in: uf_modl_freeform.h
Overview
Allows you to create free form features by the variable offset method.
You need a base surface and four offset distances from four points on
the surface.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_create_variable_offset
(
tag_t base_sheet,
char * dist [ 4 ] ,
double uv_param [ 8 ] ,
tag_t * varoff_sheet
)
tag_t | base_sheet | Input | Face or body id of the base sheet |
char * | dist [ 4 ] | Input | Variable offset distances |
double | uv_param [ 8 ] | Input | uv parameters of four specified points |
tag_t * | varoff_sheet | Output | Body id of the offset sheet |
UF_MODL_create_variable_taper_from_edges (view source)
Defined in: uf_modl_taper.h
Overview
Create a variable angle taper feature from the input edges. This function is
the same as UF_MODL_create_taper_from_edges if the input num_points=0.
You can input individual edges or an edge collector as the first element
of array edges[].
Environment
Internal and External
History
Originally released in V16.0
NX2.0 added the edge collector functionality
Required License(s)
solid_modeling
int UF_MODL_create_variable_taper_from_edges
(
tag_t direction_tag,
char * angle_str,
logical taper_all_instances,
int num_edges,
tag_t edges [ ] ,
int num_points,
double points [ ] ,
char * * angles,
double dist_tol,
double angle_tol,
tag_t * feature_tag
)
tag_t | direction_tag | Input | taper direction |
char * | angle_str | Input | taper angle |
logical | taper_all_instances | Input | all instances or else just this one |
int | num_edges | Input | number of edges in array |
tag_t | edges [ ] | Input | array of edges to taper |
int | num_points | Input | number of points where angles are specified |
double | points [ ] | Input | coordinates of the points (size is 3num_points) |
char * * | angles | Input | angle values or expressions at the points |
double | dist_tol | Input | distance tolerances |
double | angle_tol | Input | angle tolerances |
tag_t * | feature_tag | Output | feature eid of created feature taper |
UF_MODL_create_wrap_assembly (view source)
Defined in: uf_modl.h
Overview
This function creates a Wrap Assembly feature in the work part.
A Wrap Assembly feature can be used to simplify NX geometry data
in an assembly by creating a convex solid envelope which surrounds the
data. This feature will be a parameterized feature, so if the underlying
model is changed, the wrap feature will automatically be updated. The
wrap feature can be used to hide proprietary data, to study packaging,
for space capturing studies, or as a starting point when converting
wireframe geometry to a solid. Input data can be from components and
will create interpart links. Each input object can have a corresponding
assembly context xform to position the data in the work part.
See Also
Environment
Internal and External
History
Released in V17.0
Required License(s)
solid_modeling
int UF_MODL_create_wrap_assembly
(
UF_MODL_wrap_assem_p_t wrap_data,
tag_t * feature_tag
)
UF_MODL_create_wrap_geometry (view source)
Defined in: uf_modl.h
Overview
This function creates a Wrap Geometry feature. A wrap geometry feature
can be used to simplify NX geometry data by creating a convex solid envelope
which surrounds the data. This feature will be parameterized feature, so
if the underlying model is changed, the wrap feature will automatically
be updated. The wrap feature can be used to hide proprietary data, to
study packaging, for space capturing studies, or as a starting point when
converting wireframe geometry to a solid.
Figure The original solid
Figure The Wrap geometry result
Some of the detail of the original geometry can be retained by defining
one or more splitting planes.
Figure The original solid and splitting plane
Figure The Wrap geometry result without defining a splitting plane
Figure The Wrap geometry result defining the splitting plane
See Also
Environment
Internal and External
History
Released in V16.0
Required License(s)
solid_modeling
int UF_MODL_create_wrap_geometry
(
UF_MODL_wrap_geom_p_t wrap_data,
tag_t * feature_tag
)
UF_MODL_default_rpo_menu (view source)
Defined in: uf_modl_ugopenint.h
Overview
Opens the default rpo menu.
Use UF_MODL_default_rpo_menu() to position new style UDF features and during
copy/paste of features.
This function cannot be used to edit positioning of features that are
automatically booleaned to a target solid.
Environment
Internal
History
This function was originally released in V15.0.
Required License(s)
solid_modeling
int UF_MODL_default_rpo_menu
(
tag_t feature_eid
)
tag_t | feature_eid | Input | Feature to reposition |
UF_MODL_delete_body_parms (view source)
Defined in: uf_modl.h
Overview
Allows you to delete all the parameters of the solid bodies in the input list.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_delete_body_parms
(
uf_list_p_t body_list
)
UF_MODL_delete_exp (view source)
Defined in: uf_modl_expressions.h
Overview
The user inputs a pointer to a character string that matches the
expression that is to be deleted. Only the name should be included, the
'=' and value are to be left out of the character string.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_delete_exp
(
char * exp_name
)
char * | exp_name | Input | Name of expression to delete |
UF_MODL_delete_exp_tag (view source)
Defined in: uf_modl_expressions.h
Overview
Deletes an expression tag.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_delete_exp_tag
(
tag_t old_exp
)
tag_t | old_exp | Input | Tag to delete. |
UF_MODL_delete_feature (view source)
Defined in: uf_modl.h
Overview
Deletes a list of features. The input is a list of feature identifiers to be
deleted. The only type of output from this routine is the normal error
return from the program call.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_delete_feature
(
uf_list_p_t cmtags
)
uf_list_p_t | cmtags | Input | Linked list of tags for features to be deleted. |
UF_MODL_delete_list (view source)
Defined in: uf_modl_utilities.h
Overview
Deallocates the memory for a linked list of objects, the objects
themselves are not deleted. A list of objects may contain identifiers
for bodies, features, faces and edges.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_delete_list
(
uf_list_p_t * list
)
UF_MODL_delete_list_item (view source)
Defined in: uf_modl_utilities.h
Overview
Delete object identifier from a linked list of object identifiers.
NOTE: Deleting all the items in a list also causes the list to be
deleted.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_delete_list_item
(
uf_list_p_t * list,
tag_t object
)
uf_list_p_t * | list | Input | list of object identifiers |
tag_t | object | Input | object to be deleted from list. |
UF_MODL_delete_loop_list (view source)
Defined in: uf_modl_utilities.h
Overview
The input is a single pointer to a loop list, which frees each edge list
within the loop list.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_delete_loop_list
(
uf_loop_p_t * list
)
UF_MODL_delete_object_parms (view source)
Defined in: uf_modl.h
Overview
Each sheet body and solid body on the input list will be made into an
unparameterized feature.
Each curve or point on the input list which is an output of a feature
will have the associativity removed, and will become basic curves and points.
Sketch curves are not supported by this function.
Environment
Internal and External
History
This function is provided in v17 initially.
Required License(s)
solid_modeling
int UF_MODL_delete_object_parms
(
uf_list_p_t object_list
)
uf_list_p_t | object_list | Input | List of bodies,curves and points |
UF_MODL_devchk_adjacent_edges (view source)
Defined in: uf_modl.h
Overview
This routine checks deviations between common edges (edges with deviations
less than the Common Edge Tolerance) of the input faces.
Environment
Internal and External
History
Originally released in v16.0
Required License(s)
solid_modeling
int UF_MODL_devchk_adjacent_edges
(
int num_faces,
tag_t * faces,
double * tolerances,
int num_chk_points,
int * num_devs,
UF_MODL_devchk_ee_info_t * * devs
)
int | num_faces | Input | Number of input faces for deviation checking |
tag_t * | faces | Input | Array of face tags to be checked. |
double * | tolerances | Input | [0] - Common Edge Tolerance: Edges with maximum distance greater than this value are non-common edges [1] - Chordal Deviation: Used for sampling the edges if num_chk_points is zero. |
int | num_chk_points | Input | if non-zero, edges are sampled at equally spaced parameter values. if zero, Chordal Deviation is used for sampling. |
int * | num_devs | Output | Number of deviations returned. |
UF_MODL_devchk_ee_info_t * * | devs | Output to be freed | deviations information corresponding to each sample point. The caller is responsible for calling UF_free to free this array. |
UF_MODL_dissect_exp_string (view source)
Defined in: uf_modl_expressions.h
Overview
Dissects an expression character string of the form <left>=<right>
and return its expression tag, <left> character string, and <right>
character string.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_dissect_exp_string
(
char * exp_str,
char * * lhs_str,
char * * rhs_str,
tag_t * exp_tag
)
char * | exp_str | Input | Expression character string <left>=<right> . |
char * * | lhs_str | Output to be freed | <left> character string. This must be freed by the caller by calling UF_free. |
char * * | rhs_str | Output to be freed | <right> character string. This must be freed by the caller by calling UF_free. |
tag_t * | exp_tag | Output | Tag for the expression. |
UF_MODL_dump_midsurf_facepair_report (view source)
Defined in: uf_modl_freeform.h
Overview
exports the midsurface data to a file
Environment
Internal and External
History
Originally released in NX5.0
Required License(s)
( solid_modeling or nx_masterfem )
int UF_MODL_dump_midsurf_facepair_report
(
const char * file_name_with_extn,
tag_t midsrf_feature_obj_id
)
const char * | file_name_with_extn | Input | Name of file with relevant extension |
tag_t | midsrf_feature_obj_id | Input | Midsurface Feature tag |
UF_MODL_edit_bead (view source)
Defined in: uf_modl_smd.h
Overview
Edits the various parameters of the bead and reconstructs it based on
these new parameters.
Environment
Internal and External
History
Original release was in V13.0.
Required License(s)
sheet_metal_design
int UF_MODL_edit_bead
(
tag_t bead_tag,
UF_MODL_project_curves_p_t centerline,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t secondary_faces,
UF_MODL_bead_section_plane_p_t section_plane,
UF_MODL_vector_p_t section_axis,
UF_MODL_bead_section_parms_p_t section_parms
)
tag_t | bead_tag | Input | Object tag for the bead feature to be edited. |
UF_MODL_project_curves_p_t | centerline | Input | Pointer to information to define the centerline of the bead. |
UF_MODL_faces_p_t | placement_faces | Input | Pointer to information to define the faces where the bead is to be placed. |
UF_MODL_offset_trans_faces_p_t | secondary_faces | Input | the optional secondary faces for the bead. A null pointer should be passed in if this is not used. |
UF_MODL_bead_section_plane_p_t | section_plane | Input | Pointer to direction information to define the normal of the orientation plane of the bead sections. |
UF_MODL_vector_p_t | section_axis | Input | Pointer 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_t | section_parms | Input | Pointer to information to define the cross sectional shape of the bead. |
UF_MODL_edit_bend_allowance_formula (view source)
Defined in: uf_modl_smd.h
Overview
This routine edits the Bend Allowance Formula (BAF) of a
Flange, Inset Flange, General Flange, SMBridge, or SMBend feature.
The expression returned is in the form:
(Radius+(Thickness)0.44)rad(Angle)
Return
Return code:
=0 : Successful
>0 : Failing error number
<0 : Failing error number
= UF_MODL_ERR_NOT_A_FORMABLE_FEATURE : The given tag was not
the tag of a formable
feature.
= UF_MODL_ERR_FEATURE_NOT_USING_BAF : The given feature is not
using a bend allowance
formula. This is the case
when the user has selected
"Using Bend Allowance Table"
in the preferences dialog.
Environment
Internal and External
See Also
History
Originally released in V18.0
Required License(s)
sheet_metal_design
int UF_MODL_edit_bend_allowance_formula
(
const tag_t feature_tag,
const char* const exp_str
)
const tag_t | feature_tag | Input | The tag of a Flange, Inset Flange, General Flange, SMBridge, or SMBend feature. |
const char* const | exp_str | Output | The Bend Allowance Formula. |
UF_MODL_edit_bend_operation (view source)
Defined in: uf_modl_smd.h
Overview
Edit an Unbend/Rebend operation
Return
Return code :
Environment
Internal and External
History
Released in V19.0
Required License(s)
sheet_metal_design
int UF_MODL_edit_bend_operation
(
tag_t operation_tag,
UF_MODL_bend_operation_data_p_t bend_data
)
UF_MODL_edit_boolean_with_retained_options (view source)
Defined in: uf_modl.h
Overview
Edit the boolean features with the option to
keep the original target body, tool body, or both bodies.
Environment
Internal and External
See Also
UF_MODL_unite_bodies_with_retained_options ,
UF_MODL_subtract_bodies_with_retained_options ,
UF_MODL_intersect_bodies_with_retained_options
UF_MODL_replace_boolean_body
History
Release version 19.
Required License(s)
solid_modeling
int UF_MODL_edit_boolean_with_retained_options
(
tag_t feature_eid,
tag_t new_target,
tag_t new_tool
)
tag_t | feature_eid | Input | Boolean feature |
tag_t | new_target | Input | If 0 is passed in, the target body is not change. Otherwise, the new target body will be changed in the boolean feature |
tag_t | new_tool | Input | If 0 is passed in, the tool body is not change. Otherwise, the new tool body will be changed in the boolean feature |
UF_MODL_edit_bsurf (view source)
Defined in: uf_modl_bsurf.h
Overview
Replace the b_surface data of entity face_eid with the new data stored in
bsurf. The calling function needs to make an update call to update all
the changes. This routine doesn't handle periodic surface yet and works
only on single face sheet body.
Environment
Internal and External
Required License(s)
solid_modeling and ( free_form_modeling or nx_freeform_1 )
int UF_MODL_edit_bsurf
(
tag_t face_eid,
UF_MODL_bsurface_p_t bsurf
)
UF_MODL_edit_circular_iset (view source)
Defined in: uf_modl_isets.h
Overview
Edits an instance circular set feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_circular_iset
(
tag_t feature_obj_id,
char * number_str,
char * angle_str,
char * radius_str,
tag_t rotation_point_id
)
tag_t | feature_obj_id | Input | Circular instance set feature identifier |
char * | number_str | Input | Number of instances |
char * | angle_str | Input | Rotation angle (degrees) |
char * | radius_str | Input | Instance set radius |
tag_t | rotation_point_id | Input | Rotation point identifier: NULL_TAG = Modify Circular Iset without moving it Otherwise modify Circular Iset and move it to new point. If the circular iset feature cannot be moved to the new point, an error code is issued and no modifications are performed. |
UF_MODL_edit_circular_pattern_face (view source)
Defined in: uf_modl_dfo.h
Overview
This function edits a circular pattern_face feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_circular_pattern_face
(
tag_t feature_tag,
UF_MODL_dfo_region_p_t region,
tag_t axis,
int n_pattern,
char * angle
)
tag_t | feature_tag | Input | the feature |
UF_MODL_dfo_region_p_t | region | Input | region |
tag_t | axis | Input | center axis to define pattern |
int | n_pattern | Input | number of patterns |
char * | angle | Input | angle between patterns |
UF_MODL_edit_datum_direction (view source)
Defined in: uf_modl_datum_features.h
Overview
Replaces the direction of a datum feature with new_direction.
The feature should have been created using UF_MODL_create_point_dirr_daxis or
UF_MODL_create_point_dirr_dplane(). If a smart object is used to specify the
new direction, its update option should be UF_SO_update_within_modeling.
Environment
Internal and External
See Also
History
Original release was in V16.0.
Required License(s)
solid_modeling
int UF_MODL_edit_datum_direction
(
tag_t datum_feature_tag,
tag_t new_direction
)
tag_t | datum_feature_tag | Input | The datum tag. |
tag_t | new_direction | Input | The new direction of the datum axis. |
UF_MODL_edit_datum_point (view source)
Defined in: uf_modl_datum_features.h
Overview
Replaces the base point of a datum feature with new_point.
The feature should have been created using UF_MODL_create_point_dirr_daxis() or
UF_MODL_create_point_dirr_dplane(). If a smart object is used to specify the
new point, its update option should be UF_SO_update_within_modeling.
Environment
Internal and External
See Also
History
Original release was in V16.0.
Required License(s)
solid_modeling
int UF_MODL_edit_datum_point
(
tag_t datum_feature_tag,
tag_t new_point
)
tag_t | datum_feature_tag | Input | The datum tag. |
tag_t | new_point | Input | The new point for the datum |
UF_MODL_edit_edge_blend (view source)
Defined in: uf_modl_blends.h
Overview
Edit an edge blend
Environment
Internal and External
It can accept individual edges or an edge collector.
History
V17 release
NX2.0 Allow user input edge collector in the edge_data array
Required License(s)
solid_modeling
int UF_MODL_edit_edge_blend
(
tag_t feature_eid,
UF_MODL_edge_blend_data_p_t blend_data
)
UF_MODL_edit_edge_blend_mult (view source)
Defined in: uf_modl_blends.h
Overview
Edit a mutiple radius edge blend
Environment
Internal and External
It can accept a set of individual edges or a set of edge collectors.
History
NX3.0 Release
Required License(s)
solid_modeling
int UF_MODL_edit_edge_blend_mult
(
tag_t feature_eid,
UF_MODL_edge_blend_mult_data_p_t blend_data
)
UF_MODL_edit_enlarge (view source)
Defined in: uf_modl_freeform.h
Overview
Modifies data of the input enlarged sheet feature to the specified type and size
conditions in the inputs.
Environment
Internal and External
History
This function is provided in v17 initially.
Required License(s)
solid_modeling and ( free_form_modeling or nx_freeform_1 )
int UF_MODL_edit_enlarge
(
tag_t feat_obj_tag,
int type,
char * percent_size [ 4 ] ,
double tolerance
)
tag_t | feat_obj_tag | Input | tag of the feature record of the enlarged sheet |
int | type | Input | enlarge extension type: 0-linear extension; 1-natural extension |
char * | percent_size [ 4 ] | Input | 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 |
double | tolerance | Input | Distance tolerance for approximations. |
UF_MODL_edit_exp (view source)
Defined in: uf_modl_expressions.h
Overview
The input to UF_MODL_edit_exp is similar to UF_MODL_create_exp, except for
the fact that the expression name must already exist. The user needs to have
the name of the expression, an '=' sign, and a new value contained within the
input character string. This routine does not automatically update the database.
After you use this routine, call UF_MODL_update to update the database.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_edit_exp
(
char * expr_str
)
char * | expr_str | Input | Replacement expression. |
UF_MODL_edit_face_constraint (view source)
Defined in: uf_modl_dfo.h
Overview
This function edits a face constraint with new parameters.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_face_constraint
(
tag_t feature_tag,
UF_MODL_dfo_region_p_t region,
UF_MODL_dfo_constraint_p_t constraint
)
UF_MODL_edit_face_grid_count (view source)
Defined in: uf_modl.h
Overview
Edits the u and v grid counts of a face or a body.
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_edit_face_grid_count
(
tag_t object,
int u_count,
int v_count
)
tag_t | object | Input | tag of face or body |
int | u_count | Input | u grid counts |
int | v_count | Input | v grid counts |
UF_MODL_edit_face_join (view source)
Defined in: uf_modl.h
Overview
Based on the specified input, either removes edges and vertices or
joins separate faces into a single b-surface for a body. For option = 1, this
function removes all of the unnecessary edges and vertices from the input body.
For option= 2, the function joins two separate faces into one b-surface (within
the same body).
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_face_join
(
int opt,
tag_t body_tag,
tag_t * face_tags,
tag_t * result_tag
)
int | opt | Input | Joining option: 1 = On same surface 2 = convert to B-surface |
tag_t | body_tag | Input | Tag of body containing faces to be joined |
tag_t * | face_tags | Input | Tags of 2 faces to be joined (if opt=2) |
tag_t * | result_tag | Output | Tag of resulting feature. |
UF_MODL_edit_formable_feature_state (view source)
Defined in: uf_modl_smd.h
Overview
This routine will set the state of the given feature.
The given feature tag must be the tag Flange, Inset Flange,
General Flange, SMBridge, or SMBend feature.
The state you want to set must be either UF_MODL_formed_state,
UF_MODL_unformed_state, or UF_MODL_other_state.
When UF_MODL_other_state is given and the UF_MODL_state_info structure
must be filled with the intermediate state to which you want to set
the feature.
The UF_MODL_state_info structure must hold a Process Factor if the
feature tag belongs to a Flange, Inset Flange feature. The Process
Factor can be thought of as a percentage of the design angle of the
feature. For example, a Process Factor of 1.0 represents a fully
Flange. A Process Factor of 0.0 represents a fully unformed
Flange. A Process Factor of 0.5 represents a Flange in an intermediate
state that is half-formed.
The UF_MODL_state_info structure must hold a State Index if the feature
tag belongs to a General Flange or SMBridge. The State Index
represents an index into the array of states stored by the General
Flange or SMBridge feature. Note: this value is currently not used.
If the given_feature is an SMBend, no state information other than
UF_MODL_formed_state or UF_MODL_unfromed_state can be given.
Return
Return code:
=0 : Successful
>0 : Failing error number
<0 : Failing error number
= UF_MODL_ERR_NOT_A_FORMABLE_FEATURE : The given tag was not
the tag of a formable
feature.
= UF_MODL_ERR_NOT_A_SUPPORTED_FEATURE : A given tag belongs to a
formable feature that is
not yet supported.
Environment
Internal and External
See Also
History
Originally released in V18.0
Required License(s)
solid_modeling
int UF_MODL_edit_formable_feature_state
(
const tag_t feature_tag,
const UF_MODL_state_e_t state,
const UF_MODL_state_info_t* const state_info
)
const tag_t | feature_tag | Input | The tag of a Flange, Inset Flange, General Flange, SMBridge, or SMBend feature. |
const UF_MODL_state_e_t | state | Input | The current state of an SM feature: either UF_MODL_formed_state, UF_MODL_unformed_state or UF_MODL_other_state. |
const UF_MODL_state_info_t* const | state_info | Input | It will be filled with the state information of the feature. |
UF_MODL_edit_general_flange (view source)
Defined in: uf_modl_smd.h
Overview
Modifies the size and shape of a Sheet Metal Design general flange
feature. By populating the set of parameters with similar and/or
updated values, the feature can be altered.
Environment
Internal and External
Required License(s)
sheet_metal_design
int UF_MODL_edit_general_flange
(
tag_t feature_tag,
tag_t tangent_face_tag,
UF_STRING_p_t bend_string,
UF_STRING_p_t spine_string,
UF_STRING_p_t section_string,
int nsteps,
int poly_cubic,
int reverse_normal,
int reverse_thicken,
char * thickness,
char * tolerance,
UF_MODL_parm_p_t plus_length,
UF_MODL_parm_t bend_radius [ ] ,
UF_MODL_parm_t bend_angle [ ] ,
UF_MODL_parm_t web_length [ ]
)
tag_t | feature_tag | Input | Object identifier of general flange feature. |
tag_t | tangent_face_tag | Input | Object identifier of the face which the feature will maintain a tangency relationship. |
UF_STRING_p_t | bend_string | Input | Collection of objects which represent the location of the initial bend area. |
UF_STRING_p_t | spine_string | Input | Collection of objects which represent the spine associated witth the feature. |
UF_STRING_p_t | section_string | Input | Collection of objects which represent a set of curves/edges to infer the size/shape of the feature. |
int | nsteps | Input | The number of bend area/web extensions which define the size/shape of the feature. |
int | poly_cubic | Input | The method for generation of the surface geometry associated with the feature. 0=Rational (exact) 1=Polynomial (approximate) |
int | reverse_normal | Input | Whether or not the direction of the normal has been reversed. 0=Do not reverse normal direction. 1=Reverse normal direction. |
int | reverse_thicken | Input | Whether or not the direction in which the tool body is to be thickened has been reversed. 0=Do not reverse thickening direction. 1=Reverse thickening direction. |
char * | thickness | Input | Character string used to define the thickness of the feature. |
char * | tolerance | Input | Character string used to define the tolerance of the feature. |
UF_MODL_parm_p_t | plus_length | Input | A law controlled value which determines the length of the extension associated with the tangent_face. |
UF_MODL_parm_t | bend_radius [ ] | Input | A law controlled value which determines the radius of each bend area of the feature. |
UF_MODL_parm_t | bend_angle [ ] | Input | A law controlled value which determines the angle of each bend area associated with the feature. |
UF_MODL_parm_t | web_length [ ] | Input | A law controlled value which determines the length of each web associated with the feature. |
UF_MODL_edit_general_pad (view source)
Defined in: uf_modl_pads.h
Overview
Edits the various parameters of the general pad and reconstructs it
based on these new parameters.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_edit_general_pad
(
tag_t general_pad_tag,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t top_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t top_radius
)
tag_t | general_pad_tag | Input | Object identifier of the general pad feature to be modified. |
UF_MODL_faces_p_t | placement_faces | Input | The faces or face collector used to define the shape of the pad at the placement faces. The first face is used to determine the target body. |
UF_MODL_offset_trans_faces_p_t | top_faces | Input | The definition of the top of the pad. The top can either be an offset or translation of the specified faces or face collector. If it is desired to have the top be an offset or translate of the placement faces, then just set the UF_MODL_faces_p_t pointer within this input i structure to the placement_faces pointer value. |
UF_MODL_pocketpad_outline_p_t | outline | Input | The definition of the curves used to define the shape of the pad. The shape can be defined by a single set of curves or section builder at either the placement face or the top face, and then the other curves or section builder are derived with a taper angle. The shape can also be defined by specifying curves or section builders at both the placement face and the top face. |
UF_MODL_parm_p_t | placement_radius | Input | The specification of the radius desired between the side of the pad and the placement face. |
UF_MODL_parm_p_t | top_radius | Input | The specification of the radius desired between the side of the pad and the top of the pad. |
UF_MODL_edit_general_pocket (view source)
Defined in: uf_modl_pockets.h
Overview
Edits the various parameters of the general pocket and reconstructs it
based on these new parameters.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_edit_general_pocket
(
tag_t general_pocket_tag,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t floor_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t floor_radius
)
tag_t | general_pocket_tag | Input | Object identifier of the general pocket feature to be modified. |
UF_MODL_faces_p_t | placement_faces | Input | The faces or collector of faces used to define the shape of the pocket at the placement faces. The first face is used to determine the target body. |
UF_MODL_offset_trans_faces_p_t | floor_faces | Input | The faces or face collectors used to define the floor of the pocket. The floor can either be an offset or translation of the specified faces or face collector. If it is desired to have the floor be an offset or translate of the placement faces, then just set the UF_MODL_faces_p_t pointer within this input structure to the placement_faces pointer value. |
UF_MODL_pocketpad_outline_p_t | outline | Input | The definition of the curves used to define the shape of the pocket. The shape can be defined by a single set of curves or section builder at either the placement face or the floor face, and then the other curves or section builder are derived with a taper angle. The shape can also be defined by specifying curves or section builder at both the placement face and the floor face. |
UF_MODL_parm_p_t | placement_radius | Input | The specification of the radius desired between the side of the pocket and the placement face. |
UF_MODL_parm_p_t | floor_radius | Input | The specification of the radius desired between the side of the pocket and the floor of the pocket. |
UF_MODL_edit_gflange (view source)
Defined in: uf_modl_smd.h
Overview
Change an existing General Flange feature's parameters to
the parameters given in user_data. The caller should first call
UF_MODL_ask_gflange to get the current parameters for the general flange,
then change the elements that need to be changed, and then call
UF_MODL_edit_gflange
Return
Return code:
= 0 No error
= not 0 Error code
Environment
Internal and External
Required License(s)
sheet_metal_design
int UF_MODL_edit_gflange
(
tag_t gflange_tag,
UF_MODL_gflange_data_p_t gflange_data
)
UF_MODL_edit_hole_type (view source)
Defined in: uf_modl_holes.h
Overview
Changes the type of hole feature. New fields are initialized to zero. If
you want to change these fields, you need to edit their expressions.
Environment
Internal and External
History
This function was originally released in V15.0.
Required License(s)
solid_modeling
int UF_MODL_edit_hole_type
(
tag_t hole_feature,
UF_MODL_hole_type_e_t new_hole_type
)
tag_t | hole_feature | Input | Hole feature |
UF_MODL_hole_type_e_t | new_hole_type | Input | New hole type. Valid types are: UF_SIMPLE_HOLE UF_COUNTER_BORE_HOLE UF_COUNTER_SUNK_HOLE |
UF_MODL_edit_hollow (view source)
Defined in: uf_modl_hollow.h
Overview
Edit a hollow feature.
Environment
Internal and External
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_edit_hollow
(
tag_t feature_id,
int type,
double tolerance,
char * thickness,
int n_pierced_faces,
tag_t * pierced_faces,
int n_boundary_faces,
tag_t * boundary_faces,
int n_offset_faces,
tag_t * offset_faces,
char * * offset_thickness
)
tag_t | feature_id | Input | Feature identifier for the hollow feature. |
int | type | Input | Hollow type: 1 = face 2 = region 3 = body |
double | tolerance | Input | Tolerance |
char * | thickness | Input | Default hollow thickness |
int | n_pierced_faces | Input | Number of pierced or seed faces |
tag_t * | pierced_faces | Input | Array of pierced face identifiers |
int | n_boundary_faces | Input | Number of boundary faces |
tag_t * | boundary_faces | Input | Array of boundary face identifiers |
int | n_offset_faces | Input | Number of offset faces |
tag_t * | offset_faces | Input | Array of offset face identifiers |
char * * | offset_thickness | Input | Array of offset thickness expressions |
UF_MODL_edit_import_body_feature (view source)
Defined in: uf_modl_import_body.h
Overview
Edit import body feature by either reimporting the body from an out of date
file, importing the body from a new file or deleting the reference to the
file and converting the import body feature to an unparameterized feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_import_body_feature
(
tag_t import_body_feature,
UF_MODL_import_body_feature_edit_option_t edit_option,
const char * import_body_filename
)
UF_MODL_edit_import_body_features (view source)
Defined in: uf_modl_import_body.h
Overview
Edit import body features by either reimporting the body from an out of date
file or deleting the reference to the file and converting the import body
feature to an unparameterized feature. This is done for all loaded parts.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_import_body_features
(
UF_MODL_import_body_feature_edit_option_t edit_option
)
UF_MODL_edit_impr_faces_parms (view source)
Defined in: uf_modl_simplify.h
Overview
Edit an existing imprint faces feature according to the specified data,
which must have been created at an earlier timestamp than the feature.
It is not possible to edit an imprint feature to be on a different body.
If the <n_imprint_faces> parm is 0 or the <imprint_datum_plane> parm is
NULL_TAG, then the corresponding feature parm will be unchanged by the edit.
Environment
Internal and External
History
This function was originally released in V15.0.
Required License(s)
solid_modeling
int UF_MODL_edit_impr_faces_parms
(
tag_t feature_tag,
UF_MODL_imprint_faces_data_p_t parms
)
UF_MODL_edit_impr_loop_parms (view source)
Defined in: uf_modl_simplify.h
Overview
Edit an existing imprint loop feature according to the specified data,
which must have been created at an earlier timestamp than the feature.
It is not possible to edit an imprint feature to be on a different body.
If the <imprint_face> parm or the <imprint_datum_plane> parm is NULL_TAG,
then the corresponding feature parm will be unchanged by the edit.
Environment
Internal and External
History
This function was originally released in V15.0.
Required License(s)
solid_modeling
int UF_MODL_edit_impr_loop_parms
(
tag_t feature_tag,
UF_MODL_imprint_loop_data_p_t parms
)
UF_MODL_edit_inset_flange (view source)
Defined in: uf_modl_smd.h
Overview
Modifies the size and shape of a Sheet Metal Design inset flange
feature. By populating the set of parameters with similar and/or
updated values, the feature can be altered.
Environment
Internal and External
Required License(s)
sheet_metal_design
int UF_MODL_edit_inset_flange
(
tag_t feature_tag,
UF_MODL_inset_flange_data_p_t parameters
)
tag_t | feature_tag | Input | Object identifier of flange feature. |
UF_MODL_inset_flange_data_p_t | parameters | Input | Modified set of parameters which represent the new size and shape of the feature. |
UF_MODL_edit_instantiated_udf (view source)
Defined in: uf_modl_udf.h
Overview
Function description:
User function for editing a UDF instantaited feature.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
It can accept single UDF references and Smart Collectors and Sections in
UF_MODL_udf_ref_data_t.
Note that a Smart Section in ref_data must be deleted when a Smart Section is
created as a new UDF parent for the editing purpose.
See Also
UF_MODL_ask_instantiated_udf
History
This function was originally released in NX3.
Required License(s)
solid_modeling
int UF_MODL_edit_instantiated_udf
(
tag_t udf_insert_tag,
logical explosion,
UF_MODL_udf_exp_data_t * exp_data,
UF_MODL_udf_ref_data_t * ref_data
)
UF_MODL_edit_law_extension (view source)
Defined in: uf_modl_freeform.h
Overview
Edits existing Law Extension feature based on the Law Extension Open API
data structure.
Environment
Internal and External
See Also
Required License(s)
solid_modeling and ( free_form_modeling or nx_freeform_1 )
int UF_MODL_edit_law_extension
(
UF_MODL_lawext_data_p_t law_extension_data,
tag_t law_extension
)
UF_MODL_lawext_data_p_t | law_extension_data | Input | Law Extension Open API data structure. |
tag_t | law_extension | Input | Law Extension feature object identifier. |
UF_MODL_edit_linear_iset (view source)
Defined in: uf_modl_isets.h
Overview
Edits an instance linear set feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_linear_iset
(
tag_t feature_obj_id,
char * number_in_x,
char * distance_x,
char * number_in_y,
char * distance_y
)
tag_t | feature_obj_id | Input | Linear instance set feature identifier |
char * | number_in_x | Input | Number in XC direction |
char * | distance_x | Input | Spacing in XC direction |
char * | number_in_y | Input | Number in YC direction |
char * | distance_y | Input | Spacing in YC direction |
UF_MODL_edit_linked_exterior (view source)
Defined in: uf_linked_exterior.h
Overview
This function edits a Linked Exterior feature.
See Also
UF_MODL_create_linked_exterior
UF_MODL_ask_linked_exterior
UF_MODL_identify_exterior_using_hl
UF_MODL_identify_exterior_using_rays
Environment
Internal and External
History
Released in V18.0
Required License(s)
solid_modeling
int UF_MODL_edit_linked_exterior
(
tag_t feature_tag,
UF_MODL_linked_ext_p_t ext_data
)
UF_MODL_edit_local_scale (view source)
Defined in: uf_modl_dfo.h
Overview
This function edits a local scale feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_local_scale
(
tag_t feature_tag,
UF_MODL_dfo_scale_type_t type,
UF_MODL_dfo_region_p_t region,
tag_t so_point,
tag_t so_dir,
tag_t so_csys,
char factors [ 3 ] [ UF_MAX_EXP_LENGTH ]
)
UF_MODL_edit_mirror_pattern_face (view source)
Defined in: uf_modl_dfo.h
Overview
This function edits a mirror pattern_face feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_mirror_pattern_face
(
tag_t feature_tag,
UF_MODL_dfo_region_p_t region,
tag_t mirror_plane
)
UF_MODL_edit_mirror_set (view source)
Defined in: uf_modl.h
Overview
This function edits the mirror set. It will replace all the features
and the mirror plane of the mirror set feature.
See Also
Environment
Internal and External
History
Released in V16.0
Required License(s)
solid_modeling
int UF_MODL_edit_mirror_set
(
tag_t mirror_set,
tag_t * features,
int number_of_features,
tag_t mirror_plane
)
tag_t | mirror_set | Input | The tag of the mirror feature |
tag_t * | features | Input | Array of features to mirror |
int | number_of_features | Input | Number of features in the array |
tag_t | mirror_plane | Input | The mirror plane can be a face or a datum plane |
UF_MODL_edit_move_region (view source)
Defined in: uf_modl_dfo.h
Overview
This function edits a move_region feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_move_region
(
tag_t feature_tag,
UF_MODL_transform_type_t type,
UF_MODL_dfo_region_p_t region,
void * transf_data
)
tag_t | feature_tag | Input | feature tag to be edited |
UF_MODL_transform_type_t | type | Input | transformation type |
UF_MODL_dfo_region_p_t | region | Input | faces to be operated |
void * | transf_data | Input | transformation data, can be of following types: UF_MODL_transf_pp_p_t - point to point translation UF_MODL_transf_dist_p_t - translation along direction UF_MODL_transf_angle_p_t - rotation about axis UF_MODL_transf_aa_p_t - rotation between two axes |
UF_MODL_edit_offset_region (view source)
Defined in: uf_modl_dfo.h
Overview
This function edits an offset_region feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_offset_region
(
tag_t feature_tag,
UF_MODL_dfo_region_p_t region,
char * offset
)
tag_t | feature_tag | Input | feature_tag to be edited |
UF_MODL_dfo_region_p_t | region | Input | faces to be operated |
char * | offset | Input | offset value, in expression string |
UF_MODL_edit_patch_body_parms (view source)
Defined in: uf_modl.h
Overview
Edits a patch feature.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_edit_patch_body_parms
(
tag_t feature,
tag_t new_target,
tag_t new_tool,
tag_t new_face,
int new_reverse
)
tag_t | feature | Input | Feature to edit |
tag_t | new_target | Input | New target body to replace the old target body |
tag_t | new_tool | Input | New tool body to replace the old tool body |
tag_t | new_face | Input | New face to replace the old face |
int | new_reverse | Input | New reverse direction: 1 = Reverse 0 = No Reverse |
UF_MODL_edit_plane (view source)
Defined in: uf_modl.h
Overview
Edits the data of a plane.
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_edit_plane
(
tag_t plane_tag,
double origin_point [ 3 ] ,
double plane_normal [ 3 ]
)
tag_t | plane_tag | Input | Plane |
double | origin_point [ 3 ] | Input | New origin point of the plane |
double | plane_normal [ 3 ] | Input | New Normal of the plane |
UF_MODL_edit_points_parms (view source)
Defined in: uf_modl.h
Overview
Replace the points in a Points Feature
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_edit_points_parms
(
tag_t feature_tag,
int num_points,
tag_t * points
)
tag_t | feature_tag | Input | Feature tag |
int | num_points | Input | Number of points |
tag_t * | points | Output | Array of point tags |
UF_MODL_edit_quilt (view source)
Defined in: uf_modl_freeform.h
Overview
Edits a quilt surface.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_edit_quilt
(
UF_MODL_quilt_type_t quilt_data,
UF_MODL_quilt_data_structures_p_u quilt_structure_po,
tag_t quilt_surface
)
UF_MODL_quilt_type_t | quilt_data | Input | Type of quilt surface UF_MODL_CURVE_MESH_ALONG_FIXED_VECTOR UF_MODL_CURVE_MESH_ALONG_DRIVER_NORMALS UF_MODL_B_SURFACE_ALONG_FIXED_VECTOR UF_MODL_B_SURFACE_ALONG_DRIVER_NORMALS UF_MODL_SELF_REFIT |
UF_MODL_quilt_data_structures_p_u | quilt_structure_po | Input | Pointer to structure containing the defining data of the quilt surface. |
tag_t | quilt_surface | Input | Object identifier of quilt surface to be edited |
UF_MODL_edit_reblend_face (view source)
Defined in: uf_modl_dfo.h
Overview
Edit a reblend face feature data
Environment
Internal and External
History
V19 release
Required License(s)
solid_modeling
int UF_MODL_edit_reblend_face
(
tag_t feature_eid,
UF_MODL_reblend_face_data_p_t reblend_data
)
UF_MODL_edit_rectangular_pattern_face (view source)
Defined in: uf_modl_dfo.h
Overview
This function edits a rectangular pattern_face feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_rectangular_pattern_face
(
tag_t feature_tag,
UF_MODL_dfo_region_p_t region,
tag_t x_axis,
tag_t y_axis,
int num_x,
int num_y,
char * x_offset,
char * y_offset
)
tag_t | feature_tag | Input | the feature |
UF_MODL_dfo_region_p_t | region | Input | region |
tag_t | x_axis | Input | x-axis to define offset |
tag_t | y_axis | Input | y-axis |
int | num_x | Input | number along XC |
int | num_y | Input | number along YC, only for type==0 |
char * | x_offset | Input | offset along XC |
char * | y_offset | Input | offset along YC |
UF_MODL_edit_refit_face_feature (view source)
Defined in: uf_modl_freeform.h
Overview
Edits existing Refit Face feature based on the Refit Face Open API data
structure.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_edit_refit_face_feature
(
UF_MODL_refit_face_data_p_t refit_data,
tag_t refit
)
UF_MODL_edit_replace_face (view source)
Defined in: uf_modl_dfo.h
Overview
This function edits a replace_face feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_replace_face
(
tag_t feature_tag,
tag_t * target_faces,
int num_target,
tag_t * non_blend_faces,
int num_non_blend,
tag_t tool_face,
logical reverse_direction
)
tag_t | feature_tag | Input | the feature |
tag_t * | target_faces | Input | faces to be operated, NULL if won't change |
int | num_target | Input | number of faces, 0 if won't change |
tag_t * | non_blend_faces | Input | adjacent tangent faces which are not blends, NULL if won't change |
int | num_non_blend | Input | number of non-blend faces, 0 if won't change |
tag_t | tool_face | Input | tool face |
logical | reverse_direction | Input | reverse direction of the tool face or not |
UF_MODL_edit_resize_face (view source)
Defined in: uf_modl_dfo.h
Overview
This function edits a resize_face feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_edit_resize_face
(
tag_t feature_tag,
tag_t * target_faces,
int num_target,
tag_t * non_blend_faces,
int num_non_blend,
char * new_parameter
)
tag_t | feature_tag | Input | the feature |
tag_t * | target_faces | Input | faces to be operated, NULL if won't change |
int | num_target | Input | number of faces, 0 if won't change |
tag_t * | non_blend_faces | Input | adjacent tangent faces which are not blends, NULL if won't change |
int | num_non_blend | Input | number of non-blend faces, 0 if won't change |
char * | new_parameter | Input | new diameter for cylindrical/spherical faces, or half angle |
UF_MODL_edit_ripedge (view source)
Defined in: uf_modl_smd.h
Overview
Edit Edge Rip
Environment
Internal and External
History
Released in NX3.0
Required License(s)
sheet_metal_design
int UF_MODL_edit_ripedge
(
tag_t ripedge_tag,
UF_MODL_ripedge_data_p_t ripedge_ufdata
)
UF_MODL_edit_rough_offset (view source)
Defined in: uf_modl_freeform.h
Overview
This function will edit a rough offset feature.
Environment
History
Released in V18.0
Required License(s)
solid_modeling
int UF_MODL_edit_rough_offset
(
tag_t feature_tag,
UF_MODL_rough_offset_p_t parms
)
UF_MODL_edit_scale (view source)
Defined in: uf_modl.h
Overview
This function will edit a scale feature.
Environment
Internal and External
See Also
History
Released in V16.0
Required License(s)
solid_modeling
int UF_MODL_edit_scale
(
UF_SCALE_TYPE_t type,
tag_t tag,
tag_t so_point,
tag_t so_dir,
tag_t so_csys,
char factors [ 3 ] [ UF_MAX_EXP_LENGTH ]
)
UF_SCALE_TYPE_t | type | Input | The new type of scale feature to be edited to: UF_SCALE_TYPE_UNIFORM UF_SCALE_TYPE_AXISYMMETRIC UF_SCALE_TYPE_GENERAL |
tag_t | tag | Input | The tag of an existing scale feature to be edited |
tag_t | so_point | Input | This is the tag of a smart point to use as the origin of the scale feature. If a NULL_TAG is passed, the default origin will be the origin of the WCS. This argument is ignored for UF_SCALE_TYPE_GENERAL scale features. |
tag_t | so_dir | Input | This is a tag of a smart point to be used as the direction of the scale for a UF_SCALE_TYPE_AXISYMMETRIC scale feature. It is ignored for all other scale features. If a NULL_TAG is passed for an axisymmetric scale feature, then the default will be the Z-axis of the WCS. |
tag_t | so_csys | Input | This is the tag of a smart CSYS to be used for a UF_SCALE_TYPE_GENERAL scale feature. This parameter is ignored for all other scale features. If a NULL_TAG is passed for a general scale feature, then the default will be the WCS. |
char | factors [ 3 ] [ UF_MAX_EXP_LENGTH ] | Input | An array of strings that define the scale factors.These scale factors may include expressions. For a uniform scale feature, there is only one string to use as a scale factor. For an axisymmetric scale feature, two factor strings must be passed in, the first being the scale factor along the axis, and the second being the scale factor in the other direction. For a general scale feature, there will be three strings passed in this array, the first being the scale in the x-axis, the second being the scale in the y-axis and the third being the scale in the z-axis. |
UF_MODL_edit_section_surface (view source)
Defined in: uf_modl_freeform.h
Overview
Edits the section surface Open API data structure.
Environment
Internal and External
See Also
History
V15.0 changes: The UF_MODL_secsrf_data_t structure was enhanced.
Required License(s)
solid_modeling and ( free_form_modeling or nx_freeform_1 )
int UF_MODL_edit_section_surface
(
UF_MODL_secsrf_data_p_t section_surface_data,
tag_t section_surface
)
UF_MODL_secsrf_data_p_t | section_surface_data | Input | Section Surface Open API Data Structure |
tag_t | section_surface | Input | Section Surface Feature object identifier. |
UF_MODL_edit_set_hide_state (view source)
Defined in: uf_modl.h
Overview
Edit the hide state of a feature set.
Environment
Internal and External
History
Released in V16.0
Required License(s)
solid_modeling
int UF_MODL_edit_set_hide_state
(
tag_t set,
int * hide_state
)
tag_t | set | Input | The tag of the feature set |
int * | hide_state | Input / Output | Integer value for hide state: 1 is for hidden. Returns the previous state of the feature set |
UF_MODL_edit_set_members (view source)
Defined in: uf_modl.h
Overview
Edit, or replace, the members of a feature set.
Environment
Internal and External
History
Released in V16.0
Required License(s)
solid_modeling
int UF_MODL_edit_set_members
(
tag_t set,
tag_t * features,
int number_of_feature
)
tag_t | set | Input | The tag of the feature set |
tag_t * | features | Input | An array of input features representing the set members |
int | number_of_feature | Input | Number of features in the array |
UF_MODL_edit_sew_sheet_body (view source)
Defined in: uf_modl.h
Overview
Modifies data of the input sew sheet bodies feature to the specified
tool bodies and tolerance conditions specified in the inputs.
Environment
Internal and External
See Also
History
Original release was in V16.0.1.
Required License(s)
solid_modeling
int UF_MODL_edit_sew_sheet_body
(
tag_t feature_obj_eid,
tag_t new_target_eid,
int tool_body_count,
tag_t * tool_body_eids,
double tolerance
)
tag_t | feature_obj_eid | Input | Feature object id of sew feature. |
tag_t | new_target_eid | Input | The NX eid of the the new target sheet body. This option will be available in V17. |
int | tool_body_count | Input | Number of tool sheet bodies |
tag_t * | tool_body_eids | Input | Array of NX eids of sheet bodies |
double | tolerance | Input | Distance tolerance for approximations |
UF_MODL_edit_sew_solid_body (view source)
Defined in: uf_modl.h
Overview
Modifies data of the input sew solid bodies feature to the specified
tool and target faces and tolerance conditions specified in the inputs.
Environment
Internal and External
See Also
History
Original release was in V16.0.1.
Required License(s)
solid_modeling
int UF_MODL_edit_sew_solid_body
(
tag_t feature_obj_eid,
int target_faces_count,
tag_t * target_faces,
int tool_faces_count,
tag_t * tool_faces,
double tolerance
)
tag_t | feature_obj_eid | Input | Feature object id of trimmed sheet. |
int | target_faces_count | Input | Number of faces on the target body to be sewn |
tag_t * | target_faces | Input | 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_count | Input | Number of faces on the tool body to be sewn |
tag_t * | tool_faces | Input | Array of NX eids of faces on the tool body to be sewn. This array must be freed by calling UF_free. |
double | tolerance | Input | Distance tolerance for approximations. |
UF_MODL_edit_silhouette_flange (view source)
Defined in: uf_modl_freeform.h
Overview
Edits existing Silhouette Flange feature based on the Silhouette Flange Open API
data structure.
Environment
Internal and External
See Also
History
First released in NX3
Required License(s)
solid_modeling
int UF_MODL_edit_silhouette_flange
(
UF_MODL_sflange_data_p_t sflange_data,
tag_t sflange_tag
)
UF_MODL_sflange_data_p_t | sflange_data | Input | Silhouette Flange Open API data structure. |
tag_t | sflange_tag | Input | Silhouette Flange feature object identifier. |
UF_MODL_edit_simplify_parms (view source)
Defined in: uf_modl_simplify.h
Overview
Edit an existing simplify feature according to the specified data, which
must have been created at an earlier timestamp than the feature. Faces and
edges which are already parameters of the simplify feature, but which have
no associated geometry at present, are retained as its parameters after the
edit. If the feature cannot be edited to the specified parameters because
one or more faces could not be removed, the ifail UF_MODL_SIMPL_HEAL_FAILED
is returned, and the array <failing_wound_edges> will contain the tags of
the edges which could not be healed (and must be freed using UF_free()). It
is not possible to edit a simplify feature to be on a different body.
If the expression passed in as <max_hole_dia_expression> is different from
the previous expression used, and the old expression is an unused system
expression, the old expression will be deleted. The expression's value can
be changed by the normal expression editing routines.
Environment
Internal and External
History
This function was originally released in V15.0.
Required License(s)
solid_modeling
int UF_MODL_edit_simplify_parms
(
tag_t feature_tag,
UF_MODL_simpl_data_p_t simpl_parms,
int * n_failing_wound_edges,
tag_t * * failing_wound_edges
)
tag_t | feature_tag | Input | The simplify feature |
UF_MODL_simpl_data_p_t | simpl_parms | Input | New parameters of the simplify feature |
int * | n_failing_wound_edges | Output | The number of failing wound edges |
tag_t * * | failing_wound_edges | Output to be freed | Array of failing wound edges. This must be freed by calling UF_free. |
UF_MODL_edit_slot_type (view source)
Defined in: uf_modl_slots.h
Overview
Changes the type of slot feature. New fields are initialized as
indicated in the table above. If you want to change these fields, you
need to edit their expressions.
Environment
Internal and External
See Also
History
This function was originally released in V15.0.
Required License(s)
solid_modeling
int UF_MODL_edit_slot_type
(
tag_t slot_feature,
UF_MODL_slot_type_e_t new_slot_type
)
tag_t | slot_feature | Input | Slot feature |
UF_MODL_slot_type_e_t | new_slot_type | Input | New slot type. Valid types are: UF_RECTANGULAR_SLOT UF_BALL_END_SLOT, UF_U_SLOT UF_T_SLOT, UF_DOVE_TAIL_SLOT |
UF_MODL_edit_smbend (view source)
Defined in: uf_modl_smd.h
Overview
Edits an existing smbend feature.
Environment
Internal and External
Return
Return code:
= 0 No error
= not 0 Error code
History
Originally released in V17.0
Required License(s)
sheet_metal_design
int UF_MODL_edit_smbend
(
tag_t bend_tag,
UF_MODL_smbend_data_p_t user_data
)
UF_MODL_edit_smbend_corner (view source)
Defined in: uf_modl_smd.h
Overview
This procedure uses data from the user to edit an existing smbend feature
that was created by converting a corner.
Return
Return code:
= 0 No Error
= not 0 Error code
Environment
External
History
Originally released in V17.0.3
Required License(s)
sheet_metal_design
int UF_MODL_edit_smbend_corner
(
tag_t bend_tag,
UF_MODL_smbend_corner_data_p_t user_data
)
UF_MODL_edit_smbend_cylinder (view source)
Defined in: uf_modl_smd.h
Overview
This procedure uses data from the user to edit an existing smbend feature
that was created by converting a cylindrical face.
Return
Return code:
= 0 No Error
= not 0 Error code
Environment
External
History
Originally released in V17.0.3
Required License(s)
sheet_metal_design
int UF_MODL_edit_smbend_cylinder
(
tag_t bend_tag,
UF_MODL_smbend_cylinder_data_p_t user_data
)
UF_MODL_edit_smcorner (view source)
Defined in: uf_modl_smd.h
Overview
Edit smcorner
Environment
Internal and External
History
Released in NX3.0
Required License(s)
sheet_metal_design
int UF_MODL_edit_smcorner
(
tag_t smcorner_tag,
UF_MODL_smcorner_data_p_t smcorner_ufdata
)
UF_MODL_edit_smcutout (view source)
Defined in: uf_modl_smd.h
Overview
Changes the parameter data of an existing sheet metal cutout (SMCutout) feature
by providing the object identifier associated to the SMCutout feature and a new
SMCutout parameter data structure.
Environment
Internal and External
See Also
History
Original release was in V15.0
Required License(s)
sheet_metal_design
int UF_MODL_edit_smcutout
(
tag_t cutout_tag,
UF_MODL_smcutout_data_p_t user_data
)
UF_MODL_edit_smd_flange (view source)
Defined in: uf_modl_smd.h
Overview
Modifies the size and shape of a Sheet Metal Design flange feature.
The caller should use UF_MODL_ask_flange_parms to get the current parameters
and by changing the required parameters, the feature can be altered.
Environment
Internal and External
Required License(s)
sheet_metal_design
int UF_MODL_edit_smd_flange
(
tag_t feature_tag,
UF_MODL_flange_data_p_t parameters
)
tag_t | feature_tag | Input | Object identifier of flange feature. |
UF_MODL_flange_data_p_t | parameters | Input | Modified set of parameters which represent the new size and shape of the feature. |
UF_MODL_edit_smhole (view source)
Defined in: uf_modl_smd.h
Overview
Edits an existing sheet metal hole.
Environment
Internal and External
See Also
History
Original release was in V14.0.
Required License(s)
sheet_metal_design
int UF_MODL_edit_smhole
(
tag_t hole_tag,
UF_MODL_smhole_data_p_t user_data
)
tag_t | hole_tag | Input | Tag of the SMHole to edit |
UF_MODL_smhole_data_p_t | user_data | Input | Pointer to user's modified UF_MODL_smhole_data_s data structure |
UF_MODL_edit_smpunch (view source)
Defined in: uf_modl_smd.h
Overview
Change an existing SMPunch feature's parameters to
the parameters given in user_data. The caller should first call
UF_MODL_ask_smpunch to get the current parameters for the punch, then
change the elements that need to be changed, and then call
UF_MODL_edit_smpunch.
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
sheet_metal_design
int UF_MODL_edit_smpunch
(
UF_MODL_smpunch_data_p_t user_data,
tag_t punch_tag
)
UF_MODL_smpunch_data_p_t | user_data | Input | Data describing the punch edits. |
tag_t | punch_tag | Input | The object identifier of the punch feature to be modified. |
UF_MODL_edit_smslot (view source)
Defined in: uf_modl_smd.h
Overview
Edits an existing sheet metal slot.
Environment
Internal and External
See Also
History
Original release was in V14.0.
Required License(s)
sheet_metal_design
int UF_MODL_edit_smslot
(
tag_t slot_tag,
UF_MODL_smslot_data_p_t user_data
)
tag_t | slot_tag | Input | Tag of the SMSlot to edit |
UF_MODL_smslot_data_p_t | user_data | Input | Pointer to user's modified UF_MODL_smslot_data_s data structure |
UF_MODL_edit_snip_surface_feature (view source)
Defined in: uf_modl_freeform.h
Overview
Edits an existing Snip Surface feature based on an Open API data structure.
Environment
Internal and External
See Also
History
First released in NX2
Required License(s)
solid_modeling
int UF_MODL_edit_snip_surface_feature
(
UF_MODL_snipsrf_feature_data_p_t usr_data,
tag_t snip
)
UF_MODL_edit_solid_punch (view source)
Defined in: uf_modl_smd.h
Overview
Edit solid punch
Return
Return code :
Environment
Internal and External
History
Released in NX2.0
Required License(s)
sheet_metal_design
int UF_MODL_edit_solid_punch
(
tag_t smspunch_tag,
UF_MODL_solid_punch_data_p_t smspunch_ufdata
)
UF_MODL_edit_stycorner (view source)
Defined in: uf_modl_freeform.h
Overview
Edit an Styled Corner Surface Feature using its NX Open API data structure.
Environment
Internal and External
See Also
History
First released in NX3
Required License(s)
solid_modeling
int UF_MODL_edit_stycorner
(
UF_MODL_stycorner_data_p_t styled_corner_data,
tag_t frec_tag
)
UF_MODL_edit_styled_sweep_feature (view source)
Defined in: uf_modl_freeform.h
Overview
Edits existing Styled Sweep feature based on the Styled Sweep Open API data
structure.
Environment
Internal and External
See Also
Required License(s)
gateway
int UF_MODL_edit_styled_sweep_feature
(
UF_MODL_styled_sweep_data_p_t styled_sweep_data,
tag_t styswp
)
UF_MODL_edit_subdiv_face (view source)
Defined in: uf_modl.h
Overview
Replaces a curve in a subdivided face feature with another curve. At
the end of the edit for a subdivided face, a UF_MODL_update should
be called to perform an update.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_edit_subdiv_face
(
const int edit_flag,
const tag_t feature_obj_id,
const tag_t remove_curve,
const tag_t add_curve,
const double vector [ 3 ]
)
const int | edit_flag | Input | Edit flag 1 = replace curve others for future use |
const tag_t | feature_obj_id | Input | Feature object identifier of a subdivide face |
const tag_t | remove_curve | Input | Curve to remove from the subdivide face feature |
const tag_t | add_curve | Input | Curve to add to the subdivide face feature |
const double | vector [ 3 ] | Input | Projection vector (Not used) |
UF_MODL_edit_sweep_curves (view source)
Defined in: uf_modl_sweep.h
Overview
Removes and adds profile and guide curves of a sweep that can be one of the
following types, Extruded, Revolved, Sweep (along a Guide) and Cable/Tube.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_edit_sweep_curves
(
tag_t sweep_id,
int n_profile_curves_removed,
tag_t * profile_curves_removed,
int n_profile_curves_added,
tag_t * profile_curves_added,
int n_guide_curves_removed,
tag_t * guide_curves_removed,
int n_guide_curves_added,
tag_t * guide_curves_added
)
tag_t | sweep_id | Input | sweep object identifier |
int | n_profile_curves_removed | Input | number of the curves to be removed from the sweep profile, 0 if no curve. |
tag_t * | profile_curves_removed | Input | curves to be removed from the sweep profile, NULL if no curve. |
int | n_profile_curves_added | Input | number of the curves to be added to the sweep profile, 0 if no curve. |
tag_t * | profile_curves_added | Input | curves to be added to the sweep profile, NULL if no curve. |
int | n_guide_curves_removed | Input | number of the curves to be removed from the sweep guide, 0 if no curve. |
tag_t * | guide_curves_removed | Input | curves to be removed from the sweep guide, NULL if no curve. |
int | n_guide_curves_added | Input | number of the curves to be added to the sweep guide, 0 if no curve. |
tag_t * | guide_curves_added | Input | curves to be added to the sweep guide, NULL if no curve. |
UF_MODL_edit_symb_thread (view source)
Defined in: uf_modl.h
Overview
Edits a thread feature. This function will need a data structure as input.
If you do not intend to change a component of type char of the structure,
please initialize it as NULL. Before calling this function, you can call
UF_MODL_ask_symb_thread_parms to check the existing thread parameters.
Note that you are not allowed to edit the first three fields of the data
structure: cyl_face, start_face, and axis_direction. Only if a thread is
created by the option "manual input" instead of "choose from table",
can you edit pitch, angle, minor and major diameters. Manual defined thread
has an empty callout, so you can know whether a thread is created by "manual input"
by checking if the callout is NULL, but you can not simply set callout = NULL.
As any other editing function, you may need to call UF_MODL_update to view
your feature changes for internal Open API applications.
Environment
Internal and External
See Also
History
This function is new to V14.0.
Required License(s)
solid_modeling
int UF_MODL_edit_symb_thread
(
tag_t thread_obj_id,
UF_MODL_symb_thread_data_p_t parameters
)
UF_MODL_edit_taper_from_edges (view source)
Defined in: uf_modl_taper.h
Overview
Edit a taper from edges
Environment
Internal and External
History
Originally released in V17.0
Required License(s)
solid_modeling
int UF_MODL_edit_taper_from_edges
(
tag_t feature_eid,
int type,
tag_t direction_tag,
char * angle_str,
logical taper_all_instances,
int num_edges,
tag_t edges [ ] ,
double dist_tol,
double angle_tol
)
tag_t | feature_eid | Input | feature eid of created taper |
int | type | Input | taper type |
tag_t | direction_tag | Input | taper direction |
char * | angle_str | Input | taper angle |
logical | taper_all_instances | Input | tapering all instances |
int | num_edges | Input | number of edges |
tag_t | edges [ ] | Input | array of edges |
double | dist_tol | Input | tolerance of distance |
double | angle_tol | Input | tolerance of angle |
UF_MODL_edit_trimmed_sheet (view source)
Defined in: uf_modl_freeform.h
Overview
Modifies data of the input trimmed sheet feature to the specified
boundary and regional conditions specified in the inputs.
Environment
Internal and External
History
Original release was in V13.0.
Required License(s)
solid_modeling
int UF_MODL_edit_trimmed_sheet
(
tag_t feature_obj_eid,
int bounding_object_count,
tag_t * bounding_objects,
UF_MODL_vector_p_t projection_method,
int point_key,
int point_count,
double point_coords [ ] ,
double tolerance
)
tag_t | feature_obj_eid | Input | Feature object id of trimmed sheet. |
int | bounding_object_count | Input | Number of trimming boundary objects |
tag_t * | bounding_objects | Input | Array of NX eids of trimming objects |
UF_MODL_vector_p_t | projection_method | Input | A 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_key | Input | Points define regions to: 0 = retain; 1 = discard |
int | point_count | Input | Number of region points |
double | point_coords [ ] | Input | Array of region points on the sheet to be trimmed. This array contains 3point_count entries. |
double | tolerance | Input | Distance tolerance for approximations. |
UF_MODL_edit_wrap_assembly (view source)
Defined in: uf_modl.h
Overview
This function edits a Wrap Assembly feature.
See Also
Environment
Internal and External
History
Released in V17.0
Required License(s)
solid_modeling
int UF_MODL_edit_wrap_assembly
(
tag_t feature_tag,
UF_MODL_wrap_assem_p_t wrap_data
)
UF_MODL_edit_wrap_geometry (view source)
Defined in: uf_modl.h
Overview
This function edits a Wrap Geometry feature.
See Also
Environment
Internal and External
History
Released in V16.0
Required License(s)
solid_modeling
int UF_MODL_edit_wrap_geometry
(
tag_t feature_tag,
UF_MODL_wrap_geom_p_t wrap_data
)
UF_MODL_eval_exp (view source)
Defined in: uf_modl_expressions.h
Overview
The input to UF_MODL_eval_exp is a character string containing the
name of the expression. What is returned to the user is the numeric
value of the expression.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_eval_exp
(
char * exp_name,
double * exp_value
)
char * | exp_name | Input | Name of expression to be evaluated. |
double * | exp_value | Output | Result of evaluation. |
UF_MODL_evaluate_curve (view source)
Defined in: uf_modl_curves.h
Overview
Evaluates a curve for position and derivatives. The derivative types
can be found in uf_modl.h.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_evaluate_curve
(
tag_t curve_id,
double * param,
int * deriv_flag,
double pos_and_deriv [ ]
)
tag_t | curve_id | Input | Object identifier for the curve |
double * | param | Input | Parameter at which to evaluate |
int * | deriv_flag | Input | Number of derivatives to evaluate. UF_MODL_LOC = Return the point UF_MODL_LOC_1STDERV = Return the point and 1st derivative UF_MODL_LOC_1STDERV_2NDDERV = Return the point, 1st and 2nd derivative |
double | pos_and_deriv [ ] | Output | Position and derivative. Dimension of the array = 3 (deriv_flag+1) |
UF_MODL_evaluate_face (view source)
Defined in: uf_modl.h
Overview
Computes the requested derivatives of a face at the given parameter
values.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_evaluate_face
(
tag_t face_tag,
int deriv_request,
double parms [ 2 ] ,
UF_MODL_SRF_VALUE_p_t eval_result
)
tag_t | face_tag | Input | Face tag |
int | deriv_request | Input | order of the derivative to be computed: UF_MODL_EVAL - position UF_MODL_EVAL_DERIV1 - position and first partial UF_MODL_EVAL_DERIV2 - position, first partial and second partial UF_MODL_EVAL_DERIV3 - position, first, second and third partials Defaults to UF_MODL_EVAL_DERIV2 for Blend faces UF_MODL_EVAL_UNIT_NORMAL - position, first partials and unitized normal. UF_MODL_EVAL_NORMAL - position, first partials and the ununitized normal. UF_MODL_EVAL_ALL - position, normals and all the partials up to the third order. Defaults to UF_MODL_EVAL_DERIV2 for Blend faces |
double | parms [ 2 ] | Input | u,v values at which derivatives are to be computed. |
UF_MODL_SRF_VALUE_p_t | eval_result | Output | Pointer to the structure containing position and derivatives: srf_pos[3] - position srf_du[3] - d/du srf_dv[3] - d/dv srf_unormal[3] - unit normal srf_d2u[3] - d2/du2 srf_dudv[3] - d2/dudv srf_d2v[3] - d2/dv2 srf_d3u[3] - d3/du3 srf_d2udv[3] - d3/du2dv srf_dud2v[3] - d3/dud2v srf_d3v[3] - d3/dv3 srf_normal[3] - d/du X d/dv |
UF_MODL_evaluate_parm (view source)
Defined in: uf_modl.h
Overview
Evaluates the parm structure at the given parameter value. If the parm method
type is UF_MODL_PARM_CONSTANT, the value returned is the same regardless of
the parameter value that is passed in.
Environment
Internal and External
History
Original release was in V13.0.
Required License(s)
solid_modeling
int UF_MODL_evaluate_parm
(
UF_MODL_parm_p_t parm,
double parameter,
double * value
)
UF_MODL_parm_p_t | parm | Input | Pointer to parm structure to evaluate |
double | parameter | Input | Parameter at which to evaluate. Must be between 0 and 1. |
double * | value | Output | Value of parm at given parameter. |
UF_MODL_export_exp (view source)
Defined in: uf_modl_expressions.h
Overview
Exports expressions to a file. You input a file specification (path and
filename).
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_export_exp
(
char * file_spec
)
char * | file_spec | Input | File name specification to export expressions into. NOTE: if the file already exists, an error code is returned and the file is not overwritten. |
UF_MODL_export_udf (view source)
Defined in: uf_modl_udf.h
Overview
Exports a user defined feature part. Note that you must use the
UF_MODL_boolean_udf to actually perform the Boolean operation
specified by the sign parameter.
User Defined Features (UDFs) allow you to define the shape and
function of features. This gives you the ability to create a library of
features tailored to your needs.
Four Open API routines provide support for the creation of User
Defined Features. These routines generally reflect the interactive
UDF functionality. Please see user-defined features in the Modeling
User Manual for more information and examples. The Open API
routines are UF_MODL_export_udf, UF_MODL_import_udf, UF_MODL_set_udf_parms
and UF_MODL_boolean_udf. In addition, there is one inquiry routine
UF_MODL_ask_udf_parms.
All UDFs must be predefined (created) and saved as a user-defined
feature file. You use the UF_MODL_export_udf to create the file. You
retrieve a UDF using UF_MODL_import_udf and use UF_MODL_set_udf_parms
to change the predefined feature parameters and UF_MODL_boolean_udf to
make the UDF part of your model. You can also use the relative position
routines (see UF_MODL_register_rpo and UF_MODL_unregister_rpo) to position
your UDF on your part.
To create a UDF file, you must first create a model using the existing
functions (Open API, GRIP, or interactively). This entire model,
including expressions, is the new UDF you wish to define. The UDF
must be created in the absolute coordinate space. The origin (0,0,0) is
considered the feature's origin.
After the geometry is defined, you use UF_MODL_export_udf to
create a user feature output file. The UDF file contains the geometry
as well as information on the input parameters (i.e. those parameters
that you let other users change when the UDF is brought into their
parts) and the attachment method.
The UDF file has the same name as the part name but with the ".udf"
extension. For example, if your part name were "name_of_file.prt",
then the udf file name would be "name_of_file.udf". Input parameters
are those parameters you wish to be entered during the creation of a
model as a feature. The input parameters are specified by the ip_prompts,
ip_names, and number_of_elements arguments.
All variables not entered as input variables become constants or they
can be controlled using expressions established before saving the
UDF file. For example, let's say your UDF consists of a block where
p0 represents the width, p1 represents the length, and p2 represents
the height. You have determined that you wish the width and length to
be specified when bringing in the UDF, but you wish the height to
always be the width plus twice the length.
In your creation of the block, you would have predefined p2 = p0 +
2p1. But you need to specify to the UFD file that p0 and p1 are the
input parameters. You specify the variables or expressions in the
ip_names argument. You can alias these expressions using the
ip_prompts arguments.
When specifying the input parameters when importing the UDF, you
set the parameters using the alias prompt name. An error occurs if
you specify variables that do not exist in the model and the UDF file
is not created. In our preceding example, you would specify the inputs
parameters as follows:
int number2 = number_of_elements = 2;
char ip_prompts[number2] = { "width", "length" };
char ip_names[number2] = { "p0", "p1" };
You specify the attachment method that the UDF is to perform when
brought into your model. The options are create, add, subtract, and
intersect (UF_NULLSIGN, UF_POSITIVE, UF_NEGATIVE, and UG_UNSIGNED
respectively).
After the feature is saved, you need to specify data when bringing the
UDF into your part. With UF_MODL_import_udf, you specify the udf
part file name and the destination csys and point. The routine returns
the tag of the UDF. The destination csys is the orientation in which
the feature is brought into the part. The destination point is the
location at which the system places the origin of the UDF.
UF_MODL_set_udf_parms sets the values for UDF predefined parameter names
(prompts). An error results if you provide an incorrect parameter name.
You can use UF_MODL_ask_udf_parms to inquire the names and current
setting of the input parameters.
Finally, you use UF_MODL_boolean_udf to specify the planar face on the UDF
(tool body) that is to be placed directly on the planar body (target body).
You also need to determine what is the x-direction on the planar tool face
to define the coordinate system for the relative positioning constraints.
The normal to the planar tool face is the z-axis and is used with the
x-direction to fully specify the relative positioning dimension coordinate
system. Before applying the boolean, you may wish to register the relative
position to allow you to specify the position of the udf. If the attachment
method is "create," then you do not need to specify the planar faces.
However, you must call UF_MODL_boolean_udf for every imported UDF regardless
of the type of Boolean operation performed.
Note: This routine works only with old-style Pre-V15 UDFs
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_export_udf
(
char * * ip_prompts,
char * * ip_names,
int number_of_elements,
UF_FEATURE_SIGN sign
)
char * * | ip_prompts | Input | Pointer to array of pointers to ip prompts. |
char * * | ip_names | Input | Pointer to array of pointers to ip variable names. |
int | number_of_elements | Input | Number of elements in array. |
UF_FEATURE_SIGN | sign | Input | The attachment method sign. Valid options: UF_NULLSIGN = 0, create new target solid UF_POSITIVE = 1, add to target solid UF_NEGATIVE = 2, subtract from target solid UF_UNSIGNED = 3 intersect with target solid |
UF_MODL_extract_face (view source)
Defined in: uf_modl_form_features.h
Overview
Extracts the given face into the work part. If the face given is in the
work part, then the extracted face is associative to the given face (i.e.
if the given face is moved, the extracted face moves with it). If the
given face is an occurrence of a face that's not in the work part, then
the face is created without having any associativity.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_extract_face
(
tag_t face,
int mode,
tag_t * sheet_body
)
tag_t | face | Input | Face to be extracted. Can be an occurrence. |
int | mode | Input | Type of extraction to perform. 0 = new_face should be the same type of face as the given face. 1 = new_face should be a cubic polynomial approximation of the given face. 2 = new_face should be a b-surface representation of the given face. |
tag_t * | sheet_body | Output | Sheet body created, this sheet is created in the work part. |
UF_MODL_feature_can_be_copied (view source)
Defined in: uf_modl.h
Overview
Ask if a feature can be copied
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_feature_can_be_copied
(
tag_t feature_eid,
logical * copy_flag
)
tag_t | feature_eid | Input | Features identifier |
logical * | copy_flag | Output | flag TRUE/FALSE; |
UF_MODL_fix_bsurface_data (view source)
Defined in: uf_modl_bsurf.h
Overview
This function inspects the b-surface data for degeneracies. If it finds
any, it attempts to fix them by moving one or more control points. The
fixed-up data is returned in the same memory as the supplied data.
Environment
Internal and External
See Also
History
This function was originally released in V15.0.
Required License(s)
solid_modeling
int UF_MODL_fix_bsurface_data
(
double degen_toler,
UF_MODL_bsurface_p_t bsurface,
int * num_states,
UF_MODL_state_p_t * states
)
double | degen_toler | Input | threshold for reporting fixes: fixes less than this value are not reported |
UF_MODL_bsurface_p_t | bsurface | Input | b-surface for which to remove degeneracies |
int * | num_states | Output | number of states in the states array |
UF_MODL_state_p_t * | states | Output to be freed | states, some of original spline, some of output spline; if NULL is provided no states are returned. This must be freed by calling UF_free. |
UF_MODL_form_features (view source)
Defined in: uf_modl_smd.h
Overview
This routine will set the state of an array of formable features
so that the features will be fully formed.
The given feaure tags must be tags of Flange, Inset Flange,
General Flange, SMBridge, or SMBend feature.
The caller of this routine may start an update cycle (if any of the features
are not already in their fully formed state) by using UF_MODL_update.
Return
Return code:
=0 : Successful
>0 : Failing error number
<0 : Failing error number
= UF_MODL_ERR_NOT_A_FORMABLE_FEATURE : The given tag was not
the tag of a formable
feature.
Environment
Internal and External
See Also
History
Originally released in V18.0
Required License(s)
sheet_metal_design
int UF_MODL_form_features
(
const int n_features,
const tag_t * const feature_tag_array,
logical * const is_update_required
)
const int | n_features | Input | The number of features tags in the array. |
const tag_t * const | feature_tag_array | Input | The array of formable feature tags. |
logical * const | is_update_required | Output | If update is required. |
UF_MODL_free_bead (view source)
Defined in: uf_modl_smd.h
Overview
Frees all the memory associated with the parameters returned from
UF_MODL_ask_bead.
Environment
Internal and External
Required License(s)
sheet_metal_design
int UF_MODL_free_bead
(
UF_MODL_project_curves_p_t centerline,
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t secondary_faces,
UF_MODL_bead_section_plane_p_t section_plane,
UF_MODL_vector_p_t section_axis,
UF_MODL_bead_section_parms_p_t section_parms
)
UF_MODL_free_bsurf_data (view source)
Defined in: uf_modl_bsurf.h
Overview
Frees the B-surface data.
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_free_bsurf_data
(
UF_MODL_bsurface_p_t bsurf
)
UF_MODL_free_compare_data (view source)
Defined in: uf_mdlcmp.h
Overview
Function Name: UF_MODL_free_compare_data
Function Description:
Free model compare map data. Frees the memory allocated for the mapping
data structure containing the output of the compare results.
Input:
mapping_data - Pointer to the mapping data structure
Output:
None
Returns
0 : successful, >0 : failing error number
Environment
Internal and External
History
This function was originally released in NX 2.0
Required License(s)
solid_modeling
int UF_MODL_free_compare_data
(
UF_MODL_compare_part_map_data_t * mapping_data
)
UF_MODL_free_compare_data_3 (view source)
Defined in: uf_mdlcmp.h
Overview
Function Name: UF_MODL_free_compare_data_3
Function Description:
Free model compare map data. Frees the memory allocated for the mapping
data structure containing the output of the compare results.
Input:
mapping_data - Pointer to the mapping data structure UF_MODL_compare_part_map_data_3_t
Output:
None
Returns
0 : successful, >0 : failing error number
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_free_compare_data_3
(
UF_MODL_compare_part_map_data_3_t * mapping_data
)
UF_MODL_free_general_pad (view source)
Defined in: uf_modl_pads.h
Overview
Frees all the memory associated with the parameters returned from
UF_MODL_ask_general_pad.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_free_general_pad
(
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t top_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t top_radius
)
UF_MODL_faces_p_t | placement_faces | Input | The faces used to define the shape of the pad at the placement faces. The first face is used to determine the target body. |
UF_MODL_offset_trans_faces_p_t | top_faces | Input | The definition of the top of the pad. The top can either be an offset or translation of the specified faces. If it is desired to have the top be an offset or translate of the placement faces, then just set the UF_MODL_faces_p_t pointer within this input i structure to the placement_faces pointer value. |
UF_MODL_pocketpad_outline_p_t | outline | Input | 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. |
UF_MODL_parm_p_t | placement_radius | Input | The specification of the radius desired between the side of the pad and the placement face. |
UF_MODL_parm_p_t | top_radius | Input | The specification of the radius desired between the side of the pad and the top of the pad. |
UF_MODL_free_general_pocket (view source)
Defined in: uf_modl_pockets.h
Overview
Frees all the memory associated with the parameters returned from
UF_MODL_ask_general_pocket. Refer to the description of
UF_MODL_create_general_pocket for an example of how to use this function.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_free_general_pocket
(
UF_MODL_faces_p_t placement_faces,
UF_MODL_offset_trans_faces_p_t floor_faces,
UF_MODL_pocketpad_outline_p_t outline,
UF_MODL_parm_p_t placement_radius,
UF_MODL_parm_p_t floor_radius
)
UF_MODL_faces_p_t | placement_faces | Input | The faces used to define the shape of the pocket at the placement faces. The first face is used to determine the target body. |
UF_MODL_offset_trans_faces_p_t | floor_faces | Input | The definition of the floor of the pocket. The floor can either be an offset or translation of the specified faces. If it is desired to have the floor be an offset or translate of the placement faces, then just set i the UF_MODL_faces_p_t pointer within this input structure to the placement_faces pointer value. |
UF_MODL_pocketpad_outline_p_t | outline | Input | 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. |
UF_MODL_parm_p_t | placement_radius | Input | The specification of the radius desired between the side of the pocket and the placement face. |
UF_MODL_parm_p_t | floor_radius | Input | The specification of the radius desired between the side of the pocket and the floor of the pocket. |
UF_MODL_free_gflange_data (view source)
Defined in: uf_modl_smd.h
Overview
Frees the memory allocated to general flange data structure
This function is called after the UF_MODL_ask_gflange routine to
free memory allocated to members of gflange_data structure.
Return
Return code:
= 0 No Error
= not 0 Error code
Environment
Internal and External
Required License(s)
sheet_metal_design
int UF_MODL_free_gflange_data
(
UF_MODL_gflange_data_p_t gflange_data
)
UF_MODL_free_law (view source)
Defined in: uf_modl_curves.h
Overview
Free the dtat struct for uf_law_parms
Required License(s)
gateway
void UF_MODL_free_law
(
void * uf_law_parms
)
UF_MODL_free_law_extension (view source)
Defined in: uf_modl_freeform.h
Overview
Deallocates memory used for a Law Extension Open API data structure.
The flag free_laws, is used to decide if distance and angle laws are to be
freed. If the laws are not freed in this function, user may use
UF_MODL_free_law() to free the laws individually.
Environment
Internal and External
See Also
Required License(s)
gateway
void UF_MODL_free_law_extension
(
UF_MODL_lawext_data_p_t law_extension_data,
logical free_laws
)
UF_MODL_lawext_data_p_t | law_extension_data | Input | Law Extension Open API data structure to be freed. |
logical | free_laws | Input | If TRUE, frees distance and angle law else not |
UF_MODL_free_quilt (view source)
Defined in: uf_modl_freeform.h
Overview
This routine should be called after a call to UF_MODL_ask_quilt in
order to free the space allocated by this routine.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_free_quilt
(
UF_MODL_quilt_type_t quilt_data,
UF_MODL_quilt_data_structures_u * quilt_structures_p
)
UF_MODL_quilt_type_t | quilt_data | Input | Type of quilt surface UF_MODL_CURVE_MESH_ALONG_FIXED_VECTOR UF_MODL_CURVE_MESH_ALONG_DRIVER_NORMALS UF_MODL_B_SURFACE_ALONG_FIXED_VECTOR UF_MODL_B_SURFACE_ALONG_DRIVER_NORMALS UF_MODL_SELF_REFIT |
UF_MODL_quilt_data_structures_u * | quilt_structures_p | Input | Pointer to structure containing the defining data of the quilt surface. |
UF_MODL_free_refit_face_feature_data (view source)
Defined in: uf_modl_freeform.h
Overview
Deallocates memory used for a Refit Face Open API data structure.
Environment
Internal and External
See Also
Required License(s)
gateway
void UF_MODL_free_refit_face_feature_data
(
UF_MODL_refit_face_data_p_t refit_data
)
UF_MODL_free_rough_offset_data (view source)
Defined in: uf_modl_freeform.h
Overview
This function will free the entity list in the parameters data structure of a rough offset feature.
Environment
History
Released in V18.0
Required License(s)
gateway
void UF_MODL_free_rough_offset_data
(
UF_MODL_rough_offset_p_t parms
)
UF_MODL_free_silhouette_flange (view source)
Defined in: uf_modl_freeform.h
Overview
Deallocates memory used for a Silhouette Flange Open API data structure.
Environment
Internal and External
See Also
History
First released in NX3
Required License(s)
gateway
void UF_MODL_free_silhouette_flange
(
UF_MODL_sflange_data_p_t sflange_data
)
UF_MODL_free_snip_surface_feature_data (view source)
Defined in: uf_modl_freeform.h
Overview
Deallocates memory used for a Snip Surface Open API data structure.
Environment
Internal and External
See Also
History
First released in NX2
Required License(s)
gateway
void UF_MODL_free_snip_surface_feature_data
(
UF_MODL_snipsrf_feature_data_p_t usr_data_ptr
)
UF_MODL_free_string_list (view source)
Defined in: uf_modl_utilities.h
Overview
Frees a string list structure.
Environment
Internal and External
Required License(s)
gateway
void UF_MODL_free_string_list
(
UF_STRING_p_t string_list
)
UF_MODL_free_styled_sweep_feature_data (view source)
Defined in: uf_modl_freeform.h
Overview
Deallocates memory used for a Styled Sweep Open API data structure.
Environment
Internal and External
See Also
Required License(s)
gateway
void UF_MODL_free_styled_sweep_feature_data
(
UF_MODL_styled_sweep_data_p_t styled_sweep_data
)
UF_MODL_free_udfs_def_data (view source)
Defined in: uf_modl_udf.h
Overview
This function frees the definition data of a UDF.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
Required License(s)
gateway
void UF_MODL_free_udfs_def_data
(
UF_MODL_udfs_def_data_p_t udfs_data
)
UF_MODL_genflg_ask_num_states (view source)
Defined in: uf_modl_smd.h
Overview
UF_MODL_genflg_ask_num_states
Returns the number of states in a given feature.
Environment
Internal and External
History
Released in NX3.0
Required License(s)
gateway
int UF_MODL_genflg_ask_num_states
(
tag_t genflg,
int * num_states
)
tag_t | genflg | Input | Genflg frec |
int * | num_states | Output | number of states |
UF_MODL_genflg_ask_state_data (view source)
Defined in: uf_modl_smd.h
Overview
UF_MODL_genflg_ask_state_data
Gives the state info data for a given state index.
Environment
Internal and External
History
Released in NX3.0
Required License(s)
gateway
int UF_MODL_genflg_ask_state_data
(
tag_t genflg,
int state_index,
UF_MODL_genflg_state_data_p_t state
)
UF_MODL_genflg_create_state (view source)
Defined in: uf_modl_smd.h
Overview
UF_MODL_genflg_create_state
Create a new state in the genflg feature.
Environment
Internal and External
History
Released in NX3.0
Required License(s)
advanced_sheet_metal_design
int UF_MODL_genflg_create_state
(
tag_t genflg,
UF_MODL_genflg_state_data_p_t state,
int state_index
)
UF_MODL_genflg_delete_state (view source)
Defined in: uf_modl_smd.h
Overview
UF_MODL_genflg_delete_state
Deletes the state for a given state index.
Environment
Internal and External
History
Released in NX3.0
Required License(s)
advanced_sheet_metal_design
int UF_MODL_genflg_delete_state
(
tag_t genflg,
int state_index
)
tag_t | genflg | Input | Genflg frec to create new state |
int | state_index | Input | state to be delted |
UF_MODL_genflg_edit_state (view source)
Defined in: uf_modl_smd.h
Overview
UF_MODL_genflg_edit_state
Edit the state of given general flange feature.
Environment
Internal and External
History
Released in NX3.0
Required License(s)
advanced_sheet_metal_design
int UF_MODL_genflg_edit_state
(
tag_t genflg,
int state_index,
UF_MODL_genflg_state_data_p_t state
)
UF_MODL_get_curve_edge_direction (view source)
Defined in: uf_modl_utilities.h
Overview
Compute the direction flag for a curve or edge
The direction flag is computed base on the input point and
the input curve or edge. We assign UF_MODL_CURVE_START_FROM_BEGIN ,
if the input point is closer to the starting point than the end
point of the curve, and UF_MODL_CURVE_START_FROM_END, otherwise.
If the curve or edge is closed and the point is on both end points, we
assign UF_MODL_CURVE_START_FROM_END.
Return
error code
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_get_curve_edge_direction
(
double * end_point,
tag_t curve_edge_eid,
int * direction
)
double * | end_point | Input | : The input endpoint |
tag_t | curve_edge_eid | Input | : The input curve or edge |
int * | direction | Output | : Ouput direction |
UF_MODL_get_dimension_data (view source)
Defined in: uf_modl_expressions.h
Overview
This function is used to extract the data to create a drafting dimension for
a parametric expression associated with the given feature.
Note this function can not be used with Extruded Features.
Environment
Internal and External
History
Originally released in V17.0
Required License(s)
solid_modeling
int UF_MODL_get_dimension_data
(
tag_t exp,
tag_t feature_tag,
UF_MODL_dimension_data_p_t dim_data
)
tag_t | exp | Input | The expression tag for which we want to create the dimension |
tag_t | feature_tag | Input | The feature which owns the expression. |
UF_MODL_dimension_data_p_t | dim_data | Output to be freed | The structure which contains the dimension data. This structure must be allocated by the user. The member array dim_data->top_array must be freed by calling UF_free. |
UF_MODL_hide_parent_curves (view source)
Defined in: uf_modl_curves.h
Overview
This routine hides the parent NX curves of an input feature.
If the fourth parameter is null, this routine will blank all
the parent NX curves of the feature.
If the fourth parameter is not null, it is assumed to be an array
of UF_MODL_display_info_t structures returned by
UF_MODL_show_parent_curves.
This routine will restore the curves in this array to their original
layers and blank status.
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_hide_parent_curves
(
tag_t feature_tag,
int n_unch_disp_stat,
UF_MODL_disp_info_p_t unch_parents_disp_status,
int n_ch_disp_stat,
UF_MODL_disp_info_p_t * ch_parents_disp_status
)
tag_t | feature_tag | Input | Input feature record eid |
int | n_unch_disp_stat | Input | The number of parent NX curves whose original display status are in the array unch_parents_disp_status. Usually, this is an output from UF_MODL_show_parent_curves. |
UF_MODL_disp_info_p_t | unch_parents_disp_status | Input | If NULL, then all of the NX curves used to construct the feature will be blanked. If not NULL this is an array of structures that contain the original display status for the parent NX curves. The display status for each parent NX curve will be restored to the original values in this array. Normally this array is an output from UF_MODL_show_parent_curves |
int | n_ch_disp_stat | Input | The number of parent NX curves whose original display status are in the array ch_parents_disp_status. Usually, this is an output from UF_MODL_show_parent_ curves. |
UF_MODL_disp_info_p_t * | ch_parents_disp_status | Input | If NULL, then all of the NX curves used to construct the feature will be blank. If not NULL this is an array of structures that contain the original display status for the parent NX curves. The display status for each parent NX curve will be restored to the original values in this array. Normally this array is an output from UF_MODL_show_parent_curves |
UF_MODL_identify_exterior_using_hl (view source)
Defined in: uf_linked_exterior.h
Overview
This function identifies Exterior Faces from the array of bodies using
a hidden line solution. The context of the bodies is determined from
the xforms given.
See Also
UF_MODL_create_linked_exterior
UF_MODL_ask_linked_exterior
UF_MODL_edit_linked_exterior
UF_MODL_identify_exterior_using_rays
Environment
Internal and External
History
Released in V18.0
Required License(s)
solid_modeling
int UF_MODL_identify_exterior_using_hl
(
int num_bodies,
tag_t * bodies,
tag_t * xforms,
int num_dirs,
double direction [ ] [ 3 ] ,
double chordal_tol,
int resolution,
int * num_faces,
tag_t * * faces,
int * * body_index
)
int | num_bodies | Input | Number of tags in the bodies array. |
tag_t * | bodies | Input | Array of body tags to identify faces from. |
tag_t * | xforms | Input | Array of xforms. One for each body, determines the position of the body relative to its source geometry. NULL_TAG implies no transformation. |
int | num_dirs | Input | Number of directions |
double | direction [ ] [ 3 ] | Input | Direction to apply hidden line solution from |
double | chordal_tol | Input | Chordal tolerance for edges |
int | resolution | Input | Determines how many hatch lines drawn per face. May be one of: UF_LINKED_HL_RES_COARSE UF_LINKED_HL_RES_NORMAL UF_LINKED_HL_RES_FINE UF_LINKED_HL_RES_VERY_FINE |
int * | num_faces | Input / Output | Number of tags in the faces array. If input is > 0 will reallocate and add external faces to existing output arrays |
tag_t * * | faces | Output to be freed | Array of face tags. |
int * * | body_index | Output to be freed | Array of indices giving the body/xform the face came from. |
UF_MODL_identify_exterior_using_rays (view source)
Defined in: uf_linked_exterior.h
Overview
This function identifies Exterior Faces from the array of transformed
bodies by firing a ray at each face. The context of the bodies is
determined from the xforms given. The code will not fire rays
at input faces already identified as exterior.
See Also
UF_MODL_create_linked_exterior
UF_MODL_ask_linked_exterior
UF_MODL_edit_linked_exterior
UF_MODL_identify_exterior_using_hl
Environment
Internal and External
History
Released in V18.0
Required License(s)
solid_modeling
int UF_MODL_identify_exterior_using_rays
(
int num_bodies,
tag_t * bodies,
tag_t * xforms,
double origin [ 3 ] ,
double chordal_tol,
int ray_type,
int * num_faces,
tag_t * * faces,
int * * body_index
)
int | num_bodies | Input | Number of tags in the bodies array. |
tag_t * | bodies | Input | Array of body tags to identify faces from. |
tag_t * | xforms | Input | Array of xforms. One for each body, determines the position of the body relative to its source geometry. NULL_TAG implies no transformation. |
double | origin [ 3 ] | Input | Point to fire rays from from when ray_type = UF_LINKED_RAY_FROM_POINT |
double | chordal_tol | Input | Chordal tolerance for edges |
int | ray_type | Input | Determines orign of rays fired at each face. May be one of: UF_LINKED_RAY_ALONG_NORMS UF_LINKED_RAY_ABOVE_NORMS UF_LINKED_RAY_FROM_POINT |
int * | num_faces | Input / Output | Number of tags in the faces array. If input is > 0 will reallocate and add external faces to existing output arrays |
tag_t * * | faces | Output to be freed | Array of exterior faces. |
int * * | body_index | Output to be freed | Array of indices giving the body/xform the face came from. |
UF_MODL_import_exp (view source)
Defined in: uf_modl_expressions.h
Overview
Imports expressions from a file. Input a file specification. This
routine does not automatically update the database. After you use this
routine, call UF_MODL_update to update the database.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_import_exp
(
char * file_spec,
int new_def
)
char * | file_spec | Input | File name specification to import expressions from. |
int | new_def | Input | Flag designating action to be taken if a name read from the file is already used for an expression. 0 = ok to replace existing definition 1 = must not exist. If it does, quit reading and give an error. 2 = delete all imports that are not used. |
UF_MODL_import_udf (view source)
Defined in: uf_modl_udf.h
Overview
Imports a user defined feature part. You must call UF_MODL_boolean_udf for
every UDF that you import.
Note: This routine works only with old-style Pre-V15 UDFs
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_import_udf
(
char * filename,
double dest_csys [ 9 ] ,
double dest_point [ 3 ] ,
tag_t * udf_id
)
char * | filename | Input | User defined feature file name to import (with .udf extension). |
double | dest_csys [ 9 ] | Input | CSYS for importing the file. |
double | dest_point [ 3 ] | Input | Origin point of the CSYS. |
tag_t * | udf_id | Output | Feature obj_id of created user defined feature. |
UF_MODL_init_edge_blend_mult (view source)
Defined in: uf_modl_blends.h
Overview
Initialize the multiple radius blend data structure
Initial values assigned :
blend_instanced = FALSE
num_setback = 0
num_var_rad = 0
num_stopshort = 0
vrb_tolerance = APRTOL
smooth_overflow = TRUE
cliff_overflow = TRUE
notch_overflow = TRUE
allow_twist_patches = TRUE
soften_vertices = FALSE
var_radius_data = NULL
setback_data = NULL
stopshort_data = NULL
edge_data = NULL
var_edges = NULL
Environment
Internal and External
History
NX3.0 Release
Required License(s)
gateway
void UF_MODL_init_edge_blend_mult
(
UF_MODL_edge_blend_mult_data_p_t blend_data
)
UF_MODL_init_edge_blend_point_mult (view source)
Defined in: uf_modl_blends.h
Overview
Initializes the Point data for variable radius blends
Initial values assigned :
parameter = 0.0
radius = 0.25
radius_exp = NULL
status = 1
Environment
Internal and External
History
NX3.0 Release
Required License(s)
gateway
void UF_MODL_init_edge_blend_point_mult
(
UF_MODL_blend_point_data_p_t point_data
)
UF_MODL_init_edge_blend_set_mult (view source)
Defined in: uf_modl_blends.h
Overview
Initializes the Blend Set(Chainset) data
Initial values assigned :
edge_collector = NULL
edges = NULL
num_edges = 0
radius = 0.25
radius_exp = NULL
status = 1
Environment
Internal and External
History
NX3.0 Release
Required License(s)
gateway
void UF_MODL_init_edge_blend_set_mult
(
UF_MODL_edge_blend_set_p_t blend_set
)
UF_MODL_init_edge_blend_setback_mult (view source)
Defined in: uf_modl_blends.h
Overview
Initializes the Setback data
Initial values assigned :
distance = 0.5
distance_exp = NULL
edge = NULL_TAG
from_start = true
status = 1
Environment
Internal and External
History
NX3.0 Release
Required License(s)
gateway
void UF_MODL_init_edge_blend_setback_mult
(
UF_MODL_edge_blend_setback_data_p_t sb_data
)
UF_MODL_init_edge_blend_stopshort_mult (view source)
Defined in: uf_modl_blends.h
Overview
Initializes the StopShort data
Initial values assigned :
distance = 20
distance_exp = NULL
edge = NULL
from_start = true
status = 1
Environment
Internal and External
History
NX3.0 Release
Required License(s)
gateway
void UF_MODL_init_edge_blend_stopshort_mult
(
UF_MODL_edge_blend_stopshort_data_p_t ss_data
)
UF_MODL_init_face_blend_data (view source)
Defined in: uf_modl_blends.h
Overview
Initialize face blend create data
Environment
Internal and External
See Also
The initial values UF_MODL_init_face_blend_data assigned to
data structure UF_MODL_face_blend_create_data_t.
first_set = NULL
first_set_size = 0
flip_first_normal = FALSE
second_set = NULL
second_set_size = 0
flip_second_normal = FALSE
propagate = FALSE
cliff_edges = NULL
n_cliff_edges = 0
thls = NULL
n_thls = 0
proj_on_first_set = TRUE
end_overflow = TRUE
blend_tolerance = system distance tolerance
trim_option = UF_TRIM_AND_ATTACH
radius_type = UF_CONSTANT
default_radius = "0.25"
thls_1 = NULL
n_thls_1 = 0
law_parameters = NULL
History
Originally released in V16.0
Required License(s)
gateway
void UF_MODL_init_face_blend_data
(
UF_MODL_face_blend_create_data_p_t create_data
)
UF_MODL_init_ripedge_ufdata (view source)
Defined in: uf_modl_smd.h
Overview
Initialize the Edge Rip UF data. This will load the default values for
creation of Edge Rip feature.
Environment
Internal and External
History
Released in NX3.0
Required License(s)
gateway
void UF_MODL_init_ripedge_ufdata
(
UF_MODL_ripedge_data_p_t ripedge_ufdata
)
UF_MODL_init_section_surface (view source)
Defined in: uf_modl_freeform.h
Overview
Initializes the section surface Open API data structure. It is to be
used in conjunction with UF_MODL_create_section_surface and
UF_MODL_edit_section_surface.
Environment
Internal and External
See Also
History
V15.0 changes: The UF_MODL_secsrf_data_t structure was enhanced.
Required License(s)
solid_modeling
int UF_MODL_init_section_surface
(
UF_MODL_secsrf_data_p_t section_surface_data
)
UF_MODL_init_silhouette_flange_data (view source)
Defined in: uf_modl_freeform.h
Overview
Initializes Silhouette Flange Open API data structure.
Environment
Internal and External
See Also
History
First released in NX4
Required License(s)
solid_modeling
int UF_MODL_init_silhouette_flange_data
(
UF_MODL_sflange_data_p_t sflange_data
)
UF_MODL_init_smcorner_ufdata (view source)
Defined in: uf_modl_smd.h
Overview
Initialize the SMCorner UF data. This will load the default values for
creation of SMCorner feature.
Environment
Internal and External
History
Released in NX3.0
Required License(s)
gateway
void UF_MODL_init_smcorner_ufdata
(
UF_MODL_smcorner_data_p_t smcorner_ufdata
)
UF_MODL_init_string_list (view source)
Defined in: uf_modl_utilities.h
Overview
Initializes a string list structure.
Return
void
Environment
Internal and External
Required License(s)
gateway
void UF_MODL_init_string_list
(
UF_STRING_p_t string_list1
)
UF_MODL_init_stycorner_data (view source)
Defined in: uf_modl_freeform.h
Overview
Initialize data for Styled Corner Surface Feature NX Open API data structure.
The following values are set for the Styled Corner data:
--------------------------------------------------------
.num_base_faces = 0;
.base_faces = NULENT;
.blend_faces[3] = NULTAG;
.is_rectangular = 0;
.interior_opt = 0;
.trim_attach_opt = 0;
.boundary_conds[4]= 1;
.crv_opt[4].depth = .500;
.crv_opt[4].skew = .500;
.crv_opt[4].start_tagmag = 1.0;
.crv_opt[4].end_tagmag = 1.0;
.crv_opt[4].shape_control = 1;
.trim_curve_opt[2] = 2;
.interior_iso_u_crv_end_params[2]= 0.5;
.interior_iso_v_crv_end_params[2]= 0.5;
.dist_tol = 0.001;
.angle_tol = 0.1;
--------------------------------------------------------
Environment
Internal and External
See Also
History
First released in NX3
Required License(s)
solid_modeling
int UF_MODL_init_stycorner_data
(
UF_MODL_stycorner_data_p_t styled_corner_data
)
UF_MODL_initialize_compare_data (view source)
Defined in: uf_mdlcmp.h
Overview
Function Name: UF_MODL_initialize_compare_data
Function Description:
Initialize compare map data. Initializes memory allocated for the
mapping data structure containing output of the model compare results.
Input/Output:
mapping_data - Pointer to the mapping data structure
Returns
0 : successful, >0 : failing error number
Environment
Internal and External
History
This function was originally released in NX 2.0
Required License(s)
solid_modeling
int UF_MODL_initialize_compare_data
(
UF_MODL_compare_part_map_data_t * mapping_data
)
UF_MODL_intersect_bodies (view source)
Defined in: uf_modl.h
Overview
Intersect two bodies.
UF_MODL_intersect_bodies_with_retained_options honors the setting of the
"Boolean Face Properties from" option of the Modeling Preferences dialog,
but UF_MODL_intersect_bodies always applies the display properties of
the target body to new faces.
Environment
Internal and External
See Also
Refer to
example
UF_MODL_intersect_bodies_with_retained_options
Required License(s)
solid_modeling
int UF_MODL_intersect_bodies
(
tag_t target,
tag_t tool,
int * num_result,
tag_t * * resulting_bodies
)
tag_t | target | Input | Target body |
tag_t | tool | Input | Tool body |
int * | num_result | Output | Number of resultant bodies |
tag_t * * | resulting_bodies | Output to be freed | Resultant bodies. This array must be freed by calling UF_free. |
UF_MODL_intersect_bodies_with_retained_options (view source)
Defined in: uf_modl.h
Overview
Intersect two bodies with options to keep the original target body, tool body, or both bodies.
Environment
Internal and External
See Also
Refer to
example ,
UF_MODL_intersect_bodies.
History
Release version 19.
Required License(s)
solid_modeling
int UF_MODL_intersect_bodies_with_retained_options
(
tag_t original_target,
tag_t original_tool,
logical retain_target_body,
logical retain_tool_body,
tag_t * frec_eid
)
tag_t | original_target | Input | Original target body |
tag_t | original_tool | Input | Original tool body |
logical | retain_target_body | Input | Indicate 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_body | Input | Indicate whether to retain the tool body. If TRUE - the tool body is not consumed. FALSE - the tool body is consumed |
tag_t * | frec_eid | Output | The resulting feature record tag |
UF_MODL_intersect_objects (view source)
Defined in: uf_modl.h
Overview
Determines the intersection between the two input objects and
outputs information describing the intersection.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_intersect_objects
(
tag_t object_1,
tag_t object_2,
double tolerance,
int * num_intersections,
UF_MODL_intersect_info_p_t * * intersections
)
tag_t | object_1 | Input | First object to participate in the intersection. |
tag_t | object_2 | Input | Second object to participate in the intersection |
double | tolerance | Input | Tolerance used to determine if the objects intersect. Any time object 1 passes within this distance of object 2, it is considered an intersection. This tolerance is a distance tolerance in the units of the current work part. |
int * | num_intersections | Output | Number of intersections found |
UF_MODL_intersect_info_p_t * * | intersections | Output to be freed | Array of intersection information found, the memory allocated for this array and each element of the array should be freed with UF_free. |
UF_MODL_is_body_feature (view source)
Defined in: uf_modl.h
Overview
Is feature a body feature? That is does the feature create a body or is
it applied to a body.
Environment
Internal and External
Required License(s)
gateway
int UF_MODL_is_body_feature
(
tag_t feature,
logical * is_body_feature
)
tag_t | feature | Input | feature to check |
logical * | is_body_feature | Output | TRUE if a body feature, else FALSE |
UF_MODL_is_datum_axis_reversed (view source)
Defined in: uf_modl_datum_features.h
Overview
Indicates if the datum axis is reversed in term of its direction. Each
datum axis has two directions: "regular" and "opposite". Here, a
"regular" datum axis direction would be the one displayed during
creation in an interactive session just before a user selects the apply
button. Similarly, an "opposite" datum axis direction signifies the
direction which is opposite to the regular one. If the current datum
axis direction is an opposite one, then the datum axis is reversed.
Environment
Internal and External
See Also
History
Original release was in V14.0.
Required License(s)
gateway
int UF_MODL_is_datum_axis_reversed
(
tag_t datum_axis_tag,
logical * reversed
)
tag_t | datum_axis_tag | Input | tag of the datum axis to reverse |
logical * | reversed | Output | TRUE = this means that the datum axis direction is reversed. FALSE = this means that the datum axis direction is not reversed. |
UF_MODL_is_datum_plane_reversed (view source)
Defined in: uf_modl_datum_features.h
Overview
Indicates if the datum plane is reversed in term of its normal
direction. Each datum plane has two normal directions: "regular" and
"opposite". Here, a "regular" datum plane direction would be the one
displayed during creation in an interactive session just before a user
selects the apply button. Similarly, an "opposite" datum plane
direction signifies the direction which is opposite to the regular one. If
the current datum plane direction is an opposite one, then the datum
plane is reversed.
Environment
Internal and External
History
Original release was in V14.0.
Required License(s)
gateway
int UF_MODL_is_datum_plane_reversed
(
tag_t datum_plane_tag,
logical * reversed
)
tag_t | datum_plane_tag | Input | tag of the datum plane to reverse |
logical * | reversed | Output | TRUE = Indicates the datum plane direction is reversed. FALSE = Indicates the datum plane direction is not reversed. |
UF_MODL_is_exp_in_part (view source)
Defined in: uf_modl_expressions.h
Overview
Is the expression in the part?
Environment
Internal and External
Required License(s)
gateway
int UF_MODL_is_exp_in_part
(
tag_t object_in_search_part,
const char * left_hand_side,
logical * is_exp_in_part
)
tag_t | object_in_search_part | Input | determines which part to search in |
const char * | left_hand_side | Input | left hand side of expression |
logical * | is_exp_in_part | Output | TRUE if expression is in part |
UF_MODL_is_feature_a_hidden_set_member (view source)
Defined in: uf_modl.h
Overview
Is the feature a hidden member of a feature set, or sets?
Environment
Internal and External
History
Released in NX6.0
Required License(s)
gateway
int UF_MODL_is_feature_a_hidden_set_member
(
tag_t feature,
logical * hidden_member
)
tag_t | feature | Input | Tag of feature |
logical * | hidden_member | Output | Return TRUE if the feature is a hidden member of a set. Otherwise, return FALSE. |
UF_MODL_is_feature_a_set_member (view source)
Defined in: uf_modl.h
Overview
Is the feature a member of a feature set, or sets?
Environment
Internal and External
History
Released in V16.0
Required License(s)
gateway
int UF_MODL_is_feature_a_set_member
(
tag_t feature,
int * flag
)
tag_t | feature | Input | Tag of feature |
int * | flag | Output | Return 1 if the feature is a member of a set. Otherwise, return 0. |
UF_MODL_is_geometric_expression (view source)
Defined in: uf_modl_expressions.h
Overview
Queries whether the specified expression is a geometric expression.
Environment
Internal and External
See Also
History
This function was originally released in V15.0.
Required License(s)
gateway
int UF_MODL_is_geometric_expression
(
tag_t exp_tag,
logical * flag
)
tag_t | exp_tag | Input | Tag of expression to query |
logical * | flag | Output | TRUE if this expression is a geometric expression |
UF_MODL_is_import_body_feature (view source)
Defined in: uf_modl_import_body.h
Overview
Is feature an import body feature ?
Environment
Internal and External
Required License(s)
gateway
int UF_MODL_is_import_body_feature
(
tag_t feature,
logical * is_import_body_feature
)
tag_t | feature | Input | Feature |
logical * | is_import_body_feature | Output | TRUE if an import body feature, else FALSE |
UF_MODL_isodivide_face (view source)
Defined in: uf_modl_freeform.h
Overview
Iso-divides a B-surface using the specified parameter and direction.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_isodivide_face
(
tag_t * sheet_id,
double div_param,
int div_dir,
tag_t * second_sheet_id
)
tag_t * | sheet_id | Input / Output | Input: Face or body identifier of the sheet to be divided Output: First sheet identifier after division |
double | div_param | Input | Division value: 0 < div_param < 1 divides the surface into two pieces. |
int | div_dir | Input | Division direction: 0 = constant U 1 = constant V |
tag_t * | second_sheet_id | Output | Second sheet identifier after division |
UF_MODL_isotrim_face (view source)
Defined in: uf_modl_freeform.h
Overview
Trims or extends a B-surface depending on the trim parameter
values specified. The maximum values must be greater than the
minimum values.
The function trims when the parameter values lie in the range
between 0 and 1. The function extends when the parameter values are
outside the range 0 and 1 (e.g. Umin = -0.1 and Umax = 1.1 would
extend a B-surface in the U direction). Some B-surfaces, when extended
with large trim parameter values, may give unpredictable results.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_isotrim_face
(
tag_t * sheet_id,
double trim_param [ 4 ]
)
tag_t * | sheet_id | Input / Output | Face or body identifier of the sheet to be trimmed, on output the identifier of the first face. |
double | trim_param [ 4 ] | Input | Trim parameters: trim_param[0] = U minimum value trim_param[1] = U maximum value trim_param[2] = V minimum value trim_param[3] = V maximum value |
UF_MODL_matchedge_ask_data (view source)
Defined in: uf_modl_freeform.h
Overview
Inquires Match Edge feature and populates Match Edge Open API data structure.
The memory allocated for the structure may be freed using UF_MODL_matchedge_free_data().
Enviroment: Internal and External.
See Also
History
Original release was in NX2.0.
Required License(s)
gateway
int UF_MODL_matchedge_ask_data
(
tag_t medge_tag,
UF_MODL_matchedge_data_p_t * uf_medge
)
UF_MODL_matchedge_check (view source)
Defined in: uf_modl_freeform.h
Overview
Computes the edge/edeg deviations after using UF_MODL_matchedge_create_feature()
or UF_MODL_matchedge_edit_feature().
Enviroment: Internal and External.
See Also
History
Original release was in NX2.0.
Required License(s)
solid_modeling and studio_free_form
int UF_MODL_matchedge_check
(
UF_MODL_matchedge_data_t* uf_data,
int continuity,
int num_pnts,
double* deviation
)
UF_MODL_matchedge_data_t* | uf_data | Input | Match Edge Open API data structure |
int | continuity | Input | 0, 1, 2, or 3, for desired continuity check |
int | num_pnts | Input | number of points used in computing deviations |
double* | deviation | Output | array of deviations, its length is 1 + continuity, deviation[0] for G0 deviation, deviation[1] for G1 deviation in degree, deviation[2] for relative G2 deviation, deviation[3] for relative G3 deviation |
UF_MODL_matchedge_create_feature (view source)
Defined in: uf_modl_freeform.h
Overview
Creates Match Edge feature from the Match Edge Open API data structure.
The returned integer is error status: 0 for no error; 1 for no memory; 2 for creation failure; 3 for others.
The memory allocated for uf_data can be freed using UF_MODL_matchedge_free_data().
Enviroment: Internal and External.
See Also
History
Original release was in NX2.0.
Required License(s)
solid_modeling and studio_free_form
int UF_MODL_matchedge_create_feature
(
UF_MODL_matchedge_data_p_t uf_data,
tag_t * frec_tag
)
UF_MODL_matchedge_edit_feature (view source)
Defined in: uf_modl_freeform.h
Overview
Edits existing Match Edge feature based on the Match Edge Open API data structure.
The returned integer is error status: 0 for no error; 1 for no memory; 2 for creation failure; 3 for others.
The memory allocated for uf_data can be freed using UF_MODL_matchedge_free_data().
Enviroment: Internal and External.
See Also
History
Original release was in NX2.0.
Required License(s)
solid_modeling and studio_free_form
int UF_MODL_matchedge_edit_feature
(
UF_MODL_matchedge_data_p_t uf_data,
tag_t frec_tag
)
UF_MODL_matchedge_free_data (view source)
Defined in: uf_modl_freeform.h
Overview
Deallocates memory used for a Match Edge Open API data structure.
Enviroment: Internal and External.
See Also
History
Original release was in NX2.0.
Required License(s)
gateway
void UF_MODL_matchedge_free_data
(
UF_MODL_matchedge_data_p_t medge_data
)
UF_MODL_model_compare (view source)
Defined in: uf_mdlcmp.h
Overview
Function Name: UF_MODL_model_compare
Function Description:
Compare parts. Compare bodies from the same part file or from different part files.
Input:
part1 - tag of part1
body_eid_part1 - Body eid from part 1, if NULL, all bodies from part 1
Bodies from the part must pass examine geometry check.
transform_1 - Transform for body_eid_part_1. Transformation needed to
convert body 1 into the same co-ordinate system as body 2.
Initialize with UF_MTX4_identity if bodies are defined in
the same coordinate system.
NOTE
Applicable only if part 1 and part 2 are not related and
body_eid_part1 and body_eid_part2 are not NULL. If they are
NULL, there should be only one body in part1 and part2.
part2 - tag of part2
body_eid_part2 - Body eid from part 2, if NULL, all bodies from part 2
Bodies from the part must pass examine geometry check.
transform_2 - Transform for body_eid_part_2. Transformation needed to
convert body 2 into the same co-ordinate system as body 1.
Initialize with UF_MTX4_identity if bodies are defined in
the same coordinate system.
NOTE
Applicable only if part 1 and part 2 are not related and
body_eid_part1 and body_eid_part2 are not NULL. If they are
NULL, there should be only one body in part1 and part2.
compare_feat_and_exp - Whether to compare features and expressions. Applicable
only if part1 and part2 are related.
accuracy - Accuracy setting for comparison
tolerance - Tolerance to be used to determine if two geometries can be
considered coincident
identical_face_rule - Rule for classifying faces as identical
changeduniquefacerule - Rule for classifying related faces as changed or unique
launch_ui - Whether to launch ui
NOTE
This option is not yet supported
Output:
mapping_data - Mapping data, result of the comparison
Note: Caller is responsible for freing the mapping data
Returns
0 : successful, >0 : failing error number
Environment
Internal and External
History
This function was originally released in NX 2.0
Please use the new version UF_MODL_model_compare_2 from NX 3.0 onwards
Required License(s)
solid_modeling
int UF_MODL_model_compare
(
tag_t part1,
tag_t body_eids_part1,
double transform_1 [ 16 ] ,
tag_t part2,
tag_t body_eids_part2,
double transform_2 [ 16 ] ,
logical compare_feat_and_exp,
UF_MODL_compare_accuracy_t accuracy,
double tolerance,
UF_MODL_compare_identicalface_rule_t identical_face_rule,
UF_MODL_compare_changeduniqueface_rule_t uniquechangedfacerule,
logical launch_ui,
UF_MODL_compare_part_map_data_t * mapping_data
)
tag_t | part1 | Input | |
tag_t | body_eids_part1 | Input | |
double | transform_1 [ 16 ] | Input | |
tag_t | part2 | Input | |
tag_t | body_eids_part2 | Input | |
double | transform_2 [ 16 ] | Input | |
logical | compare_feat_and_exp | Input | |
UF_MODL_compare_accuracy_t | accuracy | Input | |
double | tolerance | Input | |
UF_MODL_compare_identicalface_rule_t | identical_face_rule | Input | |
UF_MODL_compare_changeduniqueface_rule_t | uniquechangedfacerule | Input | |
logical | launch_ui | Input | |
UF_MODL_compare_part_map_data_t * | mapping_data | Output | |
UF_MODL_model_compare_2 (view source)
Defined in: uf_mdlcmp.h
Overview
Function Name: UF_MODL_model_compare_2
Function Description:
Compare parts. Compare bodies from the same part file or from different part files.
This new function takes in an compare options structure as input. An additional
option, continue_if_examine_geom_fails can be set in addition to the existing
options. Use this function from NX3.0 onwards instead of UF_MODL_model_compare.
Input:
part1 - tag of part1
body_eid_part1 - Body eid from part 1, if NULL, all bodies from part 1
Bodies from the part must pass examine geometry check.
transform_1 - Transform for body_eid_part_1. Transformation needed to
convert body 1 into the same co-ordinate system as body 2.
Initialize with UF_MTX4_identity if bodies are defined in
the same coordinate system.
NOTE
Applicable only if part 1 and part 2 are not related and
body_eid_part1 and body_eid_part2 are not NULL. If they are
NULL, there should be only one body in part1 and part2.
part2 - tag of part2
body_eid_part2 - Body eid from part 2, if NULL, all bodies from part 2
Bodies from the part must pass examine geometry check.
transform_2 - Transform for body_eid_part_2. Transformation needed to
convert body 2 into the same co-ordinate system as body 1.
Initialize with UF_MTX4_identity if bodies are defined in
the same coordinate system.
NOTE
Applicable only if part 1 and part 2 are not related and
body_eid_part1 and body_eid_part2 are not NULL. If they are
NULL, there should be only one body in part1 and part2.
compare_options - Comparison options. Use macro UF_MODL_INIT_COMPARE_OPTIONS
to initialize default options
Output:
mapping_data - Mapping data, result of the comparison
Note: Caller is responsible for freing the mapping data
Returns
0 : successful, >0 : failing error number
Environment
Internal and External
History
This function was originally released in NX 3.0
Note:
New status UF_MODL_COMP_ENT_NOT_COMPARED will be set for
- Features which do not contribute
to topology in the final part
- Faces and edges which are small or
sliver relative to the tolerance
Required License(s)
solid_modeling
int UF_MODL_model_compare_2
(
tag_t part1,
tag_t body_eids_part1,
double transform_1 [ 16 ] ,
tag_t part2,
tag_t body_eids_part2,
double transform_2 [ 16 ] ,
UF_MODL_compare_options_p_t compare_options,
UF_MODL_compare_part_map_data_t * mapping_data
)
UF_MODL_model_compare_3 (view source)
Defined in: uf_mdlcmp.h
Overview
Function Name: UF_MODL_model_compare_3
Function Description:
Used as a replacement for UF_MODL_model_compare_2 in the common API.
Open C API programs may continue to use the original
UF_MODL_model_compare_2 function.
Compare parts. Compare bodies from the same part file or from different part files.
This new function takes in an compare options structure as input. An additional
option, continue_if_examine_geom_fails can be set in addition to the existing
options.
Input:
part1 - tag of part1
body_eid_part1 - Body eid from part 1, if NULL, all bodies from part 1
Bodies from the part must pass examine geometry check.
transform_1 - Transform for body_eid_part_1. Transformation needed to
convert body 1 into the same co-ordinate system as body 2.
Initialize with UF_MTX4_identity if bodies are defined in
the same coordinate system.
NOTE
Applicable only if part 1 and part 2 are not related and
body_eid_part1 and body_eid_part2 are not NULL. If they are
NULL, there should be only one body in part1 and part2.
part2 - tag of part2
body_eid_part2 - Body eid from part 2, if NULL, all bodies from part 2
Bodies from the part must pass examine geometry check.
transform_2 - Transform for body_eid_part_2. Transformation needed to
convert body 2 into the same co-ordinate system as body 1.
Initialize with UF_MTX4_identity if bodies are defined in
the same coordinate system.
NOTE
Applicable only if part 1 and part 2 are not related and
body_eid_part1 and body_eid_part2 are not NULL. If they are
NULL, there should be only one body in part1 and part2.
compare_options - Comparison options. Use macro UF_MODL_INIT_COMPARE_OPTIONS
to initialize default options
Output:
mapping_data - Mapping data, result of the comparison
Note: Caller is responsible for freeing the mapping data, by calling
UF_MODL_free_compare_data_3
Returns
0 : successful, >0 : failing error number
Environment
Internal and External
History
This function is just a wrapper over UF_MODL_model_compare_2.
Note:
New status UF_MODL_COMP_ENT_NOT_COMPARED will be set for
- Features which do not contribute
to topology in the final part
- Faces and edges which are small or
sliver relative to the tolerance
Required License(s)
solid_modeling
int UF_MODL_model_compare_3
(
tag_t part1,
tag_t body_eids_part1,
double transform_1 [ 16 ] ,
tag_t part2,
tag_t body_eids_part2,
double transform_2 [ 16 ] ,
UF_MODL_compare_options_p_t compare_options,
UF_MODL_compare_part_map_data_3_p_t * mapping_data
)
UF_MODL_move_feature (view source)
Defined in: uf_modl.h
Overview
Moves a list of features. The input is a list of feature identifiers, the
mode in which you want to move them, and the coordinate system
describing the move. The only type of output from this routine is the
normal error return from the program call.
POINT_TO_POINT option
real_data[0][3] Holds 3 elements to the "from point".
real_data[1][3] Holds 3 elements to the "to point".
AXIS_TO_AXIS option
real_data[0][6] Holds 6 element the first 3 is a point the next 3 elements
are the from vector
real_data[1][3] Holds 3 element to the to vector
CSYS_TO_CSYS option
The CSYS matrices in real_data are not rotation matrices,
but describe the orientation of the x, y, and z axes of the coordinate
system. In other words, if real_data[0] = { 1,2,3, 1,0,0, 0,1,0, 0,0,1 },
the coordinate system has origin (1,2,3). Its X axis is the vector
(1,0,0); Y axis is (0,1,0); and Z axis is (0,0,1).
The last nine components are not a rotation matrix but are, in fact,
the inverse of the CSYS rotation matrix. Also, the data in
real_data[0]) (as with all CMOD arrays representing matrices) is
column oriented. That is, matrices look like:
(Element1 Element4
Element2 Element5
Element3 Element6)
Whenever most Modeling operations are performed in Open API, the
system usually takes care of updating the database. However when you
move a feature this is not true. As a result, we recommend that after
moving a feature using the routine UF_MODL_move_feature, you should
update the database by calling routine UF_MODL_update.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_move_feature
(
uf_list_p_t cmtag,
int mode,
double real_data [ 2 ] [ 12 ]
)
uf_list_p_t | cmtag | Input | Linked list of tags for features to be moved. |
int | mode | Input | Option specifying how move is to be done. POINT_TO_POINT ( 0 ) AXIS_TO_AXIS ( 1 ) CSYS_TO_CSYS ( 2 ) |
double | real_data [ 2 ] [ 12 ] | Input | CSYS describing the move. real_data[0] holds 12 element reference coordinate system matrix (first three elements translation, remainder is rotation). real_data[1] holds 12 element destination coordinate system matrix. |
UF_MODL_mswp_ask_extrude (view source)
Defined in: uf_modl_mswp.h
Overview
This is to inquire the data for an extrude feature.
Environment
Internal and External
See Also
UF_MODL_mswp_edit_extrude, UF_MODL_mswp_create_extrude.
Required License(s)
gateway
int UF_MODL_mswp_ask_extrude
(
tag_t feature,
UF_MODL_mswp_extrude_p_t extrude
)
UF_MODL_mswp_create_extrude (view source)
Defined in: uf_modl_mswp.h
Overview
This is to create an extrude feature based on the input data.
Environment
Internal and External
See Also
UF_MODL_mswp_edit_extrude, UF_MODL_mswp_ask_extrude.
Required License(s)
gateway
int UF_MODL_mswp_create_extrude
(
UF_MODL_mswp_extrude_p_t extrude,
int * num_features,
tag_t * * features
)
UF_MODL_mswp_extrude_p_t | extrude | Input | Input data to be used to create Extrude feature. |
int * | num_features | Output | Number of features |
tag_t * * | features | Output to be freed | List of feature identifiers created. This must be freed by caller. |
UF_MODL_mswp_edit_extrude (view source)
Defined in: uf_modl_mswp.h
Overview
This is to edit an extrude feature with given data. The good practice to
edit a feature is to follow the following steps:
Call UF_MODL_mswp_ask_extrude to get the data
Make necessary changes to the data
Call UF_MODL_mswp_edit_extrude
Environment
Internal and External
See Also
UF_MODL_mswp_ask_extrude, UF_MODL_mswp_create_extrude.
Required License(s)
gateway
int UF_MODL_mswp_edit_extrude
(
tag_t feature,
UF_MODL_mswp_extrude_p_t extrude
)
UF_MODL_mswp_init_extrude_data (view source)
Defined in: uf_modl_mswp.h
Overview
This is to initialize the data structure for an extrude feature with the
following default values and options.
Section NULL_TAG
Direction NULL_TAG
Limit Type UF_MODL_MSWP_LIMIT_DISTANCE
Start Limit Distance 0.0/0.0 [in/mm]
End Limit Distance 1.0/25.0 [in/mm]
Taper Type UF_MODL_MSWP_TAPER_NONE
Offset Type UF_MODL_MSWP_OFFSET_NONE
Boolean Sign UF_NULLSIGN [create]
Boolean Target NULL_TAG
Environment
Internal and External
See Also
UF_MODL_mswp_create_extrude, UF_MODL_mswp_edit_extrude, UF_MODL_mswp_ask_extrude.
Required License(s)
gateway
int UF_MODL_mswp_init_extrude_data
(
UF_MODL_mswp_extrude_p_t extrude
)
UF_MODL_operations (view source)
Defined in: uf_modl.h
Overview
Performs a Boolean operation between two bodies.
NOTE: UF_NULLSIGN, which usually indicates create, defaults to
UF_POSITIVE (add to target solid).
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_operations
(
tag_t target,
tag_t tool,
UF_FEATURE_SIGN sign
)
tag_t | target | Input | Target solid. |
tag_t | tool | Input | Tools solid. |
UF_FEATURE_SIGN | sign | Input | The sign of the operation to be performed. UF_NULLSIGN = same as UF_POSITIVE UF_POSITIVE = add to target solid UF_NEGATIVE = subtract from target solid UF_UNSIGNED = intersect with target solid |
UF_MODL_paste_features (view source)
Defined in: uf_modl.h
Overview
Paste an array of features into the current work part.
Environment
Internal and External
See Also
UF_MODL_copy_paste_features
History
This function is replaced by UF_MODL_copy_paste_features.
Required License(s)
solid_modeling
int UF_MODL_paste_features
(
tag_t * feature_array,
int num_features,
tag_t * old_parents,
tag_t * new_parents,
int num_parents,
int expression_transfer_mode,
int parent_transfer_mode
)
tag_t * | feature_array | Input | Array of features identifier |
int | num_features | Input | Number of features |
tag_t * | old_parents | Input | Array of old parents |
tag_t * | new_parents | Input | Array of new parent |
int | num_parents | Input | Number of refrences |
int | expression_transfer_mode | Input | Type of expression copy - 0 = New, 1 = link, 2 = instance |
int | parent_transfer_mode | Input | Type of reference copy - 0 = New, 1 = link, 2 = instance |
UF_MODL_patch_body (view source)
Defined in: uf_modl.h
Overview
Replaces a set of faces on a body by patching in the faces of a sheet
body. The outer edges of the sheet must lie on or near faces of the
target. The faces on the "reverse" side of the tool sheet are removed
and replaced by the sheet body.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_patch_body
(
tag_t target_body,
tag_t tool_sheet,
int reverse,
tag_t * feature_obj_id
)
tag_t | target_body | Input | Object id of target body to be patched |
tag_t | tool_sheet | Input | Object id of sheet body to patch into target |
int | reverse | Input | Patch direction flag: UF_MODL_ALONG_NORMAL - along surface normal of tool_sheet UF_MODL_OPPOSITE_NORMAL - opposite surface normal of tool_sheet |
tag_t * | feature_obj_id | Output | Feature object identifier of created patch feature |
UF_MODL_preview_simplify (view source)
Defined in: uf_modl_simplify.h
Overview
Preview a simplification feature. This returns lists of the faces that
will be retained and removed if the feature is applied. The arrays
retained_faces> and <removed_faces> are allocated, and should be freed
afterwards by the caller with UF_free().
If a path can be traced from any retained face to any removed face without
crossing the boundary, the ifail UF_MODL_SIMPL_FACE_NOT_REMOVED is returned.
In this case, for each such removed face an array of faces is returned.
This array gives a path between the removed face and an explicitly retained
face which does not cross any boundaries. These arrays must be freed by
the caller with UF_free(). The retained and removed faces are still
returned.
If there are no leaks, <n_leaks> is 0, and <n_leak_faces> and <leak_faces>
are NULL. Note that the preview cannot detect possible heal failures
which may show up when the simplify is applied.
If the simplification feature already exists, but is suppressed, this
routine will still give the correct results. If it already exists and
is not suppressed, the removed faces will not be present in the solid,
and the result is unlikely to be useful.
Environment
Internal and External.
See Also
History
This function was originally released in V15.0
Required License(s)
solid_modeling
int UF_MODL_preview_simplify
(
UF_MODL_simpl_data_p_t simpl_parms,
int * n_retained_faces,
tag_t * * retained_faces,
int * n_removed_faces,
tag_t * * removed_faces,
int * n_leaks,
int * * n_leak_faces,
tag_t * * * leak_faces
)
UF_MODL_simpl_data_p_t | simpl_parms | Input | Parameters of the potential simplify feature |
int * | n_retained_faces | Output | Number of faces that will be retained |
tag_t * * | retained_faces | Output to be freed | Faces that will be retained. This array must be freed by calling UF_free. |
int * | n_removed_faces | Output | Number of faces that will be removed |
tag_t * * | removed_faces | Output to be freed | Faces that will be removed. This array must be freed by calling UF_free. |
int * | n_leaks | Output | The number of leaks |
int * * | n_leak_faces | Output to be freed | The number of faces in the path of each leak. This array must be freed by calling UF_free. |
tag_t * * * | leak_faces | Output to be freed | The faces in the path of each leak. This array must be freed by calling UF_free. |
UF_MODL_prom_map_object_down (view source)
Defined in: uf_modl_promotions.h
Overview
Given a promoted solid body, face, or edge, maps this body, face, or
edge down to the corresponding object on the base body. Returns a
NULL_TAG if there is no such object. An example where this could
happen is if a face is created as part of creating a feature at the
assembly level. In this case, There is no base face corresponding to
the promoted face. This routine maps across a single level of
promotions. This routine needs to be called multiple times to map
down multiple promotion levels.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_prom_map_object_down
(
tag_t prom_tag,
tag_t * base_tag
)
tag_t | prom_tag | Input | tag of a promoted body, face, or edge. |
tag_t * | base_tag | Output | tag of the base body, face, or edge corresponding to the given promoted geometry |
UF_MODL_prom_map_object_up (view source)
Defined in: uf_modl_promotions.h
Overview
Finds the promoted version of the given base body, face, or edge on the
promoted version of the solid given by the feature record. If no such edge or
face exists then a NULL_TAG is returned. An example where this could happen is
if an edge is modeled away on the promotion. This routine expects prototypes,
not occurrences and maps across a single level of promotions. This routine
needs to be called multiple times to map up multiple promotion levels.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_prom_map_object_up
(
tag_t base_tag,
tag_t prom_feat_tag,
tag_t * prom_tag
)
tag_t | base_tag | Input | tag of a base body, face, or edge |
tag_t | prom_feat_tag | Input | tag of a promotion feature record |
tag_t * | prom_tag | Output | tag of the promoted version of the given body, face, or edge in the given promotion |
UF_MODL_put_list_item (view source)
Defined in: uf_modl_utilities.h
Overview
Adds the input object identifier to the end of the list that you input.
NOTE: Duplicate tags added to the list are ignored.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_put_list_item
(
uf_list_p_t list,
tag_t obj_id
)
uf_list_p_t | list | Input | List of object identifiers. |
tag_t | obj_id | Input | Object identifier to put into list |
UF_MODL_reattach_dir_ref (view source)
Defined in: uf_modl.h
Overview
This routine is used to redefine the directional reference.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_reattach_dir_ref
(
tag_t feature_eid,
tag_t ref_eid,
int ref_is_horizontal,
logical delete_rpo
)
tag_t | feature_eid | Input | the feature being reattached |
tag_t | ref_eid | Input | new directional reference |
int | ref_is_horizontal | Input | 1: reference is horizontal; 0: reference is vertical |
logical | delete_rpo | Input | 1 if the rpo dims are to be deleted |
UF_MODL_reattach_target_face (view source)
Defined in: uf_modl.h
Overview
This routine redefines a target face.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_reattach_target_face
(
tag_t feature_eid,
tag_t face_eid,
double point [ ] ,
int flip,
logical delete_rpo
)
tag_t | feature_eid | Input | the feature being reattached |
tag_t | face_eid | Input | new target placement face |
double | point [ ] | Input | new feature position |
int | flip | Input | 1: if the datum plane is flipped, else 0 |
logical | delete_rpo | Input | 1 if the rpo dims are to be deleted |
UF_MODL_reattach_thru_faces (view source)
Defined in: uf_modl.h
Overview
Redefines the first thru/trim face.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_reattach_thru_faces
(
tag_t feature_eid,
int number_of_faces,
tag_t face_eids [ ] ,
logical delete_rpo
)
tag_t | feature_eid | Input | the feature being reattached |
int | number_of_faces | Input | the number of trim/thru faces to be redefined |
tag_t | face_eids [ ] | Input | the new thru/trim faces |
logical | delete_rpo | Input | 1 if the rpo dims are to be deleted |
UF_MODL_reattach_tool_face (view source)
Defined in: uf_modl.h
Overview
Reattaches the new tool placement face.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_reattach_tool_face
(
tag_t feature_eid,
tag_t face_eid,
logical delete_rpo
)
tag_t | feature_eid | Input | the feature being reattached |
tag_t | face_eid | Input | the new tool placement face |
logical | delete_rpo | Input | TRUE, if the rpo dims are to be deleted |
UF_MODL_redefine_replace_faces (view source)
Defined in: uf_modl.h
Overview
Replaces the current set of input faces with the set of faces input
through the parameter faces.
Environment
Internal and External
See Also
History
This function was originally released in V15.0.
Required License(s)
solid_modeling
int UF_MODL_redefine_replace_faces
(
tag_t feature_eid,
int number_of_faces,
tag_t face_eids [ ]
)
tag_t | feature_eid | Input | OFFSET or HOLLOW feature |
int | number_of_faces | Input | Number of faces in faces array |
tag_t | face_eids [ ] | Input | Array of faces to replace the current input faces in the feature. |
UF_MODL_redefine_rpo_constraint (view source)
Defined in: uf_modl_sketch.h
Overview
This function can be used to redefine the tool and target objects referenced
by a relative positioning constraint of a feature. The input parameter
constraint is the constraint whose target and tool objects have to be redefined.
All the constraints that have been applied to a feature can be obtained by
using UF_MODL_ask_constraints. Use UF_MODL_ask_constraint_type to verify the
type of constraint.
Parameters tangent2arc1 (target qualifier) and tangent2arc2 (tool_qualifier)
allow settings for specifying which end point of the tool and target objects
to use. Use UF_MODL_ask_edge_verts to determine the order of the end points
for tool or target objects that are edges.
Some features can be positioned using the centerline of the feature. You may i
use the centerline of a feature by passing in a NULL_TAG as the tool object.
The centerline must be qualified as either the horizontal or vertical
centerline, using the first or last endpoint. The following features allow the
centerline to be used as a tool edge: Slot, Groove, Rectangular Pad, and
Rectangular Pocket. The Groove feature has only a vertical centerline.
Environment
Internal and External.
See Also
History
This function was originally released in V15.0.
Required License(s)
solid_modeling
int UF_MODL_redefine_rpo_constraint
(
tag_t constraint,
tag_t eid_target,
int tangent2arc1,
tag_t eid_tool,
int tangent2arc2
)
tag_t | constraint | Input | the constraint being redefined |
tag_t | eid_target | Input | the new target object |
int | tangent2arc1 | Input | the target qualifier |
tag_t | eid_tool | Input | the new tool object |
int | tangent2arc2 | Input | the new tool qualifier |
UF_MODL_redefine_trim_faces (view source)
Defined in: uf_modl_udf.h
Overview
Respecifies trim faces for a UDF. All the old trim faces are replaced
by new trim faces. The UDF should have been trimmed when it was
originally imported.
Note: This routine works only with old-style Pre-V15 UDFs
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_redefine_trim_faces
(
tag_t udf_id,
int n_trim_faces,
tag_t trim_faces [ ] ,
logical delete_rpo
)
tag_t | udf_id | Input | udf id which is returned from UF_MODL_boolean_udf() |
int | n_trim_faces | Input | number of trim faces |
tag_t | trim_faces [ ] | Input | array of trim faces |
logical | delete_rpo | Input | flag to indicate whether to delete rpo or not |
UF_MODL_register_cliff_blend (view source)
Defined in: uf_modl_blends.h
Overview
Required License(s)
solid_modeling
int UF_MODL_register_cliff_blend
(
UF_MODL_cliff_blend_f_t var_routine
)
UF_MODL_cliff_blend_f_t | var_routine | Input | Routine name. You define the routine. The system calls the routine like this: error = routine((tag_t) obj_id, tag_t cliff) where obj_id is the new blend that was just created. Therefore, you should define the routine like this: int routine(tag_t obj_id, tag_t cliff) and the routine returns an error if it failed. If the returned error is != 0, then the new form feature is deleted and an error is returned.. |
UF_MODL_register_rpo_routine (view source)
Defined in: uf_modl_sketch.h
Overview
Registers a routine for relative positioning. This allows you to register
a routine into the Open API environment so that you can
constrain a feature during creation time. Subsequently, every time a
form feature is created, this registered routine is called.
To register a routine named user_rpo_routine(), the call is:
UF_MODL_register_rpo_routine(user_rpo_routine)
where user_rpo_routine is defined as:
int user_rpo_routine(tag_t obj_id)
Calling this function will prevent an internal Open API shared library from
being unloaded, and overrides the setting of the user supplied function,
ufusr_ask_unload.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_register_rpo_routine
(
UF_MODL_rpo_f_p_t routine
)
UF_MODL_rpo_f_p_t | routine | Input | Routine name. You define the routine. The system calls the routine like this: error = routine((tag_t) obj_id) where obj_id is the new feature that was just created. Therefore, you should define the routine like this: int routine(tag_t obj_id) and the routine returns an error if it failed. If the returned error is != 0, then the new form feature is deleted and an error is returned.. |
UF_MODL_register_udf_mapping_routine (view source)
Defined in: uf_modl_udf.h
Overview
Register a routine for UDF obtaining mapping data. This allows you to register
a routine into the Open API environment so that you can select some
objects that need to be mapped at UDF instantiation or editing if a mapping
between old UDF parents and new UDF parents is necessary. Subsequently,
every time a UDF feature is instantiated or edited, this registered routine
is called. To register a routine named user_udf_mapping_routine(), the call
is:
UF_MODL_register_udf_mapping_routine(user_udf_mapping_routine)
where user_udf_mapping_routine is defined as:
int user_udf_mapping_routine()
Calling this function will prevent an internal Open shared library from
being unloaded, and overrides the setting of the user supplied function,
ufusr_ask_unload.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
See Also
UF_MODL_unregister_udf_mapping_routine
History
This function was originally released in NX3.
Required License(s)
solid_modeling
int UF_MODL_register_udf_mapping_routine
(
UF_MODL_udf_mapping_f_p_t routine
)
UF_MODL_udf_mapping_f_p_t | routine | Input | Routine name. You define the routine. The system calls the routine like this: UF_MODL_udf_mapping_f_p_t routine (tag_t udf_feature_tag, UF_MODL_udf_ref_data_t ref_data) where udf_feature_tag is a tag of the enquiring UDF defintion feature (for instantiation) or instantiated feature (for editing), and ref_data is the output of this UDF parent data including mapping data that the user needs to obtain. The routine returns an error if it failed. If the returned error is != 0, then it is successful. |
UF_MODL_register_var_blend (view source)
Defined in: uf_modl_blends.h
Overview
Required License(s)
solid_modeling
int UF_MODL_register_var_blend
(
UF_MODL_var_blend_f_t routine
)
UF_MODL_var_blend_f_t | routine | Input | Routine name. You define the routine. The system calls the routine like this: error = routine(tag_t obj_id, double points[100][3], char radii[100][256], int smooth_overflow int cliff_overflow int notch_overflow double vrb_tol int number_pts) where obj_id is each edge on the list that was provided to UF_MODL_create_blend. Therefore, you should define the routine like this: int routine(tag_t obj_id, double points[100][3], char radii[100][256], int smooth_overflow int cliff_overflow int notch_overflow double vrb_tol int number_pts) and the routine returns an error if it failed. If the returned error is != 0, then the new form feature is deleted and an error is returned.. |
UF_MODL_remove_thru_faces (view source)
Defined in: uf_modl.h
Overview
Removes the thru faces from a hole or slot feature.
Environment
Internal and External
History
This function was originally released in V15.0.
Required License(s)
solid_modeling
int UF_MODL_remove_thru_faces
(
tag_t feature_eid
)
tag_t | feature_eid | Input | The object identifier of the feature from which the thru faces will be removed. |
UF_MODL_rename_exp (view source)
Defined in: uf_modl_expressions.h
Overview
Renames an existing expression. You input the old and new expression names.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_rename_exp
(
char * old_exp_name,
char * new_exp_name
)
char * | old_exp_name | Input | Name of expression to be renamed. |
char * | new_exp_name | Input | New name for expression. |
UF_MODL_reorder_feature (view source)
Defined in: uf_modl.h
Overview
Reorders features in the modeling application. Note that this routine
performs an update. Routine UF_MODL_ask_body_feats returns features in the
current creation order.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_reorder_feature
(
tag_t reference_feature,
uf_list_p_t reposition_features,
int method
)
tag_t | reference_feature | Input | Pivot feature. |
uf_list_p_t | reposition_features | Input | List of features to reorder. |
int | method | Input | Reorder method: 1 = Before 2 = After |
UF_MODL_replace_body_data (view source)
Defined in: uf_modl.h
Overview
Replaces the body of an unparameterized feature with a copy of
another body. Both bodies must be single face sheet bodies.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_replace_body_data
(
tag_t original_feature,
tag_t new_body
)
tag_t | original_feature | Input | Feature Object Identifier of unparameterized feature which is to have its body replaced. Must be a single face sheet body. |
tag_t | new_body | Input | Object Identifier of the single face sheet body to copy. |
UF_MODL_replace_boolean_body (view source)
Defined in: uf_modl.h
Overview
Replaces the tool body and target body of a boolean feature.
Environment
Internal and External
See Also
History
This function was originally released in V15.0.
Required License(s)
solid_modeling
int UF_MODL_replace_boolean_body
(
tag_t boolean_feature_obj_id,
UF_MODL_boolean_body_e_t type,
tag_t new_body
)
tag_t | boolean_feature_obj_id | Input | The object identifier of a boolean feature to be modified. |
UF_MODL_boolean_body_e_t | type | Input | The type of body: UF_MODL_TARGET_BODY UF_MODL_TOOL_BODY |
tag_t | new_body | Input | The body tag of the new body which will replace either the target or the tool body. |
UF_MODL_replace_feat_strings (view source)
Defined in: uf_modl.h
Overview
Edits the string structure of a feature. The following restrictions apply:
1. The valid features for this function are:
Curve Mesh
Thru Curves
Ruled
Swept
Bounded Plane
2. Only the Replace option may be used with Ruled and Bounded Plane features.
3. When adding a new string at the beginning of a surface, use index = 0.
4. The string input must be the entire string being changed, even if
only one curve within a multi-curve string is changing. If you
wish to edit one curve in a multi-curve string, you must build the
entire new string.
5. This function does not perform an update of the feature. You
should call UF_MODL_update after you have completed all your
string edit operations.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_replace_feat_strings
(
tag_t feature_obj_id,
int option,
UF_STRING_p_t string,
int string_set,
int index
)
tag_t | feature_obj_id | Input | Feature object identifier |
int | option | Input | Operation to be performed UF_MODL_STRING_ADD = Add a string UF_MODL_STRING_REMOVE = Remove a string UF_MODL_STRING_REPLACE = Replace a string |
UF_STRING_p_t | string | Input | Pointer to the string structure of a single string to add or replace. |
int | string_set | Input | Set of strings on which to perform the operation, especially when the feature has more than 1 set of strings If feature = Thru Curve Mesh: 1 = Primary Curves 2 = Cross Curves If feature = Freeform Sweep 1 = Guide Curves 2 = Section Curves All others: string_set = 1 |
int | index | Input | Index at which to perform the operation starting at index=1 If UF__MODL_STRING_ADD, add the string after the index If UF_MODL_STRING_REMOVE or UF_MODL_STRING_REPLACE, remove or replace at the index |
UF_MODL_replace_features (view source)
Defined in: uf_modl.h
Overview
This function replaces the features in original_features[] by the
features in replacement_features[] or the copies of features in
replacement_features[] if original_features[] are features on bodies,
curve features and datum features. The children of the original_features[]
will be reparented to the replacement_features[] or copies.
The original features will be deleted.
original_features[] can contain: features on the same body, curve features,
datum plane and datum axis features.
replacement_features[] must contain: features on other bodies (if
original_features[] contains features on a body), other curve features
(if original_features[] contains curve features) and other datum plane
and other datum axis features (if original_features[] contains datum plane
or datum axis features).
Note that original_features[] and replacement_features[] must contain
features that are in the same part file. Also, for features on a body, the
parents of each of the features in replacement_features[] must be either
another feature in the replacement_features[] or must be a feature which
is before the earliest feature in the original_features[].
parent_map[] maps entities created by the original_features[] to the
corresponding entities on the replacement_features[]. In addition to the
original_features[] and replacement_features[] you will have to provide a map
of edges and faces on the original_features[] to the corresponding edges and
faces of the replacement_features[].
You will specify the map as a array of objects of type
UF_MODL_replace_features_t described below. The children of the
original_features[] will be reparented to copies of the corresponding
entities on the replacement_features[] that are specified in the parent_map[].
Calling this function with return_map as true does not perform the replacement
but returns a parent_map[] each of whose original_entity elements are edges
and faces created by original_features[]. Only those edges and faces that are
parents of downstream features are returned in the parent_map[]. The
replacement_entity elements of all the structures in the parent_map[] are 0.
You will have to assign the appropriate replacement_entity for each of
the structures returned in the parent_map[] before calling this function with
return_map as false to perform the actual replace.
Environment
Internal and External
See Also
History
New in v17.0
Required License(s)
solid_modeling
int UF_MODL_replace_features
(
tag_t * original_features,
int n_original_features,
tag_t * replacement_features,
int n_replm_features,
logical return_map,
logical use_copy_of_replacement,
UF_MODL_replace_features_t * * parent_map,
int * n_parent_map
)
tag_t * | original_features | Input | Array of features to replace |
int | n_original_features | Input | number of original_features |
tag_t * | replacement_features | Input | Array of replacement features |
int | n_replm_features | Input | number of replacement_features |
logical | return_map | Input | return_map = true - return in parent_map[] the edges and faces created by the original_features[] which have to be mapped to the corresponding edges and faces on the replacement_features[] return_map = false - perform the replace |
logical | use_copy_of_replacement | Input | use_copy_of_replacement = false - Use the replacement features directly to replace the original features use_copy_of_replacement = true - Copy the replacement features and use the copy of the replacement feature to replace the original features |
UF_MODL_replace_features_t * * | parent_map | Input / Output | Map of edges and faces created by the original_features[] to corresponding edges and faces on the replacement_features[] |
int * | n_parent_map | Input / Output | number of elements in (parent_map)[] |
UF_MODL_replace_sweep_strings (view source)
Defined in: uf_modl_sweep.h
Overview
This function will replace the profile and/or guide curves/edges of
a sweep feature that can be one of the following types, Extruded,
Revolved, Sweep (Along a Guide), Cable/Tube.
The original and replacement curves/edges in the arrays original_profile/
guide_objs and new_profile/guide_objs have to be contiguous. The
original strings will be replaced in the order of the original_profile/
guide_objs array by the corresponding strings in the new_profile/guide_objs
array. If n_original_profile/guide_objs > n_new_profile/guide_objs,
the last (n_original_profile/guide_objs - n_new_profile/guide_objs)
strings in the original_profile/guide_objs array will be removed from
the sweep featur's profile/guide. If
n_original_profile/guide_objs < n_new_profile/guide_objs, the last
(n_new_profile/guide_objs - n_original_profile/guide_objs) strings in the
new profile/guide array will be added to the feature.
It is suggested to use this function instead of UF_MODL_edit_sweep_curves
if possible as UF_MODL_replace_sweep_strings has the edge/face tracking
information retained when possible.
Environment
Internal and External
See Also
History
Released in V15.0
Required License(s)
solid_modeling
int UF_MODL_replace_sweep_strings
(
tag_t sweep_feature_id,
int n_original_profile_objs,
tag_t * original_profile_objs,
int n_new_profile_objs,
tag_t * new_profile_objs,
int n_original_guide_objs,
tag_t * original_guide_objs,
int n_new_guide_objs,
tag_t * new_guide_objs
)
tag_t | sweep_feature_id | Input | Feature object identifier of sweep |
int | n_original_profile_objs | Input | Number of contiguous original curves/edges in the profile of the sweep feature to be replaced |
tag_t * | original_profile_objs | Input | An array of contiguous original curves/edges in the profile of the sweep feature to be replaced |
int | n_new_profile_objs | Input | Number of contiguous curves/edges to replace the curves/edges in the original_profile_objs. |
tag_t * | new_profile_objs | Input | An array of contiguous curves/edges to replace the curves/edges in the original_profile_objs. |
int | n_original_guide_objs | Input | Number of contiguous original curves/edges in the guide of the sweep feature to be replaced. |
tag_t * | original_guide_objs | Input | An array of contiguous original curves/edges in the guide of the sweep feature to be replaced. |
int | n_new_guide_objs | Input | Number of contiguous curves/edges to replace the curves/edges in the original_guide_objs. |
tag_t * | new_guide_objs | Input | An array of contiguous curves/edges to replace the curves/edges in the original_guide_objs. |
UF_MODL_require_udf_mapping_for_edit (view source)
Defined in: uf_modl_udf.h
Overview
Ask if a mapping between old UDF parents and new parents is needed at editing.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
See Also
UF_MODL_register_udf_mapping_routine
UF_MODL_unregister_udf_mapping_routine
History
This function was originally released in NX3.
Required License(s)
solid_modeling
int UF_MODL_require_udf_mapping_for_edit
(
tag_t udf_insert_tag,
logical * mapping_is_required,
int * mapping_num_objects,
tag_t * * mapping_objects
)
tag_t | udf_insert_tag | Input | Tag of UDF instantiated feature |
logical * | mapping_is_required | Output | TRUE: a mapping is required |
int * | mapping_num_objects | Output | Number of mapping objects |
tag_t * * | mapping_objects | Output to be freed | Array of mapping objects |
UF_MODL_require_udf_mapping_for_insert (view source)
Defined in: uf_modl_udf.h
Overview
Ask if a mapping between old UDF parents and new parents is needed at instantiation.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
See Also
UF_MODL_register_udf_mapping_routine
UF_MODL_unregister_udf_mapping_routine
History
This function was originally released in NX3.
Required License(s)
solid_modeling
int UF_MODL_require_udf_mapping_for_insert
(
tag_t udf_define_tag,
logical * mapping_is_required,
int * mapping_num_objects,
tag_t * * mapping_objects
)
tag_t | udf_define_tag | Input | Tag of UDF definition feature |
logical * | mapping_is_required | Output | TRUE: a mapping is required |
int * | mapping_num_objects | Output | Number of mapping objects |
tag_t * * | mapping_objects | Output to be freed | Array of mapping objects |
UF_MODL_reverse_datum_axis (view source)
Defined in: uf_modl_datum_features.h
Overview
Reverses the direction of a datum axis.
Environment
Internal and External
See Also
History
Original release was in V14.0.
Required License(s)
solid_modeling
int UF_MODL_reverse_datum_axis
(
tag_t datum_axis_tag
)
tag_t | datum_axis_tag | Input | Tag of the datum axis to reverse. |
UF_MODL_reverse_datum_plane (view source)
Defined in: uf_modl_datum_features.h
Overview
Reverses the normal direction of a datum plane. The function UF_MODL_update
must be called to actually apply the reversal.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_reverse_datum_plane
(
tag_t datum_plane_tag
)
tag_t | datum_plane_tag | Input | Tag of the datum plane to reverse. |
UF_MODL_reverse_dir_ref (view source)
Defined in: uf_modl.h
Overview
Redefines the directional reference of a feature.
Environment
Internal and External
See Also
History
Originally released in V15.0
Required License(s)
solid_modeling
int UF_MODL_reverse_dir_ref
(
tag_t feature_eid,
tag_t ref_eid,
int ref_is_horizontal,
logical delete_rpo,
logical reverse
)
tag_t | feature_eid | Input | the feature being reattached |
tag_t | ref_eid | Input | the new directional reference |
int | ref_is_horizontal | Input | 1: reference is horizontal, 0: reference is vertical |
logical | delete_rpo | Input | 1: delete rpo dims |
logical | reverse | Input | 1: to reverse directional reference |
UF_MODL_set_angle_tolerance (view source)
Defined in: uf_modl.h
Overview
Sets the angle tolerance found in the Modeling Preferences dialog box.
Return
Void.
Environment
Internal and External
Required License(s)
gateway
void UF_MODL_set_angle_tolerance
(
double * tolerance,
int * err_flag
)
double * | tolerance | Input | Angle tolerance. Value must be greater than e-10 (greater than zero). |
int * | err_flag | Output | Error code: 0 = No error 1 = Invalid value, tolerance not changed |
UF_MODL_set_body_density (view source)
Defined in: uf_modl.h
Overview
Set the density of a body.
The input must be a body tag.
If the body is in the context of an assembly, it is the caller function's
responsibility to retrieve the body tag before this function can be called, i.e.,
if body is an occurrence, then the body tag must be retrieved first.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_set_body_density
(
tag_t body,
UF_MODL_density_units_t units,
double density
)
UF_MODL_set_body_type_pref (view source)
Defined in: uf_modl.h
Overview
Changes the current setting for the sheet/solid body type modeling
preference. This preference is used when creating bodies through
curves to allow you to control the type of body created. The body type
option is used in the Through Curve Mesh, Through Curves, Extruded
Body, Body of Revolution, Swept, Section Surface and Ruled Free
Form Feature creation options.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_set_body_type_pref
(
int body_type
)
int | body_type | Input | Desired setting of the body type preference: UF_MODL_SOLID_BODY UF_MODL_SHEET_BODY |
UF_MODL_set_bsurf_knot_display (view source)
Defined in: uf_modl_bsurf.h
Overview
Set the B-surface knot flag.
Environment
Internal and External
History
Originally released in NX5.0
Required License(s)
solid_modeling
int UF_MODL_set_bsurf_knot_display
(
tag_t face,
logical state
)
tag_t | face | Input | Face tag of B-surface to be set pole flag |
logical | state | Input | surface knot flag status |
UF_MODL_set_bsurf_pole_display (view source)
Defined in: uf_modl_bsurf.h
Overview
Set the B-surface pole flag.
Environment
Internal and External
History
Originally released in NX2.0
Required License(s)
solid_modeling
int UF_MODL_set_bsurf_pole_display
(
tag_t face,
logical state
)
tag_t | face | Input | Face tag of B-surface to be set pole flag |
logical | state | Input | surface pole flag status |
UF_MODL_set_current_feature (view source)
Defined in: uf_modl.h
Overview
Define the current feature. Any newly created feature will be created right
after this feature. When a new feature is created, it is made the current
feature.
Environment
Internal and External
History
This function was originally released in V16.0.
Required License(s)
solid_modeling
int UF_MODL_set_current_feature
(
tag_t feature_id
)
tag_t | feature_id | Input | Feature which is to be made the current feature. |
UF_MODL_set_curve_fit_method (view source)
Defined in: uf_modl_curves.h
Overview
Sets the curve fit method modeling preference.
Environment
Internal and External
See Also
History
This function was originally released in V15.0
Required License(s)
solid_modeling
int UF_MODL_set_curve_fit_method
(
int fit_method
)
int | fit_method | Input | curve fit method 0=cubic, 1=quintic |
UF_MODL_set_datum_csys_scaling (view source)
Defined in: uf_modl_datum_features.h
Overview
This function sets the "fixed size" display of datum CSYS feature. If "Fixed size component" toggle
in the CSYS constructor dialog is ON, then the datum CSYS will not be resized relative to the view.
If unsuccessful returns error code
Environment
Internal and External
History
NX3.0.1
Required License(s)
solid_modeling
int UF_MODL_set_datum_csys_scaling
(
const tag_t datum_csys_tag,
const logical scaling_on
)
const tag_t | datum_csys_tag | Input | Tag of datum CSYS feature |
const logical | scaling_on | Input | If TRUE, datum CSYS with fixed size would be displayed |
UF_MODL_set_datum_csys_visibility (view source)
Defined in: uf_modl_datum_features.h
Overview
This function sets the visibility of datum CSYS feature based on the logical value of
input argument "visibility"
If unsuccessful returns error code
Environment
Internal and External
History
NX3.0.1
Required License(s)
solid_modeling
int UF_MODL_set_datum_csys_visibility
(
const tag_t datum_csys_tag,
const logical visibility
)
const tag_t | datum_csys_tag | Input | Tag of datum CSYS feature |
const logical | visibility | Input | If TRUE, datum CSYS with components would be visible |
UF_MODL_set_default_density (view source)
Defined in: uf_modl.h
Overview
Sets the global solid density to the input value. The density units can be
any one of the following:
UF_MODL_pounds_inches
UF_MODL_pounds_feet
UF_MODL_grams_centimeters
UF_MODL_kilograms_meters
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_set_default_density
(
double density,
UF_MODL_density_units_t units
)
UF_MODL_set_distance_tolerance (view source)
Defined in: uf_modl.h
Overview
Sets the distance tolerance found in the Modeling Preferences dialog box.
Return
Void.
Environment
Internal and External
Required License(s)
gateway
void UF_MODL_set_distance_tolerance
(
double * tolerance,
int * err_flag
)
double * | tolerance | Input | Distance tolerance. Value must be greater than metric 1e-5 or English 3e-7. |
int * | err_flag | Output | Error code: 0 = No error 1 = Invalid value, tolerance not changed |
UF_MODL_set_dynamic_update (view source)
Defined in: uf_modl.h
Overview
Changes the current setting for the modeling dynamic update preference. This
preference is used when editing a curve or a bridge curve feature from which
we can derive visible sheet or solid bodies.
If UF_MODL_NO_DYNAMIC_UPDATE is used, NX will not update the children
features of the curve. If UF_MODL_DYNAMIC_UPDATE_INCREMENTAL or
UF_MODL_DYNAMIC_UPDATE_CONTINUOUS is used, NX will dynamically update
the children, depending on the immediate children preference, of the curve
each time the mouse stops moving or moves, respectively.
Environment
Internal and External
See Also
History
V17.0
Required License(s)
solid_modeling
int UF_MODL_set_dynamic_update
(
int update_type
)
int | update_type | Input | Desired setting for dynamic update: UF_MODL_NO_DYNAMIC_UPDATE, UF_MODL_DYNAMIC_UPDATE_INCREMENTAL, UF_MODL_DYNAMIC_UPDATE_CONTINUOUS |
UF_MODL_set_face_blend_law_radii (view source)
Defined in: uf_modl_blends.h
Overview
Set face blend law radii
Environment
Internal and External
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_set_face_blend_law_radii
(
tag_t feature,
double * radii_values,
int rad_num
)
tag_t | feature | Input | The object identifier of the blend |
double * | radii_values | Input | Array of new law radii values |
int | rad_num | Input | Number of new radii |
UF_MODL_set_face_blend_law_range1_radii (view source)
Defined in: uf_modl_blends.h
Overview
Set conic face blend law radii for offset1
Environment
Internal and External
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_set_face_blend_law_range1_radii
(
tag_t feature,
double * radii_values,
int rad_num
)
tag_t | feature | Input | The object identifier of the blend |
double * | radii_values | Input | Array of new law radii values |
int | rad_num | Input | Number of new radii |
UF_MODL_set_face_blend_law_range2_radii (view source)
Defined in: uf_modl_blends.h
Overview
Set conic face blend law radii for offset2
Environment
Internal and External
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_set_face_blend_law_range2_radii
(
tag_t feature,
double * radii_values,
int rad_num
)
tag_t | feature | Input | The object identifier of the blend |
double * | radii_values | Input | Array of new law radii values |
int | rad_num | Input | Number of new radii |
UF_MODL_set_feat_tolerance (view source)
Defined in: uf_modl.h
Overview
Sets the given tolerance to the input feature.
Environment
Internal and External
Required License(s)
gateway
int UF_MODL_set_feat_tolerance
(
tag_t feature_obj_id,
double tolerance,
logical update_part
)
tag_t | feature_obj_id | Input | Feature to set |
double | tolerance | Input | Distance tolerance to set in the feature |
logical | update_part | Input | Indicate whether to update the part. If TRUE - Part will get updated by calling UF_MODL_update, FALSE - Part will not get updated, User has to update the part. User can set the tolerance of multiple features and then update the part by calling UF_MODL_update at end or pass the update_part flag as true for last feature |
UF_MODL_set_flange_proc_factor (view source)
Defined in: uf_modl_smd.h
Overview
Sets the process factor for a specified flange feature.
Environment
Internal and External
Required License(s)
sheet_metal_design
int UF_MODL_set_flange_proc_factor
(
tag_t flange,
double proc_factor
)
tag_t | flange | Input | Object identifier for the flange feature. |
double | proc_factor | Input | Process factor |
UF_MODL_set_free_form_result (view source)
Defined in: uf_modl_freeform.h
Overview
Sets the free form construction result preference. This preference
controls free form feature creation in the Through Curves, Through
Curves Mesh, Swept, and Ruled functions. If the free form
construction result is 0 and the selected curves are coplanar, a
bounded plane is created. Otherwise, a B-surface is created.
Environment
Internal and External
Required License(s)
solid_modeling and ( free_form_modeling or nx_freeform_1 )
int UF_MODL_set_free_form_result
(
int free_form_result
)
int | free_form_result | Input | free form construction result preference 0 = create bounded plane, if selected curves are coplanar. 1 = always create B-surface. |
UF_MODL_set_immediate_children (view source)
Defined in: uf_modl.h
Overview
Changes the current setting for the modeling immediate children preference.
This preference is used when editing curve whose is parent of features that
create sheet and/or solid bodies and the modeling dynamic update is either
UF_MODL_DYNAMIC_UPDATE_INCREMENTAL or UF_MODL_DYNAMIC_UPDATE_CONTINUOUS.
If the user edits a curve through edit feature or edit bridge curve feature,
this preference is not applicable. If UF_MODL_UPDATE_FIRST_LEVEL is used,
NX will update the first visible sheet or solid bodies that can be
derived from the curve. If UF_MODL_UPDATE_ALL, NX will update all
features related to the editing curve.
Environment
Internal and External
See Also
History
V17.0
Required License(s)
solid_modeling
int UF_MODL_set_immediate_children
(
int update_level
)
int | update_level | Input | Desired setting for immediate children: UF_MODL_UPDATE_FIRST_LEVEL, UF_MODL_UPDATE_ALL |
UF_MODL_set_midsrf_feature_create_method (view source)
Defined in: uf_modl_freeform.h
Overview
Sets the creation&trim method (either advanced or classic)
Environment
Internal and External
History
Originally released in NX5.0
Required License(s)
( solid_modeling or nx_masterfem )
int UF_MODL_set_midsrf_feature_create_method
(
tag_t feature_obj_id,
int adv_crt_and_trm
)
tag_t | feature_obj_id | Input | Midsurface Feature tag |
int | adv_crt_and_trm | Input | choice of advanced create and trim |
UF_MODL_set_rpo_refernce (view source)
Defined in: uf_modl_ugopenint.h
Overview
Set the reference object and location for RPO operations. This function can be used to
control where a form feature will be positioned, if RPO is needed for the feature.
For example, if it is called before UF_MODL_create_instantiated_udf, the system will
position the new UDF instance at the given place.
Environment
Internal and External
History
V17.0
Required License(s)
solid_modeling
int UF_MODL_set_rpo_refernce
(
tag_t reference,
double point [ 3 ] ,
int flip
)
tag_t | reference | Input | the tag of the reference object, which can be a face or edge |
double | point [ 3 ] | Input | the point to position a feature |
int | flip | Input | flip the direction or not, only valid for edge |
UF_MODL_set_suppress_exp_tag (view source)
Defined in: uf_modl_expressions.h
Overview
Links the parameter suppress expression to the feature.
The value of the specified expression tag must match the current
suppression state of the specified feature. If the feature is unsuppressed
then the expression value must be 1. If feature is suppressed then the
expression value must not be 1.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_set_suppress_exp_tag
(
tag_t feature_tag,
tag_t expression_tag
)
tag_t | feature_tag | Input | Feature object id |
tag_t | expression_tag | Input | Suppress expression tag |
UF_MODL_set_sweep_axis (view source)
Defined in: uf_modl_sweep.h
Overview
Given an extrude or revolve feature, this function sets the direction
Environment
Internal and External
History
Originally released in V15.0
Required License(s)
solid_modeling
int UF_MODL_set_sweep_axis
(
tag_t feature_id,
double dir [ ]
)
tag_t | feature_id | Input | The feature ID. |
double | dir [ ] | Input | The new direction of the extrude or revolve feature. |
UF_MODL_set_sweep_tolerances (view source)
Defined in: uf_modl_sweep.h
Overview
Given an extrude or revolve feature, this function sets the new tolerances.
Environment
Internal and External
History
Originally released in V15.0
Required License(s)
solid_modeling
int UF_MODL_set_sweep_tolerances
(
tag_t feature_id,
double * tolerance
)
tag_t | feature_id | Input | The feature ID. |
double * | tolerance | Output | The new chaining and distance tolerance. |
UF_MODL_set_udf_parms (view source)
Defined in: uf_modl_udf.h
Overview
Sets the parameters of a user defined feature part. This function can
only be called once for each udf.
Note: This routine works only with old-style Pre-V15 UDFs
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_set_udf_parms
(
tag_t udf_id,
char * * prompt,
char * * values,
int number_of_parms
)
tag_t | udf_id | Input | Feature obj_id. |
char * * | prompt | Input | The user defined feature prompt. |
char * * | values | Input | The user defined feature values. |
int | number_of_parms | Input | Number of parameters in the arrays. |
UF_MODL_set_update_fail_option (view source)
Defined in: uf_modl.h
Overview
Sets the current fail option in case an update failure occurs. This
allows the user to specify the update behavior in advance, should an
error occur in the middle of a modeling update. It would be as if a
user in interactive NX had selected the UNDO, SUPPRESS,
or SUPPRESS ALL button in the Edit During Update dialog.
Environment
Internal and External
See Also
History
Original release was in V14.0.
Required License(s)
solid_modeling
int UF_MODL_set_update_fail_option
(
UF_MODL_update_option_t new_fail_option
)
UF_MODL_set_xform_tag_of_datum_csys (view source)
Defined in: uf_modl_datum_features.h
Overview
This function sets the tag of the XFORM into the csys of a datum_csys
If unsuccessful returns error code
Environment
Internal and External
History
NX3
Required License(s)
gateway
int UF_MODL_set_xform_tag_of_datum_csys
(
tag_t datum_csys_feature,
tag_t xform_tag
)
tag_t | datum_csys_feature | Input | Tag of datum csys feature |
tag_t | xform_tag | Input | xform tag to be set in datum_csys_tag |
UF_MODL_shape_pattern_create_dialog (view source)
Defined in: uf_modl_ugopenint.h
Overview
Function Description : This function will create a user interface
dialog to allow users to choose a Shape Pattern from a thumbnail list
Return
Error code
Environment
Internal & External
See Also
History
Originally released in NX503
Required License(s)
solid_modeling
int UF_MODL_shape_pattern_create_dialog
(
UF_MODL_shape_pattern_client_dialog_data_p_t pClientData,
int * response
)
UF_MODL_shape_pattern_free_client_data (view source)
Defined in: uf_modl_ugopenint.h
Overview
The following function will free the client data for shape pattern
which is used for UF_MODL_shape_pattern_create_dialog
Return
Error code
Environment
Internal & External
See Also
History
Originally released in NX503
Required License(s)
solid_modeling
int UF_MODL_shape_pattern_free_client_data
(
UF_MODL_shape_pattern_client_dialog_data_p_t pClientData
)
UF_MODL_shape_pattern_init_client_data (view source)
Defined in: uf_modl_ugopenint.h
Overview
The following function will initialize the client data for shape pattern
which is used for UF_MODL_shape_pattern_create_dialog
Return
Error code
Environment
Internal & External
See Also
History
Originally released in NX503
Required License(s)
solid_modeling
int UF_MODL_shape_pattern_init_client_data
(
UF_MODL_shape_pattern_client_dialog_data_p_t pClientData
)
UF_MODL_show_parent_curves (view source)
Defined in: uf_modl_curves.h
Overview
This routine shows the parent NX curves of an input feature.
The customer default variable Solids_MoveCurvesToOtherLayer,
defined in ug_english.def and ug_metric.def will control the
behavior of this routine.
If Solids_MoveCurvesToOtherLayer = on, this routine
will unblank all parent NX curves of the selected feature,
and will move the parent NX curves that lie on the non-selectable
layers to the work layer.
If Solids_MoveCurvesToOtherLayer = off, this routine
unblank all parent NX curves of the selected feature, and
will change the mask of all non-selectable layers on which
the parent NX curves lie to be selectable layers.
If selectable is TRUE and the parent NX curves are on visible but
non-selectable layers, this routine will either move these
parent NX curves to the work layer or change the mask of the
layers according to the value of Solids_MoveCurvesToOtherLayer.
Environment
Internal and External
See Also
History
Originally released in V16.0.
Required License(s)
solid_modeling
int UF_MODL_show_parent_curves
(
tag_t feature_tag,
logical selectable,
int * n_unch_disp_stat,
UF_MODL_disp_info_p_t * unch_parents_disp_status,
int * n_ch_disp_stat,
UF_MODL_disp_info_p_t * ch_parents_disp_status
)
tag_t | feature_tag | Input | Input feature record eid |
logical | selectable | Input | The parent curves are to be selectable |
int * | n_unch_disp_stat | Output | The number of parent curves whose display status were unchanged after the show action |
UF_MODL_disp_info_p_t * | unch_parents_disp_status | Input / Output to be freed | If NULL is passed in, then nothing is returned. If a pointer is passed in, then an array of UF_MODL_disp_info_t structures will be allocated, one for each parent curve whose display status was unchanged. The UF_MODL_disp_info_t structure will have the original display information for the parent curve. This array can then be passed to UF_MODL_hide_parent_curves to restore the curves to their original display status. This array must be freed by the caller by calling UF_free. |
int * | n_ch_disp_stat | Output | The number of parent curves whose display status were changed after the show action, i.e. the layer number or blank status was changed by this function. |
UF_MODL_disp_info_p_t * | ch_parents_disp_status | Input / Output to be freed | If NULL is passed in, then nothing is returned. If a pointer is passed in, then an array of UF_MODL_disp_info_t structures will be allocated, one for each parent curve whose display status was changed. The UF_MODL_disp_info_t structure will have the original display information for the parent curve.This array can then be passed to UF_MODL_hide_parent_curves to restore the curves to their original display status. This array must be freed by the caller by calling UF_free. |
UF_MODL_smooth_bsurface_data (view source)
Defined in: uf_modl_bsurf.h
Overview
Makes a bsurface continuous to cont_order_x, where x refers to the u
or v direction. The order of continuity may be any non-negative
integer up to (but not including) the corresponding degrees of the
bsurface. Selection of a given cont_order implies that all lower order
continuities are to be achieved. The order of continuity is the number
of derivatives that are required to exist at all points of the bsurface, in
the corresponding u and v directions.
NX prefers surfaces to be continuous at least to order 1, in a
manner called in this documentation G1+. It is stronger than
mathematical G1, but is not quite C1. For G1+, at any row or column
corresponding to a knot value with multiplicity equal to the degree of
the surface in that direction, both tangent vectors (with respect to u
and with respect to v) must have the same direction, but not
necessarily the same length (if they are the same length, continuity C1 exists).
At any point in the surface, if cont_order_x cannot be achieved in the
corresponding direction, the highest continuity Cn within tolerance is
achieved. If C1 cannot be achieved, G1+ is achieved within tolerance
and a state code is returned. If G1+ cannot be achieved an error is returned.
Any seam that has any angle larger than ang_toler is not smoothed, even if
it's distance is within tolerance. Any seam that would require a change larger
than dist_toler is not smoothed. Any seam that can be smoothed is smoothed
even all of them cannot be smoothed.
Any knot that has a multiplicity high enough to make it possible for
the surface to be discontinuous at the corresponding row or column of
poles is checked. If the row or column of poles can be treated in such
poles is checked. If the row or column of poles can be treated in such
a way as to make the surface continuous to the given orders without
changing the shape more than toler, it is made so in u and v. If the
bsurface is closed in either or both u and v, the closure is also
checked.
Continuity is achieved using a mathematical process called knot
removal.
Use this function conservatively. In particular, if simplification is to be
done when the geometry is attached or edited, use this function only if
the geometry has some problem that prevents its use. Knot removal
may make the bsurface's equivalent surface (such as a cone)
unrecognizable by the simplifier. It can also have a long running time
(at orders of continuity greater than 1), because at every point where
a change is made the surface must be evaluated to check that the
change is within tolerance.
Bsurfaces that have end knots with a multiplcity greater than the order of the
surface in that direction, or have interior knots with a multiplicity greater
than surface order-1 in the respective directions, are not continuous, that is,
they have gaps. Such bsurfaces are not of general utility in CAD/CAM work.
NX cannot create them. This function may be used to "clean" up such
bsurfaces.
Environment
Internal and External
See Also
History
This function was originally released in V15.0.
Required License(s)
solid_modeling
int UF_MODL_smooth_bsurface_data
(
int cont_order_u,
int cont_order_v,
double dist_toler,
double ang_toler,
UF_MODL_bsurface_p_t bsurf,
int * num_states,
UF_MODL_state_p_t * states
)
int | cont_order_u | Input | order of continuity to achieve in the u direction |
int | cont_order_v | Input | order of continuity to achieve in the v direction |
double | dist_toler | Input | distance tolerance not to be exceeded |
double | ang_toler | Input | angular tolerance not to be exceeded |
UF_MODL_bsurface_p_t | bsurf | Input | spline surface data to make continuous |
int * | num_states | Output | number of states in states array |
UF_MODL_state_p_t * | states | Output to be freed | state values for smoothing operation; if NULL is provided no states are returned. This array must be freed by calling UF_free. |
UF_MODL_sort_features (view source)
Defined in: uf_modl_utilities.h
Overview
Sort features by order of update. Notice that if feature1 updates before
feature2 then it is legal for feature2 to reference feature1. This can be used
in a selection filter during edit.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_sort_features
(
tag_t feature1,
tag_t feature2,
int * result
)
tag_t | feature1 | Input | first feature |
tag_t | feature2 | Input | second feature |
int * | result | Output | -1 if feature1 updates before feature2 0 if feature1 equals feature2 1 if feature1 updates after feature2 |
UF_MODL_split_body (view source)
Defined in: uf_modl.h
Overview
Split one or more bodies with a cutting plane or a body face.
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_split_body
(
int num_bodies,
tag_t * bodies,
tag_t cutting_body,
int * num_split_bodies,
tag_t * * split_bodies
)
int | num_bodies | Input | Number of bodies to be split |
tag_t * | bodies | Input | Bodies to be split |
tag_t | cutting_body | Input | Cutting plane or a sheet body |
int * | num_split_bodies | Output | Number of the split bodies |
tag_t * * | split_bodies | Output to be freed | Returned split bodies. This array must be freed by calling UF_free. |
UF_MODL_split_body_retain_tool (view source)
Defined in: uf_modl.h
Overview
Split one or more bodies with a cutting plane or a body face and retain the tool body.
Environment
Internal and External
See Also
History
Originally released in NX304
Required License(s)
solid_modeling
int UF_MODL_split_body_retain_tool
(
int num_bodies,
tag_t * bodies,
tag_t cutting_body,
int * num_split_bodies,
tag_t * * split_bodies
)
int | num_bodies | Input | Number of bodies to be split |
tag_t * | bodies | Input | Bodies to be split |
tag_t | cutting_body | Input | Cutting plane or a sheet body |
int * | num_split_bodies | Output | Number of the split bodies |
tag_t * * | split_bodies | Output to be freed | Returned split bodies. This array must be freed by calling UF_free. |
UF_MODL_subtract_bodies (view source)
Defined in: uf_modl.h
Overview
Subtract two bodies.
UF_MODL_subtract_bodies_with_retained_options honors the setting of the
"Boolean Face Properties from" option of the Modeling Preferences dialog,
but UF_MODL_subtract_bodies always applies the display properties of
the target body to new faces.
Environment
Internal and External
See Also
Refer to
example
UF_MODL_subtract_bodies_with_retained_options
Required License(s)
solid_modeling
int UF_MODL_subtract_bodies
(
tag_t target,
tag_t tool,
int * num_result,
tag_t * * resulting_bodies
)
tag_t | target | Input | Target body |
tag_t | tool | Input | Tool body |
int * | num_result | Output | Number of resultant bodies |
tag_t * * | resulting_bodies | Output to be freed | Resultant bodies. These must be free by calling UF_free. |
UF_MODL_subtract_bodies_with_retained_options (view source)
Defined in: uf_modl.h
Overview
Subtract two bodies with options to keep the original target body, tool body, or both bodies.
Environment
Internal and External
See Also
Refer to
example ,
UF_MODL_subtract_bodies.
History
Release version 19.
Required License(s)
solid_modeling
int UF_MODL_subtract_bodies_with_retained_options
(
tag_t original_target,
tag_t original_tool,
logical retain_target_body,
logical retain_tool_body,
tag_t * frec_eid
)
tag_t | original_target | Input | Original target body |
tag_t | original_tool | Input | Original tool body |
logical | retain_target_body | Input | Indicate 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_body | Input | Indicate whether to retain the tool body. If TRUE - the tool body is not consumed. FALSE - the tool body is consumed |
tag_t * | frec_eid | Output | The resulting feature record tag |
UF_MODL_suppress_feature (view source)
Defined in: uf_modl.h
Overview
Suppresses a list of features. Note that the system adds all implied
features and performs an update.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_suppress_feature
(
uf_list_p_t feature_list
)
uf_list_p_t | feature_list | Input | List of features to suppress. |
UF_MODL_SWEEP_free_trim_data (view source)
Defined in: uf_modl_sweep.h
Overview
Free the sweep trimming data.
Environment
Internal and External
See Also
History
Original release was in NX6.0
Required License(s)
gateway
int UF_MODL_SWEEP_free_trim_data
(
UF_MODL_SWEEP_TRIM_object_p_t trim_object
)
UF_MODL_trace_a_ray (view source)
Defined in: uf_modl.h
Overview
Fires a ray at a list of transformed (optionally) bodies and returns information
about each face that is hit. A ray that is tangent to the interior of a
face, but does not cross through the face is not considered a hit. The lists
containing returned information are in the order of its distance from the
origin of the ray, the closest first.
The caller is responsible for freeing hit_list with UF_free.
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_trace_a_ray
(
int num_bodies,
tag_t * bodies,
double origin [ 3 ] ,
double direction [ 3 ] ,
double transform [ 16 ] ,
int num_desired,
int * num_results,
UF_MODL_ray_hit_point_info_p_t * hit_list
)
int | num_bodies | Input | The number of bodies that are to be hit |
tag_t * | bodies | Input | Array of body tags that are to be hit. This array is dimensioned to num_bodies. |
double | origin [ 3 ] | Input | Point from which the ray is fired. |
double | direction [ 3 ] | Input | The direction the ray is fired. |
double | transform [ 16 ] | Input | Transformation needed to convert bodies into the same co-ordinate system as the ray. Initialize with UF_MTX4_identity. Only rotation and translation are allowed. |
int | num_desired | Input | Maximum number of hit points desired. A value of zero requests that all hit points be returned. |
int * | num_results | Output | number of hit points found |
UF_MODL_ray_hit_point_info_p_t * | hit_list | Output to be freed | A pointer to an array of structures where each array element will contain information about each hit. The first element in this array will contain hit point information that is closest to the origin of the ray and the rest of the elements will contain points that continue in order of increasing distance. The caller must free this array by calling UF_free. |
UF_MODL_TREX_ask_trim_extend (view source)
Defined in: uf_modl_trex.h
Overview
Queries a trim and extend feature.
Returns the creation data for a trim / extend feature. Refer to UF_MODL_trex_input_p_t for
detailed information on the contents.
If successful, it returns the input data associated with the feature. If not successful,
it returns a valid error code.
Return
0 : if successful
!=0 : if there is a failure. Refer to TREX_ error codes in in uf_modl_error.h.
Environment
Internal and External
See Also
History
Originally released in NX 2.0.1
Required License(s)
gateway
int UF_MODL_TREX_ask_trim_extend
(
tag_t feature,
UF_MODL_TREX_appl_data_p_t feature_data
)
UF_MODL_TREX_create_trex_feature (view source)
Defined in: uf_modl_trex.h
Overview
Creates a trim and extend feature.
This is a complete interface to create a trim/extend feature. Extends the
target by a given distance or until a target. If extended until a tool then
the target will be trimmed by the tool and optionally can modify the tool
also to make a corner between the target and the tool.
Following types of collectors allowed for a target and tool.
1. A connected set of free edges
2. A connected set of faces
a) Could be a whole sheet body
b) A connected set of faces of a sheet body
For now only "Body Faces" are allowed for face collectors.
In case of "connected set of free edges" required extension distances are
computed internally. No extensions are done if they are "a set of faces".
If successful, it returns the tag for the feature created. If not successful,
it returns a valid error code.
Return
0 : if successful
!=0 : if there is a failure. Refer to TREX_ error codes in in uf_modl_error.h.
Environment
Internal and External
See Also
History
Originally released in NX 2.0.1
Required License(s)
gateway
int UF_MODL_TREX_create_trex_feature
(
UF_MODL_TREX_appl_data_p_t feature_data,
tag_t* feature
)
UF_MODL_TREX_appl_data_p_t | feature_data | | I : Pointer to the structure containing defining data for the trim extend operation |
tag_t* | feature | | O : trim extend feature identifier |
UF_MODL_TREX_edit_trex_feature (view source)
Defined in: uf_modl_trex.h
Overview
Edits a trim and extend feature.
Edits the parameters of a trim/extend feature. All the creation parameters are available
for editing also. One can query for the creation parameters by calling UF_MODL_TREX_ask_trim_extend.
Return
0 : if successful
!=0 : if there is a failure. Refer to TREX_ error codes in in uf_modl_error.h.
Environment
Internal and External
See Also
History
Originally released in NX 2.0.1
Required License(s)
gateway
int UF_MODL_TREX_edit_trex_feature
(
UF_MODL_TREX_appl_data_p_t feature_data,
tag_t feature
)
UF_MODL_TREX_appl_data_p_t | feature_data | | I: Pointer to the structure containing defining data for the trimextend operation |
tag_t | feature | | I: Offset curve on face identifier |
UF_MODL_TREX_free_trex_data (view source)
Defined in: uf_modl_trex.h
Overview
Frees the trim and extend feature input data.
Return
0 : if successful
!=0 : if there is a failure. Refer to TREX_ error codes in in uf_modl_error.h.
Environment
Internal and External
See Also
History
Originally released in NX 2.0.1
Required License(s)
gateway
int UF_MODL_TREX_free_trex_data
(
UF_MODL_TREX_appl_data_p_t feature_data
)
UF_MODL_TREX_init_trex_data (view source)
Defined in: uf_modl_trex.h
Overview
Initializes the trim and extend feature input data.
Return
0 : if successful
!=0 : if there is a failure. Refer to TREX_ error codes in in uf_modl_error.h.
Environment
Internal and External
See Also
History
Originally released in NX 2.0.1
Required License(s)
gateway
int UF_MODL_TREX_init_trex_data
(
UF_MODL_TREX_appl_data_p_t feature_data
)
UF_MODL_TREX_init_trex_data_set (view source)
Defined in: uf_modl_trex.h
Overview
Initializes the trim and extend target tool data set.
Return
0 : if successful
!=0 : if there is a failure. Refer to TREX_ error codes in in uf_modl_error.h.
Environment
Internal and External
Required License(s)
gateway
int UF_MODL_TREX_init_trex_data_set
(
UF_MODL_TREX_data_set_p_t feature_data_set
)
UF_MODL_trim_body (view source)
Defined in: uf_modl.h
Overview
Trims a solid body.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_trim_body
(
tag_t target_body,
tag_t tool_tag,
int direction_flag,
tag_t * trim_feature
)
tag_t | target_body | Input | Target body to be trimmed. |
tag_t | tool_tag | Input | Tag of face, datum plane, or plane to be used for trim. |
int | direction_flag | Input | 0 = Accept default direction 1 = Reverse direction |
tag_t * | trim_feature | Output | Resultant trim_feature identifier tag |
UF_MODL_trim_midsrf_feature (view source)
Defined in: uf_modl_freeform.h
Overview
Trims the face pair feature in a midsurface feature.
Environment
Internal and External
Required License(s)
( solid_modeling or nx_masterfem )
int UF_MODL_trim_midsrf_feature
(
tag_t midsrf_feature_obj_id
)
tag_t | midsrf_feature_obj_id | Input | Midsurface Feature tag |
UF_MODL_trim_sheet (view source)
Defined in: uf_modl.h
Overview
Trims a sheet body to a collection of curves, faces, or planes. The
curves can be projected along surface normals or along a vector.
Points on the sheet body define which region(s) of the sheet are to be
kept or discarded by the trim. If it can be determined that a trim
failure has occurred because there were gaps between the trimming
geometry, then the system returns the positions of those gaps with the
corresponding return code.
The UF_MODL_trim_object_t data structure defines the objects used to trim the
sheet body. If the object is a curve, then the projection method must be
defined.
Environment
Internal and External
See Also
Required License(s)
solid_modeling
int UF_MODL_trim_sheet
(
tag_t sheet_body_tag,
int count_bounding_objects,
UF_MODL_trim_object_t * * bounding_objects,
double projection_vector [ ] ,
int point_key,
int point_count,
double point_coords [ ] ,
double tolerance,
int * number_gap_points,
double * * gap_points
)
tag_t | sheet_body_tag | Input | Tag of sheet body to trim. |
int | count_bounding_objects | Input | Number of trimming objects. |
UF_MODL_trim_object_t * * | bounding_objects | Input | Array of pointers to structures holding trimming object data. |
double | projection_vector [ ] | Input | Vector for curves projected along a vector. |
int | point_key | Input | Points define regions to: 0 = discard 1 = keep |
int | point_count | Input | Number of points. (Number of regions.) |
double | point_coords [ ] | Input | Array of points on the sheet. (3 point_count values.) |
double | tolerance | Input | Distance tolerance for any approximations. |
int * | number_gap_points | Output | Number of points returned in gap_points. |
double * * | gap_points | Output to be freed | Array of points showing positions of gaps. (3 number_gap_points values.) This array must be freed by calling UF_free. |
UF_MODL_udf_default_edit_mapping_tool (view source)
Defined in: uf_modl_ugopenint.h
Overview
Create a default UDF mapping tool and let users to select mapping objects at
editing.
Environment
Internal
History
This function was originally released in NX3.
Required License(s)
solid_modeling
int UF_MODL_udf_default_edit_mapping_tool
(
tag_t udf_insert_tag,
UF_MODL_udf_ref_data_p_t ref_data
)
UF_MODL_udf_default_insert_mapping_tool (view source)
Defined in: uf_modl_ugopenint.h
Overview
Create a default UDF mapping tool and let users to select mapping objects at
instantiation.
Environment
Internal
History
This function was originally released in NX3.
Required License(s)
solid_modeling
int UF_MODL_udf_default_insert_mapping_tool
(
tag_t udf_define_tag,
UF_MODL_udf_ref_data_p_t ref_data
)
UF_MODL_udf_free_exp_data (view source)
Defined in: uf_modl_udf.h
Overview
This function frees the expression data of a UDF.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
See Also
UF_MODL_ask_instantiated_udf
History
This function was originally released in NX3.
Required License(s)
gateway
void UF_MODL_udf_free_exp_data
(
UF_MODL_udf_exp_data_p_t exp_data
)
UF_MODL_udf_free_mapping_data (view source)
Defined in: uf_modl_udf.h
Overview
This function frees the mapping data of a UDF.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
See Also
UF_MODL_ask_instantiated_udf
History
This function was originally released in NX3.
Required License(s)
gateway
void UF_MODL_udf_free_mapping_data
(
UF_MODL_udf_mapping_data_p_t mapping_data
)
UF_MODL_udf_free_ref_data (view source)
Defined in: uf_modl_udf.h
Overview
This function frees the reference data of a UDF.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
See Also
UF_MODL_ask_instantiated_udf
History
This function was originally released in NX3.
Required License(s)
gateway
void UF_MODL_udf_free_ref_data
(
UF_MODL_udf_ref_data_p_t ref_data
)
UF_MODL_udf_init_exp_data (view source)
Defined in: uf_modl_udf.h
Overview
This function is to initialize the expression data of a UDF.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
See Also
UF_MODL_create_instantiated_udf1, UF_MODL_edit_instantiated_udf
History
This function was originally released in NX3.
Required License(s)
gateway
void UF_MODL_udf_init_exp_data
(
UF_MODL_udf_exp_data_p_t exp_data
)
UF_MODL_udf_init_insert_data_from_def (view source)
Defined in: uf_modl_udf.h
Overview
Function description:
User function for initializing UDF instantiation data from
a UDF definition feature. Note that the following attributes are only
filled out (i.e. memory and content).
num_exps (UF_MODL_udf_exp_data_t)
old_exps (UF_MODL_udf_exp_data_t)
num_refs (UF_MODL_udf_ref_data_t)
old_refs (UF_MODL_udf_ref_data_t)
reverse_refs_dir (UF_MODL_udf_ref_data_t)
num_mapping_objs (UF_MODL_udf_mapping_data_t)
reverse_objs_dir (UF_MODL_udf_mapping_data_t)
old_output_objs (UF_MODL_udf_mapping_data_t)
old_output_objs_index (UF_MODL_udf_mapping_data_t)
The memory of the following attributes must be allocated by the user
and their contents must be inputted by the user for further applications
such as the instantiation of a UDF feature and etc.
new_exp_values (UF_MODL_udf_exp_data_t)
new_refs (UF_MODL_udf_ref_data_t)
new_output_objs (UF_MODL_udf_mapping_data_t)
new_output_objs_index (UF_MODL_udf_mapping_data_t)
Environment
Internal and External
It can accept single UDF references and Smart Collectors and Sections in
UF_MODL_udf_ref_data_t.
Note: This routine works only with new-style UDFs released in V15
See Also
UF_MODL_ask_instantiated_udf
History
This function was originally released in NX3.
Required License(s)
solid_modeling
int UF_MODL_udf_init_insert_data_from_def
(
tag_t udf_define_tag,
UF_MODL_udf_exp_data_t * exp_data,
UF_MODL_udf_ref_data_t * ref_data
)
UF_MODL_udf_init_mapping_data (view source)
Defined in: uf_modl_udf.h
Overview
This function is to initialize the mapping data of a UDF.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
See Also
UF_MODL_create_instantiated_udf1, UF_MODL_edit_instantiated_udf
History
This function was originally released in NX3.
Required License(s)
gateway
void UF_MODL_udf_init_mapping_data
(
UF_MODL_udf_mapping_data_p_t mapping_data
)
UF_MODL_udf_init_ref_data (view source)
Defined in: uf_modl_udf.h
Overview
This function is to initialize the reference data of a UDF.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
See Also
UF_MODL_create_instantiated_udf1, UF_MODL_edit_instantiated_udf
History
This function was originally released in NX3.
Required License(s)
gateway
void UF_MODL_udf_init_ref_data
(
UF_MODL_udf_ref_data_p_t ref_data
)
UF_MODL_udf_rpo_menu (view source)
Defined in: uf_modl_ugopenint.h
Overview
Opens the default rpo menu for udf instantiation or feature paste.
This function should only be used to position new style UDFs or during
copy/paste of features.
Environment
Internal
History
This function was originally released in V17.0.2.
Required License(s)
solid_modeling
int UF_MODL_udf_rpo_menu
(
tag_t feature_eid
)
tag_t | feature_eid | Input | Feature to reposition |
UF_MODL_udfs_ask_def_data (view source)
Defined in: uf_modl_udf.h
Overview
This function gets the data of a given UDFS feature.
To free the members of the data structure UF_MODL_udfs_def_data_p_t, please
call function UF_MODL_free_udfs_def_data.
Note: The features of udfs have the same name as the udf.
This routine works only with new-style UDFs released in V15
Environment
Internal and External
Required License(s)
gateway
int UF_MODL_udfs_ask_def_data
(
tag_t feature_tag,
UF_MODL_udfs_def_data_p_t udfs_data
)
UF_MODL_udfs_create_def (view source)
Defined in: uf_modl_udf.h
Overview
This function creates a new udfs feature by given data.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_udfs_create_def
(
tag_t * feature_tag,
UF_MODL_udfs_def_data_p_t udfs_data
)
UF_MODL_udfs_redefine_def (view source)
Defined in: uf_modl_udf.h
Overview
This function redefines a given UDFS feature. It also reorders the
feature as the "youngest" one in the file.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_udfs_redefine_def
(
tag_t feature_tag,
UF_MODL_udfs_def_data_p_t udfs_data
)
UF_MODL_unclock_instance (view source)
Defined in: uf_modl_isets.h
Overview
Unclocks the particular instance feature input as the feature object identifier.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_unclock_instance
(
tag_t feature_obj_id
)
tag_t | feature_obj_id | Input | Object identifier for instance |
UF_MODL_unclock_iset (view source)
Defined in: uf_modl_isets.h
Overview
Unclocks the entire instance set input as the feature object identifier.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_unclock_iset
(
tag_t feature_obj_id
)
tag_t | feature_obj_id | Input | Object identifier for the instance set |
UF_MODL_unform_features (view source)
Defined in: uf_modl_smd.h
Overview
This routine will set the state of an array of formable features
so that the features will be fully unformed.
The given feaure tags must be tags of Flange, Inset Flange,
General Flange, SMBridge, or SMBend feature.
The caller of this routine may start an update cycle (if any of the features
are not already in their fully unformed state) by using UF_MODL_update.
Return
Return code:
=0 : Successful
>0 : Failing error number
<0 : Failing error number
= UF_MODL_ERR_NOT_A_FORMABLE_FEATURE : The given tag was not
the tag of a formable
feature.
Environment
Internal and External
See Also
History
Originally released in V18.0
Required License(s)
sheet_metal_design
int UF_MODL_unform_features
(
const int n_features,
const tag_t * const feature_tag_array,
logical * const is_update_required
)
const int | n_features | Input | The number of features tags in the array. |
const tag_t * const | feature_tag_array | Input | The array of formable feature tags. |
logical * const | is_update_required | Output | If update is required. |
UF_MODL_unite_bodies (view source)
Defined in: uf_modl.h
Overview
Unite two bodies.
UF_MODL_unite_bodies_with_retained_options honors the setting of the
"Boolean Face Properties from" option of the Modeling Preferences dialog,
but UF_MODL_unite_bodies always applies the display properties of
the target body to new faces.
Environment
Internal and External
See Also
Refer to
example
UF_MODL_unite_bodies_with_retained_options
Required License(s)
solid_modeling
int UF_MODL_unite_bodies
(
tag_t target,
tag_t tool
)
tag_t | target | Input | Target and resultant body |
tag_t | tool | Input | Tool body |
UF_MODL_unite_bodies_with_retained_options (view source)
Defined in: uf_modl.h
Overview
Unites two bodies with options to keep the original target body, tool body, or both bodies.
Environment
Internal and External
See Also
Refer to
example ,
UF_MODL_unite_bodies.
History
Release version 19.
Required License(s)
solid_modeling
int UF_MODL_unite_bodies_with_retained_options
(
tag_t original_target,
tag_t original_tool,
logical retain_target_body,
logical retain_tool_body,
tag_t * frec_eid
)
tag_t | original_target | Input | Original target body |
tag_t | original_tool | Input | Original tool body |
logical | retain_target_body | Input | Indicate 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_body | Input | Indicate whether to retain the tool body. If TRUE - the tool body is not consumed. FALSE - the tool body is consumed |
tag_t * | frec_eid | Output | The resulting feature record tag |
UF_MODL_unregister_cliff_blend (view source)
Defined in: uf_modl_blends.h
Overview
Used to unregister any previously set cliff blend routine.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_unregister_cliff_blend
(
void
)
UF_MODL_unregister_rpo_routine (view source)
Defined in: uf_modl_sketch.h
Overview
Unregisters a routine for relative positioning.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_unregister_rpo_routine
(
void
)
UF_MODL_unregister_udf_mapping_routine (view source)
Defined in: uf_modl_udf.h
Overview
Unregisters a routine for relative positioning.
Note: This routine works only with new-style UDFs released in V15
Environment
Internal and External
See Also
UF_MODL_register_udf_mapping_routine
UF_MODL_unregister_udf_mapping_routine
History
This function was originally released in NX3.
Required License(s)
solid_modeling
int UF_MODL_unregister_udf_mapping_routine
(
void
)
UF_MODL_unregister_var_blend (view source)
Defined in: uf_modl_blends.h
Overview
Used to unregister any previously set variable radius blend routine.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_unregister_var_blend
(
void
)
UF_MODL_unset_suppress_exp_tag (view source)
Defined in: uf_modl_expressions.h
Overview
Unsets suppress expression tag from the input feature.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_unset_suppress_exp_tag
(
tag_t feature_tag
)
tag_t | feature_tag | Input | Feature object id |
UF_MODL_unsuppress_feature (view source)
Defined in: uf_modl.h
Overview
Unsuppress a list of features. Note that the system adds all depended
features and performs an update.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_unsuppress_feature
(
uf_list_p_t feature_list
)
uf_list_p_t | feature_list | Input | List of features to unsuppress. |
UF_MODL_update (view source)
Defined in: uf_modl.h
Overview
Updates a part. You call this routine after you use UF_MODL_import_exp,
UF_MODL_edit_exp, and UF_MODL_move_feature. Imported and edited expressions
do not take effect until you update the part. After you move a feature, please
update the database.
Environment
Internal and External
Required License(s)
solid_modeling
int UF_MODL_update
(
void
)
UF_MODL_update_all_features (view source)
Defined in: uf_modl.h
Overview
Logs all the features in the current work part to the NX update list,
then performs an update. You may use this function to check whether or not all
the features in a part can be updated without modifying the part. This
function is different from UF_MODL_update, which updates modified objects and
dependent objects only. UF_MODL_update_all_features returns a value of zero
if the update completes successfully. It returns the error code
UF_MODL_ERR_PENDING_UPDATE, if it detects that the model has been modified and
the corresponding update has not been performed yet. It also returns the error
code of the first encountered failure, should the update fail.
Environment
Internal and External
See Also
History
This function was originally released in V14.0.
Required License(s)
solid_modeling
int UF_MODL_update_all_features
(
void
)
UF_MODL_update_for_animation (view source)
Defined in: uf_modl.h
Overview
This function will trigger model update similar to UF_MODL_update. However
it will achieve a smoother animation display when the feature editing is done
in a loop.
Environment
Internal and External
History
This function was originally released in NX3
Required License(s)
solid_modeling
int UF_MODL_update_for_animation
(
void
)
UF_MODL_validate_body (view source)
Defined in: uf_modl.h
Overview
Validate all of the input bodies, and return a code for each body indicating
if it is valid or not.
Environment
Internal and External
See Also
History
Originally released in V16.0
Required License(s)
solid_modeling
int UF_MODL_validate_body
(
int num_bodies,
tag_t * bodies,
int * valid_info
)
int | num_bodies | Input | Number of bodies to be validated |
tag_t * | bodies | Input | Array of bodies to be validated |
int * | valid_info | Output | Validity info for each body. This array must have been allocated by the caller as int valid_info[num_bodies]. There will be one status per body, 1 indicates that the body is valid and 2 indicates that the body is invalid. valid_info[0] is the code for bodies[0], and so on up to valid_info[num_bodies-1] and bodies[num_bodies-1]. |