PRO E Tips N Tricks
PRO E Tips N Tricks
PRO E Tips N Tricks
Here is a quick tip, common for some, but very useful if you have not seen it . . . When working in a drawing, sometimes you need to open the model (part or assembly) you are detailing to make some model change. Figure 1. Corner of File Open Dialog Box
To do this quickly, simply select FILE > OPEN. The default model shown in the Name line near the bottom of the dialog box is the current active drawing model. See Figure 1. Just hit OPEN and the model will open -- Even if the part is not in the current working directory.
For whatever reason, when opening a model, many people just miss the fact that the active model name is already there in the Name line, and browse to find it anyway -- when all that is needed is to select OPEN. Note: This works only with the current active drawing model. Note: The active drawing model name is shown at the bottom of the screen in Drawing Mode. If the model you want is not the current active drawing model, simply make it the active model. In WF2+ products, select the drawing view, then the right mouse button for the menu shown in Figure 2. Select Set as Active Model, then do the Open Model technique as explained above. ( In Pro/E 2001, the menu picks are VIEWS > DWG MODELS > SET MODEL > Select your model from a list -- this way it does not even have to be a model visible on the screen.)
For those of you on the extreme in customizing your drawing details, here is a fun trick for custom balloons. Change the shape of the balloon and/or associate parameters and/or text for easy reading. We have used this in Pro/E 2001 as well as WF2. Some of the menu picks differ, but the overall method works with both. Wildfire 2 seemed a little easier. To do it, create a custom balloon symbol and save it. (Just for fun, we have included the balloon used in this example here for you to download if you wish. (Zip file for downloading.) To place it on the drawing, choose BOM Balloon from the Table menu and choose the repeat region. Next, Change Type for the new balloon shape. Select the Custom option from the BOM Bal Type menu and retrieve your custom balloon symbol. In 2001, the balloons disappear, but when they are shown again, they are the new shape. Wildfire updated immediately and kept all the balloon positions!
Associating a note with the balloon requires a parameter (in this symbol the parameter is "material"). To display, the parameter must be contained in each model, and be shown in the repeat region. (It seems to me there should be a way to do this without the information also being displayed in the repeat region, but I don't know how.) To use the symbol, simply change the parameter to one of your own, and it will show up next to the balloon. For no text, leave the parameter empty. To go the next step in customization, change individual balloons rather than the whole lot. You can read about it in Pro/E Help. We realize there is a lot of information not contained in this tip. Things like constructing symbols and adding parameters are covered in Pro/E Help.
There are several controls in the Sketcher Preferences dialog box that control the way Sketcher acts. (Top menu Utilities > Sketcher Preferences) Some of the key things to check out are:
Note: The Default button puts everything back to the way it is defined in your config.pro. Each of these entries can be set to persist using config.pro options.
Note: You can turn OFF or lock ON individual constraints while sketching using the technique shown in our November 2001 Tip-of-the-Month.
o o
Note: Sketcher accuracy can be a very helpful tool if you are having trouble with a sketch bouncing around as you sketch, or if you have very large and very small entities.
In general, Sketcher Preferences effect the behaviors and initial characteristics of the items created while being sketched. This is Figure 2. Polar Grid not absolutely true, however. Some things, like number of digits can change for a given sketch if it is redefined after preferences are modified. This may be a bug, but an example is a sketch with 3 decimal places changed to 1 decimal place which messed up the model. Just be consistent and you will not have trouble. - Most preference changes will persist for the current Pro/E session, some will not (like grid changes). - Some preferences become associated with the particular sketch (like accuracy). - Most preferences can be overridden for individual cases using other functionality (like constraints). - Some items may change behavior based on other areas of Pro/E (like number of decimals for an individual dimension). - I have not checked them all, so consult Pro/E Help for an explanation of behavior. Most of the Sketcher Preferences can be set to persist using config.pro options. See Pro/E Help or the Support section of www.ptc.com for a list of config.pro options and a description of what they do.
Figure 1. Arc Length Dimension (If the animation does not work, click on the image.)
Sketch the arc. Begin Dimensioning mode (Sketch > Dimension > ...) > Select one endpoint of the arc > Select the other endpoint > Select somewhere on the arc > Place the dimension. TIP: In the dimensioning selection, you can select the arc before the endpoints. Either order will work.
TIP: An angular dimension is often a good choice for the varying dim of an Arc Length dimension (above). Note: For whatever reason, the Arc Angle dimension cannot be placed on an arc after a perimeter dim is already there. It can be made before, but not after. Position Dimensioning: Sometimes the actual radius or length of an arc does not matter, only the position of the arc with respect to its references. A simple scheme to accomplish this is with a centerline and a dimension tangent to the arc. Figure 3 shows the dimensioning scheme. Dimensioning Arcs in Drawings: The same Arc Length and Arc Angle dimensions can be made in a drawing using the Create Dimension functionality just like in Sketcher. Use Insert > Dimension > New References > then pick (just like dimensioning an Arc Angle) each arc endpoint > pick the arc > place the dimension > then choose Angular or Arc Length from the Arc Dim Type menu (Figure 5). The result of each dimension type is shown in Figure 4.
<CENTER)
Figure 5. Menu
TIP: Use query select to choose the endpoints to be sure you are getting the right thing. Note: There is the little arc length symbol over the arc length dimension. For more information on any of the above topics, please see Pro/E Help, or search the knowledge base at www.ptc.com. Of particular interest, TPI entries 35374 & 110207 deal specifically with dimensioning arcs.
Creating a "Look" or an "Idea" is much easier in a graphics package, so ideas often start that way. For the CAD guys, it's not uncommon to see the eyes roll when the art department comes and says "This is the way it should look." Since the artistic nature of a product is important to consumers, the little extra is worth doing. Actually, making 3D geometry from images is not so difficult. For this tip, we will use a simple example of 2D going to 3D text like that of a Logo, but this technique is easily extrapolated to creating full products by using the process shown in our August 2001 Pro/E Tip-of-the-Month. Once you have the image, the first step is to bring it into Pro/E. This is critical in terms of size and placement, so use an image editor to size the image appropriately. You may have to do some iteration to get things to match correct, but the essence is to place the image on a Pro/E surface as a decal then size it to be correct inside Pro/E.
TIP: Use the largest image practical (large image, with lots of pixels). The better the resolution of the image, the easier it will be to match geometry. Basically, an image is placed in Pro/E using View > Model Setup > Color and Appearance... > Add a color, then go to the Detail tab > Decal > Map > Choose the image, then OK. When you assign the new color to a surface previously created, Pro/E brings up the Appearance Placement controls (shown in Figure 1) so you can move or size the image to the geometry. TIP: The turn wheels are nice for generic fit, but type in values for a more exact fit. (If you have not done this before, see Pro/E Help on adding an image as a decal. There are limitations with files, etc..) TIP: If the size of the solid surface is made the same as the image, it helps with placement. For example, if the image is 1200 x 1000 pixels, the placement surface should be the same 1.2:1 ratio.
Once the image is placed, simply build geometry using the image as a visual reference similar to the techniques shown in our August 2001 Pro/E Tip-of-theMonth. An example of a sketch over text is shown in Figure 2. Note the effect of image resolution. Note also that the sketched entities are only "eyeballed" into place. TIP: For more complex geometry, sketched splines are a good tool for matching
TIP: Keep sketches simple. It is a good idea to make the geometry using several features that are simple rather than to make it with one that is really complex. TIP: Assign the part a transparent color so you can see through the part to create the features. Figure 3 shows the transparency. It also shows the model rotated slightly to see the completed features. This is an easy way to take image data and create solid geometry -- though in reality, this tip really does not address all the steps. See Pro/E Help for more information on each step. Also, I have found several issues with the functionality. Some of the key ones are listed below. Till next month ... Enjoy!
ISSUE: I do not know why, but sometimes Pro/E does not save the decal image in the file. Figure 3. Completed Geometry It is aggravating to have to place the image each time you start Pro/E. Sometime is does it, sometimes not. I have found that on the SUN (Solaris), it keeps it, but on the PC it does not. Go figure. ISSUE: Make sure the size of the image is correct before creating too much geometry. It is a huge pain to go back later to resize things.
ISSUE: Pro/E does not have a good way of placing an image to assure there is not distortion. Make the surface for placement the exact same ratio (height to width) of the image prior to placement. This will assist in getting the image in without distortion. ISSUE: I have had mixed luck with placing an image on Surface Geometry as compared to Solid Geometry. Sometimes Pro/E will flip the image on a surface or it won't place the decal, just the base color. Sometimes if you create a surface, make it a Thin Protrusion from the surface, then place the image on the solid geometry then suppress the protrusion, the image is still there on the original surface. I do not have a solution for this except to say try it and see what works. It almost always works on solid geometry.
Wildfire does not give the same options. By default, selected surfaces are highlighted both on the edges as well as with shading. It acts differently in different modes, however. In some circumstances, there is a dot font mesh over the highlight (like for copy surfaces). In other cases the surfaces are only highlighted (like when selecting surfaces for color). In still other situations, the old menus (like those above) come back. In Wildfire, assuming the part and the highlighting are good contrasting colors, the visualization is pretty good. (See Figure 4.) -- Try visualizing in wireframe. The visualization example as shown in Figure 5 is kind of neat.
This Tip-of-the-Month was probably more fun for me to create, than for you to read. I'm not so sure why you would want to do this (except it's fun) (because there are plenty of pre-defined sections with Pro), but here is a simplistic explanation. This tip is done in part mode, but drawing and assembly modes are similar. Select a section, then X-Section > Modify > [Select the section] so the crosshatch displays on the screen. Choose Hatching, and you should be into a menu structure that looks like Figure 1. (For Wildfire see below.) Choose Add Line and follow the prompts. You may have to play around a little to get the hang of it, but it is pretty easy to figure out once you try a bit. Some Tips: Offset - Distance from the first line of the cross section pattern. Spacing - Distance between section pattern lines. Angle - Starting angle based on a horizontal line, rotated counterclockwise. Delete - Deletes the section pattern highlighted [red]. (Note: When you change the Figure 1. color of a line, it will not show immediately as it is still highlighted [red]. When you finish or go to the next line it will show the color.) Next Line & Prev Line - Allows you to scroll through the groups of lines you have defined. Individual / Overall - In several of the menus like Spacing and Angle, there is an option of Individual or Overall. (See Figure 2.) This is often overlooked. If Individual is selected, the actions apply only to the highlighted line -- the [red] one. If Overall is selected (usually the default) the action applies to the whole section. Save - You can save sections once created to be used again.
Wildfire ??? If you can find the menu ..... (View > View Manager > X-Sec (Tab) > [select the cross section] (sometimes you also have to use the Display pull-down menu and select Show X-Hatching) > select the Edit pull-down menu > Redefine Figure 2.
> Hatching and that brings you to the menus shown. (Who says Wildfire has fewer mouse clicks :) )
Anything else? See the Pro/Engineer Help. An example of a custom cross section hatch is the background of this table. Believe it or not, this was created in Pro/E. If you have some extra time, it's an interesting diversion from the norm.
To see another version of the model: Type in another version number, Turn OFF Preview then turn it ON again (as shown in the following 2 images).
Yes, sometimes the Preview does not work -- I don't know why -- However, when it works, this is a pretty nice function.
The equations make each of the 3 variables (X, Y, Z in Cartesian Coordinates) independent of each other and based on "t" which Pro/E will vary from 0 to 1. So, a simple math equation for a parabola, for instance, that is normally written as: x=y^2 In Pro/E, an equation must be written for each variable independently like: x=t^2 (x varies with square of t) y=t (y varies linearly with t) z=0 (curve on the x-y plane)
Pro/E evaluates the equation from t=0 to t=1, so to scale the result, just add a scale factor to the equations like: x=3*t^2 (scaling the result by 3)
Additionally, you can displace the curve by adding a constant to the equation like: x=1.2+3*t^2 And/Or, you can change the Z position by making Z equal to some non Zero value, or even an equation of its own. That's the simple part. Now, how do you get control of the equation so you don't have to Redefine it to modify the values? This requires another feature (or features) for the controlling values -- like a value of another feature -- like a Relation. Just change the constants in your equations to be parameters defined elsewhere in your model. TIP: Create other datum features (like offset planes or curves) then use the dimension values of those to drive your equations. In the equation example below, a datum plane was created as an offset from a default plane, with a value of 3. The datum plane offset value has the parameter name d0, so the 3 of the equation x=3*t^2 is simply replaced with d0 making x=d0*t^2. (You can find those parameter names by showing the values (like with Modify) then use Info > Switch Dimensions. The parameter names show instead of the values.) Note: Do not use the & symbol with the parameter names like in equations or drawings. Why is it different? Just another inconsistency.
For more control and to really use the available power, expand the above concepts to all the equations. The example below shows the curve generated from the following equations: x=d1+d2*t^2 y=d0*t z=1+d3*cos(t*400)
Note: that in the X-Y plane, the curve is a parabola, in the Y-Z plane, the curve is a segment of a sine wave, and in the X-Z plane, the curve is a combination. (The X-Y plane is shown in grid.)
Where do you use equations? For many things perfect shape is not so important, but for some things, like flow dynamics for instance, it can make a difference. Some examples: For a parabolic curve, most people use sketcher and a conic feature. Those are great, but if you need to know the values, it is insufficient. How can you create a perfectly and smoothly continuous curve in multiple directions? Is there another way to insert something that varies as a SIN or COS?
Curves such as these are extremely powerful in creating certain types of geometry, and they are very stable -- assuming, of course, that Pro/E will allow you to create them in the first place. : )
By The Way, (for whomever asked the question), Yes you can, and this is How you create an eliptical helix: x=4*cos(t*3*360) y=2*sin(t*3*360) z=5*t
We wish you the best of luck using this great Power Tool.
The steps for creation are as follows: (Instructions are given for Pro/E 2001. I do not recommend Wildfire or Wildfire 2 as they are less efficient and have many problems.) 1. Create the curve. This can be any continuous curve, but must be a curve feature. In versions of Pro/E including 2001 and earlier, curve types are easy to find: Insert > Datum > Curve... > (choose from a number of curve creation possibilities). In Wildfire and above, PTC scattered the curve types all over in different menus: (which I have to say was really stupid), Some are in Insert > Datum > Curve, some are in the Edit pulldown menu -- like Project . . . 2. Create a point on the curve: Insert > Datum > Point > On Curve > Length Ratio Pick the section of the curve you wish to use, or the whole curve by using Figure 1. Features on a Curve
Query Select. Notice the section of the curve that highlights -- the curve section typically highlights first, then the whole curve next. Depending on which end of the curve you wish to start your pattern, the ratio number may be near 1 or near 0. (See Help on Points for more info.) 3. Create the point pattern. Create a Dim Pattern using the point ratio parameter, and make the increment be a fraction so the sum of the ratio steps remains less than 1 (greater than 0 if the step is going smaller). TIP: Make the pattern now to be sure it will pattern as you wish, then create the rest of the features using the first point as the reference. Later you can choose how to create the patterns.) TIP: Typically it is a good idea to write the ratio and steps into a relation so it is controlled by the number of pattern members. You change the number of members, and let Pro/E calculate the ratio step. Figure 2. Pattern of Points
4. Create an Axis through the first point, Tangent to the curve. Insert > Datum > Axis > Tan Curve. Select the curve (the same portion of the curve selected when the point was created), then choose the point for location. (There was one version or date build of Pro/E where this functionality was removed. It may be Wildfire, I do not remember, but they took out the ability to create an axis tangent to a curve through a point on the curve.)
5. (Optional, depending on geometry) Create a Datum Plane Through the point, Perpendicular to the Axis. TIP: Make sure all references selected during feature creation will be valid for every feature instance along the curve. If a reference is not part of what will be patterned, make sure it will be valid for all instances of the pattern. A Sketcher Reference plane for instance. 6. Create the feature(s) to pattern. In this example, a Protrusion was revolved about the axis, then some Cuts were revolved and extruded. 7. Pattern the features. There are 2 main ways to pattern the features, and the method you choose can depend on your preferences, how the features were created, references, or on a Pro/E whim. I almost always try to create a Ref Pattern of each successive feature First a Dim Pattern of the point (as above), then a Ref Pattern of the Axis, then a Ref Pattern of the Datum Plane, etc.. If the features will not Ref Pattern, or if you prefer, Group the respective features, then Pattern the Group. (See Help documentation on Groups and Group Patterns for more information.)
FINAL TIP: Read the Help documentation for assistance with any of the above features or creation techniques.
Figure 1. Crosshatch
Figure 1 shows the assembly model with the simple cross section in a typical crosshatched display. This is done by selecting Visibility in either the Display menu or the Right Mouse menu. An eye icon shows up in the View Manager > Xsec window to indicate that section visibility has been set. A nice functionality addition for this tool is the crosshatching persistance -even when the dialog window is closed -- even through regeneration. The down side: You must deliberately go into View Manager again to turn it off -- and that command is only available by selecting the section name and using the Right Mouse button menu > Unset Visibility. To display a more explicit cross section, select the desired section name in the View Manager > Xsec list, then use the Display menu to select > Set Active. In our example, this clips the model to look like Figure 2. You can choose which side displays with Display > Flip, and the graphics are much better than the old CLIP functionality. Figure 3. Highlighted Components The clipped section is a very convenient way to work because it is also persistent. As shown in Figure 3, the internal components are still there, and selectable, they are just clipped to the section. You can even select features to modify that are technically clipped away. To get this to go away, you have to activate the No Cross Section item in the View Manager list. (Red arrow pointing to the No Cross Section item.) The User Interface of the new View > View Manager is not very intuitive, but if you take a few minutes to play you can figure it out. Try the options and see what they do. Good Luck !!
You can open a trail file using any text editor (something like WordPad in Windows). You can even open it while Pro/E is in session if you need to see where something you just loaded came from.
Scroll down through the INFORMATION window. The last section is labeled MASS PROPERTIES OF COMPONENTS OF THE ASSEMBLY. An example is shown in Figure 2. The information is somewhat jumbled together, but the left most column is the density of each component (average density for each subassembly). The right most column is the assigned material file name. (Note: The material file name listed here is not the same as the material condition name written about for the July 2004 Tip-of-the-Month. The material condition does not appear here.) A quick scan of the densities will show any that are out of range. In Figure 2, the 3rd item, named LCH-BARB-END has a density that is several orders of magnitude smaller (... e-05) than the others. This is a good indicator that something is not assigned correctly. Another indicator is a value of 1.0000. In Figure 2, a quick scan of the materials column (right side) shows the assigned materials. Anything labeled UNKNOWN is worth a closer look. For the LCH-BARB-END, no material was assigned. The other one with an UNKNOWN material is LCH-RELEASE, which is a subassembly. All sub-assemblies will have an UNKNOWN material. It would be nice if Pro/E would allow a quick drill down capability, or even an indicator that the component is a sub-assembly, but they do not. You just have to know that, then open the sub-assembly to do the same kind of model analysis.
Continuing . . . . To have Pro/E take the name from the material file, 3 things must be done: (... in this order.)
1. Create the material file with the value for the Material Parameter in the "Condition"
field as shown in Figure 1.
2. Assign the material to the part. Setup > Material > Assign > From File ...
3. Create the following relation to read it: material=material_param("condition") Note: In the sample of Figure 1, the name is the same as the title of the file, but it is the "Condition" field that is important. To make this a little more automated, it is nice to have the "Material" relation already created in the StartPart. However, another quirk with Pro/E makes it so you cannot create the "Material" relation unless a material is already assigned. The trick around this is to have an "Unassigned.mat" material assigned to your StartPart. This does three things:
1. The condition field of the "Unassigned.mat" file is "Material_Unassigned" or "-----". This is great on a drawing because it is easy to see a missing assignment. 2. The above Material relation can already be created in the StartPart so when you assign a material to the part it will automatically update the Material parameter. 3. Assigning a density in the "Unassigned.mat" file that is several orders of magnitude heavier than the norm will alert you to an unassigned part when you do a Mass Properties calculation, and it will allow the Mass Properties calculation to occur easily without asking for densities and/or coordinate systems.
1. Select features in Modify Mode to display the dimensions you wish to blank. 2. Open the Layers Dialog Box.
3. Create a new layer - name it something that makes sense to you.
4. Select to Add Item to Layer (the + sign, or menu). 5. Select 2D Items from the Layer Obj menu.
6. Select the dimensions you wish to blank.
1. Carefully choose references. This includes references for sketching planes, sketch
orientation, sketcher references, edges or surfaces for rounds, etc..
2. Choose references that follow the design intent. Though it's easy to make all
your features reference only the base datum planes, the model won't follow when modifications are made. Choose references that allow the model "move" with the intent as changes are made. (In Practice: Don't just accept Pro/E's automatic references (especially in Wildfire). Think about the design intent and choose references that are stable and reflect that intent. Wildfire is horrible about automatic references. Unless you're sketching on a default datum in the assumed orientation, automatic references are rarely applicable or appropriate. So much for minimizing mouse picks.)
3. Choose references that won't disappear. References like edges that disappear
when rounded, are not usually the best choice. Datums and planner surfaces are typically better. References from base features are typically more stable than those of later ones.
(In Practice: Pro/E provides different methods of selecting references that give similar results, and some are more stable than others. For example, surface selection by Surf & Bnd, or Loop Surfs when selecting for draft (and other times). Select using Intent Chain (May 2002) for edges. These are just a few examples. Choose the best method for your application.)
5. When several features are to reference the same thing (like a planner surface or
axis), create datums for control. (June 2001) (In Practice: Key datums (planes, points, axes) are easier to find and select when they are named. Named features also denote significance for someone changing the model later. Name your important datums.)
6. When several aspects of a part must interact (like cuts and protrusions to allow
wall thickness and spacing) build control features like curve sets to manage the interactions, then reference them with the features.
7. Create relations that associate features when direct references are not practical.
(In Practice: When writing relations, use comments for "what" and "why". If other people use the model, they'll be more impressed if you are specific in your comments.)
8. Drafts and rounds are often best left to the end of the model. Although this is a
good rule, there are times when they are required earlier. Care should be given to where the features are inserted in the model tree.
10. When the above guidelines don't make sense, carefully consider your options.
(In Practice: Good modeling practices are far more important early in the model than
at the end when you're trying to put in the last round or draft.
Or
To show model file names in a table repeat region, the syntax for the repeat region is "ASM.MBR.NAME". Why is it different? Who knows. The other thing to watch for is the use of "DRW" and "DWG".
How?
There are several tools to find relationships: Figure 1
First is the old standby: Info > Feature > then pick the feature . . . (or via the Right Mouse
Button in the model tree -- see Figure 1). The output contains feature information including the two lines shown in Figure 2. Every feature that "descends from", or more accurately "is dependent on" the selected feature is listed. There is no indication, however, of relationship. They could reference the feature directly, or they could be several times removed. Before deleting or drastically changing a feature, this can give you an idea of how much of an impact may be in store.
Figure 2
Second is a graphical
tool found at Info > Parent/Child. The dialog box looks like Figure 3. Select a feature, then pick a Parent or Child from the column window and see it highlight on the model. This method sort-of shows the genealogy though it's only the immediate parents and children. Double clicking on any of these will interrogate or "drill down" from there. Also, on the Parents side, using the [+] signs will
Figure 3
show the part of the parent the feature references (like an edge, a surface, a vertex, etc.). See the edge shown. Note: this is the same tool accessed in Resolve mode using Investigate > Show Refs.
Figure 4
The Third tool is a more complicated model tree style window found at Info > Global Ref Viewer that gives more options for information. Figure 4 shows the viewer in a "looking for children" mode. In the tree it can be easily seen that Feature 4 (see arrow) does not have children, as it does not appear in the list. By double clicking curve feature 9, the lower portion of the window (Figure 4) populates with basically same Parent/Child info as above (without the +'s). The right mouse button provides other methods for displaying more information about the feature. See the circled areas.
So, from Info > Feature we learn that curve # 9 has 20 dependents or "children". But with either graphical tool we learn it has only 2 direct dependents. -- That is, only 2
features look directly at curve # 9 for references -- meaning the other 18 are children of children, or further down the genealogy. Please Note that all of this works for suppressed features as well. Obviously there is more information to be gleaned, but this can serve as a good introduction. If you need to delete, suppress or greatly change a feature, looking first at the potential impact is a good idea.
Figure 1 Do you have a mapkey you would like on the toolbar ... but you think the smiley faces look a little silly? Add a bit of flair and functionality, by customizing the icons. For this Tip-of-the-Month, we'll use an example of two mapkeys created for printing -- one for printing A-Size the other for B-Size. They need to be on the toolbar and be easy to identify. The first step (assuming the mapkeys exist) is to open the customize dialog box using Utilities > Customize Screen ... then select the Commands tab, File Category and Print icon as shown in Figure 1. Using the Modify Selection pull-down menu (Figure 2) select Copy Button Image. Next locate the mapkey in the Mapkey Category -- in this case, mapkeys "lza"
Figure 8
Figure 2
Figure 3