Final Update of Changelog for 3.0 (#1025)

* Final Update of Changelog for 3.0

* Fix markdownlint warnings on CHANGELOG.md

* Remove Q3D mention from 3.0 release changelog.

Co-authored-by: Ryan Pavlik <ryan.pavlik@collabora.com>
pull/1029/head
ruevs 2021-04-23 14:29:22 +03:00 committed by GitHub
parent 8fbefa1ae5
commit bedf72180e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 244 additions and 230 deletions

View File

@ -5,280 +5,294 @@ Changelog
--- ---
New sketch features: New sketch features:
* New intersection boolean operation for solid models.
* New groups, revolution and helical extrusion. * New intersection boolean operation for solid models.
* Extrude, lathe, translate and rotate groups can use the "assembly" * New groups, revolution and helical extrusion.
boolean operation, to increase performance. * Extrude, lathe, translate and rotate groups can use the "assembly"
* The solid model of extrude and lathe groups can be suppressed, boolean operation, to increase performance.
for splitting a single model in multiple parts to export, * The solid model of extrude and lathe groups can be suppressed,
or if only the generated entities are desired, without the mesh. for splitting a single model in multiple parts to export,
* Translate and rotate groups can create n-dimensional arrays using or if only the generated entities are desired, without the mesh.
the "difference" and "assembly" boolean operations. * Translate and rotate groups can create n-dimensional arrays using
* A new sketch in workplane group can be created based on existing workplane. the "difference" and "assembly" boolean operations.
* TTF text request has two additional points on the right side, which allow * A new sketch in workplane group can be created based on existing workplane.
constraining the width of text. * TTF text request has two additional points on the right side, which allow
* Image requests can now be created, similar to TTF text requests. constraining the width of text.
This replaces the "style → background image" feature. * Image requests can now be created, similar to TTF text requests.
* Irrelevant points (e.g. arc center point) are not counted when estimating This replaces the "style → background image" feature.
the bounding box used to compute chord tolerance. * Irrelevant points (e.g. arc center point) are not counted when estimating
* When adding a constraint which has a label and is redundant with another the bounding box used to compute chord tolerance.
constraint, the constraint is added as a reference, avoiding an error. * When adding a constraint which has a label and is redundant with another
* Datum points can be copied and pasted. constraint, the constraint is added as a reference, avoiding an error.
* "Split Curves at Intersection" can now split curves at point lying on curve, * Datum points can be copied and pasted.
not just at intersection of two curves. * "Split Curves at Intersection" can now split curves at point lying on curve,
* Property browser now shows amount of degrees of freedom in group list. not just at intersection of two curves.
It also shows a yellow "err" if the sketch has problems (e.g. self * Property browser now shows amount of degrees of freedom in group list.
intersecting) that would propagate in subsequent groups. It also shows a yellow "err" if the sketch has problems (e.g. self
* It is now possible to press "g" to toggle construction on new objects while intersecting) that would propagate in subsequent groups.
they are still being drawn. * It is now possible to press "g" to toggle construction on new objects while
they are still being drawn.
* Allow right click to end sketching of all entities.
New constraint features: New constraint features:
* When dragging an arc or rectangle point, it will be automatically
constrained to other points with a click. * When dragging an arc or rectangle point, it will be automatically
* When selecting a constraint, the requests it constraints can be selected constrained to other points with a click.
in the text window. * When selecting a constraint, the requests it constraints can be selected
* When selecting an entity, the constraints applied to it can be selected in the text window.
in the text window. * When selecting an entity, the constraints applied to it can be selected
* Distance constraint labels can now be formatted to use SI prefixes. in the text window.
Values are edited in the configured unit regardless of label format. * Distance constraint labels can now be formatted to use SI prefixes.
* When creating a constraint, if an exactly identical constraint already Values are edited in the configured unit regardless of label format.
exists, it is now selected instead of adding a redundant constraint. * When creating a constraint, if an exactly identical constraint already
* It is now possible to turn off automatic creation of horizontal/vertical exists, it is now selected instead of adding a redundant constraint.
constraints on line segments. * It is now possible to turn off automatic creation of horizontal/vertical
* Automatic creation of constraints no longer happens if the constraint constraints on line segments.
would have been redundant with other ones. * Automatic creation of constraints no longer happens if the constraint
* New option to open the constraint editor for newly created constraints would have been redundant with other ones.
with a value. * New option to open the constraint editor for newly created constraints
* New "redundant constraint timeout (in ms)" option to prevent UI freeze with a value.
when looking for redundant constraints. * New "redundant constraint timeout (in ms)" option to prevent UI freeze
* Swap vertical and horizontal constraints when pasting rotated by 90/270 when looking for redundant constraints.
degrees. * Swap vertical and horizontal constraints when pasting rotated by 90/270
degrees.
New export/import features: New export/import features:
* Link IDF circuit boards in an assembly (.emn files)
* Three.js: allow configuring projection for exported model, and initially * Link IDF circuit boards in an assembly (.emn files)
use the current viewport projection. * Three.js: allow configuring projection for exported model, and initially
* Wavefront OBJ: a material file is exported alongside the model, containing use the current viewport projection.
mesh color information. * Wavefront OBJ: a material file is exported alongside the model, containing
* DXF/DWG: 3D DXF files are imported as construction entities, in 3d. mesh color information.
* [ADDED 2019-02-25](https://github.com/solvespace/solvespace/pull/384) and [REMOVED 2020-11-13](https://github.com/solvespace/solvespace/issues/795): * DXF/DWG: 3D DXF files are imported as construction entities, in 3d.
Q3D: [Q3D](https://github.com/q3k/q3d/) triangle meshes can now be * VRML (WRL) triangle meshes can now be exported, useful for e.g. [KiCAD](http://kicad.org).
exported. This format allows to easily hack on triangle mesh data created * Export 2d section: custom styled entities that lie in the same
in SolveSpace, supports colour information and is more space efficient than plane as the exported section are included.
most other formats. * Added ExportBackgroundColor in configuration for EPS, PDF, and SVG files.
* VRML (WRL) triangle meshes can now be exported, useful for e.g. [KiCAD](http://kicad.org). * STEP export includes object colors and transparency.
* Export 2d section: custom styled entities that lie in the same * Default "line styles" have a new "export these objects" option.
plane as the exported section are included.
* Added ExportBackgroundColor in configuration for EPS, PDF, and SVG files.
* STEP export includes object colors and transparency.
New rendering features: New rendering features:
* The "Show/hide hidden lines" button is now a tri-state button that allows
showing all lines (on top of shaded mesh), stippling occluded lines * The "Show/hide hidden lines" button is now a tri-state button that allows
or not drawing them at all. showing all lines (on top of shaded mesh), stippling occluded lines
* The "Show/hide outlines" button is now independent from "Show/hide edges". or not drawing them at all.
* "View | Darken Inactive Solids" added. When turned off and a "sketch in plane" * The "Show/hide outlines" button is now independent from "Show/hide edges".
group is active solids form previous groups will not be "darkened" (have the * "View | Darken Inactive Solids" added. When turned off and a "sketch in plane"
s000d-#def-dim-solid style applied to them). group is active solids form previous groups will not be "darkened" (have the
s000d-#def-dim-solid style applied to them).
New measurement/analysis features: New measurement/analysis features:
* New choice for base unit, meters.
* New command for measuring total length of selected entities, * New choice for base unit, meters.
"Analyze → Measure Perimeter". * New command for measuring total length of selected entities,
* New command for measuring center of mass, with live updates as the sketch "Analyze → Measure Perimeter".
changes, "Analyze → Center of Mass". * New command for measuring center of mass, with live updates as the sketch
* New option for displaying areas of closed contours. changes, "Analyze → Center of Mass".
* When calculating volume of the mesh, volume of the solid from the current * New option for displaying areas of closed contours.
group is now shown alongside total volume of all solids. * When calculating volume of the mesh, volume of the solid from the current
* When calculating area, and faces are selected, calculate area of those faces group is now shown alongside total volume of all solids.
instead of the closed contour in the sketch. * When calculating area, and faces are selected, calculate area of those faces
* When selecting a point and a line, projected distance to current instead of the closed contour in the sketch.
workplane is displayed. * When selecting a point and a line, projected distance to current
workplane is displayed.
Other new features: Other new features:
* Improvements to the text window for selected entities and constraints.
* Ambient light source added in text window to allow flat shaded renderings. * Improvements to the text window for selected entities and constraints.
* New command-line interface, for batch exporting and more. * Ambient light source added in text window to allow flat shaded renderings.
* The graphical interface now supports HiDPI screens on every OS. * New command-line interface, for batch exporting and more.
* New option to lock Z axis to be always vertical, like in SketchUp. * The graphical interface now supports HiDPI screens on every OS.
* New button to hide all construction entities. * New option to lock Z axis to be always vertical, like in SketchUp.
* New link to match the on-screen size of the sketch with its actual size, * New button to hide all construction entities.
"view → set to full scale". * New link to match the on-screen size of the sketch with its actual size,
* When zooming to fit, constraints are also considered. "view → set to full scale".
* Ctrl-clicking entities now deselects them, as the inverse of clicking. * When zooming to fit, constraints are also considered.
* When clicking on an entity that shares a place with other entities, * Ctrl-clicking entities now deselects them, as the inverse of clicking.
the entity from the current group is selected. * When clicking on an entity that shares a place with other entities,
* When dragging an entity that shares a place with other entities, the entity from the current group is selected.
the entity from a request is selected. For example, dragging a point on * When dragging an entity that shares a place with other entities,
a face of an extrusion coincident with the source sketch plane will the entity from a request is selected. For example, dragging a point on
drag the point from the source sketch. a face of an extrusion coincident with the source sketch plane will
* The default font for TTF text is now Bitstream Vera Sans, which is drag the point from the source sketch.
included in the resources such that it is available on any OS. * The default font for TTF text is now Bitstream Vera Sans, which is
* In expressions, numbers can contain the digit group separator, "_". included in the resources such that it is available on any OS.
* The "=" key is bound to "Zoom In", like "+" key. * In expressions, numbers can contain the digit group separator, "_".
* The numpad decimal separator key is bound to "." regardless of locale. * The "=" key is bound to "Zoom In", like "+" key.
* On Windows, full-screen mode is implemented. * The numpad decimal separator key is bound to "." regardless of locale.
* On Linux, native file chooser dialog can be used. * On Windows, full-screen mode is implemented.
* New edit menu items "Line Styles", "View Projection" and "Configuration" * On Linux, native file chooser dialog can be used.
that are shortcuts to the respective configuration screens. * New edit menu items "Line Styles", "View Projection" and "Configuration"
* New cmake build options using -DENABLE_OPENMP=yes and -DENABLE_LTO=yes that are shortcuts to the respective configuration screens.
to enable support for multi-threading and link-time optimization. * New cmake build options using -DENABLE_OPENMP=yes and -DENABLE_LTO=yes
* "Shift+Scroll" for ten times finer zoom. to enable support for multi-threading and link-time optimization.
* Chinese translation * "Shift+Scroll" for ten times finer zoom.
* Translations: Chinese, French, German, Russian, Turkish, Ukrainian.
Bugs fixed: Bugs fixed:
* Fixed broken --view options for command line thumbnail image creation.
* Some errors in Triangulation of surfaces. * Fixed broken --view options for command line thumbnail image creation.
* Some NURNS boolean operations that failed particularly on surfaces * Some errors in Triangulation of surfaces.
created with Lathe, Revolve, or Helix. * Some NURNS boolean operations that failed particularly on surfaces
* Segfault in Remove Spline Point context menu. created with Lathe, Revolve, or Helix.
* A point in 3d constrained to any line whose length is free no longer * Segfault in Remove Spline Point context menu.
causes the line length to collapse. * A point in 3d constrained to any line whose length is free no longer
* Curve-line constraints (in 3d), parallel constraints (in 3d), and causes the line length to collapse.
same orientation constraints are more robust. * Curve-line constraints (in 3d), parallel constraints (in 3d), and
* Adding some constraints (vertical, midpoint, etc) twice errors out same orientation constraints are more robust.
immediately, instead of later and in a confusing way. * Adding some constraints (vertical, midpoint, etc) twice errors out
* Constraining a newly placed point to a hovered entity does not cause immediately, instead of later and in a confusing way.
spurious changes in the sketch. * Constraining a newly placed point to a hovered entity does not cause
* Points highlighted with "Analyze → Show Degrees of Freedom" are drawn spurious changes in the sketch.
on top of all other geometry. * Points highlighted with "Analyze → Show Degrees of Freedom" are drawn
* A step rotate/translate group using a group forced to triangle mesh on top of all other geometry.
as a source group also gets forced to triangle mesh. * A step rotate/translate group using a group forced to triangle mesh
* Paste Transformed with a negative scale does not invert arcs. as a source group also gets forced to triangle mesh.
* The tangent arc now modifies the original entities instead of deleting * Paste Transformed with a negative scale does not invert arcs.
them, such that their constraints are retained. * The tangent arc now modifies the original entities instead of deleting
* When linking a sketch file, missing custom styles are now imported from them, such that their constraints are retained.
the linked file. * When linking a sketch file, missing custom styles are now imported from
* 3Dconnexion SpaceMouse should now work (on Windows and macOS X). the linked file.
* Improved NURBS boolean operations on curved surfaces in some cases. * 3Dconnexion SpaceMouse should now work (on Windows and macOS X).
* Show only usable fonts in the font selector. * Improved NURBS boolean operations on curved surfaces in some cases.
* Show only usable fonts in the font selector.
2.x 2.x
--- ---
Bug fixes: Bug fixes:
* Do not crash when changing an unconstrained lathe group between
union and difference modes. * Do not crash when changing an unconstrained lathe group between
union and difference modes.
2.3 2.3
--- ---
Bug fixes: Bug fixes:
* Do not crash when applying a symmetry constraint to two points.
* Fix TTF font metrics again (properly this time). * Do not crash when applying a symmetry constraint to two points.
* Fix the "draw back faces in red" option. * Fix TTF font metrics again (properly this time).
* Fix export of wireframe as 3D DXF. * Fix the "draw back faces in red" option.
* Various minor crashes. * Fix export of wireframe as 3D DXF.
* Various minor crashes.
2.2 2.2
--- ---
Other new features: Other new features:
* OS X: support 3Dconnexion devices (SpaceMouse, SpaceNavigator, etc).
* GTK: files with uppercase extensions can be opened. * OS X: support 3Dconnexion devices (SpaceMouse, SpaceNavigator, etc).
* GTK: files with uppercase extensions can be opened.
Bug fixes: Bug fixes:
* Do not remove autosaves after successfully opening a file, preventing
data loss in case of two abnormal terminations in a row. * Do not remove autosaves after successfully opening a file, preventing
* Do not crash when changing autosave interval. data loss in case of two abnormal terminations in a row.
* Unbreak the "Show degrees of freedom" command. * Do not crash when changing autosave interval.
* Three.js: correctly respond to controls when browser zoom is used. * Unbreak the "Show degrees of freedom" command.
* OS X: do not completely hide main window when defocused. * Three.js: correctly respond to controls when browser zoom is used.
* GTK: unbreak 3Dconnexion support. * OS X: do not completely hide main window when defocused.
* When pasting transformed entities, multiply constraint values by scale. * GTK: unbreak 3Dconnexion support.
* Fix TTF font metrics (restore the behavior from version 2.0). * When pasting transformed entities, multiply constraint values by scale.
* Forcibly show the current group once we start a drawing operation. * Fix TTF font metrics (restore the behavior from version 2.0).
* DXF export: always declare layers before using them. * Forcibly show the current group once we start a drawing operation.
* Do not truncate operations on selections to first 32 selected entities. * DXF export: always declare layers before using them.
* Translate and rotate groups inherit the "suppress solid model" setting. * Do not truncate operations on selections to first 32 selected entities.
* DXF: files with paths containing non-ASCII or spaces can be exported * Translate and rotate groups inherit the "suppress solid model" setting.
or imported. * DXF: files with paths containing non-ASCII or spaces can be exported
* Significantly improved performance when dragging an entity. or imported.
* Various crashes and minor glitches. * Significantly improved performance when dragging an entity.
* Various crashes and minor glitches.
2.1 2.1
--- ---
New sketch features: New sketch features:
* Lathe groups create circle and face entities.
* New toolbar button for creating lathe groups. * Lathe groups create circle and face entities.
* Chord tolerance is separated into two: display chord tolerance (specified * New toolbar button for creating lathe groups.
in percents, relative to model bounding box), and export chord tolerance * Chord tolerance is separated into two: display chord tolerance (specified
(specified in millimeters as absolute value). in percents, relative to model bounding box), and export chord tolerance
* Bezier spline points can be added and removed after the spline is created. (specified in millimeters as absolute value).
* When an unconstrained extrusion is switched between "union" and * Bezier spline points can be added and removed after the spline is created.
"difference", its normal is flipped. * When an unconstrained extrusion is switched between "union" and
* Groups can be added in the middle of the stack. Note that this results "difference", its normal is flipped.
in files incompatible with version 2.0. * Groups can be added in the middle of the stack. Note that this results
* Active group can be removed. in files incompatible with version 2.0.
* Removing an imported group does not cause all subsequent groups to also * Active group can be removed.
be removed. * Removing an imported group does not cause all subsequent groups to also
* When a new group with a solid is created, the color is taken from be removed.
a previous group with a solid, if any. * When a new group with a solid is created, the color is taken from
* Entities in a newly active group do not become visible. a previous group with a solid, if any.
* When entities are selected, "Zoom to fit" zooms to fit only these * Entities in a newly active group do not become visible.
entities and not the entire sketch. * When entities are selected, "Zoom to fit" zooms to fit only these
* Zero-length edges are reported with a "zero-length error", not entities and not the entire sketch.
"points not all coplanar". * Zero-length edges are reported with a "zero-length error", not
"points not all coplanar".
New constraint features: New constraint features:
* Height of the font used for drawing constraint labels can be changed.
* New constraint, length difference, placed with J. * Height of the font used for drawing constraint labels can be changed.
(Patch by Peter Ruevski) * New constraint, length difference, placed with J.
* Horizontal/vertical constraints are automatically added if a line segment (Patch by Peter Ruevski)
is close enough to being horizontal/vertical. This can be disabled by * Horizontal/vertical constraints are automatically added if a line segment
holding Ctrl. is close enough to being horizontal/vertical. This can be disabled by
* Reference dimensions and angles can be placed with Shift+D and Shift+N. holding Ctrl.
* Copying and pasting entities duplicates any constraints that only involve * Reference dimensions and angles can be placed with Shift+D and Shift+N.
entities in the clipboard, as well as selected comments. * Copying and pasting entities duplicates any constraints that only involve
* Diameter constraints can be shown as radius. entities in the clipboard, as well as selected comments.
* The "pi" identifier can be used in expressions. * Diameter constraints can be shown as radius.
* Constraint labels can be snapped to grid. * The "pi" identifier can be used in expressions.
* Integer angles are displayed without trailing zeroes. * Constraint labels can be snapped to grid.
* Angle constraints have proper reference lines and arrowheads. * Integer angles are displayed without trailing zeroes.
* Extension lines are drawn for point-line distance constraints. * Angle constraints have proper reference lines and arrowheads.
* Extension lines are drawn for point-line distance constraints.
New solver features: New solver features:
* Sketches with redundant and unsolvable constraints are distinguished.
* New group setting, "allow redundant constraints". Note that it makes * Sketches with redundant and unsolvable constraints are distinguished.
the solver less stable. * New group setting, "allow redundant constraints". Note that it makes
the solver less stable.
New rendering and styling features: New rendering and styling features:
* New line style parameter: stippling, based on ISO 128.
* Outlines of solids can be drawn in a particular style (by default, thick * New line style parameter: stippling, based on ISO 128.
lines) controlled by the "Show outline of solid model" button. * Outlines of solids can be drawn in a particular style (by default, thick
* Occluded edges can be drawn in a particular style (by default, stippled lines) controlled by the "Show outline of solid model" button.
with short dashes) controlled by the "Show hidden lines" button. * Occluded edges can be drawn in a particular style (by default, stippled
* Solids can be made transparent. with short dashes) controlled by the "Show hidden lines" button.
* Solids can be made transparent.
New export/import features: New export/import features:
* The old "import" command (for .slvs files) is renamed to "link".
* If a linked .slvs file is not found, first the relative path recorded * The old "import" command (for .slvs files) is renamed to "link".
in the .slvs file is checked and then the absolute path; this is * If a linked .slvs file is not found, first the relative path recorded
an inversion of the previously used order. If it is still not found, in the .slvs file is checked and then the absolute path; this is
a dialog appears offering to locate it. an inversion of the previously used order. If it is still not found,
* DXF and DWG files can be imported, with point-coincident, horizontal and a dialog appears offering to locate it.
vertical constraints automatically inferred from geometry, and distance * DXF and DWG files can be imported, with point-coincident, horizontal and
and angle constraints created when a dimension placed against geometry vertical constraints automatically inferred from geometry, and distance
exists. and angle constraints created when a dimension placed against geometry
* Triangle mesh can be exported for viewing in the browser through WebGL. exists.
* Export dialogs remember the last file format used, and preselect it. * Triangle mesh can be exported for viewing in the browser through WebGL.
* Exported DXF files have exact circles, arcs and splines instead of * Export dialogs remember the last file format used, and preselect it.
a piecewise linear approximation (unless hidden line removal was needed). * Exported DXF files have exact circles, arcs and splines instead of
* Exported DXF files preserve color and line thickness. a piecewise linear approximation (unless hidden line removal was needed).
* In exported DXF files, constraints are represented as DXF dimensions, * Exported DXF files preserve color and line thickness.
instead of piecewise linear geometry. * In exported DXF files, constraints are represented as DXF dimensions,
* When exporting 2d views, overlapping lines are removed. instead of piecewise linear geometry.
* When exporting 2d views, overlapping lines are removed.
Other new features: Other new features:
* Native Linux (GTK 2 and GTK 3) and Mac OS X ports.
* Automatically save and then restore sketches if SolveSpace crashes. * Native Linux (GTK 2 and GTK 3) and Mac OS X ports.
(Patch by Marc Britten) * Automatically save and then restore sketches if SolveSpace crashes.
* Unicode is supported everywhere (filenames, group names, TTF text, (Patch by Marc Britten)
comments), although RTL scripts and scripts making heavy use of ligatures * Unicode is supported everywhere (filenames, group names, TTF text,
are not rendered correctly. comments), although RTL scripts and scripts making heavy use of ligatures
* The vector font is grid-fitted when rendered on screen to make it easier are not rendered correctly.
to read regardless of its size. * The vector font is grid-fitted when rendered on screen to make it easier
to read regardless of its size.
2.0 2.0
--- ---