Ограничивающая коробка
Ограничивающая коробка — параллелепипед вдоль осей X, Y, Z, охватывающий геометрическую форму.
shape.bbox
Построить ограничивающую коробку на основе формы shape.
Пример
shp = sphere(10)
bbox = shp.bbox()
Поля.
bbox.xmin
bbox.ymin
bbox.zmin
bbox.xmax
bbox.ymax
bbox.zmax
Методы.
bbox.xrange(), bbox.yrange(), bbox.zrange() возвращают диапазоны координат.
Построить коробку как форму.
Пример
shp = sphere(10)
bbox = shp.bbox()
disp(bbox.shape())
Размеры и координаты
shape.boundbox() и shape.bbox() возвращают BoundaryBox, выровненную по осям. Координаты — Scalar, minimum/maximum/center — Point3, size — Vector3.
import zencad as z
bounds = z.box(2, 3, 4).bbox()
assert all(abs(a - b) < 1e-5 for a, b in zip(bounds.size.value(), (2, 3, 4)))
record = bounds.value()
print(record.minimum, record.maximum)
xmin, xmax, ymin, ymax, zmin, zmax — свойства, xlength()/ylength()/zlength() — методы. .value() возвращает численные границы; .native() — объект OCP Bnd_Box. Допуски OCCT могут немного расширять границы, поэтому сравнивайте размеры с допуском. Пустая геометрия требует отдельной обработки, не предполагает нулевую коробку.