diff --git a/web/app/sketcher/parametric.ts b/web/app/sketcher/parametric.ts index be7fa03b..62ea31d4 100644 --- a/web/app/sketcher/parametric.ts +++ b/web/app/sketcher/parametric.ts @@ -265,15 +265,18 @@ class ParametricManager { obj.constraints.clear(); obj.generators.clear(); - this.viewer.dimLayer.traverseSketchObjects(dim => { - obj.accept(o => { - if (dim.dependsOn && dim.dependsOn(o)) { - this._removeObject(dim); - return false; - } - return true; + [this.viewer.dimLayer, this.viewer.labelLayer].forEach(l => { + l.traverseSketchObjects(dim => { + obj.accept(o => { + if (dim.dependsOn && dim.dependsOn(o)) { + this._removeObject(dim); + return false; + } + return true; + }); }); - }); + }) + }; invalidate() { diff --git a/web/app/sketcher/shapes/label.ts b/web/app/sketcher/shapes/label.ts index fcf29c20..cbba6760 100644 --- a/web/app/sketcher/shapes/label.ts +++ b/web/app/sketcher/shapes/label.ts @@ -21,6 +21,10 @@ export class Label extends SketchObject { this.offsetY = 0; } + dependsOn(other: SketchObject) { + return this.assignedObject === other; + } + translateImpl(dx, dy) { this.offsetX += dx; this.offsetY += dy; diff --git a/web/app/sketcher/shapes/sketch-object.ts b/web/app/sketcher/shapes/sketch-object.ts index dd110855..5de7cbbc 100644 --- a/web/app/sketcher/shapes/sketch-object.ts +++ b/web/app/sketcher/shapes/sketch-object.ts @@ -27,6 +27,10 @@ export abstract class SketchObject extends Shape implements SolvableObject { this.id = id || this.ref; } + dependsOn(obj: SketchObject): boolean { + return false; + }; + get isGenerated() { let obj: SketchObject = this; while (obj) {