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)

Point trace enhancements (by Tomasz Pyra)
I prepared few enhancements to "Point trace" and "Step Dimension" functionalities:

1) Point trace may now trace multiple points and normals
1a) csv output have a header with columns description
1b) normals are dumped as position and quaternion

2) Step Dimension may handle two constrains (works as nested loops)

3) Fixed a problem with not solving "later" groups when Step Dimension was changing an "early", active group.
It happens when using both Point Trace and Step Dimension to generate output.


My code changes are there:
https://github.com/topyra/solvespace/tree/multi_trace

It is not well tested, but seems to work (I only tested Windows build, and on my one model), review and some fine changes was done by LLM (as well as foreign language changes).

As I can see that features are not very popular, so I don't know are maintainers interested with such changes.

For me it is very useful - I would like to use this features to prepare data for my real-time simulator.
Where instead of real-time solving complex models, I would like to use precomputed transformation data generated here.
Thu Feb 26 2026, 18:52:41
(no subject) (by Paul)
Tracing a point has always seemed like a minor feature to me, but sometimes it's just what you need. I can see expanding that to tracing multiple points as an obvious improvement. Normals would not have occurred to me, but it looks like at least one person wants to trace those too!

The implementation looks a bit weird to me. I feel like there is too much checking and list editing (deletion) going on. Is that in case someone edits the sketch while tracing? I wonder if there's a simpler way to handle that.

As for stepping 2 dimensions, I'm even less sure of the implementation. Is the intent to have 2 separate motions, one after the other? Is this for animation? Does it make sense to generalize to N sequential movements?
Sat Feb 28 2026, 15:41:21
(no subject) (by Alexander)
Tracing multiple points would be exactly what I need.
But tracing them one by one is a good workaround. However, this requires stepwise tracing to be able to combine the resulting csv-tables. If I want to trace a point in a four-bar-linkage stepwise (the angle of one bar vs vertical) and start moving the bar, it has lost some of his constraints and eg is not linked anymore. What am I doing wrong?
Sat Feb 28 2026, 18:53:27
(no subject) (by Paul)
I've added an issue on github for the multipoint tracing here:
https://github.com/solvespace/solvespace/issues/1676

I would hold off on the step dimension changes until after we get named parameters, since after that we might consider a different way to specify that kind of thing.
Sun Mar 1 2026, 13:00:40
(no subject) (by S Groesz)
Tomasz can you provide some test files which show your changes in action? Especially showing how the multi-constraint feature is used.
Mon Mar 2 2026, 22:48:45
(no subject) (by Tomasz)
Paul, I not tested well this path where points are checked and deleted, but as original comment says "Make sure the point that we're tracing exists." so I recreated same mechanism for multiple points.
Not sure is (was) this important.

Stepping in 2 dimensions is kind of draft now - I just duplicated the variable to check is this approach worth trying.
Of course it could be generalized for N-dimensions using array of dimensions and still could be useful.
Also I think about adding to "trace points/normals" also each dimension as first .csv rows, but it would need to integrate those two features, while now are independent (and such data can still be obtained by tracing points that are moved by "step dimension")

I added my test model of MacPherson strut (open assembly.slvs)
in g007-variable sketch are my "variables" constrains:
-c014 for suspension travel
-c015 for steering rack

To get a step data:
Select wheel hub center normal, then use "trace Points/Normals".
Then select two constrains to analyze (c014 and c015), and select "Step dimension"

For c014 start=-280 finish=-200 steps=5
For c015 start=-80 finish=-120 steps=5
"step dimension now", and trace is generated.
"stop tracing" to save as csv

Purpose of this generated data is to provide an input for real-time simulation (after some more processing), where instead of solving a model, I can simply lerp wheel hub orientation (position and rotation quaternion) for given suspension travel and steering rack position.
Of course it would be generated for wider range and with more steps.

It should give quite realistic simulation for various types of suspension, where whole "engineering" may be done in SolveSpace as an editor.
Wed Mar 4 2026, 16:56:05, download attachment macpherson.7z
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.