Improving UI vocabulary

Ok this discussion is broad and deep.

We’ll have to focus on vocabulary and not on defining new features. We can mention new features but won’t define them here.

Preferred vocabulary:

  • Design file, *.val ( in future *.smly)
  • Measurement file, .vit (.smme)
  • Multisize file, .vst (.smsz)
  • Draft Mode, Draft Block, Draft tool group, Draft tools
  • Pattern Mode, Pattern Piece, Pattern tool group, Pattern tools
  • Layout Mode, Layout Image, Layout tools
  • Export features, Export File, Export tools
  • Print features, Print File, Print tools

Draft Mode

  • Point tool group
  • Line tool group
  • Spline tool group
  • Arc tool group
  • Elliptical Arc tool group
  • Draft Objects tool group
  • Draft Groups tool group
  • Draft Operations tool group
  • Draft Block tool group
  • Pattern Piece tool group
  • Export Draft Blocks PDF tool
  • Print Draft Blocks PDF tool

Pattern Mode

  • Pattern Operations tool group
  • Pattern Groups tool group
  • Export Pattern Pieces PDF tool
  • Print Pattern Pieces PDF tool

Layout Mode

  • Layout Groups tool
  • Layout Settings tool
  • Create Layout Image tool
  • Adjust Layout Image tool
  • Export Layout Image tool
  • Print Layout Image tool

The most confusing UI-to-XML mappings occur when creating Points.

This table lists the current (old) UI tooltips and <point> types, and suggests new terms so that tooltips and <point> types are consistent.


new type new UI Tooltip old type UI tooltip
(new) start n/a n/a n/a
lengthAndAngle Length and Angle endLine Point at Distance and Angle
lengthOnLine Length on Line alongLine Point at Distance along Line
lengthOnBisector Length on Bisector bisector Point along Bisector
lengthToLine Length to Line shoulder Point on Shoulder
midpointOnLine Midpoint on Line midpoint Midpoint between 2 points
intersectXY Intersect XY of 2 points pointOfIntersection Point of Intersection XY of 2 points
trianglePointOnAngle Triangle Point on Angle triangle Triangle
IntersectLines Intersect Lines lineIntersect Intersection Point of 2 Lines
intersectLinePerpendicular Intersect Line and Perpendicular height Point on Perpendicular
lengthOnCurve Length on Curve cutSpline Point Along Curve
intersectCurves Intersect Curves, Splines, and/or Arcs pointOfIntersectionCurves Intersection Point of Curves
intersectCurveAngle Intersect Curve, Spline, or Arc and Angle curveIntersectAxis Intersection Point of Curve and Axis
(new) intersectCurveLine Intersect Curve, Spline, or Arc and Line n/a n/a
lengthOnSpline Length on Spline cutSplinePath Point Along Spline
lengthOnArc Length on Arc cutArc Point Along Arc
intersectArcs Intersect Arcs pointOfIntersectionArcs Intersection Point of Arcs
intersectArcAngle Intersect Arc and Angle curveIntersectAxis Intersection Point of Arc and Axis
(new) intersectArcLine Intersect Arc and Line n/a n/a
intersectArcTangent Intersect Arc and Tangent pointFromArcAndTangen Tangency point of Arc and Tangent
(new) intersectArcCircle Intersect Arc and Circle n/a n/a
intersectCircles Intersect Circles pointOfIntersectionCircles Intersection Point of 2 Circles

Here’s a table with <spline> element types and tooltips. We should keep the current (old) UI tooltips…


new type new UI Tooltip old type Old UI tooltip
curveInteractive Curve simpleInteractive Curve
curveControlPoints Curve With Control Points cubicBezier Curve With Control Points
splineInteractive Spline pathInteractive Spline
splineControlPoints Spline With Control Points cubicBezierPath Spline With Control Points
(new) frenchCurve French Curve n/a n/a

How about “Length by Line”?

I feel like at least half the time I’m using this tool to place a point beyond a line segment, not on a line segment, & though it is still mathematically on the line, I’m always a little uncertain that doing so isn’t an “undocumented feature” destined to be deprecated.

1 Like


Voici mes observations sur le vocabulaire

A bientôt



nouveau type nouvelle info-bulle de l’interface utilisateur ancien type Info-bulle de l’interface utilisateur
(Nouveau) début n / a n / a n / a
lengthAndAngle Longueur et angle fin de ligne Point à distance et angle
lengthOnLine Longueur en ligne le long de la ligne Point à distance le long de la ligne
lengthOnBisector Longueur sur Bisector Longueur sur bissectrice bissecteur Pointer le long de la Bisector Point le long d’une bissectrice
lengthToLine Longueur à la ligne Longueur sur la ligne d’épaule épaule Point sur l’épaule
midpointOnLine Milieu en ligne Milieu de la ligne milieu Point médian entre 2 points
intersectXY Intersection XY de 2 points pointOfIntersection Point d’intersection XY de 2 points
trianglePointOnAngle Point de triangle sur l’angle Triangle Triangle
IntersectLines Intersection des lignes lineIntersect Point d’intersection de 2 lignes
intersectLinePerpendiculaire Ligne d’intersection et perpendiculaire la taille Point sur perpendiculaire
lengthOnCurve Longueur sur courbe cutSpline Point le long de la courbe
intersectCourbes Intersection de courbes, splines et / ou arcs pour moi splines et courbes c’est la même chose il y a une notion qui m’échappe à voir pointOfIntersectionCourbes Point d’intersection des courbes
intersectCurveAngle Intersection d’une courbe, d’une spline ou d’un arc et d’un angle curveIntersectAxis Point d’intersection de la courbe et de l’axe
(Nouveau) intersectCurveLine Intersection d’une courbe, d’une spline ou d’un arc et d’une ligne je ne vois pas la différence avec la ligne précédente quelle est la nouvelle fonctionnalité ? n / a n / a
lengthOnSpline Longueur sur Spline cutSplinePath Point le long de la spline
lengthOnArc Longueur sur l’arc cutArc Point le long de l’arc
intersectArcs Intersection des arcs pointOfIntersectionArcs Point d’intersection des arcs
intersectArcAngle Intersection de l’arc et de l’angle Intersection d’un arc et d’un axe curveIntersectAxis Point d’intersection de l’arc et de l’axe
(Nouveau) intersectArcLine Intersection de l’arc et de la ligne n / a n / a Intersection de l’arc et de la ligne
intersectArcTangent Intersection de l’arc et de la tangente pointFromArcAndTangen Point de tangence de l’arc et de la tangente Point d’intersection de l’arc et de la tangente
(Nouveau) intersectArcCircle Intersection d’un arc et d’un cercle n / a n / a
intersecterCercles Cercles d’intersection Intersection de cercles pointOfIntersectionCircles Point d’intersection de 2 cercles



Toujours mon même problème sur la différence entre courbe et spline, je n’arrive pas à voir la différence et donc de donner mon avis sur le vocabulaire à utiliser.


Arcs, Ellipses, & Splines are all types of curves. A spline is weighted in a more dynamic fashion than the other two.

  • Arc: all points along the curve are equidistant from the central point.
  • Ellipse: all points are mathematically derived from the central point. x 2 a 2 + y 2 b 2 = 1
  • Spline: points along the curve are calculated based on their relationship to points at either end of the curve & dynamic points relating to the angle of the line segment produced by the last point placed. or something like that.

GT: Les arcs, les ellipses et les splines sont tous les types de courbes. Une spline est pondérée de manière plus dynamique que les deux autres.

  • Arc: tous les points le long de la courbe sont équidistants du point central.
  • Ellipse: tous les points sont calculés mathématiquement à partir du point central. x 2 a 2 + y 2 b 2 = 1
  • Spline: les points le long de la courbe sont calculés en fonction de leur relation avec les points à chaque extrémité de la courbe et les points dynamiques relatifs à l’angle du segment de ligne produit par le dernier point placé. ou quelque chose comme ça.
1 Like

For simplicity… nobody really needs to care if it’s a b-spline, cubic bezier, etc… and using the word “path” in the names is confusing & redundant as all curves have a path.

So… A “curve” is between 2 points with “interactive” control points.

A “spline” is a series of curves connected one after another… with each node having interactive control points.

A “curve w/control points” is between 2 points with “fixed” control points that use other points on the draft block. .

A “spline w/control points” is a series of curves connected one after another… with each node having fixed control points that use other points on the draft block.

My preference:

  • schemaTag - Tooltip / Menu Item (shortcut) - Staus Tip

  • curveInteractive - Curve Interactive (Alt-C) - “Curve using interactive control points.”

  • curveFixed - Curve Fixed(CF) - “Curve using fixed control points.”

  • splineInteractive - Spline Interactive (Alt-S) - “Spline using interactive control points.”

  • splineFixed - Spline Fixed(SF) - “Spline using fixed control points.”

It should be noted that the “UI” vocabulary is just the tip of the iceberg. It’s only the part a user sees. There’s 90% more under the water - that is in the code, some of which can be a mess. It can be rather tedious to keep track of or find some of the code when a tool and it’s parts can have 2-3-4 names used. For ex: One that stands out is an actual “Pattern Piece”. It’s referred to as a “detail”, “VToolSeamAllowance”, “Work Piece”, and “piece”.

That being said… It’s not something I wanted to address at this time, but since we’re here, we might as well fix it all now, before adding more junk on top.

I’ll be posting my thoughts on the subject in a day or so with a blueprint which will be a extension of Susan’s tables that will also include other UI items like Dialog / Properties Editor Titles and other pertinent code like class, file, and icon names. In other words IMO what needs to happen is the Vocabulary needs to be consistent across ALL parts of the program - those you see, AND those you don’t.


This is intended behavior.


Oh good! I’d seen some indication of that, but it is so good to have official, blatant confirmation!



Merci j’ai bien compris


Merci Je serai moins bête ce soir :grin: