diff --git a/modules/workbenches/modeler/features/primitiveBox/primitiveBox.operation.ts b/modules/workbenches/modeler/features/primitiveBox/primitiveBox.operation.ts index 0ba5f1bb..32b0d8af 100644 --- a/modules/workbenches/modeler/features/primitiveBox/primitiveBox.operation.ts +++ b/modules/workbenches/modeler/features/primitiveBox/primitiveBox.operation.ts @@ -119,7 +119,7 @@ export const PrimitiveBoxOperation: OperationDescriptor = { ], [], [] - )) + )); return occ.utils.applyBooleanModifier([box], params.boolean); }, diff --git a/modules/workbenches/modeler/features/primitiveCone/PrimitiveCone.operation.ts b/modules/workbenches/modeler/features/primitiveCone/PrimitiveCone.operation.ts index 158a0e97..840e3693 100644 --- a/modules/workbenches/modeler/features/primitiveCone/PrimitiveCone.operation.ts +++ b/modules/workbenches/modeler/features/primitiveCone/PrimitiveCone.operation.ts @@ -3,8 +3,9 @@ import { roundValueForPresentation as r } from 'cad/craft/operationHelper'; import { EntityKind } from "cad/model/entities"; import { BooleanDefinition } from "cad/craft/schema/common/BooleanDefinition"; import { OperationDescriptor } from "cad/craft/operationPlugin"; -import {MDatum} from "cad/model/mdatum"; +import { MDatum } from "cad/model/mdatum"; import CSys from "math/csys"; +import { ExpectedOrderProductionAnalyzer } from "cad/craft/production/productionAnalyzer"; interface PrimitiveConeParams { @@ -82,7 +83,33 @@ export const PrimitiveConeOperation: OperationDescriptor = oci.pcone("cone", "csys", params.diameterA / 2, params.diameterB / 2, params.height); - return occ.utils.applyBooleanModifier(["cone"], params.boolean); + const cone = occ.io.getShell("cone", new ExpectedOrderProductionAnalyzer( + [ + { + id: 'F:SIDE', + productionInfo: { + role: 'sweep' + } + }, + { + id: 'F:LID', + productionInfo: { + role: 'lid' + } + }, + { + id: 'F:BASE', + productionInfo: { + role: 'base' + } + }, + + ], + [], + [] + )); + + return occ.utils.applyBooleanModifier([cone], params.boolean); }, } diff --git a/modules/workbenches/modeler/features/primitiveCylinder/PrimitiveCylinder.operation.ts b/modules/workbenches/modeler/features/primitiveCylinder/PrimitiveCylinder.operation.ts index 6af0c135..42ee60be 100644 --- a/modules/workbenches/modeler/features/primitiveCylinder/PrimitiveCylinder.operation.ts +++ b/modules/workbenches/modeler/features/primitiveCylinder/PrimitiveCylinder.operation.ts @@ -5,6 +5,7 @@ import {BooleanDefinition} from "cad/craft/schema/common/BooleanDefinition"; import {OperationDescriptor} from "cad/craft/operationPlugin"; import {MDatum} from "cad/model/mdatum"; import CSys from "math/csys"; +import { ExpectedOrderProductionAnalyzer } from "cad/craft/production/productionAnalyzer"; interface PrimitiveCylinderParams { @@ -73,9 +74,35 @@ export const PrimitiveCylinderOperation: OperationDescriptor label: 'Torus', icon: 'img/cad/torus', info: 'Primitive Torus', - paramsInfo: ({radius, tubeRadius}) => `(${r(radius)} , ${r(tubeRadius)} )`, + paramsInfo: ({ radius, tubeRadius }) => `(${r(radius)} , ${r(tubeRadius)} )`, form: [ { type: 'number', @@ -75,7 +76,20 @@ export const PrimitiveTorusOperation: OperationDescriptor oci.ptorus("torus", "csys", params.radius, params.tubeRadius); - return occ.utils.applyBooleanModifier(["torus"], params.boolean); + const torus = occ.io.getShell("torus", new ExpectedOrderProductionAnalyzer( + [ + { + id: 'F:TORUS', + productionInfo: { + role: 'sweep' + } + }, + ], + [], + [] + )); + + return occ.utils.applyBooleanModifier([torus], params.boolean); }, }