1. A computer-implemented method of sketching a real-world object, comprising: providing a set of geometric templates stored in a computer memory in a computer-aided design (CAD) system, each geometric template in the set specifying a respective basic geometric shape from which a user initiates or builds at least one sketch entity in a 2D or 3D sketch in the CAD system, and different geometric templates in the set specifying different basic geometric shapes of sketch entities: enabling end-user extension of the set of geometric templates in the CAD system, including enabling end-user definition and creation of an additional basic geometric shape from which the user initiates or builds additional sketch entities in sketches using a markup type language schema in which the end-user states the definition of the additional basic geometric shape and the definition includes one or more constraints and a drag point, a corresponding geometric template of the additional basic geometric shape being added to the set of geometric templates in the CAD system so as to result in a customized extended set of geometric templates stored in the computer memory and reusable in the CAD system to construct different CAD models; and in response to end-user application of the extended set of geometric templates, generating on a computer display a sketch of a real-world object to serve as a basis of a feature in a CAD model representing the real-world object.