Commit Graph

1127 Commits

Author SHA1 Message Date
phkahler
1a71ca745a Dimesions on arcs defaut to radius instead of diameter 2023-12-29 11:13:22 -05:00
Rylie Pavlik
486e43a450 Codespell fix 2023-12-14 12:51:21 -05:00
phkahler
87d0e097bb CTRL-TAB un/hides the toolbar 2023-11-23 09:09:41 +02:00
ruevs
6f7e45ba9f Fix invalid parts linkage in assemblies when the folder has only one char.
Fix a bug in the `Split` function that would drop a single character
directory name at the end of the path.

Because of the above bug when a directory containing an assembly file had
a name with only one character, the assembly file was saved incorrectly and
the path to the linked files was invalid.

For example if `assembly.slvs` was located in a directory called `a` and
links `subpart.slvs` in the same directory this would result in:

Group.impFileRel=a\subpart.slvs

Which resulted in the linked part not being found when opening next time.

Fixes: #1347
2023-11-22 11:12:06 -05:00
ruevs
d5e8a8267c Fix opening of assembly groups with relative (empty) paths.
The `Join` method that merges paths used to return an empty path when
either of the paths was empty. This caused problems when opening files
with linked/assembled groups when the current path was relative - for
example when SolveSpace was ran from the command line with a drawing
files (in the same directory) as a parameter e.g. `solvespace assemby.slvs`.

See https://github.com/solvespace/solvespace/pull/1194 for detailed
discussion.

Fixes: #1292
2023-11-22 11:12:06 -05:00
ruevs
5edc1ec0fb Images are construction by default
With this change and the previous commit images will not be included in
3d groups by default.
2023-11-22 11:06:43 -05:00
ruevs
70382660c8 Do not include construction images in extrude/lathe/revolve/helix
To avoid unnecessary/annoying copies of images added in 2d sketches if they
are marked "construction" they will not be copied when creating solids.

Fixes: #1418
2023-11-22 11:06:43 -05:00
phkahler
e7c0c1665f GTK: Eliminate direct references to gdk event struct members in prep for moving to GTK4. 2023-10-14 14:16:38 -04:00
ruevs
0d26ca17f7 UI: Make marquee selection of line segments precise
Before marquee selection worked by checking whether the Axis Aligned
Bounding Box of an entity and the selection marquee overlap. This selects
(slanted) line segments even though the marquee did not "touch" them.

To fix this for line segments actually check that the selection marque
intersects the line segment.
2023-10-14 18:43:40 +03:00
ruevs
9edf2bcc34 Win32: Fix for compiling with MinGW.org GCC-6.3.0-1
MinGW-w64 MinGW-Builds 13.1.0 on the other hand does not need this.
2023-09-29 16:02:20 +03:00
phkahler
f399997976 Speed up view change animations 2023-09-28 19:37:10 -04:00
phkahler
1963a836ef Improve boolean difference operations...
...by fixing the logic in KeepRegion() to properly keep/discard
regions where two surfaces coincide.

Now difference works as well as intersection in this respect.

Change inSame to coincSame for clarity.
2023-09-22 17:32:26 +03:00
Victor Kustov
1919a18916 Fix language bug
Signed-off-by: Victor Kustov <ktrace@yandex.ru>
2023-09-20 09:15:20 -04:00
vthriller
beb473b94d Ask before overwriting existing file
Closes #1399
2023-09-12 12:08:26 -04:00
phkahler
b34d9a2f11 Delete the partially drawn entity when ESC is pressed on pending operations by using UndoUndo() 2023-07-26 20:42:18 -04:00
ruevs
f0912d42b1 UI: Remove shortcut key collisions in the Sketch menu
"&Workplane" -> "Wor&kplane"
"&Image" -> "I&mage"
"Tangent &Arc at Point" -> "Ta&ngent Arc at Point"

Closes #1019
2023-07-14 16:32:33 +03:00
Matteo Scalia
3d04d4cc04 skip duplicate drilled holes 2023-07-07 08:49:24 -04:00
alufers
7ccb0ffac4 UI: Add Ctrl+Shift+S keyboard shortuct for Save As
Many desktop programs use this shortcut for the "Save As" dialog,
so it makes sense to add it here so that different variants of parts
can be quickly created.
2023-07-03 17:00:06 +03:00
phkahler
fd25424ab5 small simplifications 2023-05-21 12:19:35 -04:00
phkahler
604335f1c9 rename the enums for surface classification in the SShell class. 2023-05-21 12:19:35 -04:00
ruevs
9e043c66ca UI: Fix typo in the "Angle" constraint hint. 2023-03-17 10:13:49 +02:00
ruevs
69ded9721f Update the year to 2023 in the About dialog and Windows version resource. 2023-03-17 10:12:12 +02:00
ruevs
25b5977962 Fix a crash when constraining a line segment symmetric
This was a regression Introduced in 3d3d5c7.
Fixes #1345
2023-02-28 22:49:36 +02:00
Blockers
d6e970918f Fix MessageBox Avalanches due to Message blocking
This fixes #1320. The root cause for the avalanche of
messages is due to how the refresh timer system calls GenerateAll. When
GenerateAll is called by Refresh, if a Message occurs, that Message will
block GenerateAll. It _doesn't_ block subsequent calls from the timer to
Refresh (presumably from a separate thread). Because the
"scheduledGenerateAll" flag is not cleared until after the generation is
unblocked, each following refresh triggers another call to GenerateAll.
By reversing the flag clear and call, it breaks the cycle. I don't think
this matters for scheduledShowTW, but I updated it as well.
2023-02-03 11:52:16 -05:00
robnee
3c91bf7ca4 Add config option for "camera" rotation navigation
SS rotates the model when middle button dragging while some users expect
this operation to rotate the camera where left-right and up-down directions are
reversed instead.  This adds that option.
2023-02-03 11:50:55 -05:00
phkahler
302aebfd1a quiet some compiler warnings 2023-02-01 13:36:42 -05:00
phkahler
e4fcb7de08 stop using deprecated gtk_show_uri on Linux 2023-02-01 13:36:42 -05:00
phkahler
0c28adc69e eliminate possible use before set warnings 2023-01-31 22:14:54 -05:00
phkahler
9ee9aa7609 Treat a linked group as mesh-only if it has a Mesh but no Shell. 2023-01-29 18:36:38 -05:00
ruevs
3f11bbe47a Translations: change contact informatuion in "Report-Msgid-Bugs-To:"
to current maintainer.
2023-01-18 17:40:35 +02:00
ruevs
60cd95d608 Dimension constraints only display mode improvements
Make the `TriStateButton` class "universal" and use it in place of the
`OccludedLinesButton` class which is now removed.

Fix the tool-tips on the constraint button to show what will come instead
of what is - just like the the occluded lines button. Also change the
text of the tool-tips wording to be more clear and consistent with other
buttons.

Small stylistic and code formatting changes.
2023-01-17 19:16:36 -05:00
77maxikov
a0219b2228 dimonly fix 2023-01-17 19:16:36 -05:00
phkahler
4a34253a37 Don't try to drag points with pt-coincident constraint to a previous group. Fixes #1012 and makes dragging as done in one of the tutorials possible again. 2023-01-17 19:12:06 -05:00
77maxikov
7b6a85da5a UI: Add constraining multiple points coincident 2023-01-11 22:35:07 +02:00
ruevs
6487fb890e UI: Adjust the menu items "Angle" and "Equal..." to match current state. 2023-01-11 22:27:07 +02:00
ruevs
bacc0b66bd UI: Adjust the hints for creating constraints
...for equal circles/arcs and angles.
2023-01-11 22:18:19 +02:00
ruevs
f22ebf2a54 UI: Adjust the hints for creating constraints
...to match the new multi(variadic) constraints.
2023-01-11 10:31:45 +02:00
phkahler
20e3d15f90 Use N for equal angle constraints. Allows 3 or 4 line segments to be set equal length all at once. 2023-01-10 16:17:57 -05:00
phkahler
a71e4bef81 allow equal angle constraints when 3 or 4 lines selected. Variadic constraints broke this feature by make equal length lines in those cases. 2023-01-07 15:35:50 -05:00
phkahler
3833dd0246 Allow point-on-face for up to 3 faces at once 2023-01-02 17:25:31 -05:00
ruevs
3609f8a7e9 Use a lambda to list selected faces when multiple faces are selected. 2023-01-02 17:25:31 -05:00
ruevs
aee47a42c6 Clean up face selection code 2023-01-02 17:25:31 -05:00
ruevs
adb2768154 Draw up to three selected faces 2023-01-02 17:25:31 -05:00
phkahler
7d5eaffa89 Add ability to select 3 faces 2023-01-02 17:25:31 -05:00
phkahler
105a350ccd change/fix some undo behavior in variadic constraints 2023-01-02 15:28:58 -05:00
phkahler
0db1f6bacd Fix H/V constraints on points and allow more than 2 points 2023-01-02 15:28:58 -05:00
phkahler
a5809891d6 fix several crashes on constraint creeation 2023-01-02 15:28:58 -05:00
77maxikov
3d3d5c789d Sync multiconstraint with current state 2022-12-31 15:20:34 -05:00
ruevs
50cbecbe72 Web: Adjust the scroll wheel sensitivity for zooming. 2022-11-06 04:34:04 +02:00
ruevs
6fc84ae2ce Web: Remove the device pixel ratio workaround for Android tablets.
Afetr the `GetDevicePixelRatio` function was fixed to return `double`
`useWorkaround_devicePixelRatio` is not needed any more so remove it.

See the discussion in #1310 pull request for details.
2022-11-06 03:42:23 +02:00