Fun with SkyCiv

This was supposed to be a few quick checks of our blimp frame. We are now at V135. So yes, the “quick” part went very well. 🙂

I have been having a lot of fun with SkyCiv. It lets us build a structural model, put loads on it and see how the frame and tethers respond. For a hobby project with a fairly ambitious collection of carbon tubes, batteries and bits of string, that is enormously useful. I would much rather find a bad idea on the screen than after making the parts (One of our Phase I lessons).

SkyCiv did a lot of the heavy lifting in this round of development. We could change one thing, run the calculation, compare it with the previous version and keep the results. Its API also let us automate batches of “what if?” questions and in cooperation with Codex we certainly found plenty of those.

There were other tools alongside it in play: OpenSeesPy for independent comparisons, OpenSCAD for geometry checks, and Autocad Fusion 360 for the actual layout. Here is the slightly condensed story….. very slightly, judging by the version numbers.

It started with a beam

A structural model displayed in SkyCiv software, featuring a geometric framework with labeled nodes and members, including load values and sections annotations.
V0 – A beam, some arms and masts. A pleasantly small number of things to worry about.

The early model was deliberately simple. V1 added the keels and a basic ground-support arrangement so we could start asking sensible questions. Where does a load enter? What carries it? What stops the whole thing moving? Easy questions to ask, much more difficult to answer, but good to have them!

A structural analysis diagram showing connected nodes and members with forces indicated in newtons, created using SkyCiv software.
V1 – Add the keels and supports, then start applying loads.

By V19–V27 we were placing the battery, tanks and other weight into more useful places in the model. A single lump of “vehicle weight” is convenient, but a battery hanging from a particular part creates an arm and arm creates a moment and the frame needs to handle it.

A structural analysis model displayed in SkyCiv software, showcasing a network of nodes and beams with labeled loads in various colors. The interface includes options for loading conditions, and elements are annotated with force values measured in Newtons.
V27 – Giving the weight somewhere specific to go.

Some nice-looking ideas did not survive the maths

Tried/brainstormed longer members, different bracing and arrangements that looked lighter on screen. Several did not behave nearly as nicely once we included their weight and applied the loads. That is one of the things I really appreciated about SkyCiv: we could explore an idea and find out why it was troublesome before getting too attached to it. Codex helped preparing loading groups so we can quickly iterated of multiple scenarios (30+) on every change.

A structural engineering simulation interface displaying a network of nodes, members, and loads with various force values indicated. The left sidebar includes options for model settings, loads, and combinations, while the bottom shows the software logo, SkyCiv. The network features connections marked in green, red, and yellow, and force vectors are quantified next to nodes.
V59 – One of the many stops on the way to a workable layout.

Adding tethers came up with some additional complexity. They pull, but they do not push. A line can be doing very little in one situation and become important when the load changes direction. So removing a slack-looking line from one screenshot is not much of a design method.

Through these iterations we worked through the network, fixed an accidental loss of symmetry and tested smaller sets of tethers. V72 solved all 33 cases in that particular study. A useful milestone! It still did not cover every gust, handling mishap or real-world connection, but it gave us something much better to work from.

A screenshot of a structural engineering software interface, showing a network of beams and nodes with various load indicators and values. The left panel displays options for modeling, loads, and settings, while the central diagram illustrates load distribution across the structure using color-coded lines.
V71 – Fewer tethers, after checking what they were actually doing.

The motors wanted their own bit of attention

Then we added forces from motors – tilting the thrust downward/upward produced some rather large movements. Tried lowering the main arms by 200 mm and then 400 mm, but that came back with some ugly moment forces. The motor pivot and its offset needed a proper local design; moving a big part of the frame was a poor substitute.

A structural analysis model displayed in SkyCiv software, featuring a network of nodes and connections. Various load values in kN are annotated at different points, with color-coded lines indicating the type of loads applied. The left sidebar shows options for modeling elements like members and loads.
V73 – The motor pivot needs its own solution. Moving the whole arm was not it.

When two calculations disagree, start small

SkyCiv and our local OpenSeesPy model did not always agree about the assembled tether network. Some cases would not converge either. “Converge” is the solver finding a consistent answer – a failure to do so is a reason to investigate, not automatically proof that a real tube has broken.

We went right back to a single one-metre tension member. Both programs gave the same extension under a 1 kN pull, and both stopped it carrying compression. Good! That helped rule out some basic mistakes, even though the larger-model disagreement still needed more work.

Screenshot of the SkyCiv software interface displaying a structural model with a member length of 1 meter and section dimensions of 5x5. The interface shows options for loads, model settings, and other features on the side.
V97 – Back to one piece of string.

And sometimes you need to look at the shape again

OpenSCAD was useful for checking the things that are easy to miss in a busy structural picture: empty space, collar positions, propeller clearance and envelope volume. Fusion then helped us see how the proposed hardware might actually fit together. A beautifully coloured result is not much help if two parts want to occupy the same space.

A structural analysis visualization showing nodes and connections in a radial pattern, with labeled points and load distribution elements in a light gray background interface.
V106 – Checking the envelope reinforcement geometry before giving it more stiffness.

One small SkyCiv fixture was particularly helpful. We tested whether a shallow pair of batons could carry loads along the vehicle. Under that little test load, the predicted movement was about 308 mm. That was enough to send us back to the drawing board. The longitudinal load belongs in the keel – we cannot quietly ask those shallow batons to do the job.

A structural analysis model displayed in SkyCiv software, featuring various load types, including point loads, distributed loads, and dynamic loads, with corresponding forces shown on a network of nodes and elements.
V100 – Working out which part is supposed to carry which load.

We also moved battery loads around, tried different control directions and made the balancing forces explicit. All rather less glamorous than a new render, but this is where SkyCiv earned its place in the project: we could keep asking questions and see the consequences.

A structural analysis diagram showing a network of nodes and connections with force values indicated in kilonewtons, created using SkyCiv software.
V72 – A useful reference point, with plenty still to learn. Notice these diamond shape tether designs. 😉

V125: the frame was not the only thing needing a fix

At one point the upward-thrust case stubbornly refused to solve. Even a tiny amount of forward thrust caused trouble. Reducing the thrust looked like a possible answer, until we found two problems in our model setup: a missing balancing longitudinal load and a missing restraint against the whole model rotating in yaw.

V125 corrected those. No bigger tubes, no extra tethers. Both of the retained SkyCiv thrust cases then converged. That was a very useful reminder to check the question we are asking the software before redesigning the aircraft around its answer.

A structural analysis software interface showing a network of nodes and connections with force values displayed in various colors, illustrating load distribution in a graphical format.
V125 – Fix the loads and reference restraints first. No extra carbon fibre required for this correction.

Those two cases gave movements of roughly 135 mm downward-thrust and 114 mm upward-thrust. Useful numbers to investigate, not permission to declare the frame finished. Our matching downward case in OpenSeesPy still did not converge, so that comparison was not closed either.

Serge’s suggestion, and a less awkward gondola

Credit to Serge here: he suggested lowering the gondola and battery. That gave us another layout to explore and helped steer this part of the development. Thanks, Serge!

We worked through the lower arrangement and kept a two-metre gondola. Then there was the fairly practical problem of the lower diamond tethers getting in the way underneath it. Could we bring them to the floor ends instead, and use the existing crossbar between them?

That became V134. SkyCiv let us test the rerouting before committing to the hardware. Both retained cases converged: LC24 means full forward thrust tilted 10 degrees down, and LC25 means 10 degrees up. The obstructing route was gone, but its forces had to go somewhere. The floor and its joints now have a real job to do.

A structural analysis model displaying nodes, members, and load distributions in the SkyCiv software interface.
V134 – The lower tethers meet the floor ends, with the existing M198 crossbar joining the two sides.

V135: bring the tank anchors into the picture

V135 is our current analysis starting point. Twelve tether ends now attach at the lower tank collars, and four mast extensions reach those connections. The corresponding Fusion layout is saved as v127. We have reached 90 nodes, 137 members and 42 tension-only tethers. Quite a journey from that first beam.

A complex structural analysis model created in SkyCiv, featuring nodes, members, and various load types, with annotated forces and moments in different colors.
V135 – The tank anchors join the model, giving us connection loads to work on.

The collars are still represented by simplified connections in the calculation. We have to design and test the real things. Also, four 50-litre tanks give us 200 litres of capacity, but these operating calculations contain only 40 kg of water in total. Full tanks, sloshing water and landing on the tank bottoms remain separate questions.

Yes, we tried putting 120 kg payload in it

Our intended Phase IIa+b payload is still 1 kg (alongside the 100 kg battery). The 120 kg payload was a deliberate stress test. We moved the battery and payload forward and backward to see what became unhappy. It was not a sudden plan to fly another 120 kg!

This is where the SkyCiv API was especially useful. We ran 74 follow-up cases covering placement, tether loss, stiffness, sleeve weight and other variations. All 74 converged. Rear concentration generally made movement worse in these tests, where forward support helped, although that also changes balance and trim. There is no “put everything at the front” shortcut.

A structural analysis diagram showing nodes, forces, and connections in a network, with labeled loads in kilonewtons (kN). The diagram features various colored lines and symbols representing different structural elements.

We then ran another 20 cases around the actual one-kilogram mission, and those also converged. At the reference tether stiffness, the ordinary down/up thrust cases gave about 140 mm and 112 mm of frame movement. Softer assumed rope and roll loads produced much more movement, so real rope measurements and clearance checks are still on the list.

The current tether candidate is 1,500 lb Kevlar. Its advertised breaking load is about 6.67 kN, compared with roughly 2.28 kN peak tether demand in those ordinary cases. That looks more encouraging than the earlier 1,000 lb option. A bigger number on the spool does not finish the job for us, those terminations / knots will be still interesting to see developed and tested.

One very large number deserved a second look

One scary result reported an enormous movement inside a tether. The actual frame nodes were moving about 141 mm. That was a good reason to slow down and investigate rather than panic at the largest number on the screen.

Luckily it was just a self-weight tether parameter, where changing it only about 0.00003 mm made that enormous internal value disappear.

Now we also have conditional load sheets for the collars and floor connections from the small-displacement calculations. Some force outputs from the large-displacement formulation still need explaining. I am glad we kept digging, pretending that every number is settled is not a way forward.

With the SkyCiv trial coming to an end, we backed up the models, results and scripts, then checked that we could reproduce our local reports from those backups. Future Jan will surely appreciate that.

So, where are we now with this?

Here is the updated tube list, including the keels. These are planning lengths along the model axes; sockets, joints and trimming still need to be allowed for before anyone reaches for a saw.

FunctionTube geometryNominal assembly spansNet lengthComparison mass
Nacelle arms100 mm OD × 3 mm wall4 × 3.300 m13.200 m19.31 kg
Upper masts60 mm OD × 3 mm wall4 × 2.300 m9.200 m7.91 kg
Lower masts, including tank extensions60 mm OD × 3 mm wall4 × 2.670644 m10.683 m9.18 kg
Main-frame crossbeams60 mm OD × 3 mm wall2 × 3.600 m7.200 m6.19 kg
Gondola corner posts20 mm OD × 2 mm wall4 × 1.988 m7.952 m1.44 kg
Gondola floor rails20 mm OD × 2 mm wall2 × 6.000 m12.000 m2.17 kg
Gondola floor crossbars, including M19820 mm OD × 2 mm wall3 × 0.580 m1.740 m0.31 kg
Two keel parent shells – physical candidate400 mm ID × 1.577 mm wall (403.154 mm OD)2 × 19.000 m assembled length38.000 m120.96 kg

The non-keel tubes add up to 61.975 m and 46.51 kg. Adding the two clean keel shells gives current 167.48 kg of CF tubing. Those masses use an assumed density of 1600 kg/m³. Reinforcement, joins, fittings, glue, coatings and cutting waste are extra.

Thank you, SkyCiv – and hopefully more to come

SkyCiv has been a huge help with this project. Being able to see the structure respond, compare versions and automate lots of small experiments has made ambitious ideas much easier to investigate on a hobby budget. It helped us improve the layout, and just as usefully, showed us which ideas needed another think.

SkyCiv logo featuring a stylized blue geometric design and the word 'SkyCiv' in black.

We did get a little enthusiastic with the API: the 300-credit allowance was gone before we requested the final V135 PDF. Oops. There is plenty I would love to do next: work through the real joints, measure the tethers, check clearances and see how the next design changes behave.

For now, a big thank you to SkyCiv for the trial, to Serge for the gondola and battery suggestion, Chris Drake for constructive feedback and to everyone following this slightly overgrown hobby project. There is still plenty to build and test. I suspect V135 will not be the last version. 🙂

A happy update: SkyCiv kindly extended our trial, so we could finally generate the V135 SkyCiv report (PDF). Thank you, Jake and the SkyCiv team! This records the original V135 down/up-thrust cases, LC24 and LC25. It is a snapshot of our development model; the real joints and some force outputs still need checking before we can use it to sign off the hardware.

CF Tubes – Phase II: Heating Rig Test & First Wins

Over the weekend we finally achieved something worth reporting!

As part of our airship design and Phase II scale‑up (see our Carbon Fiber Tube Sizing conversation around the H2Use project), we need to develop a new 19 m long, Ø 400 mm carbon‑fiber tube that can withstand the loads and deflections defined in our sizing study.

Specs recap:

  • Target axial load: 5 kN service (conservative) with very large margin vs. Euler buckling on 6 m effective spans.
  • Bending stiffness (EI): ≈ 3.47 × 10⁶ N·m² (Ø 400 mm, wall 2 mm, E≈70 GPa).
  • Safety factors: Global buckling ≥ 3, local wall buckling ≥ 2, bonded joints ≥ 2.5 (prototype targets).
  • Allowable mid-span deflection: ≤ L/500 under service loads → ≤ 12 mm on a 6 m span.
  • Mass budget per metre: ≈ 4.0 kg/m laminate (2 mm wall, ρ≈1600 kg/m³) → ~76–80 kg for a 19 m tube incl. joins/coatings contingency.
  • Laminate schedule/plan: Eight plies total of 3K 200 gsm plain-weave tape (100 mm width) applied by spiral wrap: 4× CW + 4× CCW, ~75% overlap (25 mm step) for ~2.0 mm consolidated wall; wet lay-up with high-temp epoxy; consolidation via compression wrap + thermal expansion of the 400 mm Al mold; cure ~120 °C per resin datasheet.

Diagram showing Axial compression (~5 kN), distributed lateral gust load (~30 N/m) along the whole tube, added gondola mass between 6–12 m (~150 N/m), plus the two mounts (reactions) at 6 m and 12 m.

Plots of shear and bending moment diagrams for our loads:

Anyway, the purpose of this tube stays the same: it’s our airship keel and doubles as a vectoring intake manifold so we can steer in 3D without classic elevators/rudders. Physics did smack us with a reality check: using these intakes for forward motion comes with ~25–35% efficiency penalty (credits to Chris Drake for smacking hard!). So the plan is to use them primarily for slow‑speed direction changes and yaw/roll/pitch control, and only lean on them for forward‑thrust assist when really needed.

Shopping, rolling, and a friendly metal shop

The initial plan was a simple aluminium sheet to form a mandrel:

Then I spoke with Richard & Paula at Brisbane Metal Form (https://brisbanemetalform.com.au/). They not only gave me a good price but also offered to roll the sheet into a tube.

On Thu, 21 Aug 2025, 2:55 pm, Richard Shilling wrote:
All up cost including GST: $286.00
Thanks Richard!

HT epoxy & cure profile

Next stop: Gurit PRIME™ 37 high‑temperature system via a local supplier (smooth process).

Target cure from the datasheet is 150 °C for 1 h (post‑cure), but there’s also a 100 °C for 12 h pathway to achieve required strength – handy in case we can’t hit 150 °C on the nose.

Chatting with Vilem & Martin, Martin suggested silicone drum‑heater belts mounted inside the aluminium mandrel to heat the laminate from within. We went with these:
Silicone Band Drum Heater Blanket (120 × 970 mm, 300 W)
https://www.aliexpress.com/item/1005006949643440.html

Initial order: 6 × 120×970 mm / 300 W – for testing and initial installation too.

Package arrived in a week time

Test day with Serge — setup & goals

Huge thanks to Serge for jumping in on Sunday afternoon! We set goals:

  • Check that the belts actually heat and we can operate them safely.
  • Characterise heat‑up speed, max temperature, and edge losses.
  • Verify thermal expansion of the aluminium mandrel (critical for our process: expand under heat to press the CF wrap; shrink to release after cure).
  • Log power draw.

Setup:

  • Tube set horizontally.
  • Four belts, mounted vertically inside the tube, spaced ~100 mm apart (test configuration).
  • Temperature points marked on the outside, T0…T6.
  • A textile line (tight loop) around the circumference to track expansion.

Ambient was ~27 °C, mostly still air with the occasional tiny gust.

CF Tube Heating Log (OCR + Stats)

timeT0T1T2T3T4T5T6minutesmeanminmaxspread
4:372828282828282802828280
4:4629323135323029931.129356
4:52353839404035151534.6154025
5:097783971028967553281.45510247
5:217777951049368564481.45610448

Early facepalm, then good data

For about 30 minutes we “saw” almost no temperature rise. Then Serge touched the tube and went: “It’s hot!”. Turns out our IR thermometer (https://www.bunnings.com.au/matador-surface-infrared-thermometer_p0276145) can’t read polished aluminium properly (emissivity!) so our numbers were… artistic.

We slapped black tape over the measurement spots and instantly got sane readings. We also added front & rear end‑caps to reduce airflow, plus a thermal blanket to curb losses.

Results & takeaways

1) 150 °C vs 120 °C reality
The belt listing says up to 150 °C, but the knob tops out at 120 °C. That’s okay for now – PRIME 37 allows 100 °C × 12 h, so we can still hit strength targets; we’ll just run a longer cycle while we sort the 150 °C option.

2) Edge losses are real
We observed a big temperature drop at the tube edges. Plan: add two more belts near the sides (i.e., circumferentially offset) to flatten the temperature gradient where we’re working.

3) Thermal expansion: measured vs theory
We recorded ~7 mm increase using the textile loop. For reference, theoretical circumference expansion for 5005‑H34 Al (α ≈ 23×10⁻⁶/°C) from 26 °C → 100 °C (ΔT = 74 °C) on a Ø 400 mm tube is:

  • Circumference C = π·D ≈ 1200.00 mm
  • Fractional expansion = α·ΔT = 23e‑6 × 74 ≈ 0.001702
  • ΔC = C × 0.001702 ≈ 2.14 mm → ΔD ≈ 0.68 mm

So our 7 mm observation was >3× theoretical ΔC and ~10× theoretical ΔD. Likely causes: ovalisation of the tube under uneven heating, local hotspots, textile heat-shrink, or measurement slack in the textile loop. We’ll re‑run with full 6‑belt coverage, rotational averaging (see next point), and a steel band gauge.

4) Top vs bottom gradient
Horizontal layup showed clear temperature stratification (hotter top, cooler bottom). We’ll need to add a slow back‑and‑forth 180° rotation during soak to average it out.

5) Join the seam
The rolled‑sheet seam is wobbly. We need to stiffen/join both longitudinal edges:

  • Welded seam: stiff, permanent, but reduces interior access later.
  • Mechanical seam: long backing strip + countersunk fasteners; keeps future access but needs careful heat‑path design.

We’ll trial the mechanical seam first.

What’s next

  • Order two more belts (longer size: 120 × 1250 mm, 350 W) for edge coverage.
  • Adhesively bond belt mounts and add thermal shields under each.
  • Confirm with the vendor why we saw 120 °C limit on a 150 °C‑rated unit.
  • Add slow rotation during soak and repeat the expansion test with a proper band gauge.
  • Decide seam strategy (mechanical first, welded if needed).

Huge thanks to Serge for all the help and patience – and to Richard & Paula for rolling the tube so quickly.

CF Tubes Reinforcement & Testing

Since the beginning of our carbon fibre (CF) tube manufacturing journey, one question has lingered in my mind—how strong are these tubes, really? We knew they would be lightweight and durable, but with their role in critical load-bearing parts like our EDF (Electric Ducted Fan) intakes and 3D thruster mounts, we had to be sure. Initial tests and assemblies exposed the reality: some of the early designs couldn’t handle the stress. A few unfortunate failures under load made it clear we needed a stronger solution.

Actually, main focus has been on those traverse tubes connecting main tubes with gondola and so bearing the main load of a whole airship. I ran SkyCiv to demonstrate our situation (probably used this one before):

Reactions at Supports

Bending moment

Shear Force Diagram

Deflection

This is where Serge stepped up and over the past few weeks rethinking the reinforcement of our most critical CF tubes. Serge’s solution? Using leftover CF tape and polyester resin, he reinforced the high-stress zones. The result? A beautifully layered enhancement that practically doubled the strength of the traverse tubes. Enjoy watching Serge in action!

We weren’t going to stop just there. These reinforced tubes were put to the test—and passed with flying colours. They now comfortably support over 10kg of load, simulating real operational stress, including a suspended weight (like a 10kg water bucket) at the center span.

The tests didn’t just prove the design—they validated Serge’s craftsmanship and wisdom. It’s been an absolute privilege to learn from him and watch him bring decades of know-how into this project. Thank you Serge!