====== Problems Capping Objects ======
>//Explanation of common capping failures and suggestions for fixing them//
**A common question** on the Rhino newsgroup is //"Why didn't my solid extrusion get closed?"// or //"Why can't I cap this object?"//
In the case of the **Extrude** command, Rhino currently doesn't give any error messages or explanations of why the command didn't work as expected. It just fails silently, leaving the inexperienced user to wonder what they did wrong.
In the case of the **Cap** command, you get a message **unable to cap that object**, which isn't very helpful to diagnose the problem. Hopefully the explanations and procedures on this page will help...
=====Extrusions that won't cap...=====
====Check for bad objects first====
The following is based on having valid objects. So, before you start, use **SelBadObjects** and make sure your objects are good (they shouldn't select). If there are bad objects, you need to fix them first. [[rhino:badobjects|For more info on dealing with bad objects, see here.]]
====OK, my objects are good. What's wrong then?====
Rhino needs to have a closed, planar curve to create a cap surface. If an extrusion of a //theoretically// closed planar curve doesn't cap, even though you chose **Extrude** from the solid menu or clicked **cap=yes** in the command line, there are one of two things wrong...
**//Either://**
1) the curve being used isn't closed, or\\
2) it isn't really planar.
====Not closed====
If there is no closed loop, Rhino cannot create a complete trim curve to create the cap surfaces. The object will extrude, but since the Rhino can't find a complete closed curve to trim the cap surface, it won't be created, and you will be left with an open extrusion. In Rhino 4, there is no error message given in this case.
**//How to find out if your curve is open? Several ways://**
* Use the command **SelOpenCrv** and see if it selects.
* Use the command **SelClosedCrv** and see if it doesn't select.
* Select the curve and look in **Properties>Details** (or use the command **What**). It should tell you if it's closed.
There are many methods to close an open curve, depending on what the problem is...
**//First, you need to find the open spot://**
The commands **CrvStart** or **CrvEnd** will place a point at the start or end of the curve, which is where the opening will be found.
You may then turn on points and try moving one endpoint on top of the other with point snap or otherwise edit the object to close it.
====Not planar====
If you determine the curve __is__ really closed (it didn't select with **SelOpenCrv**, or did select with **SelClosedCrv**, or **Properties** states it's closed), and it still won't cap, then it is virtually certain it isn't planar. It only needs to be microscopically off to make this command fail.
**//How to fix this case//**
You can use Project to **CPlane** or **SetPts** and set the curve to all the same level. If after that your extrusion caps, that was your problem.
====Important note====
Sometimes curves can be both **open //and// non planar**... :-)\\ So you may need to fix both problems!\\
\\
----
=====Existing objects that won't cap=====
A parallel to an extrusion not capping is an existing open polysurface that you think should cap but doesn't.
In that case, the **//opening//** to be capped should be considered in the same way as the curve that you wanted to extrude in the first example. That is, the loop that defines it is either **//open//** or //**not planar**.//
It may be open if the polysurface isn't fully joined. You can turn on naked edges to see if there are other naked edges besides the open edges to be capped.
Or, the opening you **//think//** is planar actually isn't.
Both of these cases will require a little more extensive repairs than a simple curve.
* In the first case, you need to fix the surfaces so that they join up without any naked edges, except for the opening(s) you want to cap.
* In the second, you need to find where the loop is not planar and fix the offending surfaces so they do form a planar loop when joined.
//Hope this small explanation makes someone's life a bit easier...//