#nonmanifoldEdges

2025-03-20
Continued from https://pixelfed.social/p/Splines/808187718454868394

Explode the wedge on the top with curved faces and discard everything except the two faces.

Centered on the column axis marked with A, draw two concentric circles parallel to the XY plane — one with radius AB and another with radius AC. Split both circles with the two wedge faces.

Using the edges of the two wedge faces as #rails and using the two arcs BB and CC as #sweepingCurves, perform a #sweepTwoRails operation to generate a concave surface. Join this concave surface with the two faces.

The shape we just produced still has an open hole between the two arcs BB and CC. Cap this #planarHole to create an #airtight wedge shape with curved faces. As always, check for #nakedEdges and #nonManifoldEdges.

Align the wedge shape and the two 16 units thick spirals from the previous post. Then rotate both 45° about the column axis. Rotate and copy them again at 90° about the column axis until you have the curved volutes on all four corners.
2025-03-19
Left side of this diagram shows the #profileCurves for the cap of #ModernIonicCapital from the front. The right side shows a perspective view of the cap surfaces obtained by revolving the profile curves about their respective axes and after some of those have been trimmed away

The measurements for the floor plan of the modern ionic capital are given in https://pixelfed.social/p/Splines/807782440025967685 with further links to relevant pages in #Scarlata's book at the bottom.

I won't bore you with the bottom portion of the modern #capital because it is very similar to that of the classic capital shown in https://pixelfed.social/p/Splines/792124787573855518. A significant difference is that the bottom #ovolo is shorter, with a total height of 32 units instead of 40

For the cap, we need two identical copies of a single profile curve that is 30 units wide and 48 units tall. The curves marked by A and B in the diagram are oriented in the same direction and are spaced 100 units from each other.

The bottom of profile curve A lines up with the neck of the #columnShaft at 120 units from the column axis. The revolution axis for this curve is located at 416 units from the column axis at the center of the largest circle in the floor plan.

We #revolve profile curve A full circle about its revolution axis. Then, we #rotate the resulting surface about the column axis to get 4 identical copies.

We revolve profile curve B full circle about the column axis. Then, we trim the resulting surface along with the 4 others at each intersection to get the side and corner surfaces for the cap of the capital.

We #join the trimmed surfaces, cap #planarHoles to convert them into a closed solid, and verify that the resulting solid is #airtight with no #nakedEdges and no #nonManifoldEdges.

The cap is in the correct final orientation. The volutes will be at 45° angles, but when we construct them, it will be easier to rotate the whole plan 45° so that the #volute #spiral is on the XZ plane.
2025-02-21
#Braids #3StrandBraids

From the #profileCurve in https://pixelfed.social/p/Splines/798252244743520392, extrude a 192 units long solid starting at the origin.

Copy the original strand twice and place the copies 16 and 32 units to the right of the original. The three strands are shown here in orange, white, and green. Because of these shifts, the starting and ending portions of the braid are not usable. So use #cuttingSurfaces 40 units from the origin and 184 units from the origin. This will give you a clean 3-strand braid 144 units long.

For the #capital, we need two sections, one that is 120 units long and another that is 24 units long. So be prepared to split the braid-channel assembly one more time, but not yet.

Before making further cuts, make a copy of the entire 144 units-long braid assembly and save it separately. Then perform a #nonuniformScale with origin as the base point, and scale only in Z to shrink the height of channel from 12 to 6. The entire assembly will now have a height of 8.1 units down from 16.2. The nonuniformly-scaled version is not shown here.

The image on the top-right shows a rectangular profile curve sweeping the same rail curve as before, giving it sharp corners.

The image on bottom-left shows a profile curve derived from sections of the rail curve itself that were cut, rotated, and reflected to form a closed non-planar outline. When we sweep this closed curve on the original rail, we get smooth top and bottom surfaces and sharp edges on the sides.. After you sweep this shape, you will find that the ends are still open.

There is no way to close the holes with what we have discussed so far because the edges are not planar. To fix this, you will have to create #patchSurfaces using the edge curves of the profile on both ends and join all three surfaces. Check for #nakedEdges and #nonManifoldEdges for #airtight fit.

The last image shows a 5-point star with sharp angular lines swept on the same rail curve.
2025-02-20
#Braids #3StrandBraids

With the #rail curve for a #braid strand in https://pixelfed.social/p/Splines/797916882329430160, we can start the construction of a braid that matches the sketch in #Vignola's #RegolaArchitettura shown in https://pixelfed.social/p/Splines/793215298082967733.

The strands for this braid have a radius of 1 part or 8 units. So their diameter is 16 units, and the braid itself is 32 units wide.

To create one strand, we start with a circle of radius of 8 units perpendicular to the tip of the orange curve. We use the orange curve as a #railCurve and the blue circle as the #sweepingCurve in the #sweepOneRail operation.

Note that the circle appears distorted like an oval in all views — front view is on top-left, top view on top-right, right view in bottom-left, and perspective view in bottom-right. That is because the circle is perpendicular to the rail curve, not to any of the "world" coordinate planes. If the sweeping curve does not appear like an angled line in the top view, something is wrong.

After the sweep, close #planarHoles to get a solid strand and, as always, check for #nakedEdges and #nonManifoldEdges to ensure an #airtight object.

Refer again to the middle portion of the top diagram in https://pixelfed.social/p/Splines/793215298082967733 between the two bell shapes of the scrolls. The total width of the #tectonic surface on which the braid will be laid is 4 parts or 32 units wide. The braid has a rim 8 units wide on both sides that rises 6 units above the tectonic surface. Half of the braid should be above the tectonic surface, meaning that the total height of the braid should be 12 units.

If you check the bounding box of this strand, you find that it is indeed 32 units wide as needed, but the height is 24 units. So we have to apply #nonuniformScaling to keep X and Y scale intact but halve the scale in the Z direction. This will reduce the roundness of the strand and cut its height in half to 12 as needed.
2025-02-17
#EggsAndDarts continuation from https://pixelfed.social/p/Splines/796961505955555432

The slab height depends on the roundness of the egg and whether we have a concave design or not. If we are using a concave base, then top half of the egg is eliminated. For a fully round egg, that means the concave variant must scoop out up to 16 units deep. The dart slab will match the egg slab in depth.

To create the 3-dimensional shape of the dart, first #rotate the fin profile 90° in 3D space along the straight line at the bottom of the fin so that the rotated profile is perpendicular to the two #sweepRails for the dart.

Using the two sweep rails and the perpendicular fin profile, #sweepTwoRails to develop the surface of the dart. Remember to close the planar hole at the end of the fin to get a solid #airtight object. As always, check for #nakedEdges and #nonmanifoldEdges to stave off problems later.

#Extrude the bottom of the dart until it is flush with the bottom of the oval slab.

Two details worth noting in the dart design are:

1. The most exaggerated portions of the dart fin are sliced off when the eggs are sliced. After slicing, the size of the fin is roughly in proportion to the rims of the eggs on both sides.

2. There is a gap between the dart arrow and the oval slab. See the gap between points R and T in https://pixelfed.social/p/Splines/796961505955555432. This gap is necessary and will automatically close when we transfer the egg and dart to the #doublyCurved surface of the #ovolo on the #capital of the #IonicColumn. That is because the Ovolo is shaped like a bowl whose top has a bigger radius than the bottom. As a result, the motif will be warped, and its bottom will be condensed to fit the smaller radius at the bottom, closing the gap in the process.

If you plan to use the eggs and darts motif on a linear surface where there is no warping, experiment with the arrow and tip for a pleasing result.
2025-02-05
We completed the #primaryProfileCurves for the classical flat #IonicVolute in https://pixelfed.social/p/Splines/792616677005177924.

To create a 3-dimensional slab with a recessed #channelGroove for the volute, you will need an outline of the volute without the inner #spiral arms.

To create the outline, make a copy of the spiral curves and work on the copy so that you don't destroy the originals. Drop a straight vertical line from the start point of outer Arc 1 of the spiral to the maxima or horizontal tangent of outer Arc 5. Trim away all other interior spiral lines and close the curve as shown in the left figure.

#Extrude the closed outline curve front to back by 1 part or 8 units in the side view. Extrude the #closedCurve of the inner and outer spirals by 2 parts or 16 units in the side view (but without the 6 unit extention on the top, which is only used when integrating the volute face with the #capital). Perform a #booleanUnion of both solids, and remember to check for #nakedEdges and #nonManifoldEdges.

The #volute design can be used outside of the #IonicColumn, such as in a #medallion. For a medallion, you have two options regarding the size of the enclosing circle.

You can either use the circle that Arc Zero lies on, or you can use the circle that Arc 1 lies on. Obviously, the latter is more compact. Just remember that the center for the larger circle is #groundZero or point 4 and the center for the smaller circle is point 1. In either case, inset the chosen circle with a concentric circle whose radius is 1 part or 8 units less.

The figure on the right shows the outlines of the enclosing circles based on the size of Arc 1 with center at Point 1.
2025-02-01
#IonicColumn #VignolaBase and #AtticBase #CAD Plans

Both #Vignola base and #Attic base have the same square footprint of 400 units x 400 units. The #plinth for both is 48 units (6 parts, or µ/3) tall, and the total height for both is 144 units (18 parts, or exactly µ). As such, they are easily interchangeable.

In the Vignola variant, we start at the plinth with a #fillet 2 units tall and a classic #scotia 18 units tall gouging out part of the fillet.

Then there is another fillet 2 units tall, followed by two #reeds, each 8 units tall, followed by another classic scotia as described above.

This is followed by yet another fillet 2 units tall and topped off with a #torus 40 units tall. A Torus is the same as a reed, except larger. When we reach the neck of the shaft, we will see another molding called #Astragal which has the same profile as reed and torus, but sits in the middle in size. Think of reed, astragal, and torus as small, medium, and large of the same profile.

The modern Attic variant is more elegant with fewer moldings. It also gives the impression of more heft for more stately columns. It starts at the plinth with a torus 36 units tall, followed by a fillet 4 units tall, followed by a modern scotia 24 units tall, followed by another fillet 4 units tall, and topped off with another torus 28 units tall.

As in the construction of #IonicEntablature [https://pixelfed.social/p/Splines/791013152244518907], split the construction of the #columnBase into two steps.

Just as we extruded #dentils separately, we extrude the plinth separately. First draw a square 400x400 in the top view. Then extrude the square 48 units in the front view.

For the rest of the base, we need a new 3D operation — #revolve around an axis. Instead of extruding the #primaryProfileCurve, we revolve it around the #columnAxis, and cap the #planarHoles on both ends before performing a #booleanUnion with the plinth. Finally check edges of the solid for #nakedEdges and #nonManifoldEdges.
2025-01-31
This sketch shows the arrangement of #dentils in the classic variation of the #IonicEntablature. It shows the full layout, but most of the top is obscured by the top portion of the #cornice. Only the outside square shapes are actually visible.

Each #dentil has a square "footprint" that is 4 parts by 4 parts (32*32 units) and is 6 parts (48 units) tall. The spacing between each dentil is 2 parts (16 units).

Dentils project 4 parts (or 32 units) from the face of the #fascia on which they rest.

Each face of the fascia has 7 dentils with the middle dentil laterally centered and directly in front of the column axis. The 2 side dentils are on side faces, and that is apparent in the darker shading in the sketch at https://pixelfed.social/i/web/post/790782316675150160. Take the time to reconcile this with the numbers listed in #Scarlata's #PracticalArchitecture.

The 3D reconstruction from the #primaryProfileCurves is very similar to that of the #IonicPedestal, with #extrusion, #mitering, #joining, and #capping planar holes as described in https://pixelfed.social/i/web/post/790645054230337543 — just set the dentils aside, for now.

Once you have capped the #planarHoles to get a solid, analyze the edges of the solid in the #CAD program for #nakedEdges and #nonManifoldEdges.

Then, extrude the dentils outline (in the top view) to a height of 48 units (in the front view).

Now perform a #booleanUnion of the two solid shapes to get the complete #entablature.

Finally, check the edges of the solid in the #CAD program AGAIN for #nakedEdges and #nonManifoldEdges.

With this, we have finished two of the three main components of the #IonicOrder. There's a modern version of the Ionic entablature with #modillions, which I will describe later.

Next, we move on to the biggest, most conspicuous part of the order — the #IonicColumn.
2025-01-30
From https://pixelfed.social/p/Splines/790645054230337543, we now have an open surface for the #IonicPedestal. To finish this, close the #planarHoles at the top and bottom with flat caps and join everything. And just like that, we have finished 1/3 of the complete #IonicOrder with very little work.

To ensure that your finished object is amenable to #3DPrinting or #CNCMilling, always check the edges of your object after all surfaces have been joined. Do this EVERY time you join surfaces to create a closed object.

Most CAD programs will offer edge analysis tools that let you detect #nakedEdges or #nonManifoldEdges. If you have either of those, your object is not #airtight, and you will not be able to physically realize it.

This version of the pedestal uses the classic variation of #CymaRecta and #CymaReversa. If you want to remain faithful to the original, then you are done.

However, designs are rarely static and they continue to evolve. There is an opportunity for a slight refinement at the top and bottom of the pedestal without compromising the integrity of the order, but it requires the introduction of a new kind of curve — a #helix, which is a coil-shaped 3D curve.

I will discuss the #helixVariation later. For now, look closely at the #basement and notice how pronounced the turns of the cyma recta are. Instead of using elliptical arcs in the #primaryProfileCurves of the cyma recta and cyma reversa, it is possible to substitute a half-turn of a helix that has been flattened to a 2D shape. The result is a softer, more gradual profile curve that produces a very refined shape.

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst