New feature: Tracing Mode

Issue #258 new
Robert Martin created an issue

Given that a number of free/open patterns are in PDF or JPG format i was thinking that it might be an idea to have some sort of mode where the valentina window is partly transparent so that you can trace an existing pattern. im not sure if making the whole background or just the piece editor would be cleaner (the second would require adding a PDF/JPG loader).

Comments (35)

  1. Robert Martin reporter

    can i get a link to the software? because if its the one i think it is then we can tap a very RABID market (Mother Daughter Doll matching outfits?? Fathers will be storming "us" with pallets of cash)

  2. Deana Guardado

    http://www.dollwear.com/

    It's a subset of the full package from designsew.com. I'm not that fond of the software; it is a "CAD" package that is hard to use. The user's manual is terrible and it doesn't do some of the things advertised (like export to SVG). On-line training refers to previous version, so the screen shots and commands are incorrect and inconsistent.

  3. Deana Guardado

    For years I have been a user of dressmaking software at Livingsoft, called Dress Shop. It's not a CAD-like package, though. It basically pulls pattern pieces together and prints based on a set of measurements, similar to Valentina and Dollwear. It can be used for dolls as well as people. I made a flower girl dress for a child as well as a matching American Girl size dress using this software for the pattern. I was able to use the standard darts for the child's dress, and delete them for the doll's dress, using the options in the pattern software.

  4. Susan Spencer

    We could create a tool to import a bitmap of an existing pattern.

    The user would define pattern pieces and pattern points in a layer above it, just like any Valentina pattern.

    The user would need to understand that the bitmap image and the Valentina pattern aren't necessarily going to match, unless the user forces it to match by using lengths and angles (no measurements) in the point formulas.

    A tool to increase or reduce the size of the underlying bitmap image, independent of the overlayed Valentina vector pattern, would be required.

    A tool to move the underlying bitmap image, independent of the overlayed Valentina vector pattern, would also be required.


    AND/OR ...

    We may come up with something entirely new.
    After importing the bitmap and the user starts defining a new pattern on top of it, and the initial point is created, the next point is created using a 'Reverse Engineer Point' tool which calculates the distance and angle from the initial point to the new point and autofills in the formula. All points of the pattern are created with the 'Reverse Engineer Point' tool, so they all 'radiate' out from the initial point. This pattern would be an exact vector copy of the bitmap image and would not require a measurement file.

  5. Robert Martin reporter

    on the code side can "we" maybe yoink the tracing code from Inkscape?? and as far as the measurements are concerned would using a "pick a line and give it a measurement" tactic work as a first approximation??

  6. Roman Telezhynskyi repo owner

    Don't even try to make it automatic. It will never work. I don't believe in a 'Reverse Engineer Point' tool. It will be waste of time.

    Given that a number of free/open patterns are in PDF or JPG format i was thinking that it might be an idea to have some sort of mode where the valentina window is partly transparent so that you can trace an existing pattern. im not sure if making the whole background or just the piece editor would be cleaner (the second would require adding a PDF/JPG loader).

    I like this, but

    We could create a tool to import a bitmap of an existing pattern. The user would define pattern pieces and pattern points in a layer above it, just like any Valentina pattern.

    i like this even more.

  7. Roman Telezhynskyi repo owner

    I don't believe in a 'Reverse Engineer Point' tool. It will be waste of time.

    I think i misunderstand purpose of the tool. Do you speak about measuring distance and angle from a point to selected point on the bitmap?

  8. Susan Spencer

    Diagram 1: Users can aligns the 1st point of the vector pattern to line up somewhere on the outline of the bitmap pattern.
    Then the user creates the 2nd point at the end of a line or curve.

    Diagram 2: The tool calculates the distance between the 1st & 2nd points, and the angle between the 1st & 2nd points, and saves the formula in the pattern as a Point from Distance and Angle.
    The user can create lines & curves between the points.

    See attached diagrams. - irregular shapes are shown for the points because the image display wasn't interpreting svg arcs.

  9. Susan Spencer

    Okay, I can see how the import tool should not be 'automatic'. OpenClipArt has experience with importing lots of images, and they find it problematic because resulting vector images have hundreds if not thousands of extra points which are difficult to simplify. The curves are created by tiny little straight lines. They always have to be redrawn.

    We should show the bitmap image in a lower layer, and create a new vector pattern on top of it.

  10. Roman Telezhynskyi repo owner

    We should show the bitmap image in a lower layer, and create a new vector pattern on top of it.

    Totally agree.

    Do you want save a bitmap inside of a pattern file? For example for continue work.

    And we don't need a 'Reverse Engineer Point' tool. You current problem is tool 'Point from distance and angle'. The tool, in current state, can't calculate distance yourself. I know how to fix it.

  11. Susan Spencer

    Yes its a better solution to use 'Point from Distance and Angle' tool.

    And the option to keep/remove the bitmap in the file is good too.

  12. Mx74

    This features would be a real plus for people having a different worklow like me: I create a part of my draft pattern from 3D, with Blender. Then UV mapping gives me the flat pattern, and then I need to import these pattern into Valentina for creating the exact 2D patterns, with sewing margin, etc...

  13. Susan Spencer

    So to summarize, this tool would allow a user to "draft" a pattern on top of an image. There are a few different ways this tool could be implemented. 1.) A full 'reverse engineering' option - probably not going to happen. A bit difficult, probably requires computer imaging AI. 2.) The user fills in the details.- most likely outcome :D This option needs to be discussed further regarding how it would work, what input is required from the user.

  14. Jason Dore

    Tracing mode. A great idea.

    The simpler ideas presented above are IMO the best. Just allow an SVG to be loaded as a background image and scaled to match.

    I think SVG would be better than a bitmap. 1) if the SVG is in mm/cm/inches you get the scaling taken care of. 2) you get a better resolution with less memory.

    I'd be interested in helping to implement this - I'm a Java programmer but a C++ newbie.

  15. Susan Spencer

    Keep in mind that most patterns have not been stored as SVG files. So if we implement only for SVG then this feature will not be useful for most users.

  16. Jason Dore

    I presume supporting bitmaps too would be pretty similar code wise.

    The issue with bitmaps is that they have no inherent size. They may have PPI but they won't be scaled as such. Therefore the Valentina interface to load them would have to offer scaling features.

    Anyone with access to Inkscape, Graphic etc. could usefully do the scaling etc. there, or conversion from PDF or other source formats.

    I can imagine that in most cases the workflow would start outside Valentina and involve arranging the picture so that pieces were in sensible places and oriented correctly. E.g. the user would arrange the pieces in the drawing program to align at the waist, with the waist line horizontal, armscyes touching, etc.

    Of course, it would be better to be able to do all of this in Valentina, to load multiple images and scale, rotate and place them how you want them, but again that just makes it harder. The phrase 'minimum loveable product' springs to mind - though of course that is subjective.

  17. Jason Dore

    To answer your other question...

    Until a couple of days ago I was vaguely aware that Qt existed, but have not needed to use it myself so know very little about it.

    It looks like an extremely capable and mature product. Looking at the Valentina code it seems that generating SVG is straight forward so I imagine that loading and displaying SVG is probably just a couple of lines (that might take me a few weeks to write given my C++ status. :-).

  18. Susan Spencer

    When importing an image, whether SVG or bitmap (vector or raster) the user will need to confirm the scaling information.

    For bitmap, the user can scale to a ruler (cm or inch) they choose.

    Having a grid behind the image will be necessary anyway, so the user can choose which grid they want. See issue #484 for further info on the background grid.

  19. Jason Dore

    I am wondering what would the grid be for? I wonder if we are still imagining something slightly different.

    Here is a mockup... no scaling needed, the vectors are specified in cm, and I'm building my pattern in cm.

    valentinaEmptyMockup.png

    Clearly I've not tried doing this yet, so I'm happy to accept that this is more complication than I'm making it.

  20. JZ

    Since it's milestone 0.7.0, could I 'bump' this for inclusion?

    In its simplest implementation an unalterable layer below the drawing could be added, PNG/JPG or SVG with size + DPI information.

    There would be zero interaction between the drawing and the backdrop. The backdrop would be static and only serve as reference when creating a pattern using various formulae.

    It would be down to the user to size the backdrop correctly, be it from a scan, a photo, a vector drawing converted to SVG in Inkscape. In short, it should not be Valentina's problem to get the image prepared correctly.

    I'm proposing the above to a) make it quick to implement b) provide basic and most important functionality without feature bloat c) allow testing and asses what to do with the feature next.

  21. Roman Telezhynskyi repo owner

    I also got feedback about this feature. Users ask to be able to add more than one image. Plus possibility to insert image inside of pattern file in addition to option to add reference to file.

  22. Armin Geller

    This was my idea too when I vote for this years ago. I use Valentina sometimes to trace old historic Lutterloh pattern. It would be fare easier to do this completely in a Valentina project that keeps all involved information, files and constructions in a project. Importing an image and the possibility to resize the image in x and y axis would be a benefit too.

    Valentina Lutterloh trousers Z 79.PNG

  23. Log in to comment