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)

Incomplete Step Translation (by Yclept Nemo)
How can I create a step translation with omitted elements? For example, say I need an array of 13 identical items, 4x3+1 or 5x3-2. I can create the 2d array using two step translates, but it is not possible to delete, hide, or mark individual steps as construction items. Step translations can't be converted to actual geometry. A copy of an item from a step translation or from a different workplane is pasted without any constraints. Even the constraints that keep rectangles from exploding into individual line segments are missing. The original item from the original workplane can be copied with constraints but then I have to duplicate constraints or use construction lines to keep the duplicate constraints synchronized, and well, constraining individual array elements by hand is tedious.
Sat Dec 23 2023, 02:07:40
(no subject) (by Andrew)
You can step translate the extrusion, and if you want to eliminate a few members of the array, use an extrusion to remove them, or fill in the holes. If the modification are regular, every n'th element, you can use another step translate.
Sat Dec 23 2023, 07:03:45
(no subject) (by Andrew)
Addendum, you can stack up step translation to build up more complex patterns, see attached file.
Sat Dec 23 2023, 07:18:01, download attachment stacked_step-translation.slvs
(no subject) (by Tom)
Yeah, or use a combination of link / assemble and step translate to create the desired pattern.
Sat Dec 23 2023, 11:10:24
(no subject) (by Yclept Nemo)
> extrusion to remove them

Something like the attached file? I assume the coincident-point constraint is redundant as it constrains both the distance and angle; angle is redundant. Instead I should use the equal-length constraint.
Sat Dec 23 2023, 12:54:21, download attachment extrusion.difference.slvs
(no subject) (by Yclept Nemo)
> or fill in the holes

I've encountered an ordering issue when working on this. The circle array has to come first as the rectangle is constrained against it. But given this ordering, how can I subtract the columns from the rectangle to make an array of holes?
Sat Dec 23 2023, 12:55:55, download attachment extrusion.union.slvs
(no subject) (by Andrew)
You have two choices, create a sketch which is a rectangle with an array of circles inside it, and then extrude the sketch. Alternatively, and more general in application, create the cube, and then sketch the array on one of its faces, and extrude to subtract from the solid. In you sketch the cube is subtracted from the array of rods, which because of your ordering of operations is the opposite of what you desire.
Sat Dec 23 2023, 13:33:58
(no subject) (by Yclept Nemo)
> create a sketch which is a rectangle with an array of circles inside it, and then extrude the sketch

An aside, I don't think that's possible if you want to use step translation.

The real problem is the four constraints on "g007-sketch-in-plane" in "extrusion.union.slvs". You see, the size of the rectangle needs to depend on the two step translations (g005, g006). Is that even possible?
Sat Dec 23 2023, 15:13:21
(no subject) (by Yclept Nemo)
Here's a file that demonstrates the ordering problem. Obviously, if the rectangle and circle group orders were swapped then this problem wouldn't exist, but then this order is needed to allow for extrusion.
Sat Dec 23 2023, 15:24:37, download attachment ordering.extrusion.constraints.problem.slvs
(no subject) (by Andrew)
You are going to need some construction geometry to achieve what you want, such as an array of points to define your hole centers. You can then create your cube, and then create your hole array to create the holes, as in the attached file.

This Involves on extra step, creating a point array, bat then that is used to constrain the rectangle for the cube, ad the circle array to create the holes.
Sat Dec 23 2023, 19:51:00, download attachment array_eaxmple.slvs
(no subject) (by Yclept Nemo)
Oh that's very helpful, thank you!

It makes me think solvespace should have an option to swap the order of boolean operators just to avoid this hassle. And perhaps the ability to constrain translation steps, so that the circle translation steps dynamically follow the number of datum translation steps.

From reading your description I did things slightly differently, which seems to mildly confuse thee constraint solver. Activate g006 and change the translate steps of g004 from 3 to 4, and the constraint solver raises an error until I manually resize the rectangle in g006. Whereas your rectangle resizes automatically.

solvespace-openmp.exe version 3.1~70bde63c
Sat Dec 23 2023, 22:15:37, download attachment extrusion.union.slvs
(no subject) (by Yclept Nemo)
Probably an expression of this issue:

https://github.com/solvespace/solvespace/issues/76
Sat Dec 23 2023, 23:10:24
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.