Overview

To prepare for a full implementation of AutoElevations in 16.5 Minor, interface changes around AutoMeasure has been done.

Compile Time Changes

Dib image for whitegoods appliances

The WgApplianceEnvSnapperDibButton class has been removed as LazySnapper3DMemoryButton has been updated to use DibImage.

Old: public class WgApplianceEnvSnapperDibButton extends SnapperImageButton {
New: public class WgApplianceEnvSnapperButton extends LazySnapper3DMemoryButton {

KitchenAutoMeasureGroup

When adding a measure to the group, the snapper which the measure belongs to needs to be passed along with it.

Old: final public void add(KitchenAutoMeasure measure) {
New: final public void add(Snapper snapper, KitchenAutoMeasure measure) {

createAutoMeasures now returns which snapper that are mapped to which AutoMeasures.

Old: public KitchenAutoMeasure{} createAutoMeasures(Snapper{} snappers) {
New: public Snapper->KitchenAutoMeasure{} createAutoMeasures(Snapper{} snappers) {

accept now requires the AutoMeasure which belongs to the snapper.

Old: final public bool accept(Snapper z) {
New: final public bool accept(Snapper z, KitchenAutoMeasure measure) {

autoMeasureToGroups now requires the AutoMeasures to be mapped from their Snapper.

Old: public KitchenAutoMeasureGroup[] autoMeasuresToGroups(KitchenAutoMeasure{} measures, symbol category=null) {
New: public KitchenAutoMeasureGroup[] autoMeasuresToGroups(Snapper->KitchenAutoMeasure{} measures, symbol category=null) {

KitchenAutoMeasures

The global public function updateAutoMeasures now have closeElevationDialog=false as a default argument.

Old: public void updateAutoMeasures(Space space) {
New: public void updateAutoMeasures(Space space, bool closeElevationDialog=false) 

Runtime/Behavior Changes

Constructor Migration: List Price → Base Price + Option Price Sum

The multiple Kitchen Part class constructors have been expanded and split to support the new part pricing system (introduced in 16.5). New constructors now accept basePrice and optionPriceSum separately.

Old constructors that use list price will remain available until old pricing system is deprecated.

Classes affected:

  • KitchenFundamentalPart
  • KitchenSimpleLengthPart
  • KitchenDividedLengthPart
  • KitchenRackPart
  • KitchenBaseGablePart
  • KitchenFixedLengthPart
  • KxWorldPart

Impact

  • If you use list price constructors today → update to the new basePrice + optionPriceSum pattern
  • See new pricing API documentation in cm.core.part.Part compile-time section for more migration tips

New fields are available for some classes.

KitchenAutoMeasureGroupSnapper

New : public str key;

KitchenAutoMeasureGroup

New: public guid gid;
New: public str{} snapperGidSet();
New: public KitchenAutoMeasure->Snapper measureSnapperMap() : copy=null;
New: public symbol spaceVolumeId;

New methods are available for some classes.

KitchenAutoMeasureGroup

New: final public void generateGid(Int idx=null) {

KitchenGmc

New: extend public bool allowAutoElevations() : null=false {