Modeling Challenge – Feature Tree Needles

* This is one of a series of modeling challenges you can use to test your SOLIDWORKS skills.  First, read the challenge and try to figure out a solution on your own.  Then, compare your solution with my good, better, and best recommendations.  As always, feel free to share even more tips and tricks in the comments below.

The holiday season is upon us, and most designers/engineers are finishing up our 3D decorations for our digital workplaces.  Without question, the primary symbol of our SOLIDWORKS spirit is a fully ornamented feature tree …but how do we model one?  More specifically, how do we model thousands of feature tree needles on each of the branches??  Sounds like a perfect modeling challenge…

Straight Branch

As always, let’s start off with the easiest scenario – a straight branch.


  1. Model your needle however you’d like (I used a Revolve feature)
    Make sure to uncheck the ‘Merge Result’ option so the feature creates a separate solid body
  2. Create a Circular Pattern
  3. Create a Linear Pattern of the bodies created from the Circular Pattern
    So far, so good, but the array of needles looks very artificial.  We need some variety, so let’s twist things up a bit
  4. Use the Move/Copy Bodies command to rotate the 2nd, 5th, and 8th instances of the linear pattern
    This task is very easy when you zoom normal to the front plane, activate the Solid Bodies Filter (F5 is the keyboard shortcut to toggle the display of the Filter toolbar), and box-select each group of needles to rotate.
  5. Repeat step #4 for the 3rd, 6th, and 9th instances of the linear pattern

Besides being a RAM hog (i.e. hundreds of these features would consume a lot of your system’s resources), the only problem with this method is the fact that no branches are ever perfectly straight.  We’ll need to consider a more realistic scenario in our next attempt.

Curved Branch

Starting off with a curved branch is going to be more realistic, but it’s also going to present a few more challenges.  Though the Circular Pattern may still work, there’s no way the linear pattern will since nothing’s linear about a curved branch.  Let’s ditch the Circular Pattern approach and try a more 3D (i.e. helical) pattern.

  1. Create your needle
  2. Using a sketch through the center of the branch and another sketch through the center of the needle, create a Swept Surface while specifying a twist value via a quantity of revolutions
  3. Using the Swept Surface and the cylindrical face of the branch, create an Intersection Curve
  4. Since you no longer need the surface body, use the Delete Body command to remove it
    Easiest way to use Delete Body is to preselect the body(s) in the feature tree and then click the Delete key
  5. Using the Intersection Curve, create a Composite Curve
    An actual Curve feature (rather than just a sketch) is a requirement for the feature we’re about to create
  6. Create a Curve Driven Pattern following the Composite Curve
    You’ll have to select the ‘Tangent to curve’ alignment method and select the cylindrical face of the branch as the ‘Face normal’ reference for the needles to point outwards radially

Entire Feature Tree

We sure did create some pretty branches, but what about the entire tree?  How will we ever have the patience to repeat these processes a hundred times?  How will our system resources hold up?  I think we’re destined for a not-so-merry mood unless we come up with a better solution.  How about a solution that doesn’t require modeling a single needle?  Yep, I like how that sounds.

  1. Create all the branches your your tree needs, but make them just a little smaller than the final diameter you desire
    I created a bunch of 3D splines and used the ‘Circular Profile’ mode of the Swept Boss feature to create branches without even needing to create a profile plane and sketch (thanks 2016)
  2. Apply a solid green appearance (e.g. Satin Finish Plastic) to the branches
  3. Edit the appearance you just applied and use the polka dot image shown below for the ‘Image path’ on the ‘Surface Finish’ tab of the ‘Advanced’ view of the appearance PropertyManager

  4. Set your ‘Displacement distance’ to the desired length of your needles and click OK
    Voila!  As soon as we render this in PhotoView 360 (available in SW Professional and Premium) our needles will magically appear
  5. Duplicate each of the branch sweeps with a slightly larger diameter and apply an appearance that resembles bark (see below)

Now that we’ve figured out the pine needles, the rest isn’t too hard at all.  I just created a cone as a visual reference for the overall shape of the tree, and went crazy sketching a bunch of random 3D splines.  Once you have a decent amount created, you can mirror or circular pattern all of the branches to increase the density of the tree.  Create a model for every SOLIDWORKS feature icon (no biggie – just a single file with 50+ configurations), and you’ve got yourself plenty of ornaments to hang on your glorious feature tree assembly!

I hope you enjoyed this post.  I know it was technically supposed to be a “modeling challenge”, but when you can get results as realistic as the one above without having to model – more power to you.  Have a happy holiday season!  As a gift, feel free to download the HD desktop wallpaper below.

modeling challenge

Jordan Tadic

Jordan Tadic

Territory Technical Manager - NA East at SOLIDWORKS
Jordan has been serving the SOLIDWORKS community for over 10 years. He’s a mechanical engineer by day and a wannabe artist by night, so he’s at his best when he’s forced to use both sides of his brain to solve complex modeling challenges. If you have one for him, don’t hesitate to share it. His specialties are surface modeling, industrial design, cloud solutions, and technical communications.
Jordan Tadic
Jordan Tadic