export default [ { id: 'sketchConstraint_coincident', appearance: { info: 'add coincident constraint', label: 'coincident', icon32: 'img/coi.png', }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.coincident(viewer.selected); } }, { id: 'sketchConstraint_verticalConstraint', appearance: { info: 'Vertical Constraint', label: 'vertical', icon32: 'img/vert.png' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.vertical(viewer.selected); } }, { id: 'sketchConstraint_horizontalConstraint', appearance: { info: 'Horizontal Constraint', label: 'horizontal', icon32: 'img/hor.png' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.horizontal(viewer.selected); } }, { id: 'sketchConstraint_parallelConstraint', appearance: { info: 'Parallel Constraint', label: 'parallel', icon32: 'img/par.png' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.parallel(viewer.selected); } }, { id: 'sketchConstraint_perpendicularConstraint', appearance: { info: 'Perpendicular Constraint', label: 'perpendicular', icon32: 'img/per.png' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.perpendicular(viewer.selected); } }, { id: 'sketchConstraint_P2LDistanceConstraint', appearance: { info: 'Distance Between Point and Line', label: 'point & line', icon32: 'img/p2l.png' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.p2lDistance(viewer.selected, prompt); } }, { id: 'sketchConstraint_P2PDistanceConstraint', appearance: { info: 'Distance Between two Points', label: 'point & point', icon32: 'img/p2p.png' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.p2pDistance(viewer.selected, prompt); } }, { id: 'sketchConstraint_RadiusConstraint', appearance: { info: 'Radius Constraint', label: 'radius', icon32: 'img/rad.png' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.radius(viewer.selected, prompt); } }, { id: 'sketchConstraint_EntityEqualityConstraint', appearance: { info: 'Entity Equals Constraint(radius or length of a segment)', label: 'equals', icon32: 'img/eq.png' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.entityEquality(viewer.selected); } }, { id: 'sketchConstraint_tangentConstraint', appearance: { info: 'Tangent Constraint', label: 'tangent', icon32: 'img/tgn.png' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.tangent(viewer.selected); } }, { id: 'sketchConstraint_lockConstraint', appearance: { info: 'Lock Constraint', label: 'lock', cssIcons: ['lock'] }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.lock(viewer.selected); } }, { id: 'sketchConstraint_pointOnLine', appearance: { info: 'Point On Line', label: 'point & line', icon32: 'img/vec/pointOnLine.svg' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.pointOnLine(viewer.selected); } }, { id: 'sketchConstraint_pointOnArc', appearance: { info: 'Point On Arc / Ellipse', label: 'point & arc', icon32: 'img/vec/pointOnArc.svg' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.pointOnArc(viewer.selected); } }, { id: 'sketchConstraint_pointInMiddle', appearance: { info: 'Point In the Middle', label: 'point @ middle', icon32: 'img/vec/pointInMiddle.svg' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.pointInMiddle(viewer.selected); } }, { id: 'sketchConstraint_llAngle', appearance: { info: 'Angle Between 2 Lines', label: 'angle', icon32: 'img/vec/angle.svg' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.llAngle(viewer.selected, prompt); } }, { id: 'sketchConstraint_symmetry', appearance: { info: 'Symmetry', label: 'symmetry', icon32: 'img/vec/symmetry.svg' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.symmetry(viewer.selected, prompt); } }, { id: 'sketchConstraint_mirror', appearance: { info: 'Mirror Objects off of a Line', label: 'mirror', cssIcons: ['star-half-o'] }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.mirror(viewer.selected); } }, { id: 'sketchConstraint_lockConvex', appearance: { info: 'Lock Convexity', label: 'convex', icon32: 'img/vec/convex.svg' }, invoke: ({services}) => { const viewer = services.sketcher.inPlaceEditor.viewer; viewer.parametricManager.lockConvex(viewer.selected, alert); } }, ];