Satisfactory

Satisfactory

33 ratings
Making Smooth Curves - Without 5-Degree Rotation
By Arch
This is a step-by-step illustrated guide to how I make curves in Satisfactory that aren't limited to 5-degree rotations. Tested with Version 1.0.
2
2
   
Award
Favorite
Favorited
Unfavorite
Introduction
Satisfactory (as of version 1.0, at least) does not provide any direct way of arranging foundation tiles in a circular or curved pattern. However, creative builders have come up with a number of ways to simulate curves using clever positioning of the square foundation tiles. Over time, the most popular methods for making curves have changed, leveraging new features added to the game, when possible.

While the latest tried-and-true methods produce nice curves, they are largely based upon the principle of rotation of foundation tiles (in 5° increments) to determine curvature. The method described in this guide determines curvature without rotating foundation tiles. This results in a much larger variety of angles that can be used to make smooth curves.

This guide is rather long, but it covers quite a bit of material in a good amount of detail. Once you're familiar with the method presented, you probably won't need to refer back to it to do similar things in the future.

This is an example of several curves made using the Guide's method with blueprints. Each of the different-colored curves has a different radius of curvature. I've left in the short wall markers between foundation tiles to make it easier to see that there are no gaps between them (this is the larger version of the picture in the Guide's thumbnail):
WARNING - There's a bug (in my opinion)
The method this Guide describes is rather labor intensive, but when using Blueprints, it's very easy and quick. Unfortunately, somewhere after release 1.0, (at 1.0.0.4 or possibly earlier), I believe a bug was introduced that causes misalignment of foundation tiles in blueprints that are not aligned with the Blueprint Designer's grid. At the time this Guide was published, the current release (1.0.0.5) still had the bug.

The problem only occurs when using blueprints; using the Guide's method directly does not experience the alignment problem. Since the method itself works as described, I've decided to post this Guide, anyway, and hope that enough people will up-vote the bug report that the devs take notice and fix the bug.

While it is true that the alignment which I am calling a bug might be the intended behavior, I feel there is definitely a bug because the same steps give different results when done directly versus done via a blueprint.

The bug report can be found here[questions.satisfactorygame.com], if you're interested in the details (which include lots of images and specific steps to reproduce the issue). Please consider giving it an up-vote so it has a chance of getting attention from the devs.
Acknowledgements
At the time I wrote this guide, I hadn't come across anyone else using the method described here to make circles and curves in Satisfactory, but I was inspired by the following YouTube content creators:

Circles before foundation tiles could be rotated:
5° foundation tile rotation methods:
Extension & interpolation method:
General tips for using beams:
Making vertical circles (not specifically relevant for this guide, but very interesting):

Late addition:
I found this video after I completed my guide. Yakez is using Painted Beams at angles on foundations to get the desired horizontal angle for concrete pillars. The goal is different from what's in this guide, and Yakez's in-game steps are different. But the use of Painted Beams is very similar, so I wanted to cite Yakez's work.

Using Painted Beams to create curves:
I. Other Methods
Brief History
In the early days of the game, to create a curve you had to place an item on the ground (like a spool of wire), stand on top of it, place down a string of foundation tiles, change your viewpoint, repeat, etc., etc., etc. It was very tedious and error prone, but was at least a way to create a circle based upon a type of "wagon wheel."

When the game added the capability to rotate foundation tiles in 5° increments, that early-days method was abandoned and two primary methods for making curves and circles emerged: An updated "wagon wheel" method and a "circumference" method.

All three of these methods are illustrated in videos listed in the Acknowledgements section, so I'm not going to describe them in any significant detail here.

Common Limitations
Both of these foundation-rotation methods have a key limitation: Due to the dependence upon the rotation of foundation tiles, the radius of curvature with both methods is always a multiple of 5°.

Since the smallest possible rotation, and therefore the most gentle curvature, is 5°, the maximum diameter of a circle that can be created using a foundation-rotation method (without any extensions outwards) using 8m x 8m foundation tiles is approximately 184m (23 foundation tiles).

Sharper and more gentle curves
To create sharper curves (or smaller circles), the foundation tiles on an existing curve are extended inwards, overlapping each other. The outer rings of foundation tiles are then removed. The overlap of foundation tiles creating the smaller circles can lead to corners of the foundation tiles clipping through the outer edge of the desired curve and becoming visible.

To create more gentle curves (or larger circles), the foundation tiles on an existing curve are extended outwards, creating a spoke effect with gaps between the spokes. There are a number of methods that can be used to fill the gaps:

T-and-Nudge
This method places a pair of additional foundation tiles at the end of each spoke, one on either side and perpendicular to the spoke. They are nudged symmetrically to form a "T" shape. The amount of nudge is adjusted so that the arms of each "T" between adjacent spokes touch and the outer edge of the curve is as smooth as possible. For extremely large circles, several tiles may need to be placed/nudged on either side of a spoke. With this method, there is the possibility that the corners of the foundation tiles will clip through the outer edge of the curve and be visible (similar to the potential problem when making sharper curves, described above).

Slide-to-Corner
This method is basically a variation of the T-and-Nudge method but avoids the problem of corners of foundation tiles clipping through the edge of the curve. Using the same approach as the T-and-Nudge method, instead of nudging the arms of the "T" into place, they are slid into place so their corners touch but don't clip beyond the edge of the curve. I described this method in another guide I wrote, "Making [Nearly] Perfect Corners at Any Angle". There's a link to that in the "Other Guides" section, if you're interested.

Extension and Interpolation
This method uses an interpolation between each pair of adjacent spokes, essentially adding an additional spoke between them. It goes beyond just filling in the gaps because it yields a smoother circle by doubling the number of spokes. One approach to doing this is illustrated in one of the videos in the Acknowledgements section.

There are also ways to use combinations of the above methods, as well as other techniques, to create more gentle curves and larger circles, but that goes beyond the scope here.
II. This Guide's Method
There's a bit of math here (geometry, trigonometry), but you don't need to understand or remember it to use the technique.

How the Described Method Differs
The method presented in this guide is similar to the circumference method in that it places foundation tiles along the arc of a circle. However, it doesn't use foundation tile rotations as the basis of the curvature. Instead, the curvature is based on the angle in the Cartesian coordinate system that is made between the X axis and a line connecting the origin to a point (x,y). Different values of x and y give different angles and thus different curvatures. Determining the values of x and y (which in-game amounts to just placing down a Power Pole) is how you apply the method described here to make your desired curve.

Why (x,y) and Not Just an Angle?
In-game, you must choose values for x and y because the way things are positioned is based on a rectangular grid (think about how power poles can be placed on a foundation tile). You can't choose a specific angle because there's no way to do that, in-game. And although math-wise, the possible values for x and y are infinite, yielding an infinite number of angles, there are practical limits to what you can choose for x and y in-game, so the number of possible angles is finite (although it's large -- at least a couple thousand possible angles -- some of which may be duplicates -- probably several hundred useful angles).

What Does (x,y) Mean In-Game?
In-game, (x,y) is nothing more than a 2-dimensional offset from the corner of a foundation tile: count some distance over, then some distance across. For example, if you start at the corner of an 8m x 8m foundation tile, the center is (4m,4m) from the corner. The midpoint of the opposite side is (4m,8m) or (8m,4m) - depending on which side you choose. And so on. That's all there is to it.

So, how do you find the right (x,y) coordinates to make the angle you want? There are basically three ways to do that:
  1. Trial and error - experiment with varying values of x and y until you come across a combination that works for your situation.
  2. Do some math to help you find acceptable values of x and y.
  3. A combination of the first two.
Personally, I use all 3 methods - it just depends on the specific situation.

By now, you're probably thinking, "This is going to be too much trouble," or, "I want to play the game, not do math." Very fair. So I've made this very easy for you by posting a Google Sheet that has all the [currently] reasonable values of (x,y) listed, along with the curvature angle, how large the diameter of the corresponding circle will be, how many segments/spokes in that circle, and lots of other information. So all you need to do is scan through the list to find what you're looking for, and you'll have the (x,y) coordinates right in front of you. See Section "IV. Using the Spreadsheet" for more information.

For those that are actually interested in the math, or have some reluctance using an online spreadsheet, this Guide includes detailed diagrams, formulas, derivations, and explanations so you can do your own computations using any method you'd like.

Caveats
Inaccuracies and approximations
I've used the method described in this guide myself to make many curves and circles. I've found that from time to time, the calculations (from Excel, Google Sheets, etc.) don't exactly match what happens in-game. There can be many reasons for this. Some that come immediately to mind are:
  • All values are floating point so they can only be approximated in a computer.
  • Satisfactory could be using different degrees of precision than the other methods/tools use for how floating point numbers are represented.
  • There are several trig functions used (which are typically approximations).
  • The constant pi (which is implicitly used in conversions between degrees and radians) can only be approximated.
  • Some algebraic functions (like square root) are most often approximated.
  • There could be bugs in the game.

It's been a while
Although the realities of computer-based calculations using floating point numbers can explain many of the potential variances between the math and what's actually experienced in-game, it's been many, many years since I've actually used the math behind the method, so my derivations of formulas may not be the best, there may be more optimal ways to do the calculations, and I may have simply done some calculations incorrectly or "the hard way."

In any event, I've done my best, and I hope that you are able to make effective use of the information presented here.
III. Prerequisites
In order to use this method, you'll need to have certain things unlocked in-game:
  • Power Poles (Tier 0 - HUB upgrade 3)
  • Foundation tiles (Tier 1 - Base Building)
  • Painted Beam (AWESOME Shop - Architecture: Structural Beam Pack - 4 FICSIT Coupons at the time the guide was written)

If you want to create Blueprints to make the process vastly easier, you'll also need:
  • Walls (Tier 1 - Base Building) - Not truly required, but I like to use them to help align things
  • A Blueprint Designer:
    • Mk.1 (4x4x4: Tier 4 - FICSIT Blueprints)
    • Mk.2 (5x5x5: Tier 6 - FICSIT Blueprints Mk.2)
    • Mk.3 (6x6x6: Tier 9 - FICSIT Blueprints Mk.3)
    The larger the Designer, the more flexibility you'll have, as well as the ability to make curves with smaller curvatures. However, you can do nearly everything with the Mk.2 Designer.
IV. Using the Spreadsheet
If you plan to use the Google Sheet mentioned above, this section provides a more complete description and basic instructions how to navigate it so you can use it as a companion to the guide, even if you've never used Google Sheets before.

Accessing the spreadsheet
There are a couple of different links you can use to access the spreadsheet. Which link you would use depends upon what you want to do:
  • This link[docs.google.com] opens the sheet in view-only mode. You don't need to sign in to Google to use this link and you can view all the pages in the sheet. This should be fine for most situations.
  • This link[docs.google.com] requires you to make a copy of the sheet that will be stored on your Google Drive, which you can edit. To use this link you need to be signed in to Google (or you will be prompted to sign in). Once you're signed in to Google, following this link will display a page with a button allowing you to make the copy.

Description of the spreadsheet
The spreadsheet has the following pages (you select the page you want by clicking on its tab at the bottom of the browser window):
  • README (start here if it's not the page you're on when the spreadsheet loads into your browser):
    A few standard-type disclaimers.
  • Instructions:
    A detailed description of how the spreadsheet is organized and how to use it.
  • Reference Diagram:
    A drawing that lists all the relevant points, lines, and angles that are referenced in the guide (mostly in the "Math" section), some of which also correspond to columns in the remaining tabs of the spreadsheet.
  • Custom Calculations:
    A small table that allows you to put in values for x and y and computes the remaining values. You need an editable copy to use this page.
  • Table:
    The full set of computed values for all combinations of x (0.5 -> 40) and y (0.5 -> 16) in increments of 0.5. This is a table of values only and contains no formulas (so the columns can be sorted), so you can't make any substitutions to alter the computations; use the "Custom Calculations" page for that.

To make things easier to find, you can sort columns on the "Table" page as follows:
  1. Select the entire column you want the table to be sorted on, by clicking on the column's corresponding letter at the top (A-K). The entire column will be highlighted.
  2. From the "Data" menu, select "Sort Sheet ->"
  3. From the popup menu, select "Sort sheet by column * (A-Z)", where "*" is the column you selected, above.

Spreadsheet disclaimers
I decided to include a few short disclaimers in the spreadsheet, just to be somewhat clear about expectations people should have. I've seen too many cases of unfortunate situations that transformed something created with nothing but good intentions into a hassle for the author, and I'd really like to avoid something like that.

Here are the disclaimers:
(1) Re-distribution and Derivatives: You are free to use this spreadsheet as you'd like, including distributing copies of the original and making and distributing derivatives of all of it or any portion of its content. However, if you distribute it in its original form or any derivatives thereof, you must explicitly state in the copy or derivative that the original was created by Arch and provide links to both the original spreadsheet and the Guide (listed above). If you simply want to extract the formulas used in this spreadsheet, you are free to do so without any attribution required (they are also provided in the Guide, itself).

(2) Correctness & Updates: At the time the Guide was made publicly available on Steam, this spreadsheet's calculations properly corresponded to the content in the Guide. No guarantee is made that either the Guide or this spreadsheet is error-free, or that they will remain in sync over time. Furthermore, no commitment is made that the Guide or this spreadsheet will be updated as changes are made to Satisfactory.

(3) Malware: It is the author's belief and intention that this spreadsheet, as provided by the author, contains no malware and remains free of any malware. However, since it is stored in Google's cloud there is theoretically the potential for unscrupulous actors to compromise it. Additionally, others are permitted to distribute potentially modified copies. Therefore, there is no way for the author to guarantee that either the original or a copy you receive from someone other than the author will remain free of malware. By accessing this spreadsheet from any source, either online or in downloaded form, you acknowledge that you accept it as-is and assume all responsibility for any consequences you may encounter from its use.
V. Method Overview
The method described in this guide basically uses this approach without blueprints (this is illustrated step-by-step in the next section):
  1. Identify an arc along which the desired curve/circle will be created. This arc will be 8m thick because that's the width of a foundation tile.
  2. Using the Google Sheet identified earlier (or your own method), determine the values of "x" and "y" that you are going to use.
  3. Place (or identify) the first foundation tile that will be on the arc.
  4. Orient yourself with respect to the first foundation tile so that the curve will be growing directly away from you (so we can refer to the "near" and "far" sides of the first foundation tile).
  5. Determine the "origin point". It should be on the far side of the first foundation tile and on the outer edge of the curve. Place a Power Pole at the origin point.
  6. Place a small grid of foundation tiles down adjacent to the origin point. They should extend beyond the far side of the origin point at least "x" meters and toward the center point of the arc at least "y" meters.
  7. Place a Power Pole at (x,y) relative to the origin point (i.e., "x" meters on the far side of the origin point and "y" meters toward the center point of the arc). Note that using the mouse, you can place Power Poles at .5m intervals. You can also nudge a Power Pole hologram in .5m increments by holding down the Ctrl key while pressing the arrow keys, after the hologram is frozen by pressing "H".
  8. Using the "Freeform" build mode, place a Painted Beam connecting the origin point with (x,y). Place an edge of the beam at the origin point first, so it's easier to see when the beam is properly aligned with the Power Pole at (x,y). Sometimes, it's easier to do this if the Power Pole at the origin point is removed -- the beam will snap easily to the corner of a foundation tile. But don't remove the Power Pole at (x,y) -- that one is needed for a reliable snap of the other end of the beam.
  9. Put down a 2m or 4m foundation tile hologram (do not use a 1m tile), snapping its center to the origin point (its edges should be parallel and perpendicular to the Painted Beam). Do not place the foundation tile -- press "H" so that the hologram is frozen but the tile itself isn't placed yet.
  10. Nudge the hologram 4m towards (x,y) along the length of the Painted Beam and 4m towards the center point of the arc, perpendicular to the length of the Painted Beam. This will align the origin point and the near, outside corner of the hologram. Click the LMB to place the hologram's foundation tile.
  11. Remove everything placed in the previous steps, except for the initial foundation tile and the one placed from the nudged hologram.
  12. Add/remove foundation tiles above and below the second foundation tile so the result is at the same height as the first.
  13. Repeat steps 5-12, adding foundation tiles until the arc is completed.
If you would like to use blueprints, you can encapsulate steps 5-12 into a blueprint and then substitute the placement of the blueprint for those steps. This makes the process go dramatically faster and reduces the possibility of errors. The instructions for creating such a blueprint are described later in the guide.
VI. Part One: Preparation and Initial Steps
This section describes how to begin the process of making an curve.

Step 1: Identify the area of the arc along which the desired curve/circle will be created with a width of 8m. This curve is 8m wide because that's the width of a foundation tile:


Step 2: Determine the values of "x" and "y" using your preferred method. I'm going to use line 1253 from the Google Sheet where (x,y) will be (21.5m,8.5m):
Some observations about this choice of (x,y):
  • The length of the beam being placed is calculated to be 23.119m. If the actual length of the beam in-game is different, it will be due to some of the possible reasons described in Section "II. This Guide's Method" under "Caveats" -> "Inaccuracies and approximations".
  • The distance from the outer edge of a tile on the curve to the center of the circle (q) is 20.997m. This is a relatively small circle, only 2 full foundation tiles in its radius (column H).
  • There should be 16.688 spokes in the circle being created. This means that there will either be a gap between the last two foundation tiles placed, or an overlap, depending on where we stop.
Step 3: Place the first foundation tile that will lie on the curve (or identify an existing foundation tile). I've raised it up a bit from the floor so that when additional foundation tiles are being snapped to each other later, the floor won't interfere:


Step 4: Orient yourself with respect to the first foundation tile so the curve will be going directly away from you. The edge of the foundation tile that is toward the bottom of the screen shot will be the "near" edge; the edge that is toward the top will be the "far" edge. Since this curve is turning left, the "inside" edge will be on the left and the "outside" edge will be on the right:


VII. Part Two: Marking (x,y)
Step 5: Determine the "origin point". This is on the corner of the foundation tile, on the far side, on the outer edge. I've marked it with a Power Pole:


Step 6: Place a grid of foundation tiles down adjacent to the origin point. They should extend on the far side of the origin point at least "x" meters and toward the center point of the arc at least "y" meters:


Step 7: Place a Power Pole at (x,y) relative to the origin point (i.e., "x" meters on the far side of the origin point and "y" meters toward the center point of the arc). Note that using the mouse, Power Poles can be placed at .5m intervals. You can also nudge a Power Pole hologram in .5m increments by holding down the Ctrl key while pressing the arrow keys:


Step 8a: Using the "Freeform" build mode, place a Painted Beam connecting the origin point with (x,y). I find it's easier to remove the Power Pole at the origin point and snap the first end of the beam there:


Step 8b: Then extend the beam to snap to the Power Pole at (x,y). In the screen shot, the beam hasn't been placed yet so we can see what its actual length will be. It's 23.119m, which matches what is calculated in the spreadsheet so hopefully, any variances between the spreadsheet calculations and in-game results will be minimal:


Step 8c: The Painted Beam placed between the origin point and (x,y):


VIII. Part Three: Placing the Next Foundation Tile
Step 9: Put down a 2m or 4m foundation tile hologram (do not use a 1m tile**), snapping its center to the origin point (its edges should be parallel and perpendicular to the Painted Beam. Do not place the foundation tile yet -- press "H" so that the hologram is frozen but the tile itself isn't placed yet:

** The reason to not use a 1m foundation tile is because when the hologram is snapped to the Painted Beam, vertically, it will be centered. For a 4m tile, that vertically offsets it by 2m; for a 2m tile that vertically offsets it by 1m. With a 1m or 2m offset, additional tiles can be placed above and/or below so that the result can be vertically aligned with the initial foundation tile. But with a 1m foundation tile, the centering will offset it by .5m, and that will be a pain to get vertically aligned with the original foundation tile.

Step 10a: Nudge the hologram 4m towards (x,y) along the Painted Beam and 4m towards the center point of the arc, perpendicular to the length of the Painted Beam. This will align the origin point and the near, outside corner of the hologram:


Step 10b: Click the LMB to place the hologram's foundation tile:



IX. Part Four: Finishing the Process
Step 11: Remove everything that was used to position the foundation tile just placed:


Step 12: Add/remove foundation tiles above and below the foundation tile just placed so the result is at the same level as the first foundation tile:


Step 13: Complete the arc by repeating steps 5-12, as necessary.
X. Notes About Blueprint Behavior
It's a rather lengthy process using this method to determine the rotation and placement of foundation tiles along a curve. Fortunately, using blueprints makes it very easy and fast. This section describes how to create a blueprint that contains a foundation tile rotated at the proper angle for a given (x,y) and given rotation direction (i.,e., left-handed turn or right-handed turn).

Blueprint snapping and horizontal positioning
When using blueprints to place a series of pre-rotated foundation tiles to form a curve as described in this Guide, use the "Default" blueprint building mode, not the "Blueprint" mode. The reason is how blueprint snapping works. The way blueprints snap to other blueprints and foundation tiles is described in the Satisfactory wiki[satisfactory.wiki.gg].

My understanding from reading the wiki and performing my own in-game tests (and I may be completely wrong, so caveat emptor) is:

When building from a blueprint, it is actually a bounding box that is being placed, snapped, and nudged. This bounding box is the smallest rectangle containing all the build-able elements of the blueprint, whose sides are parallel to the Blueprint Designer's boundaries in which the blueprint was created. The center of the blueprint is the center of this bounding box.

When using "Default" construction mode, the new blueprint is positioned with its bounding box adjacent to, and aligned parallel with, the edge of an existing foundation tile. It doesn't matter if the foundation tile is or is not part of an existing blueprint in this mode.

When using "Blueprint" construction mode, the new blueprint is positioned with its bounding box adjacent to, and aligned parallel with, the bounding box of an existing blueprint. If it is being positioned next to a foundation tile that isn't part of a blueprint, the positioning behaves like "Default" construction mode. The center of the new blueprint is aligned in a rectangular grid with the centers of the existing blueprints.

In either build mode, once a blueprint is positioned, the blueprint's hologram can be locked and the blueprint can be nudged into position. The nudging will be parallel and/or perpendicular to the edges of the bounding box of the blueprint being placed. The increments of the nudge will be 1m using the arrow keys, or .5m using the arrow keys while holding down the Ctrl key.

So for our purposes here, the blueprint we are placing needs to be aligned with the foundation tile from an earlier-placed blueprint, not the entire earlier blueprint (or we'd form a grid of blueprints, not a curve of their foundation tiles).

Blueprint vertical positioning
At the time this guide was written there was no capability in the game to vertically nudge. Therefore, it is important to be sure the construction of a blueprint is vertically aligned properly before freezing its hologram.

Blueprints want to align based on their bottom edges. When being placed on top of a foundation tile, the bottom of the blueprint will be directly on top. You're basically stacking the blueprint on top of an existing structure.

When being placed adjacent to a foundation tile such that there is nothing below the blueprint, the bottom of the blueprint will align with the bottom of the foundation tile. This may or may not be what you want. To address a vertical misalignment, you might need to temporarily adjust the existing structure that you're aligning to, or build some temporary scaffolding so you can place the blueprint in the proper position, at the proper height.
XI. Making the Blueprint
I'm using a 5x5x5 Blueprint Designer for purposes of creating the examples in this Guide.

For some context, if you look forward to the reference diagram in "Section XIII. The Math", here are how items in the blueprint correspond to items in the reference diagram:
  • The foundation tile in the blueprint being created corresponds to the orange box
  • The small wall segment corresponds to the edge of the black box that is labeled "8m"
  • The Painted Beam corresponds to "h"
  • The origin point corresponds to "B"
  • (x,y) in Step 5 (below) corresponds to point "P" (offsets of the distances "x" and "y" from the origin point)

Some overall tips:
  • The final foundation tile that forms a segment of the curve is going to be rotated, so depending on where you begin the construction process inside the Blueprint Designer, it might stick outside the Blueprint Designer's edges and you won't be able to save it. Make sure you allow for that rotation when you pick your starting point inside the Blueprint Designer. To help you allow enough room, the Google Sheet lists an estimate of how much room is needed to accommodate the rotation (value "k").
  • It doesn't matter where in the Blueprint Designer you do your construction. Recall that the positioning of the blueprint will be based on the bounding box of the "build-able" elements, regardless of where they are located within the Blueprint Designer.
  • Don't forget that you'll need separate blueprints for left-handed curves and right-handed curves. When you save the blueprint, I recommend including some indication of that in the name of the blueprint.
  • When the blueprint of the rotated foundation tile is placed, its bottom will align with the bottom of the tile it is being aligned to. To get the tops aligned (which is probably what you want), you might need to make some temporary height adjustments in the existing structure.

Step 1: Determine the values of (x,y) that you want to use. I'll use the same values as the earlier construction example (21.5, 8.5).


Step 2: Place a foundation tile inside the Blueprint Designer as a starting point. The final, rotated foundation tile will overlap this starting tile (which eventually gets removed). Place the starting point far enough inside the Blueprint Designer to allow enough room for the final foundation tile's rotation. Be sure to use a tile that is 2m or 4m thick (for reasons explained in the earlier construction example). Looking up (21.5,8.5) in the spreadsheet, it says that the value of "k [blueprint designer overlap]" is 2.94m, so I'll allow 3m:


Step 3: Mark the origin point. This is going to be the outside of the curve where the blueprint is going to meet up with an existing foundation tile on the curve. We're going to make a left-handed turn, so we're going to mark the corner on the right, far side of the foundation block:


Step 4: Make a grid of foundation tiles where (x,y) will be marked. The grid should be in the interior of the curve so that starting from the origin point, (x,y) will fit (like was done for Step 6 in the earlier construction example):


Step 5: Mark the point (x,y) with a Power Pole (like was done for Step 7 in the earlier construction example):


Step 6: Remove the Power Pole at the origin point and connect a Painted Beam from the origin point to the Power Pole at (x,y) (like was done for Step 8 in the earlier construction example):


Step 7: [Optional] Place a 1m-high wall on the edge of the foundation tile with the origin point. This wall will be aligned with the edge of an existing foundation tile on the curve when the blueprint is placed:


Step 8: Place the angled foundation tile on the edge of the Painted Beam and nudge it into place (like was done in Steps 9-10 in the earlier construction example):


Step 9: Remove everything except the foundation tile just placed and the wall:


Step 10: Add and remove foundation tiles vertically aligned with the remaining foundation tile so the only foundation tile that remains is directly on the floor of the Blueprint Designer and has the thickness that you want. At this point, you can use any thickness of foundation tiles, including 1m. Also, add and remove 1m wall sections so that there is only 1 wall section and it sits directly on top of the remaining foundation tile (it will be at an angle to that foundation tile):


Step 11: Adjust the attributes of the foundation tile and save the Blueprint to complete the process. I finished with a 2m foundation tile that was customized to the "concrete" material.
XII. Using the Blueprint
Using the blueprint is actually very easy: position the wall in the blueprint so it aligns with the edge of the existing curve.

Step 12: Start with an existing foundation tile:


Step 13: Begin placement of the blueprint (make sure the build mode is "Default"). Once you've got the wall in the proper position and it's at the proper elevation, press "H" to lock the hologram:


Step 14: Nudge the hologram so the wall is properly aligned:


Step 15: Click LMB to place the foundation tile:


Step 16: Repeat the process until the curve is completed:

Note that there are 16 full segments and a portion of a 17th that overlaps the first segment (which was shown in the spreadsheet column J, "# spokes (quantity)" of 16.688.

Step 17: Remove the short walls that were used to help with the blueprint alignment:


** The circle in this screenshot has the blueprint alignment issue described in the section, "WARNING - There's a bug (in my opinion)". This is what the corner should look like (and what happens when the first instance of the blueprint is placed):


This is what the corner looks like when there's a misalignment:


This may or may not affect your constructions. From the experiments I've done, the amount of misalignment seems to be proportional to the angle of curvature (i.e., more gentle curves and larger circles experience a lesser degree of misalignment)
XIII. The Math
This section provides details of the math behind the spreadsheet and attempts to provide enough information so you can use your own method for calculating the values associated with a specific (x,y). It has three main parts:
  1. A diagram that details all the elements used in the formulas the guide's method uses. It is referenced by the other two sections.
  2. A summary of the in-game elements necessary for construction of a curve. If you're only interested in what you need to know to make use of the guide's method in-game and how to use the spreadsheet, you can stop after reading this section.
  3. Formulas, derivations, and other information that provide a more complete picture of the math behind the method.

1. Reference diagram
Please refer to this diagram to provide context for the remaining portions of this section. It will open full-size if you right-click on it to open it in a new tab.

2. In-game elements
The in-game elements of the diagram are as follows:

The really important elements:
  • The black square: the "initial" foundation tile - the starting point of the rest of the curve being constructed.
  • The orange square: the foundation tile added to the initial one, extending the curve.
  • B: the "origin point" that is referenced when doing the construction to establish the curvature angle.
  • x and y: define the coordinate (x,y) and are rectangular offsets from the origin point.
  • P: where a Power Pole will be placed to mark the location of (x,y).
  • h: the Painted Beam that connects the origin point and (x,y).
Somewhat important, but not absolutely essential:
  • q: the distance from the outer edge of a foundation tile on the arc to the center of the arc's radius of curvature.
  • Φ (and also θ): the degree of curvature. For the foundation-rotation method, this will always be a multiple of 5°.
  • k: how far the rotated foundation tile will protrude outside of the Blueprint Designer if the origin point is on the Blueprint Designer's edge.

These elements of the diagram are all you need to know to fully understand what's in the Google Sheet (which references "x", "y", "θ", "h", "q", and "k") and to make curves as described in this guide. Once you become practiced with this method, you'll probably only care about "x", "y", and "h".

3. The rest of the math
I wanted to provide some additional information and observations about the math behind the method so there wasn't as much hand waving going on. For example, it might not be obvious why the way (x,y) is chosen corresponds to the angle between centers of adjacent foundation tiles in the curve being created. I thought it would be helpful to show the math behind that and how the values in the spreadsheet are calculated. I'm not trying to show any formal proofs or be very rigorous in this; I would ask the mathematicians to give me some slack :-).

The remaining elements of the diagram
The remaining elements of the diagram not described, above, are:
  • r: the radius of curvature.
  • O: The center of curvature of the arc corresponding to the curve being created.
  • AB, BC: sides of foundation tiles and chords of circle O; fixed at 8m as determined by the game.
  • N, M: midpoints of AB and BC, respectively.
  • BD: corresponds to x.
  • PD: corresponds to y.
  • PB: corresponds to h.

Brief Derivation of why Φ = θ
The angle created from the construction process in-game using the positioning of the Painted Beam is the same as the angle between the centers of the foundation tiles:
  • AB = BC because they're both sides of a foundation tile (8m).
  • AB and BC are both chords of circle O because that's how they were constructed.
  • ∠OAB = ∠OBA; ∠OBC = ∠OCB because angles opposite equal sides of an isosceles triangle are equal.
  • ΔAOB ≅ ΔBOC because of Side-Side-Side theorem.
  • ∠OAB = ∠OBC; ∠OBA = ∠OCB.
  • ∠OAB = ∠OBC = ∠OBA = ∠OCB.
  • θ + ∠OBA + ∠OBC = 180.
  • θ = 180 - 2(∠OBA).
  • Φ + ∠OAB + ∠OBA = 180.
  • Φ = 180 - 2(∠OBA).
  • Φ = θ.
Why ∠NOM is also Φ
  • ∠AON = ∠BON = (1/2)Φ because ON bisects AB.
  • ∠BOM = ∠COM = (1/2)Φ because ON bisects AB.
  • ∠NOM = ∠BON + ∠BOM.
  • ∠NOM = (1/2)Φ + (1/2)Φ = Φ.

The formulas in the spreadsheet
The columns of the spreadsheet are calculated as follows (these formulas use Google Sheet's specification language but refer to only the columns, not any of the rows):
Column
Meaning
Units
Formula
A
value of x
meters
input
B
value of y
meters
input
C
θ, Φ
radians
ATAN(B/A)
D
θ, Φ
degrees
DEGREES(C)
E
h (beam length)
meters
SQRT(B^2+A^2)
F
r
meters
4/SIN(C/2)
G
q
meters
SQRT(F^2-16)
H
full foundations in q
meters
FLOOR(G/8)
I
partial foundations in q
meters
G-(8*H)
J
# spokes
quantity
360/D
K
Blueprint Designer overlap
meters
8*SIN(C)
XIV. Final Thoughts
Given the inherent round off errors and imprecision of using floating point numbers and computations, I recommend that before you commit to a large project based upon the method described, you do a bit of prototyping to verify that the parameters you'll be using provide the result you want in-game.

Depending on what you're building, the blueprint misalignment issue may or may not impact your design. If the devs should make changes to restore this behavior to like it was prior to 1.0.0.4, I will update the Guide.

In-Game Example
This is an in-game example of using the technique described (using blueprints before the bug introduced in 1.0.0.4). There are 123 Coal Generators layered into 5 tiers. The curve used as the baseline for all the concentric curves is the outermost curve on the upper level. The inner curves are formed from extensions of those foundation tiles inward toward the center.

The particular things to take note of, is that the outside edge corners of adjacent foundation tiles on the baseline curve meet up exactly, and the angle between outside edges of all the tiles on the curve is the same.



For that curve, the value of (x,y) is (38,2) which gives just shy of 120 spokes and a radius of curvature of almost exactly 3°. There is no direct way to make this curve of adjacent foundation tiles with common corners using the rotation of foundation tiles in increments of 5° (although I suppose it could be possible with some clever interpolation methods).



Other Guides
Thank you for taking the time to look at this guide. If it has been helpful to you, you may find my other guides useful:
https://cs2bus.com/sharedfiles/filedetails/?id=2827994017
https://cs2bus.com/sharedfiles/filedetails/?id=2842159512
https://cs2bus.com/sharedfiles/filedetails/?id=2836897112
If people are finding these guides useful, I'll try to find opportunities to make more of them