Designing a Robust User Feature
You can design a robust user feature.
- First of all, it is recommended to make a prototype of your user feature in a power copy. The latter is much more flexible. This way your design can be made in several steps and you don't have to start again from scratch. At instantiation, it is also easier to handle possible troubles. You can get the most out of the visibility provided by the power copy features.
- If the user feature embeds a sketch, this sketch has to be iso-constrained. Thus, when instantiating the user feature and making changes in its new context, you must avoid uncontrolled modifications of the sketch geometry that you wont be able to manage because the user feature is a "black box". For the same reason, make sure that your sketch is attached>, and for that, always use the creation of sketch With absolute axis definition. This way, you are sure that the sketch is at the right position.
- If the user feature embeds contextual geometrical items like a draft or a fillet, it has to be resolved. It means that the base of their constructions has to be embedded too and must not be considered as an input of the user feature. For example a fillet on the edge of a pad depends on the geometry of the sketch of the pad. If this sketch is in input of the user feature and changes from square to round, the fillet inside the user feature is broken and the user feature in error.
- Do not embed datum or geometrical elements with external links to other documents (Copy\Paste as result with link). Don't try to embed a Body into a user feature, it is impossible. Because a Body is a package which can be empty or can contain Knowledge features for example. Whereas a user feature is a geometrical feature. To make it compliant, you have to transform the Body into a geometrical feature with a Boolean operation like Assemble, Remove, Intersect. After this, you can select the Boolean operation when defining the user feature and the associated Body is automatically embedded.