SolveSpace Logo SOLVESPACE -- parametric 2d/3d CAD
Examples
Tutorials
Features
Download
Reference
Technology
Library
Forum
Contact
USER FORUM

(you are viewing a thread; or go back to list of threads)

Tweaks for making 2d Cad work practical. (by Dustin)
A couple months back I discovered Solvespace and made a pull request to fix a bug with the save/open dialogue box on Windows. However before making alterations I want to first discuss them to make sure my work aligns with the project's goals. If it is better to do this elsewhere, please let me know.

The last eight years my day job has been making cut files for lasers. The entire time I have been amazed that CorelDraw has remained the best practical tool for 2d cad work for this kind of machine. Using CorelDraw for cad work is an awkward hack at best, but there truly has not been a better option. Corel knows it is still the best option for 2d cad professionals and charges several hundred dollars for it. 

Laser cutters are gaining rapid adoption in the hobby space and require the same kind of 2d cad work as plasma cutters, water jet cutters and vinyl cutters. Additionally there is a lot of router work that is best accomplished with a 2d cad file because simple slots or parameter cuts are all that is needed.  

I have tried a wide variety of cad programs, and not liked the sketch interface of any. All of them are focused on creating 3d parts and bypass the idea that easily making 2d cad files is the final goal for may. I am quite excited about Solvespace because it is 90% the perfect solution for 2d Cad work. As a project I think that is a tremendous opportunity because there are some great 3d cad programs available, but for 2d cad work the open source community is still using Inkscape... which isn't even a cad program. I think this indicates a huge void in the cad space. 

The first contribution I want to work on is making it possible to export only selected lines without constraints. This is because a project might contain a huge layout of all the parts for a project, and I often only want to cut one of them, either because I am testing a part, or only need one of the parts. 
This is where I need feedback from the leaders of this project. One option is to add an export option in the menu system that exports a selection. However I think it best to set this option in the save dialogue box. Corel Draw has an "Export Selection" check box for windows. Unfortunately minGW does not appear to allow for the modern save/open dialogue box on windows which allows check boxes to be used. A work around is to add the 'help' menu, rename it to 'options' and then open an options menu when the user clicks it. On the program side these chosen options would be remembered as defaults for future exports of the same file type.

I am still new to C and working on this project as an intentional hobby so that I don't drift into doing work during my downtime. If someone else wants to run with the ideal I'll follow in the path they blaze, otherwise I would like to chip away at a solution if it is going to be welcomed. I would like direction about how to best integrate the ability to export only a selection of lines without any of the constraints or text included.
Sun Apr 11 2021, 13:58:02
(no subject) (by Tom)
Constraints/comments shouldn't get exported if you hide them (with the icon at the top of the property browser) before exporting.

There's no way to export only a selection of lines/curves, but maybe you could use line styles for that? You can mark specific custom line styles to be exported or not. You could also break the design into multiple groups and show/hide those, which is probably a good idea anyways (since that helps with parametric structure, and since too many constraints in one group get slow).
Sun Apr 11 2021, 15:23:01
(no subject) (by Andrew)
Have you looked at LibreCad, which is an opensource 2d cad program, producing .dxf files. It has a layers capability which be used to group lines.
Sun Apr 11 2021, 15:36:06
(no subject) (by Dustin)
I thank you both for the input.

Andrew - LibraCad is often referenced as an option 2d cad work, but does not appear to have any solver for changing dimensions. For me the process of editing the size of lines and shapes is crucial.

Tom - While their is certainly a button for constraint visibility, in the process of design I may export every couple of minuets to test the design. More than anything I think the extra step rather than time required is what makes process seem tedious.

From what I understand, there is a variable for what items are selected, can this variable be accessed by the export script?
Mon Apr 12 2021, 03:38:12
(no subject) (by Paul)
This is exactly the kind of feedback we need. If there are some small changes that can close that last 10 percent gap for common uses we should work out a solution.

Please submit an issue on github explaining a feature request and why it's useful. It can be abstract like "add a way to export only part of a 2d drawing" or it can be more specific.

There have been very recent changes around exporting line styles already. Maybe reading those will help grow some ideas.
Tue Apr 13 2021, 10:22:19
(no subject) (by ruevs)
For the use case "huge layout of all the parts for a project" I would create:

- One .slvs file with reference dimensions (only construction entities) that relate to the whole project.

- Many .slvs files - one for each part. Each one first links to the above file and then dimension off of it. Some of these sketches may be hierarchical where a "later" part includes a previous one as a reference for constraining dimensions and at the end the reference is hidden/disabled.

- One "huge layout" file that uses "New Group | Link / Assemble..." to link all of the above as separate groups that can be very easily enabled and disabled.
Wed Apr 14 2021, 09:03:41
(no subject) (by ruevs)
Wed Apr 21 2021, 09:31:48
Post a reply to this comment:
Your Name:
Your Email:
Subject:
(no HTML tags; use plain text, and hit Enter for a line break)
Attached file (if you want, 5 MB max):
© 2008-2022 SolveSpace contributors. Most recent update June 2 2022.