This action might not be possible to undo. Are you sure you want to continue?
Introduction to Parametric Feature Based Solid Modeling (Lecture #7)
Traditional CAD modeler creates geometry a specified size (A). In a constraint-based modeler, the geometric relationships are coded directly into the model with parameters. (B & C)
Like dimensions, parameters can be associated with geometric features such as lines, curves, and planes. Unlike dimensions, parameters do not have to represent a single static value. It is important to remember that parameters are always related back to geometric features. Likewise, geometric relationships such as parallelism are made between features such as lines or planes.
Modeling Process 1. 2-D skecth profile (A) 2. Assign enough parameters to fully define size & shape (B)
Modeling Process 3. Alter one or more of th parametric values (C) 4. Extrued or sweep the 2-D profile into 3-D part (D)
The Effect of Design Intent on Model Changes
The part on the left intends to have the bole fixed at an offset of 10 from the left edge whereas the part on the right intends to have the hole centered. The differences in the design intent can be seen when the overall width of the part is altered.
Most software packages such as Mechanical Desktop and Pro/E have predefined features that you use to build your objects. Like constraint-based modeling. feature-based modeling is an at-tempt to make modeling a more efficient process more in tune with how designers and engineers actually work. 4 . Feature-based Modelıng An important advancement in 3-D solids modeling is the introduction of feature-based modeling. Most modern CAD software employs a methodology know as feature-based modeling.Feature ConstructionTechniques Computer-generated objects are typically made up of features. The features available in the software are usually designed to relate to how engineers think in their design and manufacturing work.
with appropriate geometric shape created within solid modeling engine – solid modeling engine: a toolkit of modeling subroutines called by software Relationship of Feature-Based Interface to Geometric Modeler User Input FeatureBased Interface Solid Modelling Engine : (B-rep or CSG) 5 .Feature-based Modelıng Feature modeling interface higher level interface would permit specification of entities in terms of geometric and dimensional constraints permit definition of features directly by user.
Modeling Systems Feature-based Modelıng One of the newest developments in solid modeling. 6 . Addresses the design concerns previously noted. Represents an attempt to tighten the relationship between the model and the manufacturing processes required to produce the component.
but also higher level information. Feature-based Modelıng Parts are represented in terms of higher level entities (features) that have engineering meaning. 7 .Feature-based Modelıng Geometry is defined in terms of real world “features” as opposed to abstract geometric entities. For example: – work with holes as opposed to cylinders – cuts and extrusions rather than blocks and wedges. Models contain not just basic geometric and topological data (as all solid models will).
FEA. 8 . a “through” hole Features store non-graphic information for use in: – 2D drawing creation. CNC and kinematic analysis What is a variational profile? A variational profile is a set of plane curves and lines to which you can assign geometrical and dimensional constraints and which you can use to create solids or to add features to existing solids. Variational profiles are the basic components of parametric structure.Feature-based Modelıng Features capture “design intent” Included information defines how the features behaves in editing – for example.
What is a variational profile? You can use profiles to create solids and features by applying a linear sweep or revolving the profile. • The curves can form an open or closed profile and may contain islands. In the case of a feature. 9 . Rules for building a profile You can create a profile from any set of curves that meet the following conditions: • The curves must be co-planar and be drawn on the Work Plane. the profile is used either to add material to or remove material from a solid. but not islands within islands.
) •Profiles may defined as constrained sketch geometry (constraint-based systems) Type Passages Classifying Shape Features Description subtracted volumes that intersect the pre-existing shape at both ends subtracted volumes that intersect the pre-existing shape at one end subtracted volumes completely enclosed by material added volumes that intersect the pre-esixting shape at one end added volumes that intersect the pre-existing shape at both ends Depressions Voids Protrusions Connector 10 . cuts.Shape Features Created through: – sweeping and blending (lofting) of 2D profiles • features used to add material (protrusions) or remove (depressions. etc.
depth.diameter. fillets.Hard-coded features have a characteristic topology have a generic geometry user input for specific properties such as . rounds Hard-coded features Examples of manufactured features created through special feature-based dialog boxes include the following: Blind holes Counterbores and countersinks Slots Bosses 11 . entity reference (mounting face) examples – holes. slots.
Once these variables of the feature are defined. Reference features ▪Not geometric features ▪Used for orientation and location of features within model ▪Examples are: – datum planes – datum axes ▪Also include defined 2D “sketch planes” 12 . features usually don’t constitute an entire part.Hard-coded features The variables entered through the dialog box largely define the shape and size. By convention. the location is defined.
regardless of type – may be reference feature(s) – may be a stand-alone shape feature 13 . Base feature First feature created is the “base feature” The base feature: – provides the initial reference for all subsequent features. A feature such as a blind hole is located by indicating its orientation to a face and distance from two edges.Reference features The feature is typically located somewhere on a base part.
profiles are sketched to capture this “design intent”. or bosses rather than geometric terms such as circles or boxes. In a feature-based which supports constraints.Relation to traditional design During the design process of a component. more attention is given to form and topology than dimensional precision in the conceptual phase. The designer specifies features in engineering terms such as holes. The Features of Feature-based Modeling Feature-based modeling refers to the construction of geometries as a combination of form features. slots. 14 .
finite-element analysis.The Features of Feature-based Modeling Features can also store nongraphic information as well. The Features of Feature-based Modeling Old method: Define slot as Boolean difference between the part and space. Feature method: Through-hole feature understands that it must pass through the part. feature-based packages frequently record the geometric construction and modification sequences used in building the model. The problem: Lengthening the part geometry turns the slot into a blind hole. This information can be used in activities such as drafting. no matter how the part changes. and kinematic analysis. Furthermore. NC. 15 .
ribs. Revolve.Simple and Hole Wizard Scale Shell Rib Dome Shape Pattern and Mirror Surfaces 16 . slots. sweeping. chamfers. fillets.Feature-Based Modelling • Parts modelled by adding features to a base part • Features represent manufacturing “operations” – holes. Boss. Sweep. pockets. etc. and Cut Extrude. similar to a CSG boolean tree Feature-Based Modelling Base. and Draft Hole . • A history tree is created. Chamfer. revolving. and Loft Fillet/Round. • Material can be added or subtracted. etc. similar to CSG • Features are not limited to simple primitives. and can be created by extrusion.
like a ridge in a car hood.Feature-Based Modelling The designer would simply define a part in terms of fundamental manufacturing features. etc. blind slots. • emphasizes the use of standard components. 17 . but can complicate additions of unanticipated features. Feature-Based Modelling Advantages. Very high level. If a standard feature is used there will be a standard process plan to make that feature). through slots. • very intuitive and easy to use • can simplify other aspects of CIM (eg. such as chamfers.
• restrictive when dealing with nonstandard features • interaction of features can be hard to estimate • a complete set of all possible features would be very large There are two levels of features commonly used in these systems. • micro • macro Feature-Based Modelling Feature-Based Modelling A set of prismatic features might be. Macro Features box External Features linear chamfer linear round linear v slot linear slot linear round slot linear t-slot Internal Features rectangular pocket linear fillet 18 .Disadvantages.
Macro Features cylinder taper Internal Features internal taper internal slot internal tapered radial slot internal round slot countersink internal spline woodruff keyseat Feature Catalogs External Features rotational fillet thread square neck chamfer shoulder external radius key seat spline flat thread 19 .Feature-Based Modelling A set of standard features for rotational parts might be.
Feature Catalogs Using Feature Catalog 20 .
Part Families Features overview Extrude Boss/Cut solid 21 .
Notice that these two objects overlap each other. In other words. or assembly constraints. ROTATE. Basically. 22 . it is important for you to first understand how two objects combine to form a third object. a cutting. they share a common volume.Combining Objects To learn how features are used to create objects. you first identify which one you want to use as the base part and make it active. or an intersecting operation combines objects. Combining Objects Basic Concepts of Combining Parts To combine two parts. Then you position the toolbody part on the base part using MOVE. a joining.
joining. or intersecting them. 23 . you need to establish relationships between the two parts being combined in order to simplify the modification of the part at a later date or to create parts to exact size or shape specifications. but the base part and toolbody must be instances of different pars. Combining Objects Combining Objects with Relations When you are combining objects by cutting.Combining Objects Basic Concepts of Combining Parts You can combine as many toolbodies with a base part as you like. External parts cannot be used to create a complex part.
You can define the basic shape that your final object will have and then modify the individual sizes of the features that make up the object. the relationships constrain the relative locations of the parts that make up the final object. when you modify the object at a later point in time. 24 .Combining Objects Combining Objects with Relations These relationships are similar to constraints. Combining Objects Modifying the Features of an Object The major advantages of feature-based modeling is your ability to change the size of individual features on an object at any time.
• As you build individual features.Combining Objects Modifying the Features of an Object These modifications usually consist of modifying the order of construction for the features included in your object or deleting the features themselves from the object Basic Concepts of Creating Parts In general you may follow this process to developed a part design: • Look at the whole part & decide how it can be broken down into simple shapes. 25 . • Identify the most simple element to use as your base feature. • Determine the methods for creating the features. • Decide the order for creating additional features. review & adjust your ideas about how the features work together. you can revise the features you created earlier. • As you adjust your design strategy.
Features overview Cut the solid Features overview Corner Fillets Sheet metal 26 .
Features overview Features overview Sweep Face Blend Fillet Loft Extrude with center line 27 .
Features Slot Hole History Tree Final Part Increasing part complexity Part2 Part1 Countersink Counterbore Part3 Hole Fillets Slot Shell Base Features added 28 .
Modifying Parts • The part is created from the history tree • Features can be added. From protrusion to cutout Modifying Parts Draft Chamfer 29 . deleted and reordered • Feature dimensions can be changed • Feature parameters can be changed – eg.
Modifying Parts Pattern Constraint-based systems Shell 30 .
joined. There are two major types of constraint-based modeling systems available on the market today: variational geometry and parametric modeling. and as “relations” when parts are cut. This makes it easy to make flexible design changes to part models. What are Constraints ? These rules are described as “constraints” on wireframe geometry used to extrude and revolve pans.What are Constraints ? The solid model stores more than just the final geometry— it stores the “design intent” rules that govern what will happen when geometry changes. or intersected. 31 .
A degree of freedom exists if there is currently no constraint applied to control a specific feature of the geometry of your sketch.Variational Geometry With variational geometry. constraints are applied to the 2-D shape in terms of degrees of freedom. as shown below. Variational Geometry This concept is best described by a simple example. defined by 4 points. What do we want to happen if point 3 is translated to the right? 32 . 1 through 4. Start with a simple 4-sided polygon.
33 . it might not let you try to solve a set of equations where there were more unknowns than there were equations. If you were using a general-purpose symbolic math package. Uses of Variational Geometry What happens if fewer than this number are applied. It looks at the geometry. Normally. and a change is made to a value? There could be more than one possible solution. and attempts to make the minimum change if more than one solution is possible. to solve a set of simultaneous equations. The solver used to solve variational geometry is not just a simple simultaneous-equation solver.Uses of Variational Geometry How Many Constraints do You Need? Some mathematically-inclined readers may have a question at this point about how many constraints can be applied to a section. the number of equations must equal the number of unknowns.
Constraint-based systems • User constrains geometry based on Design Intent • Design variations can be generated by changing a few key dimensions • Geometry is automatically regenerated based on constraints 34 .Constraint-based systems Constraint-based modeling is a technique that can help the CAD operator manage the model modification process. In a constraint-based modeler. describing the relationship of geometric elements with equations and logical relationships creates a part.
Constraints stored internally as equations. Equations are solved to resolve the sketch geometry. but rather driven by the constraints.Constraint-based systems Concept first developed in 1970’s First commercial system in 1988 Most current professional level feature-based modelers use constraint-based techniques to help define features. 35 . (through the creation of profiles) Constraint-based systems 2D profile geometry not explicitly defined.
Solving constraint equations Set of constraint equations solved to define a unique solution profile. Equations may be solved sequentially – referred to as “parametric system” – results of each previous solution used in next Equations may be solved simultaneously – referred to as “variational system” Constraint-based systems Constraint-based systems may be – parametric (sequential evaluation of constraints) Variational (simultaneous evaluation of constraints) Many systems use a combination of both techniques 36 .
Constraints allow for a great deal of flexibility in the design.Constraint-based systems Constraints also used to control: the relationships between features on the same component the relationships between features on the different components (in separate files) the relationships between components in an assembly Types of Constraint Constraints enable you to preserve the original design intent even as changes are made to the model you have created. but it is important that you apply the constraints properly so that the integrity of the design is maintained. 37 .
Ground constraints are added to your sketch to define which of the pair of lines involved is the movable line. 38 . you establish relationships that must be maintained as modifications are made to its geometry.Types of Constraint Constraint Types • Ground constraints • Dimensional constraints • Geometric constraints Types of Constraint Ground constraints When you constrain your sketch.
add the parametric characteristic to the profile. (X. or rotation angle of the geometric ele-ments in your sketch.Y Vertical Horizontal Types of Constraint Dimensional constraints Dimensional constraints specify the length.Types of Constraint Ground constraints • Vertical • Horizontal • Angular • X. You can change a dimension at any time and its new value will be immediately reflected in the design. radius. Dimensional constraints. on the other hand. Geometric constraints force the profile to conform to a specific shape.Y) Location Angular 39 .
angular. radial.g. diametric Dimensional constraints also stored as equations in database Types of Constraint Dimensional constraints • Horizontal dimension • Vertical dimension • Linear dimension • Angular dimension • Radial dimension 40 .Types of Constraint Dimensional constraints Specified as dimensions – e. linear.
Types of Constraint
Dimensional constraints Linear This constraint is used to define – the linear distance between two lines between a line and a point, or between two points. Angular
Types of Constraint
Dimensional constraints Angular dimensions are used to define the angle between two lines on your sketch.
Types of Constraint
Dimensional constraints Diametral & Radial Diametral constraints are used to control the diameter of any circles on your sketch. Radial dimensions control the radius of any arcs on your sketch.
Types of Constraint
Method of Entry & Display of Dimension Values Dimensions can be shown and entered as either numeric constants or as equations.
Use numeric values when the size of an object is not related to another object and use an equation when the size of an object is directly related to another object.
Types of Constraint
Geometric constraints Size and position of specified 2D geometry controlled by geometric relationships with other entities. May be implied (system created) or applied (user created), depending upon software.
Types of Constraint
Geometric constraints Geometric constraints control the shape of the profile. When you profile your sketch, the sketch is analyzed and geometric constraints are added to suit the sketch. Geometric constraints are used to define the shape of your 2-D geometry.
. – concentric arcs/circles. equal length/angle. co-linearity. vertical. horizontal.. perpendicularity. parallel. tangent Types of Constraint Gemetric constraints • Parallel • Perpendicular • Collinear • Coincident • Tangent • Horizontal • Vertical • Project • Join • Xvalue • Yvalue • Radius Parallel Perpendicular Coincident Colinear Tangent 44 .Types of Constraint Geometric constraints Examples of geometric constraints: – parallelism.
Types of Constraint Constraint-based systems Applying Constraints to 3D Geometry It is possible sketch directly on a surface of a 3D object. When constraining 2-D geometry on 3-D objects. 45 . remember to add the dimensions before extruding to cut-out or to protrude because constraints cannot be added as a portion of the definition of the 3-D part.
Constraint-based systems A typical constraint-based system includes: • Sketcher • Constraint engine • Feature manager • Solid modeling system 2D input system Sketcher – creation of 2D entities (lines. arcs. splines) Sketch geometry used for feature construction – through sweeping and lofting techniques and in some hard-coded features Includes link to constraint engine 46 .
– allows creation of dimensional constraints – controls implied geometric constraints – may allow user control of geometric constraints (add or remove) Constraint Engine Provides for creation and modification of: – dimensional relationships in sketches – dimensional relationships between features – all geometric constraints Provides for resolution of constraint equations 47 ...Sketcher Sketch geometry constrained geometrically and dimensionally Sketcher.
etc. with unrelated geometry. etc. parameter associated. with value. linear. collinear.) • types and level of geometric constraints (concentric. 48 .) • freedom to postpone dimensioning – work with under constrained geometry Constraint Engine (Factors related to its usefulness) • dealing with “parent/child” relationships • external compatibility (importation/exportation) • configuration of variables – symbolic name associated.Constraint Engine (Factors related to its usefulness) • dimension types recognized (angular. etc.
Constraint Engine (Factors related to its usefulness) • User may choose whether implied constraint apply to all or part of the geometry • Incorrect constraints automatically flagged (in fully constrained approach) Constraint Engine (Factors related to its usefulness) • Ability to undo or abort constraint operation • Over or under constrained situation allowed temporarily • Implied constraints may be overridden 49 .
Also special “user-defined” features – user-defined features may be created. shape and reference features.Constraint Engine (Factors related to its usefulness) • Large number of hard-coded features • Feature editing which permits complete redefinition at later time • Feature re-ordering capability • Patterning and instancing of features Feature Manager Allows insertion of “hard-coded” . and inserted 50 . stored.
g.Feature Manager Supports feature editing processes Typically supports: – feature suppression (from display and editing) – control of feature construction order – control of feature references (parent/child) Model creation order • order dependent process • parent/child relations based upon order of creation • only able to reference previously defined features • may be able to “re-order” model in feature manager Flags violation of feature intent – e. A blind hole becomes a through hole because of a transaction subsequent to its insertion 51 .
• dependency exists between created feature (child) and parent: e. – other features used to locate it – insertion features • mounting feature: surface or sketch plane – source features Parent/Child relationship Desired Characteristics of Modeler • examine what is: – desirable – useful • in feature-based. constraint-based system • patterns and part families • dependency means process of editing parent feature requires considering child features of that parent 52 .g.
Example Constraint-based systems D5 Constraint-based systems Design Intent • The part should be twice as long as it is wide • The hole should be centred in both directions D1 D2 D4 D3 • The hole diameter should be 50mm 53 .
Parametric Modelling Parametric modeling is a subset of variational geometry. That is. you are able to add constraints to your sketch to control how the geometry will behave as modifications are made. Parametric & Variational Modelling 54 . In general. you need to have a fully constrained shape before you can use parametric modeling to create a 3-D solid. Parametric modeling allows for a flexible design in much the same way that variational modeling does.
other dimensions calculated sequentially D1 = x D2 = D1 / 2 D3 = 2 D1 D4 = D3 / 2 D5 = 50 55 .Parametric & Variational Modelling Parametric modelling – constraints defined sequentially – each constraint calculated based on previously defined constraints – order of constraint specification is important • Variational modelling – constraints solved simultaneously – order of constraint specification doesn’t matter Parametric & Variational Modelling Parametric definition User specifies dimension D1.
Parametric & Variational Modelling Variation definition Modelling Approach • Sketch approximate geometry • Generate solids and features • Add constraints and dimensions afterwards Solve system of simultaneous equations: D5 − 50 = 0 D1 − 2 D2 = 0 2 D1 − D3 = 0 D3 − 2 D4 = 0 D1 − x = 0 56 .
and constraints added automatically • For example. with a constraint Assembly Modelling 57 . two lines that are nearly perpendicular “snap” perpendicular.Smart Skectching • Most CAD systems use “smart” sketching tools • Design intent is inferred.
Assembly Modelling • An assembly consists of two or more parts located relative to each other in space • Normally the relative motion is constrained • Most assemblies are fully constrained • Mechanisms are partially constrained 58 . • Physical distance between design teams in global corporations and the need for electronic transfer fueled the need for computer-based assemblies. • Previous design procedure was to assembly the actual components or prototype later in the design cycle.Assembly Modelling • Many modelers have been used to create models of single components.
Assembly Modelling Automotive and aerospace industries among the first to make extensive used of assembly modeling.g. Assembly Modelling Provides a logical structure for grouping and organizing components into assemblies. Structure permits: – identification of components – control of associated data (e. BOM) – control of relationships between components and sub-assemblies 59 .
Assembly Modelling Most assembly modelers work by creating a file which includes only: – pointers to the individual components used – the constraints used to position the components with respect to one another – multiply occurrences of the same component are handled by instancing Assembly Modelling Relationship data includes – Constraint information • orientation and location of components with respect to one another • variational relationship between features of different parts 60 .
.g. 61 . hole patterns) Provides a mechanism for propagating a design change though out all components of an assembly without modifying each component individually.Assembly Modelling Relationship data includes .. – Instancing information • multiple occurrences of the same component – Tolerance and fit information • part interference and clearance Assembly Modelling Inter-part dimensions provide control when an assembly depends upon key dimensions (e.
Assembly Modelling Most modern feature-based. they include an Assembly Manager 62 . Creation of exploded assemblies.Assembly Model Use Creation of orthographic assembly drawings. Facilitate packaging Perform interference and clearance checks. Constraint Engine and Feature Manager. constraintbased systems have assembly capabilities. In addition to the Sketcher.
edges 63 . edges – coincidence • points. axes • with offset distances – mating • surfaces.Assembly Manager • Permits creation of: – sub-assemblies from parts – assemblies from sub-assemblies and parts • Controls relative placement of parts/subassemblies (constraints) • Controls regeneration of assemblies/subassemblies after modification Part/Sub-assembly Placement Examples of constraints applied to assemble components – alignment • surfaces.
– complexities such as fillets/rounds removed – representation may simply be the “envelope” of the part with mating features. many assembly modelers provide means for simplifying the assembly. The use of instancing helps reduce complexity. Simplified Representation Another technique used is aggromeration. Many systems also support the use of simplified representations. – Grouping components and sub-assemblies into a single static definition. 64 . In these cases.Simplified Representation Large assembly models can serious stain the processor capabilities of the hardware system being used.
Applications of Assembly Models • Interference checking • Visualization – rendered – exploded • Animation • Mechanism analysis Assembly Example 65 .
Exploded Assembly Assembly Hierarchy • The assembly hierarchy defines relationships of parts to each other • There can be multiple levels of subassemblies 66 .
. subassembly Multiple instances Another View Assembly Subassemblies Parts 67 ..Assembly Hierarchy Example • Pump Assembly – Link assembly • offset link • offset link – Piping assembly • well casing • well seal •… – Handle assembly – .
and entry of numerical values • If position or dimensions of one part change. knowledge of coordinate systems.Positioning Parts in an Assembly • Parts can be positioned by translating and rotating them into the right locations • This requires careful measurement of relative locations. this has to be redone Example Assembly Position & orientation Subassemblies Parts 68 .
Using Assembly Constraints • Constraints can be used to create permanent relationships between parts • In I-DEAS. Example Assembly Constraints Subassemblies Parts 69 . these use the same commands as 2D constraints • Typical constraints: – two faces meet – axes coincident – two faces parallel at fixed distance – etc.
Assembly Constraints Mating Coincidence Concentric Animations and Motion You then submit the mechanism to the embedded ADAMS simulation engine. so it can determine how the mechanism will perform and behave. You can view the results of the simulation as an animation showing the motion of your mechanism or as numeric output. Parallel 70 .
Motion Type • Constant Displacement • Constant Velocity • Constant Acceleration • Motion Expression Mechanism Design • A mechanism is an assembly that allows relative motion between parts • The mechanism consists of links connected by joints • Types of joints: – rotational – sliding – spherical – cylindrical – screw 71 .
5 1 3 2 2 Rotational Total DOF DOF Constrained 2 3 2 0 1 .5 2 3 0 0 5 5 4 3 4 1 3 6 2 2 Mechanism Joints Revolute Joint Translational Joint Revolute Translational Cylindrical Spherical Universal Screw Planar Fixed Contact Constraints: Point-curve Curve-curve Spherical Joint Cylindrical Joint 72 .Mechanism Joints Joint The following table shows the joints supported by Dynamic Designer (ADAMS) with the translational and rotational degrees of freedom that they constrain. Translational DOF 3 2 2 3 3 .
Mechanism Constraints and Joints Curve/Curve Constraint Mechanism Constraints and Joints Point/Curve Constraint Screw Joint Universal Joint Planar Joint Fixed Joint 73 .
User Interface of Dynamic Designer Browser Motion Menu The Browser Tree contains branches that will be called nodes. 74 .
Mechanism Analysis • I-DEAS allows the mechanism to be “driven” by defining an input motion for one of the links • The other links move based on the kinematics • I-DEAS can calculate reaction forces based on gravity and applied forces Dynamic Analysis • More advanced software can model and analyse complete dynamics • Applications: – vehicle dynamics – suspension analysis – biomechanics – robotics 75 .
A Simple Example: Pendulum Dynamic analysis software will generate the motion by solving the equations of motion Other Examples: Dynamic analysis software will generate the motion by solving the equations of motion Radial Piston Air Motor Motorcycle 76 .
List and describe five types of geometric contraints used during the sketch contructivr process of a parametric design package. 2. Explain what is meant by the parent-child relationship that exists between parametric features. Radial Piston Air Motor Piston rod 77 . 3.Other Examples: Dynamic analysis software will generate the motion by solving the equations of motion Introduction to Parametric Feature Based Solid Modeling Questions : 1. Describe feature-based modelling and contstraint-based modelling.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.