Multiple points at same point?

Hi there, I’m just practicing curves using the Kolson Method on the wiki (Creating Smooth Curves: The Kolson Method - Seamly2D) , and I’ve added a second construction point (X2), but it doesn’t exist in the list of Line Lengths when I go to try and select it for my formula… seems like such a simple thing, so I don’t know what I’m missing! I’ve drawn lines from X2 to A4 and A3 so I don’t know why those lines don’t exist.

Any help appreciated!

1 Like

Welcome to Seamly @hayleyneil!

I think you are saying that you made a curve, & then made a line to help control the curve. Since Seamly2D reads the items on one drafting block in the order in which they were created, the lines does not yet exist at the creation of the curve, & so it cannot be based on it. So there are two solutions:

  1. Delete the curve & remake it after you’re done creating its guidelines.
  2. Use the History window to virtually time-travel & create the lines before the creation of the curve. When using the time-travel it is recommended to save-as first, in case you inadvertently create a dangerous time-paradox.
  • To use time-travel: open the History window, move the arrow marking your current location in time to the place it needs to be, perform the actions, move the arrow back to the future, close the History window.

I hope that helps! If not, @Grace is an experienced Time-Lady, & so can probably explain the use of the History window better than I can. Also @Douglas can probably better explain why time-travel, & what the chances are that eventually it could happen safely out of sight.


1 Like

This is amazing, thanks so much for getting back to me so quickly! Little did I know the amazing Seamly could also manipulate the fabric of space and time, ha ha


Honestly though you guys are great, I’m buzzing at the potential of Seamly and how it will revolutionise my pattern cutting! It’s amazing how willing everyone is to take time to help, thank you.

1 Like

I’ll take a stab.

As the app currently exists, it’s like a new episode of your current favorite TV show… as you watch the show you have no idea what events happen until you’ve watched them. In other words the show unfolds in a linear fashion. The same sort of thing happens in Seamly2D when a pattern is parsed… you only know about events that have happened. So how would you be able to know about future events? Watch it twice - where the second time through you know whats coming up. IE: parse the pattern twice. The technique is used for example in video compression, where if you want even better compression when rendering you run a 2 pass. Or the same sort of idea is used with some audio plugins that use a “look ahead” algorithm so you can hear back the effect as the track(s) playback in real time, because you’ve looked ahead and already processed audio coming up.

The down side of course is in performance… it takes more time to run multiple passes.

I could see though it may be possible to reprocess a pattern file to intelligently reorder the history. Sort of like when you compile the app itself… to know about a new change you have to recompile, where link references are updated. If that makes sense?



Are you considering adding a (future) option to optimize, Recompile in terms of your analogy above?

Just curious



To be honest… I haven’t thought about that until I was writing the post. :slight_smile: Actually I can see having a more comprehensive interactive tool that would analyze the data structure and dependencies where you could then safely reorganize or delete - or prune if you will - objects and / or their children. This would be like the Holy Grail for the app, as we’ve all experienced the “time” issues, whether it be not having access to some objects or trying to delete an object, and having to delete all it’s descendants first - which leads one to adding duplicate objects.


I know it would be complex and likely not in the immediate future. I remember RT describing a parser he had written (actually I believe it was an adaptation of mu parser) and I went on a tangent thinking you might eventually want to write the holy grail tool. Actually as I think of it, this could be a stand-alone tool which might make it simpler. Just my random musings.

1 Like

The mu parser is just the math parser for the formulas, and has nothing to do with parsing the pattern tools order.

That would nake sense as it could also be run from the command line.


Eventually I would like to. Just to refresh my memory, I went back and reread some of the “smart delete” forum topics and bitbucket issues… I forgot you asked in one topic if it would at least be possible to delete the “last” object, and as usual RT went off reasons why it’s not so easy because of formulas. Huh? It’s the last object - just allow the user to delete it. Anyhow… I still need to wrap my head around the data structure and more detail of how the app is tracking the dependencies before even attempting such a feat(ure). :slight_smile: