NXOpen Java API Reference > nxopen.features
Package nxopen.features (Java)
Java counterpart of NXOpen::Features (C++) — read
nxopen-cpp-reference/features-namespace.md for the full Feature+Builder
pattern explanation, sub-package list, and builder catalog. This file
records only what is Java-specific.
Verification
The Java nxopen.features package page confirms the same object model:
Feature (base interface), ExtrudeBuilder, RevolveBuilder,
FeatureCollection, and the full Hole family — Hole, HoleFeatureBuilder
(with nested HoleFeatureBuilder.HoleSubtype), HolePackage /
HolePackageBuilder (with nested CounterBoreDepthLimitOptions,
HoleDepthLimitOptions, HoleDepthOptions, HoleForms, Holesize,
Holetype), FillHole / FillHoleBuilder (nested
BorderContinuity, ContinuityTypes, ShapeControlTypes), and
ResizeHole / ResizeHoleBuilder — all present and matching the C++
reference's class set. The package page itself is large (2200+ linked
members counting nested types and cross-references), consistent with the
751-759-class scale reported in the other language bindings.
Java-specific idiom: nested option/enum types
Where C++ often uses separate top-level enum types, Java's Javadoc nests
many builder option enums directly inside their owning builder interface
(e.g. HoleFeatureBuilder.HoleSubtype, HolePackageBuilder.Holetype).
This is consistent with the nested-callback-interface pattern documented
in blockstyler-namespace.md in this folder — Java favors nesting
tightly-scoped types inside their owner rather than a flat namespace.
Java interfaces vs. C++/.NET classes
As with nxopen.blockstyler, the Java binding declares Feature,
builders, and collections as interfaces rather than concrete classes
(the implementing classes are internal to the NXOpen Java runtime). Code
always programs against the interface type (e.g.
nxopen.features.ExtrudeBuilder), obtained via factory methods on
FeatureCollection or a domain-specific collection — same acquisition
pattern as C++/.NET.
Source: https://docs.sw.siemens.com/en-US/doc/209349590/PL20220512394070742.open_java_ref · retrieved 2026-07-07