A little more general info to add to what Claudio has said. To get your first overview open a fairly simple model and select Tools>Program>Show Design. You will see that every Part or Assembly you create has this concise summary of the model already created and available to you for manipulation. Notice next that there are 4 sections: INPUT, RELATIONS, Main Body of "ADD's", & MASSPROP. Forget about MASSPROP for the moment; it is a lesser used section. Notice that both INPUT and RELATIONS sections are empty; that's because you haven't done any programming yet. Also notice that the complete description of a Feature or Component is enclosed between an "ADD ..." line and an "END ADD" line. To try something simple, do Edit Design next time and set up a simple yes_no parameter called ADD_HOLE. Between the INPUT line and the END INPUT line add this line: ADD_HOLE YES_NO. Now find a section in your program for the addition of a hole feature. Immediately before the line which starts ADD FEATURE ... add the line: IF ADD_HOLE==YES, then scroll down below the END ADD line for the feature and add the line: ENDIF. Now you have programmed your model to allow two states, with and without a particular hole. If you start using the other parameter types you can really do some interesting things: change sizes, number of features in a pattern, swap out alternative Features and Parts, etc. Glad to give you some more hints after you've gotten familiar with the basics. David