How to modifiy or delete in existing patterns e.g. points, curves

I am revising a fairly complex existing Seamly2D pattern (a blazer) and needed to correct a curve (specifically, a collar curve). The corrected new point has been created, and there are no issues drawing the new curve. However, it seems impossible to delete or modify the old curve due to hidden dependencies. Is there a practical way to identify, correct, and/or remove these dependencies?

While exploring solutions, the concept of Anchor Points came up as a way to make the new point selectable for modifying the existing old curve. However, I cannot figure out how to create Anchor Points — in fact, none of my patterns show any Anchor Points in Pieces mode.

2 Likes

This has been a long standing issue that’s not easy to solve. Besides the actual dependecies where one tool uses another, tool variables can also be referenced in formulas… which has no protection from deletion like the dependencies. The History can help you find some dependencies, but it can get rather complex quick if there are a lot of branches off any given tool… as you have to delete each tool in reverse order until you get back to the tool you want to delete. Then you also have to keep in mind when a tool is used in an Internal Path, a Pattern Piece, or as an Anchor Point… you have to remove those references as well.

Anchor points don’t normally show in Pattern Pieces. They are specifically a special node type that is simply used as a way to pin or “anchor” a Label or Grainline. They do show in the piece when you select the Anchors tab:

The way to use them - for ex: Anchoring a label to it’s center so it moves with the anchor… which will become apparent once you start creating different sizes of a pattern.

Now the label center is locked to the anchor point:

To create an Anchor point you simply select the Anchor point tool (in Piece Mode):

Select a point and Piece to add the Anchor to:

and it’s now an anchor point you can use in that piece:

Note: Since labels can not move outside a pattern piece… in this case the label is positioned right to the edge of the piece instead of being centered. Something to keep in mind when you create your anchor points.

2 Likes

It sounds like maybe you are thinking of the Insert Node tool.

:unicorn:

1 Like

Yeah… but that’s just for adding (missed) node(s) to a pattern piece. Has nothing to do with modifying curves - old or otherwise.

2 Likes

True, but exchanging which curve is being used by the pattern piece would have the same effect as re-drawing the curve on a paper draft, which I believe would generally be referred to as modifying a curve.

:unicorn:

1 Like

IMO… that would be modifying the pattern piece. Granted it could be considered changing or swapping a node in the main path, but the curve(s) remain unchanged.

2 Likes

Thanks for your explanations and your time to look at this issue. Looks like this drawback is very deep in the Seamly2D design principles. I will leave the wrong curves as they are in draft mode and will draw new ones one on top which I than use for pieces. Cheers Wolfgang

2 Likes

Not a drawback… it’s just how it works. It’s all because of the formulas. The way it works is each tool has a reference counter, and each time another tool references the tool, it’s counter is incremented. When you delete a tool, all tools referencing it are decremented. Which is why you have to work backwards until you’ve removed all references where the count = 0, at which point you can then delete the tool. The only case where you can remove multiple rerefences are when you delete a pattern piece.

Yup. We’ve all been there. Eventually one learns to plan a pattern ahead and not get stuck with “orphan” tools. You could throw these orphan tool(s) in a group just to hide them. Or give them their own color so you know not to use them.

2 Likes

It sounds like you still have the curves in use for the pieces, & that’s why you can’t delete them in the draft. As long as a piece references it, it is still being used.

:unicorn:

2 Likes

Which then means using the Insert Node(s) tool as you suggested… and then editiing the main path to place the new curve node(s) in the proper order and deleting the old one(s). AND in the case where the only reference to the old curve(s) is in a pattern piece… the old curve(s) can be deleted.

2 Likes

deleting it’s painful :slight_smile: but that’s the price I am happy to pay for having a graphic environment that creates parametric patterns. Few of the things I learned about deleting:

  • I often forget about the existence of “pieces”
  • sometimes I need to restart seamly so I can go on with deleting points
  • once I was left with a very persistent dart, that was creating a point exactly on a previous point and than …. so, check for double points

You can use new draft blocks for different pieces, but that’s a double edged sword:

  • history is shorter and more transparent
  • but you often get cross references between blocks (i.e. sleeve opening or collar circumference etc)
3 Likes

Right… because they’re off on another screen out of mind. :roll_eyes:

Also like I previously stated you have to remember any Internal Paths or Anchor points. They too needed to be deleted before you can delete the underlying points and or curves.

Again I’ve discussed this ad nauseam… but its more than just the tool dependencies that make deleting or more to the point the idea of “auto deleting” an issue. It’s the formulas.

Take this simpe example… where Line_A_A3’s length is LineA1_A2. Since A2 has no tool dependencies we can delete it:

Doing so results in breaking the formula for Line_A_A3:

Yes you could fix the formula… but how would you do that “automatically” if say you wanted to automate the deletion process? And this is just 1 broken formula. It’s actually quite easy (code wise) to parse and build a pattern, quite another to deconstruct it.

3 Likes

Hello @nejcek74

Just to add my voice to the discussion…

Did you think of adding the new points BEFORE the curve, using the History? This way, you could have edited the curve tool to the new points and eliminated the need to do any deleting.

2 Likes

Again I hate to harp on the formulas issue. If you used the old curve in a formula… such as length of curve or angle of curve… and then change the curve using a different point you’ve now broken the formula as the curve’s name is based on the points used. Unfortunately editing a tool does not update every instance of the tool’s variables in formulas, and that includes changing a tools name. :frowning:

My best advice… Accept that it’s a learning process. Develop a Point naming system that works for you. Learn to plan a pattern out before drafting where you won’t have to rename points, won’t have to use the History, and won’t have to delete objects. The analogy to oldtime drafting with pencil on paper is the last tool a draftsman wants to use is the eraser.

3 Likes

@Grace just to clarify, this topic was started by WPt_53819,we others jumped in

@Douglas breaking the formula, I guess you are talking about that:

I just fix all of those formulas by hand, and I do this a lot.

During my CAD years, I developed the habit of only including the strictly necessary elements in my drawings, giving them predictable names and placing them in predictable layers (groups in Seamly2). I know it’s often borderline insane and takes up a lot of time, but it helps me to get an overview of the pattern and quickly understand everything later on. I am glad that Seamly2d allows these changes, so I don’t have to work inside text editor.

3 Likes

Yes.

Since I spend most every day with the editor I would just search & replace, but again I just try to avoid the need to rename, insert, or delete so I don’t have to fix formulas. If a tool is only used one in a formula it’s probably no big deal to fix it… it would get rather tedious though if there are dozens of formulas to fix. That being said “smart” fixing the formulas when renaming point names is on the Github issues list of things to do - issue #1348.

4 Likes

Sorry about that. I’ve been following with a half an eye. However, I do use the History insert quite a bit if I missed something earlier on or later decide that I need something.

As for the text editor, I prefer to see what I’m doing in the pattern, so I never use it during my pattern making.

2 Likes

@Grace Can you say more on how you go back in history to add a point, guidelines, etc? I’ve tried clicking on an earlier ID and making the change I want, but it adds it to the end of the list rather than after the earlier ID. Please link me to any posts/documentation on this if it exists on this. thanks!

1 Like

Welcome @Cranfillec

Note: This example is using the current version of the app. A new release will have an updated History that will render some steps moot.

The first thing you have to understand about inserting tools into the History is you can only insert tools after the point tool you will be using. Use the insert with care.

For example I want to add a point from A75:

  • Open the History Dialog.

  • Find point A75 in the History. You can search with the Find box:

    A new tool can be added anywhere after row 224.

  • In the 1st column click the row at which you want to insert the new tool after. Here I clicked row 228. New tool will be inserted on line 229.

  • Draw your new tool… here I’m just adding a Point at Length and Angle:

  • New point tool A259 was inserted at row 229.

  • Move the pointer down if you want to add another tool.

  • Before you close the History make sure to move the pointer back to the bottom of the list so new tools are appended and not inserted.

  • Close or Minimize the History if you want.

Note: With the updated History it will not be necessary to increment the pointer… it will automatically move to the next row after adding a new tool. Also the pointer will automatically move to the end when the History is closed. You can read about the pending History updates here:

3 Likes

Ah! Did not understand you need to click in the first column to place the blue arrow.

2 Likes