FashionFreedom / Seamly2D

Open source patternmaking software to democratize fashion.
https://seamly.io
GNU General Public License v3.0
603 stars 110 forks source link

Feature: Select curve segment in Mirror tools (and other Operations) #606

Open philipw95 opened 2 years ago

philipw95 commented 2 years ago
DSCaskey commented 2 years ago

We already can "cut" or create a point "along" a curve or arc (circle).

I'm sure someone would be happy to point out which tools to use if you ask on the forums. I would here, but my internet connection is a bit limited at the moment.

On Sat, Mar 26, 2022, 9:00 AM philipw95 @.***> wrote:

  • I think a function to cut lines or curves at certain points would be a very helpful feature. it would be useful when you ne to mirror something but only need a part of it (example: neckline when creating a placket)

— Reply to this email directly, view it on GitHub https://github.com/FashionFreedom/Seamly2D/issues/606, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHTXADVTZ7T74UXLDWU7AR3VB4C7TANCNFSM5RXBFTEQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

philipw95 commented 2 years ago

I know the function of creating a point „along“ but not cutting it, which means that the unneeded rest of the curve will still remain which results in to much clutter, but I’ll ask in the forum, maybe someone got an answer to it, thank you for your time.

Best, Philip

Am 28.03.2022 um 07:16 schrieb DSCaskey @.***>:

We already can "cut" or create a point "along" a curve or arc (circle).

I'm sure someone would be happy to point out which tools to use if you ask on the forums. I would here, but my internet connection is a bit limited at the moment.

On Sat, Mar 26, 2022, 9:00 AM philipw95 @.***> wrote:

  • I think a function to cut lines or curves at certain points would be a very helpful feature. it would be useful when you ne to mirror something but only need a part of it (example: neckline when creating a placket)

— Reply to this email directly, view it on GitHub https://github.com/FashionFreedom/Seamly2D/issues/606, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHTXADVTZ7T74UXLDWU7AR3VB4C7TANCNFSM5RXBFTEQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://github.com/FashionFreedom/Seamly2D/issues/606#issuecomment-1080204357, or unsubscribe https://github.com/notifications/unsubscribe-auth/AYMR6WKQG4T4JULZULFXDUTVCE6BJANCNFSM5RXBFTEQ. You are receiving this because you authored the thread.

luzpaz commented 1 year ago

ticket missing proper title summary

tduehr commented 1 year ago

Another use case is the gathered version of the straight skirt with godets in the Aldrich book. Using the rotation tool to slash and spread the side front doesn't modify the curve of the hip seam and creating a new curved path to match the existing curve is difficult.

slspencer commented 1 year ago

@phillipw95 - It sounds like you need to mirror a curve segment instead of the entire curve.

We'd need to enable a dropdown list of all curve segments of the original curve when selecting a curve in the Mirror tool.

Here's an example of mirroring the entire curve when only a curve segment is needed (@philipw95's example of a shirt placket). MIrroring curve segments

slspencer commented 1 year ago

@tduehr - Which page of Aldrich can we find your example? I'd like to confirm that selecting a curve segment would meet your need, or if we need to open a new issue.

DSCaskey commented 1 year ago

Regardless of whether the OP's needs can be met with the current tools, I think we need a segment tool that actually segments a curve into two srperate curves. Don't want to get in the weeds, but I had a hell of time figuring out how to auto reverse a curve ( for creating a piece path) if you select only part of a curve using a point on the curve, because you can't test that point if it's the 1st or last point - it's somewhere in between. If the curve was indeed cut, each segment would have it's own 1st and last point that would simplify a lot operations... including leaving unwanted segments hanging when all you need is part of the curve.

On Wed, Dec 28, 2022, 10:22 PM slspencer @.***> wrote:

@tduehr https://github.com/tduehr - Which page of Aldrich can we find your example? I'd like to confirm that selecting a curve segment would meet your need, or if we need to open a new issue.

— Reply to this email directly, view it on GitHub https://github.com/FashionFreedom/Seamly2D/issues/606#issuecomment-1367046902, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHTXADTP4TGY2QRAAZUO7DTWPT7VRANCNFSM5RXBFTEQ . You are receiving this because you commented.Message ID: @.***>

tduehr commented 1 year ago

Page 29 of 6th ed has the skirt with godets. Pages 30-32, 38-41, 49, 51, 53, 55, and most of the sleeve and dress/coat adaptations have similar operations (at least they look similar to my math/engineering focus CAD process). I'm still new to pattern drafting but I have some experience with CAD.

slspencer commented 1 year ago

@tduehr - Would you add your request in the comments for issue #369 'Slash and Spread'? You're asking for a 'Slash and Spread' option to create a curve along the expanded edge (eg for gathers), versus the 'Slash and Spread' option where the expanded edge is left open (eg for darts.)

slspencer commented 1 year ago

@DSCaskey - Currently the list of all curves and curve segments that touch a point is possible from the f(x) feature's 'Curve Lengths' button. Is it possible to tap into this current functionality to allow users to select which segment they want?

If you think we need to refactor how curves are created, segmented, stored, etc. then please create an issue.

Here's a screenshot of a list of all curves that reference a given point, using the f(x) dialog. The user manually enters the point name. image

DSCaskey commented 1 year ago

Is it possible to tap into this current functionality to allow users to select which segment they want?

I don't think so. When you create a point on a curve, it creates 2 new segment "objects" that will have the segment name, length angle, but it doesn't create 2 new tools. It's the tool dialog class (in conjunction with the visual and tool classes) that handles the "chosen object" when you click on a tool object. For example when your adding a new piece it doesn't matter which segment you select, it will only return the whole (tool) curve name, and not the segment you selected. It's why the piece path needs to have multiple copies of the curve name, not the segment names, and why when you mirror, rotate, or mice a curve, you get ALL the points, not just what's between segment endpoints. It's also analogous to trying to select a line (object) that some point tools create... you can't - you can only select the (tool) point. For ex: you can't select the segments created by the Midpoint tool, but you can access the 2 segment lengths. In other words, you can only select a line created by the LINE tool, and like wise selecting any curve selects the whole curve.

It's why there's WAY more to the app than most think, and why it's taken me years to unravel the code to the point where I got the big picture of how the tools work.

I'll have to give some thought if we would even be to create a new tool (or tools) within another tool. That would be the solution to truly segmenting lines and curves. BTW, that doesn't preclude having tools that place points ON a line or curve. Such as the existing ones or for example... creating a set of multiple points between 2 points, that can then be designated as buttonholes. In this case there is little need to have a bunch of separate line segments.

On Thu, Dec 29, 2022, 1:07 PM slspencer @.***> wrote:

@DSCaskey https://github.com/DSCaskey - Currently the list of all curves and curve segments that touch a point is possible from the f(x) feature's 'Curve Lengths' button. Is it possible to tap into this current functionality to allow users to select which segment they want?

If you think we need to refactor how curves are created, segmented, stored, etc. then please create an issue.

Here's a screenshot of all curves available from a given point in the f(x) dialog. The user manually enters a point and the GUI returns a list of all curves and curve segments that include that point: [image: image] https://user-images.githubusercontent.com/578399/209991682-171b72fe-cf0f-4493-a83b-e3d0e643c139.png

— Reply to this email directly, view it on GitHub https://github.com/FashionFreedom/Seamly2D/issues/606#issuecomment-1367500010, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHTXADQYHYLZQJ6VHHR3ZZTWPXHPNANCNFSM5RXBFTEQ . You are receiving this because you were mentioned.Message ID: @.***>