Changes

New Technologies

History: History is now available for the Loft and Revolve commands as well as for many of the commands under the Transform menu that make a copy of an object: Copy, Rotate, Rotate3D, the Array commands, Flow, Orient, Mirror, and the Scale commands when used with Copy=Yes. There is a new Symmetry command that uses history to update a mirrored copy of a curve or surface. In addition, the new V4 prototype morphing commands, Sporph, and Sped use history to update objects based on editing other objects. History recording is off by default now in a new installation. HistoryManager is a nestable command that can turn on and off the recording and updating of history-aware objects.

Nudge now experimentally prints "Nudge" and the nudge step to the command history.

Project object snap: The second point being picked in a PerpFrom object snap operation did not pay attention to the Project setting. This is fixed for PerpFrom and TanFrom, and the one-shot and persistent forms of OnCrv, OnSrf, OnPolySrf.

Rebuild command: SelectMasterCurve option to the SCRIPT version of -Rebuild when curves are selected. You will be prompted to pick a "master" curve. (At present, the "master" has to be unselected. If this option survives, the when the UI is cleaned up, you will be able to pick one of the inputs as a master.) Once you pick a master curve, all the other curves are rebuilt using the NURBS structure of the master.

VRFillet command: This feature is still under construction. It is the beginning of a new edge fillet tool that allows you to create chamfers, fillets, or blends of constant or varying radius. Variable radius options include rolling ball, distance between rails, and distance from edge to rail.

The only corner blend cases currently handled are those that involve vertices with exactly 3 edges, all of which have been filleted.

AltRebuild is a new, interactive curve rebuild tool. It allows modification of the rebuilt curve to more closely match the original by spacing the control points non-uniformly.

The RequestedTolerance option specifies the maximum distance the rebuilt curves can deviate from the originals. If you do not provide enough control points, the rebuilt curves may deviate more than Requested Tolerance from the originals. The maximum deviation from the original curves is indicated at the command line and marked on the curve in the viewport.

The MaxPointCount option lets you specify the maximum number of control points per curve used to reuild.

By default, you can slide three controls along each curve to influence how AltRebuild distributes control points. Use the Quarters option to display two more controls. The controls at the end of the curves can be used to shorten the resulting curves.

Rebuild: The scriptable version of Rebuild (type "-Rebuild" at the command prompt) has an experimental MasterCurve option. The MasterCurve dictates the structure of all of the output curves. This is useful when matching a set of curves to one 'good one' for lofting, sweeping etc.

G-Infinity Blending technology is the first to provide designers with the tools to interactively adjust the shape of the blends while maintaining continuity beyond G2.

BlendCrv has many new features:

Adjust the start and end points of the blend.

Adjust the continuity at each end of the blend independently (between G0 and G4).

Maelstrom: Like rotate, with a twist. Definitely vortexification. Check out Maelstrom.3dm. Be Careful with this one.

Stretch: Stretch the middle of objects without affecting either end.

ApplySrfUVN: A slightly different interface for Sporph. Try out Sporph.3dm with this command.

New Features

Surface Surface intersector, Phase 1This build has the first round of our new Surface-Surface intersector enabled. Because it's a big, complex project, we're rolling out our changes slowly. We hope this will make it easier to test each component, and reduce the likelihood that Rhino will be thoroughly broken.

Intersector Phase 1 should work as well as the intersector in 3.0, but it likely doesn't fix any of the bugs you've already reported. Please be on the lookout for cases where Rhino 4.0 does worse than Rhino 3.0. Commands to watch for are Trim, Split, Boolean operations, Intersect, and Project.

Over the next several months, we'll be adding functionality to the intersector and fixing more of the known bugs.

AnnotateCrvEndPoints command: Added to V4. Place an annotation dot object at curve end points.

Arc command: The status bar now shows the angle negative when drawing a clockwise arc using the default Arc mode.

Array command: A Preview feature has been added.

Array command: Now when in preview mode and you click on either XSpacing, YSpacing, or ZSpacing, not only can you enter the distance, you can pick it. And, like defining the array, the way you pick will determine the spacing. If you pick from bottom-to-top or from left-to-right, spacing will be positive. If you pick from top to bottom or from right-to-left, spacing will be negative.

Array command: Preview added.

ArrayPolar command: Ability to ArrayPolar by specifying a number and an angle between copies has been added.

There is a new system for handling linked or linked and embedded blocks. The Block Manager now has options to Automatically Update, Prompt Update or Never Update. These are Document Properties and are applied to any linked, linked/embedded blocks that have been changed when reading a Rhino file. Linked blocks always update when the model is loaded; no information is saved in the model. Embedded blocks are saved in the model but can still be updated from the outside source.

A grip point has been added to block instances at the insertion point.

BlockManager command: It is now possible to update multiple blocks with one operation.

Boolean commands: Non-manifold objects (for example, three surfaces sharing an edge) no longer cause Boolean commands to fail if the intersection does not cross the non-manifold edge.

BooleanSplit command: Finds the intersection of two solids and creates separate solids from both the shared and unshared parts.

Boss command: New command for creating extruded areas.Command Steps:- Select planar curve(s). - Select a target (surface or polysurface)Curve(s) are extruded towards target normal to their plane to create boss(s). Notes:- If there is confusion as to what direction a curve is extrudes, selection point of target will decide that.- If a curve is inside a target (ex. circle inside a box), then a hole is created.

Boss command: New DraftAngle option.

Bounce: New command - Lets you shoot a ray at a collection of surfaces and creates a polyline path.Options:

Reflections: The maximum number of times the ray will be reflected.

ArrowLength: The length of the segment with the arrowhead. If L=0, then no arrowhead segment is drawn.

BounceLight command: Use for adding lights or helper lines to the scene based on user-defined highlight locations. You can create spotlights, directional and point lights, and helper lines, and adjust the light color. The helper lines are useful for placing objects that show in reflections when the scene is raytraced.

Cage command: new BoundingBox option lets you select multiple objects whose bounding box will be used to define the cage box.

CageEdit allows selection of a surface in a polysurface. The surface is duplicated, untrimmed if necessary, and used as the control object.

CageEdit command: Creates a cage editing tool. Select the captives and the control object. In addition to selecting a pre-existing control object, the Line, Rectangle, or Box options build one on the fly.

ChangeLayer command: Modified to comply with the new hierarchical layer scheme.

ChangeToCurrentLayer command: Modified to comply with the new hierarchical layer scheme.

ClippingPlane:New command - Creates a clipping plane object that represents a plane for visibly clipping away geometry in a specifc viewport. The viewport where clipping occurs must be in an OpenGL display mode (anything other than wireframe).

ClosePolylines command: Added to V4. Close open polylines.

CommandContext command: New command displays Help in dockable window. If Auto-update is checked, the help for the current command displays.

CommandList command: New command writes all of the Rhino commands to a text window with the usual copy tools.

Connect command: Extends curves to meet. This replaces using a zero-radius Fillet or zero-distance Chamfer to connect curves.

ConnectSrf command: New command - Creates a sharp edge between two surfaces. When surfaces intersect, it works similar to FilletSrf command in that the selected part of the surface is the one kept:If surfaces do not intersect, then the user is prompted to select one edge of each surface to extend:Works with trimmed surfaces as well provided that there is a valid extention.

Context Menu pages have been added to the Options dialog box.
The view menu and appears when you hold the right mouse down on no objects. The Control Point page controls the menu that appears when you right mouse over a grip and the Object Menu appears when you right mouse over an object.

Context menus: There are now three context menu situations when right-clicking: in a viewport, on an object, and on a control point. The context menus are extendable in the Options dialog box, Context Menu, Object Menu, and Control Point Menu pages.

Convert command: New SimplifyInput option. Simplifying makes sure NURBS curves consisting of arc and line segments are properly split so that the conversion to arcs and lines is more accurate.

CPlane command, Surface option: Now has a Flip option to set the construction plane to a different orientation from the surface.

CullControlPolygon: New command - Hides control points and control polygons when they are behind objects.

CurveThroughPt: Control points and edit points can now be selected as input.

CutVolume:New command - Reports the volume of the intersection of a closed object and a pre-existing box.

DeleteEdge command: Allows selecting any number of edges to replace by a line.If "ExtendSideEdges=Yes" then instead of replacing with line, the 2 surrounding edges of the deleted ones are extended but they need to meet within surface boundary to give successful results."KeepTrimObjects" option adds the surface boundary to context.

DeleteEdge command: Now treats contiguous edges as one.

DeleteHole command: Removes selected holes in a polysurface.

DeleteSubCrv command: From Bonus Tools BreakCrv.

Detail command: Added DisplayOrder option. This option has a sub-option of "BringToFront" and "SendToBack" for changing the detail viewport's display order.

Detail: New Lock, Unlock, and EnablePage options.

DigCamera: New Command - Sets the current viewport camera location and direction based on the digitizer probeposition and the direction.

Digitize command: Tone sounds when point is picked. It is now possible to digitize points in x,y only. Newer Microscribe MX models are supported.

Dimension: Radius and Diameter dimensioning now work in block instances.

Dimensions: A length factor has been added to the Advanced Dimension Document Properties.

DimOrdinate command: Now consistently uses the CPlane origin for the Datum (0,0) Point.

DimOrdinate command: Ordinate dimensioning has been added to Rhino. By default it uses the construction plane origin as the base point that the values are generated from. After selecting the point to dimension, if the cursor is dragged primarily horizontally, then a y-ordinate dimension is created. If the second point is primarily vertical, then an x-ordinate dimension is assumed. Command line options include:XDatum - Forces an X (horizontal distance from base point) ordinate dimension.YDatum - Forces a Y (vertical distance from base point) ordinate dimension.Basepoint - Overrides the default base point (CPlane origin) for the current Ordinate dimension. Automatically reverts to the CPlane origin.

DimOrdinate command: Now honors Ortho.

Dir command: Now supports showing and flipping the direction of multiple objects.

Display Pipeline: Mesh display picking and dragging speed improved.

-DocumentProperties command: Hatch and Linetype options have been added to the scripting version, so hatch and linetype options can be changed from the command line or a script.

DocumentProperties, Dimensions: Added prefix and suffix support under "Advanced" button on Dimensions page.

DollyZoom is a new Vertigo-style combined dolly and zoom command. It works in perspective views and moves the camera location and changes the lens length at the same time, keeping the objects at the target plane about the same size.

FlowAlongSrf command: Command name change from Sporph and prompt refinements.

FullScreen command: Added to V4. Now you can press ESC to return to normal view.

GetUserText: New command - Allows the user to look at text information attached using the SetUserText command.

Grid: New command - Controls grid settings: snap spacing, minor line spacing, major line interval, extents, show grid, show grid axes, show world axes, apply to viewport.

HandleCurve command: Now supports undo during the command.

HandleCurve command: Press Ctrl while placing a handle point to move the previous curve point instead.

Hatch command: Makes hatches using closed planar boundary curves. Specify the pattern, scale and rotation for the hatch. Use the DocumentProperties command, Hatch page to load and unload hatch patterns defined in a text file. Hatch patterns that are loaded in a model are saved with the model and template files. Use Properties, Hatch to change the pattern, rotation, and scale of the hatch pattern.

Help command: Access the new format Help is now available by pressing F1.

Help command: New navigation for Command List topics.Help is slowly being enhanced. In the Table of Contents, click Modeling Aids > Select Objects for an example of some of the new features.Rhino Wiki Command List: Updated with V4 current commands and descriptions.

HideInDetail/ShowInDetail: New commands - Hide and show objects in detail view.

History: Added to ExtrudeCrvToPoint and ExtrudeSrfToPoint commands.

History: Now warns when history is broken. The warning dialog box can be turned off.

History: Right-click the Record History pane in the status bar to display a menu of History options: Always Record History; Upsate Children; Lock Children; History Break Warning.

Import/Export 3ds file: Now supports point (omni) lights and spotlights.

Import/Export GHS: Added to V4.

Installer: Added an icon to the Start / Programs menu that will uninstall Rhino.

Installer: Level I and Level II Training Guides now have installers.

Int object snap: Now works on self-intersecting curves. Int can also be used to snap to isocurve intersections whenever input is constrained to a surface.

Intersect: Historynow supported.

Join command: More information about the number of joined curves is provided.

Join: You can now use SelChain to select a chain of curves to join.

Lasso command: V2 allowed drawing with click and drag and polyline method. V3 did not allow the polyline behavior. This has been restored. Also right-mouse button view manipulation has been added and the feedback shows the lasso loop always closed, and pressing Enter will select all points within the loop at that point.

Layer command: Right-clicking on a menu name now shows a "parental" control on (checked) or off (no check). This is a temporary location for the control. Its current location implies it is a layer-by-layer control; however, parental control is a global control, that is, it is on or off for everything, not controled on a layer-by-layer basis.

Layer command: Selection of objects on a layer via the Layer dialog box is now allowed during a command.

Layer command: The Locked and Off layer states are now independent. Layers can be off/locked, off/unlocked, on/locked, or on/unlocked. Previously, layers were either locked or off, but could not be both off and locked.

Layer command: The status bar popup now displays the sub-layers.

Layer command: The tooltips were changed to make them more informative.

Layer command: Right-mouse click over the columns to display a list of column titles. Those with checks are visible.

LayerManager command: The new LayerManager command lets you arrange layers into subgroups, set line types, set print line widths, and set print color.

LayerStateManager command: Added to V4. Saves and loads layer on/off/locked states to a file.

Layout command: Detail viewports are now handled in Rhino just like any other object. This means that they have the following characteristics: Can be selected with the mouse.Can be dragged or resized with transform commands.Can be copied, moved.Are part of undo/redo.PointsOn command will turn grip points on for resizing the detail.Are affected by Hide, Show, and SelAll commands.Have properties that can be changed in the Properties dialog.

Layout command: Layouts are now stacked in a single frame window with a tab control along the bottom.

Layout command: Layouts now have the concept of an "active viewport". Switching between model and layout space is done by double clicking.

Layout command: Page layouts now retain their data when hidden.

Layout commands: The new layout system is available through the following commands:LayoutWIP: Creates an empty layout viewport.DetailWIP: Provides for adding or changing detail viewports. Detail viewports are modelling viewports that can be placed on a layout viewport.Layout4DetailWIP: Creates a layout viewport with four detail viewports.LayoutPropertiesWIP: Provides for changings layout viewport properties.All commands end in WIP to show that they are still an early prototype and many changes still need to be made.

Leader command: You can now snap to leader objects using End and Int object snaps.

Length command: Now allows multiple selection and pre-selection.

LimitReferenceModel: New command -Used with Worksessions to limit the amount of reference geometry that is available for editing to improve proformance or clear visual clutter.

Line command, Normal option: Added IgnoreTrims=Yes/No toggle. IgnoreTrims=No works the way Line Normal did before in V4, paying attention to the surface trims, and showing a no-no cursor when the marker is off the visible part of the surface. IgnoreTrims=Yes makes Line Normal work the way it did in V3, ignoring surface trims. The no-no cursor is shown when the marker misses the untrimmed surface.

LineThroughPt command: Fits a line through a set of points. The input can be any combination of points, control points, and point-cloud objects.

LinetypeDisplay: New command - Toggles display of linetypes.

Loft command: Align curves option added to help swap ends when a bowtie loft is created.

MappingOn command: New command Displays the mapping widget for the texture mapping on the specified channel.Mapping Widgets: Mapping widgets represent a single record in the texture mapping table. They show graphically how the texture mapping is bound to an object - showing the type of primitive (box, cylinder, sphere, or plane). The widget can be moved, rotated, scaled, etc., with normal Rhino commands. They can be dragged, and they can have their control points turned on to resize them.

Properties:Texture Mapping properties displays all of the mapping channels attached to an object and the properties of the texture mapping associated with these channels.

New mapping commands apply a texture mapping channel to an object and allow the user to adjust the mapping primitive and other options: ApplyBoxMappingApplyCylindricalMappingApplySphericalMappingApplyPlanarMappingApplySurfaceMapping

MatchSrf command: Added AutoChain and ChainContinuity settings to selecting the edges to match to. With the AutoChain option, clicking on an edge automatically selects all connected edges. The ChainContinuity setting controls how smoothly the segments need to be connected to be automatically selected. If there are multiple paths to follow, you are prompted for the one to select.

MeanCurve command: Creates a curve half-way between two input curves.

Mesh: The mesher will now put edges of quads along curvature discontinuities (like the ones you get when you extrude a G1 curve made from planes and arcs).

MeshPatch: New command - Select curves and points to create a mesh. Replaces MeshPolyline and MeshFromPoints.

MoveHole command: Now allows multiple holes in the same surface to be selected.

MoveOneFace command:New command - moves a single face of a polysurface and adjusts the surrounding faces.

MoveTargetToObjects command: Added to V4.

MoveUntrimmedEdge command: Select an "untimmed" surface/solid edge to move. The surface could be wiggly or planar. Moved edge maintains its length and orientation while side edges and the surface get stretched.

MoveUntrimmedEdge command: Select an "untimmed" surface/solid edge to move. The surface could be wiggly or planar. Moved edge maintains its length and orientation while side edges and the surface get stretched.

NamedPosition: New command - allows you to save the positions of selected objects in the scene and assign names to those arrangements. This enables the user to store several arrangements of objects and recall them at will.

NetworkSrf command: Added surface preview.

New Look: The gradient background has been removed because of confusion about how to change it back to the V3 look.

NewFloatingViewport command: Creates a new modeling viewport that "floats" outside of the main Rhino application window. This allows viewports to be displayed on multi-monitor setups. Floating information is not stored in the 3dm file yet, so when the user re-opens Rhino, the new viewport will be docked in the main Rhino application window.

Nudge settings:Use View axes and Use UVN options have been added to the Options->Modeling Aids page, in the nudge direction settings. When nudge direction is set to View axes, nudging moves the selection parallel to view plane. When nudge direction is set to UVN, nudging surface control points moves them in relation to the local UVN frame. Other objects and points move in relation to the construction plane (just like normal construction plane nudge).

Object context menus: Right-click menus for objects have been restored in V4.

Object Snap crash: Rhino now checks, on Rhino's initial startup, for Intel and Trident based video cards, and if found, hardware acceleration is turned off.

Object Snaps: The Point object snap now snaps to spotlight point locations and linear light endpoints, even if the control points are not displayed.

Object snaps: Press the ALT key to temporarily enable object snaps if object snaps are disabled. This makes it easy to keep object snaps disabled and to enable them as needed.

Object Snaps: When Rhino is asking for a point, you can press Alt to temporarily enable osnap checkboxes if osnaps are disabled.

Offset and Ribbon: Added BothSides one-shot option.

OffsetCrvOnSrf command: After the initial offset happens, the command continues and prompts: Select location to specity fin height: The user can pick a location on the original curve, then a "Height:" prompt shows and a different height can be specified for that part of the offset curve.

OneLayerOff command: Modified to comply with the new hierarchical layer scheme.

OneLayerOn command: Modified to comply with the new hierarchical layer scheme.

OnPolySrf object snap: Makes it possible to constrain input to a polysurface.

Open/Save:New feature -Now include a notes/description control.

Open: When opening non-Rhino files, a Zoom All Extents is performed when the import is complete.

Options command, Render: New Two-stage render toggle if Toucan is the active render plugin. When selected, Render and RenderPreview commands render the scene in two stages: First they ask for the user to select a rectangular area to render first, or press Enter to use previous rectangle, or Esc for none. The rest of the image is rendered automatically right after rendering and displaying the selected area. This way you can render the most important detail first to make sure it looks right, and if it does, all you need to do is wait for the image to finish. If not, you can cancel the render and keep on tweaking the scene.

PersistentOnCrv, PersistentOnSrf and PersistentOnPolySrf one shot osnaps. Constrain input to an object for a command that repeatedly gets points like Curve, Polyline, and InterpCrv.

Picking an object in a group or a subobject: Contrl+Shift+Click lets you select one object in a group or subobjects (faces in a polysurface, for example).

Pipe command: Added AutoChain and ChainContinuity settings to selecting the rail. With the AutoChain option clicking on a curve/edge automatically selects all connected curves. The ChainContinuity setting controls how smoothly the segments need to be connected to get selected. If there are multiple paths to follow, you are prompted for the one to select.

Pipe command: Now allows additional radii.

Pipe command: Option to close ends with hemispheres has been added.

PlanarMesh command: Works similar to PlanarSrf except that it selects only closed curves as input, it will approximate curves that are not polylines as polylines and output a mesh.

PlanarSrf command: Failure explanation message added.

PointCloud command: You can now select points to remove with a window selection.

PointDeviation: Now accepts control points and meshes as point data.

Polyline command: Now allows continuous drawing swapping from line to arc.

Polyline command: The Polyline command has been replaced with a new version with new options. Mode=Line/Arc controls whether Polyline draws line or arcs. Helpers=No/Yes turns on dynamic tracking line helpers that make it easier to extend arcs with lines and draw arcs aligned x and y axes. When Mode=Arc there are Direction and Center options for setting the arc direction and center. As a backup, the old Polyline command is still there and is called PolylineOld.

Print command: Line Width Scale option: The View and Scale area on the Print dialog now contains a numeric edit box for applying a scaling factor for print widths. An example where this can be useful is when printing something at half of its intended size. By setting the print width scale to 0.5, all of the print widths will scale down.

Print command:If Vector Output is checked, printing uses GDI technology instead of OpenGL for printing. Vector output has a much smaller memory usage and is generally much faster to print. The downside is that only wireframe type display is printed (no shaded stuff).

Print command: Added a drop-down of options to this dialog to provide for different ways to position the print area on paper. Options include:Margins; Top, Left, Width, Height; Top, Right, Width, Height; Bottom, Left, Width, Height; Bottom, Right, Width, Height; Centered, Width, Height.Dialog also include units drop-down so you can quickly change between inches, centimeters, millimeters, and pixels while entering position information.

Print command: An option has been added to force output to black and white. The user can now have output in either Display color / Print color / Black and White.

Controls added to an editable drop-down combo box. This box has some pre-canned line widths along with a "Hairline" and "No Print" option. Hairline just means draw at minimum width. The typed in value is remembered between prints.

Print command: Notes and Filename options have been added to the "Show" tab on the print dialog. You can choose to print these at the top or bottom of a page.

Print command: Now uses defined colors that are not necessarily the same as the model colors.

Print command: Option to print only selected objects has been added.

Print command: Output color and unit display is now remembered between sessions.

Print command: Point display: Added "Object Scale" dialog. This dialog includes a point size drop-down with "small", "medium", and "large" options.

Print command: Print width on the layers and object properties now contains a "No Print" option. This allows objects to be diplayed on the screen but not actually printed. Useful for lines used as construction aides and for detail boundaries on layouts.

Print command: Rhino now always saves the settings of the last print made and uses that as the default for the next Rhino print. This is remembered between sessions of Rhino.

Print command: Shaded printing now works for all shaded modes (shaded, ghosted,...). The new display pipeline must be enabled for this to work.

Print command: The Print, Print Preview, and Print Setup dialogs have all been replaced with a single print dialog. The PrintPreview, and PrintSetup commands have been removed.

Print command: The View and Scale area on the print dialog now options for setting linetypes to use "Match Pattern Definition" or "Match Display". Print Scale prints linetypes on paper as they are defined, i.e., a dashed line type with a pattern of 5mm dash, 2mm gap will print on the page as a 5mm segment followed by a 2mm gap. Display Scale uses the scaling for linetypes as they are currently displayed in Rhino viewports.

Print command: The window print area control (window button on print dialog) has been enhanced with several new features: Resize/Move the paper rectangle, Resize/Move print margins, Set window to a print scale.

Print command: When image file is selected as the destination, the units for the controls on the Image Destination pane can be controlled through unit drop down boxes.

Print command: Wireframe views are sent to printer as vector output.

Print command: You can now pan in the print preview window.

Print command: You can now switch from portrait to landscape in the Print dialog box.

Print command: Print dialog now remembers its previous screen size and position. Print control tabs on left side of dialog remember their expanded and order states. Print control tab order can be changed by drag and drop.

Print command: Text in the Rhino Notes window can now be printed at the top or bottom of a page.

Print command: Wallpaper and gradient background now print correctly.

Print from Render window:New features - There are now two items in the render window File menu, Print: 1:1 and Print: Fit to Page.1:1 prints the render window paying attention to the DPI setting, Fit to Page works the way image printing used to, always filling the page.

Print: A "Hairline" option to the layer dialog that uses the minimal thickness.

ProjectToCPlane command: Now "pre-projects" objects in an attempt to find out what objects might not project correctly. If an object fails the "pre-project" it is removed from the list of objects that really get projected, and a message reporting that the command was unable to project the item(s) is displayed on the command line.

Properties - Texture Mapping: The mapping widget color can now be specified.

Properties command: Added a "By Parent" color option to the object properties dialog. This option is only useful when creating blocks. If you set an objects color to "By Parent" it will continue to draw as if set to "By Layer". If you use the Block command to include the object as part of a block definition and then insert the block the object will take on the color properties assigned to the block insert.

Properties command: Linetypes can now be assigned as an object property.

Properties, Material: Setting added that determines whether textures should be filtered (LINEAR) or not filtered (NEAR).

Properties: Viewport - When no items are selected, the object properties dialog displays viewport properties for the active viewport. There are three separate viewport pages (standard viewports, page viewports, and detail viewports) with information and controls that are relative to that viewport.

Properties:Texture Mapping displays all of the mapping channels attached to an object and the properties of the texture mapping associated with these channels.

PtOn and EditPtOn commands: Now work on curves that already have edit/control points displayed. When selected, the curves switch to the other editing point style.

Pull command: The Pull command will now pull to mesh objects as well as surfaces and polysurfaces.

RemapCPlane command: New options for selecting the target construction plane: CPlane (enter a named construction plane) and View (enter a named view).

RemoveFromGroup command: Now has a Copy option to copy the objects instead of removing them.

RemoveFromGroup command: Now keeps the removed objects selected after the command completes.

RemoveMappingChannel: New feature - Deletes mapping channel from an object.

Rescue3dmFile command: Recovers data from damaged files.

Revolve: New interface - The revolution is defined as start angle - revolution angle instead of start angle - end angle. This makes it simpler to do revolutions that go either clockwise or counterclockwise (the revolution angle can be positive or negative). When AskForStartAngle=No, the command does not ask for the start angle, and assumes it to be zero. With FullCircle option the command creates a full 360 degree revolution.

RevolvedHole command: Now supports Undo for last hole created.

RhinoRender: The default renderer in Rhino has changed to a new rendering engine.

RhinoScript command: The V3 Bonus Tool MacroEditor command has been incorporated into RhinoScript.

RhinoScript: Now can clear command history at beginning of script.

RhinoScript: You can now drag & drop RhinoScript .RVB files onto Rhino's main windowto run the LoadScript command on the file.

RhinoScript: New "CompareGeometry" function determines if two objects are duplicates, like the SelDup command.

Rib command: New DraftAngle option.

Rotate and Rotate3D commands: Now indicate the rotation plane by drawing a circle when picking the first reference point. The feedback for the last, angle, pick is similar to the last pick in default Arc.

RotateFace command: Now defaults to act like Rotate command (pick one point as center of rotation, construction plane normal is the axis). Optional behavior is like Rotate3D command (specify axis anywhere in space).

Safe Mode: Shading is no loger allowed in Safe Mode.

Save 3DM: Rhino V4 now saves 3dm files in a V4 format and has a SaveAs V3 option.

Save/Open:WAMIT - New file import plug-in for importing and exporting WAMIT file format. This is a marine analysis application. Imports either meshes or breps based on what is in the WAMIT file (www.wamit.com)

Save:DWG/DXF: Export schemes for CAM applications added: CAM Imperial and CAM Metric. These schemes have settings that make it easier to save files that are compatible with laser cutters, routers, and other 2-D CAM equipment.

Save:FBX: Now supports Rhino Layers.

Save:GHS: New features:Shapes Page (New Page):

Shape definitions are independent of components. This means that multiple components can reference the same shape. This mimics the GHS file format.

Shapes can be defined as intersection of surface and bounding box (old method) OR as a group of curves selected by the user. This allows you to read in a GHS file in Wireframe (GHS's native geometry) without any preprocessing.

Create Stations button to create Rhino curves that represent the GHS shape. Shapes that are read from a geometry file with shell thickness keep the shell thickness information.

Parts Page:

Reference point can be set.

Components Page:

You can select which shape the component references.

Side can now be set to actual port, starboard, or centerline.

Origin Shift can be set.

Optional Margins can be set.

Save:KLM: Rhino can now save Google Earth KML files.

Save:STL: New warning dialog regarding rapid prototyping adequacy.

SaveAs command: Now has options for Rhino V2, V3, and V4.

Section command: New JoinCurves options: None gives you no joining. ByPolySurface joins curves that derive from the same parent polysurface. ByContourPlane attempts to join all the curves that share endpoints.

Section: ExtendSection option added that extends the section curve to both sides of the selected object.

SelBox: New command - Selects everything that is crossed by or inside a box.

Selection: The multi-select pop-up now displays the name of the object or group if a name property exists.

SelLeader: New command - Selects leaders including the arrow and attached text.

SelMappingWidget: New command - Selects the texture mapping widget.

SelName command: Now selects all the control points of the named object when its points are on.

SelParents command: Name change from SelAntecedents.

SelPrev and SelLast command: new option DeselectOthersBeforeSelect=Yes/No for toggling the behavior. The option is it is only visible in the scriptable version of the command. The toggle persists.

SetDisplayMode: New command - Sets a specific display mode from the list of built-in and customized advanced display modes.

SetLayerToObject command: Modified to comply with the new hierarchical layer scheme.

SetObjectAttrs: New command - Lets you assign separate display attributes to individual objects, regardless of mode the viewport is in.

SetObjectName: Reinstated from V2. Names an object.

SetUserText: New command - Allows the user to attach text information to either the object geometry or the attributes of an object.

Shade: New Selected option to the -Shade scripted mode.

ShortPath command: Makes a curve on a surface that is the shortest curve between two points. Such a curve is called a Geodesic.

ShowZBuffer: Revived command - creates a bitmap with the same dimensions as the viewport. Each pixel is given a greyscale value that relates directly to the distance between the camera and that pixel (in the scene). The closest pixel becomes white and the furthest pixel becomes black.

SketchUpImportOptions: New command - Specifies how SketchUp files are read into Rhino.

SmartTrack: Now displays angle from last point.

SmartTrack: The osnap cursors when snapping to tracking lines now says "OnOrtho", "OnPerp", "OnTan" or "OnParallel" ( "On" being the new addition) depending on what kind of tracking line you are snapping to.

Smash command: UnrollSrf with tolerance set to 1.

SnapSize command: Revived from V2 as a way to adjust the snap increment during a command.

SoftEditCrv command: Move a point on a curve and the surrounding points move. The farther the surrounding points are from from the original, the less they move.Options: Copy - makes a copy of the curve. FixEnds - keeps ends fixed. Distance - distance influenced by the move.

SoftEditSrf command: Move a point on a surface and the surrounding points move. The farther the surrounding points are from from the original, the less they move.Options: Copy - makes a copy of the surface. FixEnds - keeps edges fixed. U_Distance - distance in the U direction influenced by the move. V_Distance - distance in the V direction influenced by the move.

SoftEditSrf and SoftEditCrv commands:SoftEdit command split into two commands. SoftEdit command is discontinued.

SoftEditString command:New command: This is a free-form/visual command that allows editing a curve without changing its length.

SoftMove command:Now previews grip objects (surface, mesh or curve) when moving their control points.Command flow and UI changes:- Select objects to move- Pick a center point to move from.- Drag a circle to define radius (influence). Only objects within radius would be moved proportional to their distance from the center.- Pick offset point (to point). Added a preview of result.- Falloff curve is initially set to the same last used proportional to radius. Falloff is set to 0.3 if used for the very first time.- Radius circle rotates following the move vector (like cone command)- Falloff curve is also drawn in preview.- Before committing to the move (before ending the command), users can edit any of the following parameters: - Falloff: drag the inner circle to edit the shape of the falloff curve - Radius: drag outer circle to edit influence sphere (fall off or inner circle will drag proportionally) - Offset: enables editing the "To Point" - Anchor: enables editing the "From Point" or "Center".

Sphere command: The radius is now shown in the status bar during the last pick in 3Point and the last two picks in 4Point.

Startup Template: New feature - If you do not have a default template file specified a startup template dialog will appear asking you to choose a startup template.

Status bar: New right-click menu on the status bar panes for Snap, Ortho, Planar, etc., to open the Options dialog box at the page for specifying the settings.

Sweep1 command: Added AutoChain and ChainContinuity settings to selecting the rail. With the AutoChain option clicking on a curve/edge automatically selects all connected curves. The ChainContinuity setting controls how smoothly the segments need to be connected to get selected. If there are multiple paths to follow, you are prompted for the one to select.

Sweep1 command: Option to make untrimmed miters if there are kinks in the rail added.

Sweep1: Added curve and edge chaining for rail selection.

Sweep2 command: A "Simple" option has been added. Cross-section curves need to be placed so the endpoints are on the ends of the rails or on edit points of the rails. The edit points used must match across the rails for each section curve. Turn on Editpoints (EditptOn) and use Point object snap to place the section curves.

If only one section curve is placed, the entire rails are used for the surface regardless of the command line setting for this. Rails must be matched in degree and structure. Copies work well. Section curves are allowed to have differing structures - the surfaace takes the complexity of the most complex one.

This option generates simpler surfaces in cases when the curves are perfectly set up. The surface inherits the structure of the input curves.

Sweep2 command: Added AutoChain and ChainContinuity settings to selecting the rails. With the AutoChain option clicking on a curve/edge automatically selects all connected curves. The ChainContinuity setting controls how smoothly the segments need to be connected to get selected. If there are multiple paths to follow, you are prompted for the one to select.

Sweep2 command: Can now start with two curves prepicked for the rails.

Sweep2: Added curve and edge chaining for rail selection.

Symmetry: New command. Makes a mirror copy of an input curve and adjusts the ends of the input and the copy to be tangent across the symmetry plane. If history recording is on, you can edit one side and the other side updates. The curve end that gets projected to the plane and made tangent across the plane is the one nearest the pickpoint.

Text command: An insertion snap point has been added to text.

Text: Can now import text from a file.

TextObject: Now supports single-stroke fonts.

TextProperties command: New command. Takes over the function of the EditText command and brings up the Properties dialog box.

TextureMapping:New commands Apply a texture mapping channel to an object, sets the mapping type and allows the user to adjust the mapping primitive and other options.

ApplyMapping

ApplyBoxMapping

ApplyCylindricalMapping

ApplyPlanarMapping

ApplySphericalMapping

ApplySurfaceMapping

EditMappingChannel

MappingOff

MappingOn

RemoveMappingChannel

ToggleFloatingViewport command: Toggles a Rhino viewport between a docked and floating state.

Toolbar command: New functionality:Toolbars can be locked when they are docked.Print icon added to Standard toolbar.Flyout toolbar can now be closed with Esc.

Toolbar layout: Right-click a blank spot in the toolbar docking area to display a list of toolbars to turn on and off with checkboxes and a Lock Toolbars checkbox.

Toolbar scripting: If the first character in a toolbar script is not "!" and the last character is" \", the script runs on the command line without Enter, so more information can be added. This feature is useful for building a command string out of parts like digits, decimal points, angles (like "<45") that are on buttons, making a "numeric keypad" on the screen.

ToolbarLock: New command. Locks docked toolbars into place.

ToolbarReset: New command - Restores the default toolbar set.

Toolbars: Added "Tools\Dock State Locked" menu option. This option locks the current docked/floating position of a control/tool bar. This means docked control/tool bars cannot be dragged around but can be resized if they support resizing while docked. Floating control/tool bars can be moved around and resized but not docked. When this feature is turned on, dragging a floating control/tool bar over the docking areas does not dock the bar.

Toolbars: Large toolbar buttons are now available. Change to the default_32x32.tb toolbar to use the large button toolbars.

Toolbars: Text Buttons - You can now enter a single line of text to be optionally displayed on the button. There are also the following radio buttons:

Show bitmap only: You only see the button bitmap.

Show text only: If there is text, it will be displayed instead of the bitmap the button will never get narrower than the bitmap width. If there is no text specified then the bitmap is displayed.

Show bitmap and text: Display the bitmap as normal, if there is text it will be displayed to the right of the bitmap, vertically centered, and the button will be wide enough display both. If there is no text specified the bitmap is displayed and the button is the normal width.

Toucan and RhinoRender now support clipping planes. They always paid attention to, and apply to, both primary (eye) rays and secondary (reflected and transmitted) rays.

Trim command: Now allows selection of objects to trim with a crossing window.

Trim command: Now allows trimming polysurfaces with curves. If the curve is on the surface the curve is pulled backto the surface. If the curve is not on the surface, the curve is extruded through the polysurface.

Trim command: Now supports Undo inside the Trim command.

Trim command: Polysurfaces exploded by the trim are reconstructed.

Trim command: Support for trimming polysurfaces with curves on the surface has been added.

UnrollSrf command: Two new modes for laying out the flattened surfaces from a polysurface have been added: Exploded separates and flattens surfaces are laid out next to each other, and Connected joins surfaces along the joined edges from the original polysurface.

Untrim command: New All option removes all trims from a surface in one go. If an edge is selected, all edge trims are removed. If a hole is selected, all hole trims are removed.

ViewCaptureToFile and ViewCaptureToClipboard commands: Now work in V4.

Viewport Manager: Delayed single click and F2 button allow for editing the name of the viewport in the tree control.

Viewports command: Provides for managing Rhino viewports. With the addition of Page and Detail viewports, there is a potential of having a large number of viewports in Rhino. The Viewports command shows a tree control of all of the viewports in a Rhino model. Clicking a node of the tree control will make that viewport the active viewport.Double-clicking on a node of the tree control that represents a standard Rhino viewport or a Page viewport performs a "Maximize/Restore" on the viewport. Delayed single-click and F2 button allows editing the name of the viewport in the tree control.

Viewports command: Scripted version (-Viewports) added.

ViewportTabs command: Viewports can now display a tab control UI along their edge. This is useful for managing multiple page layout style viewports along with standard modeling viewports. Command provides a command line / scriptable interface to the tab control GUI widget. The tab control shows a tab for each Rhino viewport or page layout viewport in the Rhino window. Right-click on a tab will display a context menu for managing viewports. Click twice on a tab to rename a viewport.

Volume, Area, and Length: Now allows a different units system from the default for volume calculation.

WalkAbout Toolbar: Now works in V4.

WebBrowser command: Added to V4. Adds an HTML file or web addresses as a Document Property to a 3DM file.

WireCut command: Added following features when cutting with open curves:- Default the second extrusion direction to normal to first extrusion plane (plane of 3 points: cut curve start and end points and first extrusion point).- Added the option to "Press Enter to cut through object" for the second extrusion.

A lock icon on attached files shows if the file is open in another instance of Rhino.

Drag-and-drop RWS files supported. Drag and drop a worksession file into an open Rhino to load the worksession.

Attached files are not remeshed if they have already have meshes. If they do not have meshes, then they are meshed at the current file settings.

Switching the active file no longer changes the view layout.

If only reference objects are selected then the properties controls values will get set as if everything was editable but the page will be disabled so the user can not edit any of the properties. This means if you have a reference curve on reference layer01 and another curve on reference layer02 the layer combo will be set to varies and the dialog will be disabled.

If only active model geometry is selected then control values may be set to varies as appropriate and they will also allow for updating.

If active and reference objects are selected the reference objects will be filtered out so they do not get compared with active object properties causing a varies state.

Zebra command: Now works with polygon mesh objects.

Zoom: New option - 1To1: zooms the view to actual size.Zoom1To1Calibrate: New command - Calibrates the screen for Zoom 1To1.

ZoomNaked: New command - Lets you find and mark naked edges. The first prompt asks you to pick meshes, surfaces or polysurfaces. Options:Next zooms the active view to the next naked edge.Prev zooms the active view to the previous naked edge.Zoom zooms the active view to the current naked edge. This is useful when you want to switch active views or if you've modified a view and want to rezoom.Mark puts points on the end of the naked edge. This is useful if you need some way to find and work on the edge after you are done with the ZoomNaked command.Finish exists the command. You can also just press Enter.

ZoomNaked: Runs from ShowEdges dialog box. All naked eges are initially selected, then you can cycle through them.

ArrayCrv command: New options:

Freeform twisting: The arrayed objects rotate to maintain their initial relationship to the path curve throughout the array.

Roadlike top: The arrayed objects maintain their angle with the Top construction plane throughout the array.

Elevator: The orientation of the arrayed objects are maintained as they are arrayed along the curve.

ShearFace command: Select any number of faces, select shear axis, reference points or angle to shear.

CreateSolid command: Select surfaces and polysurfaces that bound a region in space. A closed polysurface that is the boundary of the region is created.

Sweep2 command: A new button lets you add additional cross section alignments (like BlendSrf) to control how the surface is created between sections.

Hyperbola command: Added to V4. Creates a hyperbolic curve.

BlendSrf command: Previously added shapes are not maintained when the AddShape option is used a second time.

Enhanced Features

Removed - FilletEdge: Obsolete - replaced by VariableFilletEdge.

4View/3View commands: Now use the grid settings from the currently active viewport instead of resorting to the defaults.

Adobe Illustrator export uses a dialog box similar to the Print dialog box to define the viewport and page size for export. The AI file now includes page size, line weight, line type, and object color information.

Advanced Display: New locked object settings.

Alerter scripting options now work.

AltRebuild: command name change to RebuildCrvNonUniform.

Angle constraints: Negative numbers can be used to create clockwise constraints.

Arc command: Tangent variants now store radius values.

Array command: If the distance is shown by mouse clicks in a negative direction, the array will now be created in the negative direction.

Array command: Press Esc to cancel has been added.

Array: Preview now draws the objects when previewing, instead of just their bounding boxes.

ArrayCrv command: New Elevator mode option. When in elevator mode, the command translates objects from the selected base point to locations on the curve. The Basepoint option is now a requried selection.

ArrayCrv:

Basepoint option is now optional.

Option name Elevator changed to No rotation.

ArrayHole command: added a "Rectangular" option to force B direction to be normal to A direction.Also, Add ADirection and BDirection options in the final preview step to enable the user to change direction.

Arrowhead: Arrowhead follows curve better now.

Audit3dmFile: Added an audit of the texture mapping and history record tables to the Audit3dmFile report.

Autosave file recovery: The ability to cancel opening an autosaved file has been added.

BackgroundBitmap command: Remove option: Rhino checks for embedded bitmap file on your system. If it does not exist, a warning dialog will appear giving you the change to cancel the bitmap removal. If the bitmap does exist on your system, the bitmap will be removed without warning.

BackgroundBitmap command: Bitmaps are now stored in the 3DM file.

BackgroundBitmap: New Extract option for saving the bitmap file to disk.

Bend: StraightEnd option name change to LimitToSpine.

Bend: The Bend command has been changed as part of the UDT effort. New documentation will be forthcoming...

BlendSrf command: Added AutoChain and ChainContinuity settings to selecting the edges. With AutoChain option on, clicking on an edge automatically selects all connected segments. ChainContinuity setting controls how smoothly the segments need to be connected to get selected. If there are multiple paths to follow, you are prompted for which one to pick.

BlendSrf command: Automatic edge chaining - Assuming Auto-chaning is off, the selecting the All option selects all segments (in both directions) that meet the chaining criteria. The Next option goes left then right, and undo reverses the selection order.

BlendSrf: Preview added.

Block: A warning about blocks with no geometry as been added.

Boolean2Objects: New InverseIntersection option added to cycle of choices.

Cage command: Edit a collection of captive objects by moving the control points of a single control object.

Cage command: The default box cage is now cubic with 4 points in each direction.

CageEdit: Moving an object while its cage is hidden, now displays a warning that the object's association with the cage has broken.

CageEdit: It is now easier to use edges of surface and polysurfaces as the edit control for a CageEdge. Pick the surface or polysurface as an object to be edited. When prompted for the control, pick on the edge of same object, to make it the control. To use the face of a polysurface as the control object, pick in the middle of the face.

Contour: Option to place contour curves on same layer as input curves has been added.

Control points: If a knot vector is uniform before control points are deleted, then it will be uniform after the control points are deleted.

Convert command: When converting a curve to arcs, you can now set the angle tolerance to zero to turn off the mechanism that keeps the arc segments tangent to each other, and close to being tangent to the input curve.

Convert command: You can now type number at the "Press Enter" prompt to update the distance tolerance.

Copy command: New options combine to add distance constraints and direction constraints to the base point or the last point.

CopyToLayer and ChangeLayer commands: Scripting options added.

CPlane command: The functionality of the UPlane command has been intergrated into the CPlane command. To enable UPlane mode, select Tools> Options > Modeling Aids. Select the Universal construction plane radio button.

CrashDump: Out-of-memory errors no longer produce crash reports.

CrvThroughSrfControlPt command: Name change to CurveThroughSrfControlPt. Old command still works.

Cylinder command: There is now a DirectionConstraint option. It has three options: None, Vertical and AroundCurve. It defaults to DirectionConstraint = Vertical.

DeleteEdge command: The default behavior now replaces deleted edges with lines unless "ExtendSideEdges" option is set to "Yes"

Deselect objects: Ctrl+Left-click only deselects objects, it never selects.

Detail command: Now if a Detail view is the active viewport, this becomes the selected detail for scaling/resizing/deleting.

Detail command: New Detail page in the Properties dialog allows you to set the detail scale and Lock option.

Dimensions: Endpoint object snaps now work on dimension objects.

DimOrdinate command: Added dragging for the offset points of ordinate dimensions. Also, now remembers override settings for basepoint and direction for several dimensions until you press ENTER to quit.

DimOrdinate: New Style option.

Display: Mapped images (textures in the basic material editor) display in Rendered Viewport mode without the image being blurred.

EditPtOn command: The speed of this command for large objects is improved.

EndBulge: Preserving curvature at the other end of the surface is now an option.

ExportOptions: Now includes all custom 'context menu' settings.

Extend command: The default option is now Natural.

Extend command: The Natural option is now the default.

ExtendSrfEdge command name change to ExtendTrimmedSrf.

ExtractSubCrv: Ctrl+click now deselects objects.

ExtrudeCrv command: Name change from ExtrudeCrvStraight.ExtrudeSrf command: Name change from ExtrudeSrfStraight.

ExtrudeCrv: History now supported.

ExtrudeCrvAlongCrv: History now supported.

ExtrudeCrvTapered: History now supported.

ExtrudeCrvToPoint: History now supported.

ExtrudeCrvToPoint: History now supported.

ExtrudeSrf: History now supported.

ExtrudeSrfAlongCrv: History now supported.

ExtrudeSrfTapered: History now supported.

FilletPolyline command: Now deselects objects that are not polylines and continues instead of terminating.

FillHole and FillHoles have been renamed to FillMeshHole and FillMeshHoles respectively.

Fin command: The workflow has been changed to pick the curve first before the surface.

GCon command: Now two colinear lines and a line and a curve matched G2 to the line are reported as G2.

Hatch command: Scale and rotation options now display at the command prompt.

Hatch: Exploding solid hatches now makes them into planar surfaces.

History command: History information is saved in files.There is a RecordHistory button on the status bar. When it is bold, history recording is on and when it is not bold, history recording is off.When a command is currently running, you can use the history record button to change the history recording behavior for that instance of the command. When the command exits, the Recording setting reverts to whatever it was before you started the command.

History: The Line and Point commands no longer save history information.

History: Added to NetworkSrf command.

History: History has been added to the EdgeSrf command.

HistoryReport command - Obsolete.

Hyperlink: If the object has no URL and if the object is a block, the command will use the URL field found on the block definition if it exists (this can be set from the block definition dialog box).

Import command: Reports on the command line the name and path of the file it just imported.

Import SAT: Plug-in is no longer installed. This plug-in did not work as expected.

Installer: Template files are now installed in AllUsers so low-privilege users can modify the them.

Intersect:History is now supported.

Intersection osnap works with blocks.

Invert command: Now reports number of objects selected like other select commands.

Lasso command: You now can change the view by panning, zooming, etc., after executing the command and and before making the first lasso pick.

Layer command: In the Layer dialog box, if a layer's material is not the "default" material, the circle will be outlined in black. Otherwise, the circle will be outlined in the button background color.

Layer command: In the Layer dialog box, the On/Off and Locked/Unlocked states of a layer are now independent of each other.

Layer command: The first time users run the Layer command, the dialog displays all columns. Users can then turn off what they don't want to see.

Layer dialog box: New Columns menu on Tools button.

Layer: If you are in the middle of editing a layer name, pressing the Tab key acts like the equivalent of pressing Enter and then the New Layer button.

Layer: New layers are inserted into the list just below the currently selected layer. If no layer is selected, a new layer is inserted and the end of the list.

LayerStateManager command: Now the layer state manager dialog lets you select what layer features you want to restore. So, if you only want to restore print color, for example, you can.

LayerStateManager command: The layer state manager dialog is now modeless (stays open until you close it).

Layout command: Many bug fixes and improvements.

Snapping to geometry inside of a detail viewport while working on the page should now be working.

Copy and paste from one layout page to another and from layout pages to viewports now works.

Warning added when closing layout viewports that data will be lost.

Background bitmaps in layout views now print if the option is checked in the Print dialog box.

When adding a detail, an option to select the initial view is provided.

Added color and transparency for layouts to the Colors section of the Options dialog. By setting transparency, effects like gradient view can partially show through on the paper. This also allows for a faint hint for where the paper rectangle is without having to switch to "paper space" curve/surface colors.

A separate set of page units has been added along with controls on the DocumentProperties dialog.

If the detail viewport is unlocked, the pan/zoom/rotate commands manipulate the detail viewport. If the detail viewport is locked, these commands manipulate the parent page viewport.

A basic layout dialog has been added to allow for selecting a page size and number of initial details. The command "Layout" will bring up the dialog. The dashed version is the sripted version.

Changed Sel* commands to commands pay attention to the active space and only select objects that are available in that active space.

If a detail viewport is active when a Rhino file is saved, the re-opened file lost the page. This is fixed.

The locked state of a detail view is now saved in the file.Layout viewports did not print or print preview. This is fixed.

Grips could not be moved on detail view. This is fixed.

Layout: Added Print to the Layout viewport title menu.

Length: Now allows surface edge selection.

Lights: Both Dir and Flip now work with rectangular lights, directional lights and spotlights.

LWO Export now only saves polygon mesh objects and not lines or polylines.

PlugInLoadProtection command: Obsolete - the function of this command is now incorporated into the PluginManager command. On the Rhino Options Plug-ins page, right-click a plug-in name to enable load protection.

PlugInManager command: Obsolete - replaced by Options > PlugIns.

Plugins: When a plugin cannot be found the error message now gives the name of the plugin that will not load.

Point command:History support added. If history is being recorded and the point is created with an End or Near snap to a curve or a Point snap to a mesh vertex, then the point is "stuck" to the curve or mesh.

Print command:Custom now displays the last scale used when picked from the drop-down.

Print command: During window selection of the print area, the resize option now uses the "drawable" area rectangle for snap/resize points instead of the edges of the physical paper.

Select one object dialog box: The highlight object appeared randomly in the list. This is fixed. Now the selected item is at the top of the list.

Select one object: Pressing the Delete key while an object is highlighed in the dialog box deletes the object.

Select One Object menu: New dialog box with list of objects. Color for selecting potential objects is different from the highlight color. Object color displayed in dialog box.

Selection menu: The mouse wheel always cycles the selection, regardless of the scrollbar being visible or not.

Selection: Ctrl+Click always removes objects from selection and Shift+Click toggles between selected and not selected.

SelLayer command: Allows selecting an object to specify the layer.

SelPrev and SelLast commands: Now clears the current selection before selecting the previously used selection or the last object created.

SelVisible: Has a new option to use the whole viewport.

SetObjectAttrs command name changed to SetObjectDisplayMode.

SetPt command: Right click the checkmark on the axis you want to set and the rest uncheck as in the Osnap toolbar.

ShearFace: Now defaults to a 2-D axis.

Sketch command: Feedback and action OnMesh and OnSurface improved.

SketchUPImportOptions: An option to turn off curve joining has been added. This speeds up opening larger files.

SmartTrack: Entering a number when a tracking line is active no longer finalizes the point pick.

Smash: Added a step to override the linear direction.

Smooth: Right-click one coordinate direction to set it and clear the others.

SnapToLocked: Now can run transparently (inside another command).

SoftEditCrv command: Improvements to Distance option.

SoftEditSrf command: Improvements made to feedback.

SoftEditString command name change to FixedLengthCrvEdit.

Split command, Isocurve and Shrink options: Split a trimmed surface by Isocurve with the shrink option. In V3, the surface what shrunk in both U and V directions. In V4, the shrinking only happens along the isocurve used for splitting like V2 did.

Split Isocurve and ExtractIsocurve now use Int osnap for snapping to isocurve intersections like in V2. Point osnap no longer works.

SplitEdge now allow you to keep clicking on an given edge until it is split into as many bits as needed.

Splop command: Revived.

Splop: Obsolete. The functionality has been added to the OrientOnSrf command.

SrfSeam: Now works on trimmed surfaces.

Sweep1 command: Edge chaining is now option, rather than the default.

Sweep1/Sweep2: Press Ctrl + left mouse button to deselect the last segment selected by ChainEdges.

Sweep1: Road-like Top is now "session sticky" and reverts back to Freeform between sessions.

Sweep2 command: Edge chaining is now option, rather than the default.

Sweep2: The radio buttons for surface continuity are now tuned to show only the continuity options that the curve structure (point count and rational/non rational) actually support.

Sweep2: The rebuild curves option now allows the number of control points to be reduced to 2.

Taper command has a new Infinite option. If the option=yes, then the Taperhappens throughout the object, even if the axis is shorter. This makes taper behave like V3.

TCone command: There is now a DirectionConstraint option. It has three options: None, Vertical and AroundCurve. It defaults to DirectionConstraint = Vertical.

TCone:

Prompt order changed to Base, Radius 1, End, Radius 2.

3Point option now sets the circle plane as well as the size and center.

Template files: New template files designed to give better input on dimensions and tolerances are now installed.

Tube command: There is now a DirectionConstraint option. It has three options: None, Vertical and AroundCurve. It defaults to DirectionConstraint = Vertical.

Twist command has a new Infinite option. If the option=yes, then the Twist happens throughout the object, even if the twist axis is shorter. This makes twist behave like V3.

UI Tune-ups: Many changes to the UI: Menus, toolbars, and dialog boxes to reflect changes.

Undo command: The number of undos is ALWAYS honored even if it crashes the computer. The memory setting only comes into play when the minimum number of undos has been recorded and there is still memory available. Then the actual number of undos will climb until the memory number is reached. At that point new undo steps are recorded and the oldest ones are kicked off the stack based upon how much memory they used.

Undo: Undoing/redoing changes to objects is much faster.

UnrollSrf command: Now allows labeling when not exploding the result.

UnrollSrf command: Now supports picking curves and points on the surface.

Untrim command: Feedback for selecting when there are common trimming boundaries has been added.

Untrim command: Now does partial untrimming.

Unweld with Angle=0 does a better job of unwelding meshes with non-mainfold edges and duplicate faces.

UTD: Bend or otherwise modify a kinked curve (such as a rectangle), the interior kinks incorrectly became tight rounded corners. Kinks in original curve of 5 degrees or greater are now kept.

VariableBlendEdge command: Corners should now be G2 continuous with the adjacent blends.

VariableBlendEdge: Name change to BlendEdge.

VariableChamferEdge: Name change to ChamferEdge.

VariableFilletEdge: Name change to FilletEdge.

ViewCaptureToClipboard/File: Script version has new option - DrawCPlaneAxes.

Viewports command/dialog has been removed. Most of its functionality has been replaced by the viewport tabs.

Viewports command: New buttons to create and delete viewports and to set shaded mode.

Volume, Length, Area, and Distance now let you select the units for displaying the results.

VRFillet command: In the case of a three-edge corner with two blends on one side of the polysurface, the corner patch is a blend between the other edge blend and the face opposite that edge. If the corner is sharp, the blend rail on the opposite face cuts across the original trims leaving a hole. The surface boundary should be adjusted to fill in this hole.

What command:

History: When an object has history, a brief history summary to the report created by the What command an the Details button on the object properties dialog. For a detailed history report, use the HistoryReport command.

Now reports details about conic section curves.

Wireframe display: Highlighted objects will never disappear or interrupt when panning or zooming.

Zoom Extents All: Zooming to small objects in perspective views did not work well. This is improved.

BlendSrf command: A problem with blending at a singularity has been fixed.

BlendSrf command: Problems with the dialog box display have been fixed.

BlendSrf command: Symmetrical blend curves did not make a symmetrical blend. This is fixed.

BlendSrf command: The surface was not created with the correct continuity in some cases. This is fixed.

BlendSrf command: Turning preview on and off caused an extra surface to be made. This is fixed.

BlendSrf command: Using the Preview reset the cross-section curves to the defaults. This is fixed.

BlendSrf:

The edge chainer did not stop after going around a closed hole the first time. Edges from both surfaces were incorrectly added to the chain, one after the other. Now the autochaining should stop as soon as the chain forms a closed loop.

The Perpendicular object snap now works when adding additional section curves.

Block: When a block with surfaces is mirrored and exploded, the surfaces had their normals incorrectly flipped. This is fixed.

BlockManager command: Changes made in the Block Manager dialog did not trigger a save. This is fixed.

BlockManager command: Objects on off layers included in a block instance were incorrectly not exported. This is fixed.

BlockManager: Hidden blocks (with * prefix in the name) did not display correctly. This is fixed.

Blocks: Several crash bugs with block selection have been fixed.

Blocks: A crash when snapping to blocks has been fixed.

Blocks: Empty block defintions and references to empty block definitions are now read by Rhino. References to empty block definitions can be selected by the SelAll, SelBlock, and SelBlockNamed commands. BlockManager can be used to destroy empty block definitions.

Bonus Tools - MoveTargetToObjects: Moves a viewport's target position to the center of the bounding box of selected objects.

Boolean commands: Several intersection bugs fixed.

Boolean operations: Groups can now be selected for input into the Boolean commands.

Boolean bug fixed.

Boolean2Objects: Could create a single disjoint polysurface. This is fixed.

BooleanDifference command: Grouping of text objects was ignored for selecting objects. This is fixed.

BooleanDifference command: Several bugs have been fixed.

BooleanDifference command: Several failures due to tangency conditions have been fixed.

BooleanDifference: fixed a case where Boolean Difference failed.

BooleanDifference: A crash has been fixed.

Booleans: Several bugs fixed.

BooleanUnion command: The order of selection of more than two objects affected the result. This is fixed.

Bounce: Incorrectly did not accept 0 as the construction plane origin. This is fixed.

BoundingBox command: Can now be canceled before completion.

Box command: The height was not tracked from the second point, but always from a point with the biggest absolute X and Y value. This is fixed.

Box: Two drawing bugs with the Cube option have been fixed.

Built-in Alias "Right": Did not exist to match other viewport commands - Top, Front, etc. This is fixed.

Cage: Movingobjects failed to move the captive objects. This is fixed.

CageEdit: PreserveStructure option is not displayed when cage editing polysurfaces, since it is impossible.

CageEdit: Bugs fixed:

Relationship between cage and captive object could break.

Captive objects incorrectly released during transform commands.

Mesh vertex normals were incorrectly changed.

Captive object incorrectly edited.

Calc command: Now has scriptable options for On/Off/Toggle. The CalcToggle command has been discontinued.

Calc: A problem with using numbers in memory has been fixed.

CalcRPN command: Now has scriptable options for On/Off/Toggle. The CalcRPNToggle command has been discontinued.

Camera command: Manipulating the camera incorrectly set the camera rotation to zero. This is fixed.

Camera command: Transform commands (like Move, Scale, etc.) now filter out the picking of camera grips. These special grips can only be manually dragged to a new position.

Camera control points were not deselected with Esc. This is fixed.

Camera: Transform commands no loger allow selection of camera points.

Camera: A problem with control points being clipped in the view has been fixed.

Chaining selection: Several bugs fixed.

Chaining: In some circumstances when the Chaining option is on, a second edge is incorrectly automatically selected. This is fixed.

Chamfer: Under certain circumstances, Chamfer cut the wrong way. This is fixed.

ChamferSrf did not accept both distance at the same time the way Chamfer did. This is fixed.

ChamferSrf: Selecting with scripting failed. This is improved.

ChangeLayer command: Now matches CopyToLayer dialog behavior.

ChangeLayer: Redo did not work properly. This is fixed.

ChangeLayer: Selected objects were deselected at the command end. This is fixed so that only objects changed to a locked or off layer are deselected.

Check: Did not always find bad surfaces. This is fixed.

CheckIn/OutLicense: Several bugs have been fixed.

CheckMesh command: Did not properly cancel with ESC. This is fixed.

CheckNewObjects command: Several improvements make it so Rhino correctly reports bad objects. Adding good objects sometimes caused Rhino to report that bad objects were being added. This is now fixed.

Circle command: FitPoints option should now be more accurate.

Circle command: The AroundCurve option on an ellipse using the Quad object snap failed. This is fixed.

ClippingPlane: If a clipping plane was active in a detail, it incrorrectly clipped the page geometry. This is fixed.

CollapseMeshEdge command: Vertices could not be individually selected, only windowed. This is fixed.

Command Prompt: Incorrectly left a blank line. This is fixed.

Command Prompt: The command repeat and recently-used list was not working properly. This is fixed.

CommandContext: the context-sensitive help window now displays the Welcome to Rhino topic if a more appropriate help topic cannot be displayed.

CommandHelp is now turned when running Rhino in safe mode to prevent crashing.

CommandHelp:

Now intermediate commands in scripts will not force the help to update.

The help window no longer requires a mouse click to set focus. This means the window will scroll as soon as the mouse is over it.

CommandHelp: Context-sensitive help now works with scripts that pause for interactive input.

CommandHistory: The Clipboard option of the scripting version did not work properly. This is fixed.

ConnectSrf: A problem with finding the intersections has been fixed.

Context menu: The Repeat menu item did not work. This is fixed.

Context menus are now enabled by default so they can be discovered by users.

Contour command: Missed placing contour curves in some cases. This is fixed.

Contour command: Failed in certain circumstances due to the intersector. This is fixed.

Contour command: Using the Range option terminated the command. This is fixed.

Contour: A crash when cancelling the command has been fixed.

Control point editing: Control point editing of a closed surface could invert the normals in wireframe mode. This is fixed.

Convert command: Converting a closed control point curve to a polyline incorrectly resulted in an open polyline. This is fixed.

Convert command: The angle tolerance test was wrong. This is fixed.

Convert: Now maintains settings from one session to the next.

Coordinate entry: It is now possible to enter 3-D coordinates as input for 2-D rectangles in such commands as Zoom Window and Drape.

Copy command: Lights were incorrectly not copied when using the InPlace option. This is fixed.

Copy command: The InPlace option incorrectlyed divided kinked surfaces at the kinks. This is fixed.

Copy command: New options that show up AFTER you pick the point to copy to. FromLastPoint UseLastDistance UseLastDirection.

Copy: The Copy command would not accept the same coordinates for the base point as for the second point. This is fixed.

CopyToClipboard: Lights did not properly copy to and paste from the clipboard or export to a file. This is fixed.

CopyToLayer command: Dialog box updated to use new layer features and to look and feel like the ChangeLayer command.

Cosmetic tune-ups with tracking and feedback colors.

CPlane command, Surface option: The second pick on the Surface option, or "X axis direction or press Enter to accept default", is now constrained to the surface that was picked.

Advanced display: A crash when creating or deleting a new named display mode or renaming a new display mode has been fixed.

BackgroundBitmap: When a background bitmap file was deleted, Rhino could crash on startup.

CPlane

Export

ExtractControlPolygon

Join: An intermittant crash in the code that joins curves has been fixed.

License manager

Open/Close/Save: Crashes opening and closing Rhino.

Open:LWO: Crash opening Lightwave files.

Options

Open:DXF

Paste: Holding Ctrl+V to paste objects caused Rhino to close.

Print

SaveSmall

Sweep1

Toolbar command crashed Rhino on Vista Home Basic OS.

Ungroup

WireCut

Crash Reporting: When Rhino V4 crashes, it attempts to create two files on the user's Windows desktop.

RhinoCrashModel.3dm - a last ditch effort to save the model as it existed when the crash happened. Each crash replaces this file.

RhinoCrashDump.dmp - a small file that the Rhino developers can use to diagnose the cause of the crash.

If possible these files should be emailed to tech support. If the model data is proprietary, then we can still determine what command crashed by looking at RhinoCrashDump.dmp and attempt to fix the bug. (No model data is included in RhinoCrashDump.dmp.)

Crashes fixed: A problem closing files with stacked dialog boxes has been fixed.

Crashes fixed: A problem with toolbar management has been fixed.

Crashes fixed: NamedCPlane command.

Crashes fixed: RDK affects Open command.

Crashes fixed: Twelve RDK (render developers kit) crashes fixed.

CreateUVCrv command: Created curves on the surface layer instead of the current layer. This is fixed.

CreateUVCrv: Accuracy has been improved.

Crv2View command: Problem with planar tolerance has been fixed.

Crv2Views command: Creating curves using lines or rectangles (degree 1 curves) did not produce the correct result. This has been fixed.

CrvSeam: A problem flipping the direction with a mouse click has been fixed.

CullControlPolygon now correctly pays attention to the direction of the surface as viewed in the Dir command.

CullControlPolygon works on Mesh objects.

CullDegenerateMeshFaces command: Rhino prompts for a mesh but incorrectly did not deselect the ineligible objects. This is fixed.

Cursor tooltips: A problem with placement has been fixed.

CurvatureAnalysis command: All the surface analysis commands Adjust mesh buttons default to "Detailed controls." This is now where you left it - simple controls by default.

CurvatureAnalysis: Rounding in the dialog box has been reduced.

CurvatureAnalysis: The false-color analysis failed on spheres. This is fixed.

CurvatureGraph command: All analysis modes - When Rhino lost focus, the floating dialog displayed but the analysis display was gone. This is fixed.

CurvatureGraph command: Curvature graph was not displaying in the new advanced settings. This is fixed.

CurvatureGraph command: Did not pay attention to the selected objects. Turned the graph on for all visible curves (even those that are locked). It also did not allow you to add or remove from the selection set. This is fixed.

Curve/Surface intersection: Several bugs have been fixed. Affects commands such as Intersect, Split, Trim, Project, etc.

Curve: Zero was incorrectly not accepted as the origin for the first point in curve. This is fixed.

Curve/InterpCrv: Changing the curve degree at the first prompt did not work correctly. This is fixed.

Curve: A problem with closing certain kinds of curves has been fixed.

CurveBoolean command: Preview gave wrong result. This is fixed.

CurveBoolean failed on some polylines. This is now fixed.

CurveBoolean: DeleteInput now has three sub-options: None, All, and Used. The Used option only deletes input curves that actually contribute to the output.

CurveBoolean: Incorrectly previewed the curves in black. This has been fixed.

CurveBoolean: Point objects that are in the group of curves are incorrectly selected at the end of the command along with the curve output. This is fixed.

CurveThroughPolyline command: Incorrectly made a self-intersecting loop in some cases. This is fixed.

DeleteEdge command: Name change to RemoveEdge.

DeleteMeshFaces command: Incorrectly left orphaned vertex points. This is fixed.

Detail command: Detail viewports now support projection locking. Details can be locked so their view setup cannot be changed. When active, detail viewports show a lock/unlock icon in the lower left corner of the viewport. When the detail is locked, you cannot pan, zoom, or rotate the viewport. When unlocked, all of the standard Rhino view manipulation tools are available.

Detail command: Zoomed detail viewport did not update correctly. This is fixed.

Detail: The Scale option was not working properly. This is fixed.

Detail: A problem with the scale display has been fixed.

Detail: Snapping to details did not work. This is fixed.

Detail: The active detail is now drawn on top of all other details.

Detail: TiltView did not work properly in detail views. This is fixed.

DocumentProperties, Dimensions: Added support for text gap and line extension.

DocumentProperties, Render: The Lock viewport aspect ration was incorrectly not maintained after closing the dialog box. This is fixed.

DocumentProperties, Rhino Render: A crash when checking the Miscellaneous settings has been fixed.

DocumentProperties, scripting version: An option for setting the mesh density has been added.

DocumentProperties: Hatch page removed.

DocumentProperties: Importing default dimension styles did not work properly. This is fixed.

DocumentProperties: Mesh settings were always being set to the defaults for Custom even when there was a Jagged and Faster setting saved with the file. This is fixed.

DocumentProperties: The preview image of a perspective viewport was not properly saved. This is fixed.

Dot command: Dots incorrectly revert to current layer color when in a block. This is fixed.

Dot: Zoom Extents did not work properly with annotation dots. This has been improved.

DraftAngleAnalysis command: Objects removed from the analysis incorrectly retained the color shading. This is fixed.

Drag & Drop dialog incorrectly did not come to the top. This is fixed.

Drag: Dragging a surface control point incorrectly caused the weight of other control points to change. This is fixed.

DragMode command: Osnaps were incorrectly projected to the drag plane in view-based and other special drag modes. This is fixed.

DragMode: Cursor change: Now has a "UVN" cursor with letters.

Drape: Incorrectly used non-surface objects. This is fixed.

Drape and -Drape: Did not work with typed input. This is fixed.

Drape: A problem with scaling the view has been fixed.

Drape: Accuracy has been improved.

Drape: Failed with autospacing set to No. This is fixed.

Dual monitor: Resizing the main Rhino window so it stretched across two monitors then closed and re-opened Rhino, the main window was incorrectly sized to fit the main monitor or the monitor that contains most of the window rectangle.
Now Rhino will let the window span multiple monitors and will only move or resize the window if one or more edges is off all the monitors.

DupBorder: Incorrectly did not duplicate the border of a selected face in a closed polysurface. This is fixed.

Edit Toolbar button dialog box now supports Ctrl+A to select all of the text in an edit box.

EditLightByLooking command: New NewSpotlight option allows creating a new spotlight during the command.

EditLightByLooking command: The dynamic preview was jumpy. This is fixed.

EditText: Double-clicking text to edit caused a crash. This is fixed.

Ellipse, Deformable: Entering zero for construction plane origin did not work. This is fixed.

Ellipse command: Ellipse Diameter second input was actually a radius. This is fixed.

Ellipse: A Deformable option has been added.

Ellipse: The FromFoci option gave the wrong result if a plane could not be found that passed through the points. This is fixed.

Ellipse: Vertical option added.

EMap command: If EMap and ShowEdges are both on, surfaces incorrectly always showed isocurves without regard for the "Show Isocurves" EMap setting. If ShowEdges is not turned on, "Show Isocurves" worked. This is fixed.

End object snap: Now picks the point closest to the camera if the osnaps are otherwise identical.

End object snap: Now works on curve kinks.

EndBulge command: EndBulge incorrectly always made a low degree curve into a degree 5 curve, regardless of the setting for tangency or curvature in the command. This is fixed. The curve degree is only raised as needed.

EndBulge command: The degree of a curve was changed whenthe PreserveCurvature=No option was used. This is fixed.

EndBulge incorrectly added control point rows when none were required. This is fixed.

EndBulge: Now correctly rejects degree 1 surfaces.

Error Reporting: The crash reporting mechanism has been improved.

EvaluatePt: The display did not show negative coordinates with preceding hyphens. This is fixed.

Export command: Created incorrect preview image.

Export DXF: Very small objects were filtered out of the export. Smaller objects are now allowed.

ExportOptions command: Leaving the Description field blank caused a crash. This is fixed.

ExportOptions/ImportOptions commands: The "file search paths" settings were not exported or imported. This is fixed.

Extend command: Problems with window selection have been fixed.

Extend command: using the Smooth option could incorrectly extend a curve over a boundary. This is fixed.

Extend command: When extending curves dynamically by arc, either using the Arc mode to extend all curves by arc, or the Natural mode to extended arcs by arc, Rhino now by default uses the radius of the arc to extend for the extension. The new default prompt is "End of extension or extension length", and the old default mode is now activated with "ToPoint" option.

Flow: The Flow command has been changed as part of the UDT effort. New documentation will be forthcoming.

FoldFace command: Failure bug with Line option has been fixed.

FoldFace command: The Asymmetrical option should keep the positive direction for each face the same relative to the face being folded. Currently the + direction is decided by the direction around the axis.

FullScreen: Incorrectly caused menus to disappear. This is fixed.

GhostedViewport: Picking in ghosted mode has been improved.

GHS Import/Export: The GHS import and export plug-ins fail to load. This is fixed.

Grid redraw: The grid was not properly redrawing when settings were changed. This is fixed.

Group command: Incorrectly accepted objects from a Worksession attachment. This is fixed.

Group command: Problems with selecting groups that have members on layers that are off have been fixed.

Hatch command: A display problem has been fixed.

Hatch command: Copy and paste did not work for hatch objects. This is fixed.

Hatch command: Hatching planar curves parallel to the construction plane incorrectly created the hatch on the construction plane instead of the plane of the curve. This is fixed.

Hatch command: Interface tune-ups.

Hatch command: When selecting more than one hatch, the rotation angle incorrectly changed.

Hatch: A problem with hatch display has been fixed.

Hatch: DeleteInput now has three sub-options: None, All, and Used. The Used option only deletes input curves that actually contribute to the output.

Hatch: The hatch preview is now the current layer color, not black.

Hatch: Zero-length lines incorrectly did not display. This is fixed.

HBar: When editing with the Curvature Graph on, the graph now updates as the handlebar is dragged.

Helix, Spiral, and Flow should now create less wiggly geometry, and Rebuild should create curves and surfaces with more even point spacing.

Helix: Helix creation is more accurate.

HideInDetail: Objects hidden with the HideInDetail command incorrectly responded to object snaps in active views. This is fixed.

History, Lock: Locked objects display in their normal color.

History/Extrude command: Extruding a rectangle incorrectly created a kinked surface that updated to a polysurface. This is fixed.

History: Turning on history locking turns off control points on objects with history.

History: Several bugs with recording and updating history have been fixed.

IGES Import does a better job of reading object locations from files that have custom coordinate systems.

Insert command: Now validates scale values and makes sure they are non-zero.

Insert: A problem with creating layers after the insertion was canceled has been fixed.

Insert: A problem with inserting a block when construction planes other than world top were used has been fixed.

Insert: The Insert dialog now has a check box to display hidden "*" blocks.

InsertControlPoints and RemoveControlPoints: Now works on trimmed surfaces.

InsertKnot command: Incorrectly created a polysurface in some circumstances. This is fixed.

Installer: Files modified by users such as hatch patter, linetype, print widths, colors, and toolbars were incorrectly replaced by a fresh install. This is fixed.

Installer: Low-privilege users can now modify toolbars and template files.

Installer: The extracted .MSI version of the WIP (Beta) installer would not accept Beta CDKeys. This is fixed.

Installer: The installer deleted custom template files. This is fixed.

Installer: The installer now checks for presence of Rhino V3 before installing.

Installer: A file required for ZPR export was not being installed. This is fixed.

Installer: Crash on startup fixed.

Installer: Patch installs did not work silently. This is fixed.

Installer: Standard plugins are now pre-loaded. After installing Rhino, you no longer have to wait for the long "first-time" registering dialog .

Int and Point object snap: These object snaps could become confused in some circumstances. This is fixed.

Int object snap: Crashed with dot or dashdot linetypes. This is fixed.

Int object snap: On intersecting lines, drawing a circle around either line at the intersection fails. The circle is now drawn around the line closest to the cursor.

Int osnap locks up when you try to snap to a surface with control points shooting intoinfinity and/or control point weights being negative.

Int object snap: Everything that constrains the input to a surface can use Int osnapping to isocurve intersections.

InterpCrv: 0 was not accepted as input for the first point. This is fixed.

InterpCrv: The maximum number of points on a curve has been limited to 32,000. A warning appears if the number exceeds this.

Intersect command: Did not work on some objects folded back on themselves. This is fixed.

Intersect command: Several bugs fixed.

Intersect command: Several bugs fixed.

Intersect command: Several bugs have been fixed. These fixes also apply to the Boolean... commands.

Intersect command: Several bugs have been fixed for objects that were far from the origin, very large compared to the units setting, and degree 2 surfaces.

Intersect command: Several cases that previously failed have been fixed.

Intersect/Split/Trim/Boolean commands: Several bugs that affect intersections of objects have been fixed.

Intersect: Failed on fully-multiple knots. This is fixed.

Intersect: Failed on some closed polysurfaces. This is fixed.

Intersect: In some cases only a short segment of the intersection was extracted. This is fixed.

Intersect: The Intersect command could give a different output depending on the order the surfaces are picked. This is fixed.

Intersection object snap: Now works within block definitions and with the TAB direction lock.

Join command: Made invalid curves if one or more input curves were very short. This is fixed.

Join command: Edges rejected from join were incorrectly left selected, but not highlighted. This is fixed.

Join:

A problem joining the ends of an open arc to form a circle that caused the change in the radius to be greater than the model tolerance has been fixed.

A problem with joining chained edges has been fixed.

Join: A crash using SelChain to select surface edges has been fixed.

Join: A problem with tinh inaccuracies has been fixed.

Join: Feedback when join failed has been improved.

Join: Incorrectly created inside-out closed polygon. This is fixed.

Join: Cancel bug is fixed.

JoinEdge: Incorrectly did not allow window selection. This is fixed.

Lasso command: Hidden points were being selected. This is fixed.

Layer dialog title didn't update properly when layer filters were applied if the layer dialog was docked.

Layer command:

A discrepancy between the way Windows deals with renaming and the way Rhino does it has been fixed.

Delete the Default layer. No other layers could then be deleted. This is fixed.

Layer command: After renaming a layer and pressing ENTER, focus returns to the Rhino command line.

Layer command: Changing an object to a layer that is off incorrectly kept the object selected. This is fixed.

Layer command: Changing object layers from Layer dialog was very slow. This is fixed.

Layer command: Copying objects to a different layer using the Layer dialog box created too many copies.

Layer command: Hierarchy was not correctly copied when layers were pasted. This is fixed.

Layer command: Incorrectly could not change objects to the Default layer. This is fixed.

Layer command: Layers contained in blocks could incorrectly be deleted from the Layer dialog box. This is fixed.

Layer command: Many tune-ups to the dialog box and the functions.

Layer command: New instances of Rhino opened with only the Names column displayed in the Layer dialog box. It now open with the same columns as V3 by default and remembers between sessions what was showing last.

Layer command: Objects can now be copied to several layers at once by selecting multiple layers to copy to.

Layer command: Right-clicking below the list of layers in the white empty space of the layer dialog box incorrectly did not deselect all layers and show the context menu. This is fixed.

Layer command: Several display bugs in the dialog box have been fixed.

Layer command: Some cosmetic issues with the dialog box have been fixed.

Layer command: Some display problems have been fixed.

Layer command: The dialog box was not redrawing properly when column widths were changed. This is fixed.

Layer command: The Layer dialog box can now be docked at the top or bottom of the Rhino screen.

Layer command: The Layer dialog box did not redraw properly when adding sub-layers. This is fixed.

Layer command: The tooltips sometimes became confused if the layer dialog box was docked. This is fixed.

Layer command: There have been updates to the dialog box display.

Layer command: When a layer was deleted, viewports were not being properly updated. This is fixed.

Layer dialog: Missing buttons restored.

Layer status-bar popup: If the layer status bar popup is visible, right clicking the layer pane does not dismiss the popup. This is fixed.

Layer/Group commands: If an object was on a layer that was turned off, but grouped, it would incorrectly no be moved with the visible grouped objects. This is fixed.

Layer:

When you insert a file with the same layers (names) but with different hierarchies into another (using the Insert command), the target file&apos;s layer hierarchy will be modified to match that of the source file.

Many layers slowed working in the dialog box. This is improved.

Several cosmetic problems with the layer dialog box have been fixed.

Layer:

Clicking on the Material column now displays the New Material dialog box.

New warning when deleting layers with hidden objects.

The arrow that indicated the sort column and sort order was missing from the layer header control. This is fixed.

Layer: A problem with layer dialog box refresh has been fixed.

Layer: Dragging layers with parents and children did not work correctly. This is fixed.

Layer: Layer name changes were incorrectly handled by Undo. This is fixed.

Layer: Material options have been added to the script version.

Layer: Undo did not properly work with nested layers. This is fixed.

Layers: When starting a new model without a template file, the "default" layer was always black, instead of taking on the default layer color.

LayerStateManager command: Did not work with hierarchies. This is fixed.

LayerStateManager: Restoring a layer state failed when the current layer was off. This is fixed.

LayerStateManager: The scripted version failed to rename saved layer states. This is fixed.

Layout command:

Blocks in layout space, incorrectly did not highlight when selected. This is fixed.

Several minor cosmetic bugs have been fixed.

Layout command: Geometry that only shows up on page viewports was being read back in (on a file open) into standard rhino viewport world space. This is fixed.

Layout command: Lots of tidying up.

Layout command: Several bugs have been fixed: Selection highlight appeared in both detail view and normal viewport, dragging detail view made objects disappear, and screen refresh after minimizing Rhino.

Layout command: Several bugs with detail views crashing and displaying incorrectly have been fixed.

Layout command: Several display bugs have been fixed.

Layout command: In a detail view dragging control points turned off the point display. This is fixed.

Layout:

Increasing the detail border's line width it doesn't print at all. This is fixed.

If print output is set to black and white in the print dialog the detail border still prints in color. This is fixed.

Layout:

Zoom Extents All no longer affects detail viewports.

Zoom selected on objects in a standard modeling viewport no longer affects any page or detail viewport.

The last active viewport is now saved in the 3dm file. The viewport that was last active (model, detail, or page) should be the active viewport when you re-open the model.

Increasing line width of the the detail border caused it to not print. This is fixed.

If print output is set to black and white in the print dialog the detail border still prints in color. This is fixed.

The last active viewport is now saved in the 3dm file. The viewport that was last active (model, detail, or page) should be the active viewport when you re-open the model.

Layout:

Dimensions and Distance gave different answers based on the zoom level. This is fixed.

Double clicking the layout viewports incorrectly caused details to become active/inactive. When the double click occurred, the command prompt lost

Layout: A problem with bad construction planes in layout views has been fixed.

Layout: Crosshairs were not displaying correctly. This is fixed.

Layout: If the grid was set to display as a transparent plane, it was incorreclty displayed in the layout view when output was set to raster. this is fixed.

Layout: Right clicking on the viewport tabs and selecting the "rename" context menu item did not work correctly when the tab was on a second monitor. This is fixed.

Layout: Several bugs with the settings have been fixed.

Layout: Several problems with custom sheet sizes have been fixed.

Layout: The grid incorrectly displayed in new page layouts. This is fixed.

Layout: When details are created, their print width is set to "No Print."

Leader command: The scriptable version -Leader incorrectly displayed a dialog box. This is fixed.

Leader command: Files with leaders would crash on open. This is fixed.

Leader: Edited leader text was not saved. This is fixed.

Leader: Scripting option now implemented.

License Manager:

A conflict when user name had an ampersand (&) has been fixed.

If a workgroup node cannot connect to the Zoo, Rhino will now ask for a cd-key.

License Manager: It is now possible for commercial and beta copies to be installed on the same system and for them both to get the correct type of key from the Zoo.

Lights: Rhino would crash if there were more than 128 lights. This is fixed.

Line Types, Print Widths and Hatch Patterns: Linetypes, and print widths can be customized by editing the text files for these attributes. They are located in C:\Program Files\Rhinoceros 4.0 WIP\System\Languages\ and are called linetypes_1033.txt, printwidths_1033.txt and hatchpatterns_1033.txt.

Line: No longer allows creation of zero-length lines.

Line: The Tangent and Perpendicular options caused a crash when snapping to a block. This is fixed.

LineThroughPt command: Accepts control points.

Linetype properties: Were incorrectly not copied to the Clipboard. This is fixed.

Linetype scale: Did not work right with inches units. This is fixed.

Linetypes: The Document Properties Linetype scale incorrectly allowed 0 as a value. This disabled linetypes. This is fixed.

Lock command: Incorrectly did not post-select an object with PointsOn. This is fixed.

Lock: Locking a block incorrectly did not change the object's color. This is fixed.

Loft command: Rebuild option did not give the same results as using the Rebuild command first and then lofting. This is fixed.

Loft command: The Match start tangent option did not correctly turn off. This is fixed.

Loft command: New Uniform option.

Loft with history: If the original loft made a single surface, then subsequent lofts created by history make a single surface, even when the new surface will be kinky. If the original loft make a polysurface, then subsequent lofts created by history will make split surfaces at creases.

Loft, NetworkSrf, Sweep2, etc., commands: The dialog box did not close when a toolbar button was clicked.

Loft: A crash bug creating Developable surfaces has been fixed.

Loft: Creating a loft between one curve and a point failed. This is fixed.

Lofting between an arc and a line created a polysurface. This is fixed.

MacroEditor command now has a scroll bar to make it easier to edit macros that are longer than the window can display.

MacroEditor: A problem with focus to the command line has been fixed.

Maelstrom: The select objects prompt has been changed.

Make2D command: 2-D view curves were not properly placed. This is fixed.

Make2D command: Blocks were not properly filtered. This is fixed.

Make2D command: When dimensions were included, the views are not correctly aligned. This is fixed.

Make2D command: Layers were incorrectly assigned. This is fixed.

Make2D: A problem with creating hidden lines has been fixed.

Make2D: Incorrectly included unselected grouped objects. This is fixed.

Make2D: Worked differently wihen preselecting and post-selecting objects in groups. This is fixed.

MakeHole: New surfaces made with the Through option were not properly sized. This is now fixed.

MakeHoles command: Name change to MakeHole.

MakePeriodic: A problem with multiple kink removal has been fixed.

MappingOn: The mapping widget appearance has been revised to make it easier to see.

Match:

Could not match two ends of the same curve. This is fixed.

Prompt change from Tangency to Smooth to represent actual results.

Match: A failure bug with the Preserve Other End option has been fixed.

Match: Incorrect results occurred in some circumstances. This is fixed.

MatchMeshEdge command: Crash when selecting a closed object has been fixed.

MatchMeshEdge: Caused bad object. This is fixed.

MatchMeshEdge: Improved handling of texture coordinates, vertex normals, colors, and other vertex information. This is fixed.

MatchSrf command: A problem with "Match edge by closest point" has been fixed.

MatchSrf command: Matching two closed tubular surfaces with Average and Refine caused a crash. This is fixed.

MatchSrf command: Matching with Automatic isocurve direction caused the match to use the wrong tangent direction. This is fixed.

MatchSrf command: Preselected surface edges were incorrectly not cleared from the selection. This is fixed.

MatchSrf command: Several bugs with dense and bad surfaces, and incorrect matches have been fixed.

MatchSrf command: Several problems with chain selecting have been fixed.

MatchSrf command: Several problems with positioning have been fixed.

MatchSrf command: The Isocurve direction is now remembered within a session.

MatchSrf command: The new surfaces were not properly highlighting in the preview. This is fixed.

MatchSrf command: There was incorrectly no opportunity to reset surface edge seam points. This is fixed.

MatchSrf command: Pressing Enter with no selection incorrectly caused dialog box to appear. This is fixed.

MatchSrf: A bug that could cause one of the surfaces to match to be deleted has been fixed.

MatchSrf: A problem with incorrect object highlighting has been fixed.

MatchSrf: In some situations when a surface is split with its own isocurve and Shrink=Yes, MatchSrf still considered the edges of the untrimmed surface to be trimmed. This is fixed.

MatchSrf: Object highlighting did not work properly in some cases. This is fixed.

MatchSrf: The options were not properly set or saved. This is fixed.

MeanCurve command: Did not create acceptable output from arcs. This is fixed.

MeanCurve: There is now a curve seam lining up when the curves are closed.

Mesh command: Did not properly cancel with the Esc key. This is fixed.

Mesh command: Preview did not display in OpenGL mode. This is fixed.

Mesh control points: Deleting a control point on a mesh that did not have mesh normals assigned crashed Rhino. This is fixed.

Mesh: Custom mesh settings now stick. If, for example, you go to jagged and faster and then back to custom, the values return to the custom setting.

Mesh: Detailed control dialog box did not properly close. This is fixed.

Mesh: A bug with meshing joined surfaces has been fixed.

Mesh: A problem with creating closed meshes from surfaces of revolution has been fixed.

Mesh: A problem with unsafe cancel while processing the mesh has been fixed.

Mesh: Checks have been added so that the meshing can be canceled safely and quickly.

Mesh: Many meshing bugs have been fixed.

Mesh: One problem with slow meshing has been fixed.

MeshBooleanSplit command: A problem with bad mesh output has been fixed.

MeshBox: Backfaces did not shade. This is fixed.

MeshBox: Incorrectly created open boxes in some cases. This is fixed.

MeshDensity: The MeshDensity command has been replaced with an density option on the MeshBox, MeshCone, MeshCylinder, MeshPlane, and MeshSphere commands.

MeshFromPoints: Deleted command restored.

MeshOutline: Failed to create curves in ortho views. This is fixed.

MeshPolyline command: Textures did not display correctly on a meshed polyline. This is fixed.

MeshSphere did not create a closed mesh. This is fixed.

MeshSplit & MeshBooleanSplit: Split mesh parts lost their color and name properties. This is fixed.

MeshSplit: Several bugs fixed.

MeshToNURB: Will not accept meshes with more than 20000 faces.

Mirror: A problem with mirrored groups has been fixed.

ModelWorks command: SolidScape printing maximum tolerance fixed.

ModelWorks plugin: A bug saving the settings has been fixed.

Most recently-used commands: Command names were incorrectly being added to the MRU list. This is fixed.

Move command: Using the Vertical option with a single number did not work in a script. This is fixed.

MoveCrv: History did not workproperly with the MoveCrv command. This is fixed.

MoveFace command: Direction bug fixed.

MoveFace command: The following problems with MoveFace and other faces and edges transform commands have been fixed:Incorrectly allowed pulling a nested face out of face boundary.Did not pull faces/edges of inner loops of stretched faces.Did not reconstruct holes in stretched faces.If moving an edge of a face with > 4 edges, resulting face was incorrect.

MoveFace: Incorrectly did not move two selected faces. This is fixed.

MoveHole command: Problems with hole collisions have been fixed.

MoveHole: Holes that cannot be moved are detached and moved to the new location.

MoveHole: A crash occurred when dragging a hole out of its surface boundary. This is fixed.

MoveUntrimmedEdge command: Prompts refined.

MoveUVN - Interface change: The way it used to work was you had to turn all the surface control points off and back on and then select them to get MoveUVN to recalculate the vector directions. Now, you only have to deselect the control poinsts and reselect them to get a new vector direction calculation.

MoveUVN command: Default scale seemed too high. This is been fixed.

MoveUVN: Did not work properly on cage control points. This is fixed.

MoveUVN: If more than one control point was selected, only one of the points moved properly. Other points moved more than the specified distance. This is fixed.

MoveUVN: Running another command that changes objects while the MoveUVN dialog box was open caused a crash. To fix this, MoveUVN will no longer allow object changes while another command is running.

MPlane: After moving an object with a mobile construction plane, Undo breaks the connection between the MPlane and the object. This is fixed.

OffsetCrveOnSrf command: Cases of simple curves on a plane did not produce good results. This is fixed.

OffsetCrvOnSrf command: The command sometimes incorrectly created an extra curve. This is fixed.

OffsetCrvOnSrf command: The offset curve was incorrectly not drawn on the current layer. This is fixed.

OffsetMesh command: The command -OffsetMesh brings up a dialog. The command OffsetMesh presents command line options. They were incorrectly reversed.

OffsetMesh command: The default distance was causing a crash. This is fixed. The command now starts with a reasonable default and remembers the default setting.

OffsetMesh command: The Flip option did not work correctly. This is fixed.

OffsetNormal: A curve resulting from offsetting the edge of a sphere incorrectly contained a kink at the equator. This is fixed.

OffsetSrf command: The Loose option did not always remove multiple knots in the offset surface. This is fixed.

OffsetSrf:

Edge curves did not align properly under some circumstances. This is fixed.

It was not possible to select faces in a polysurface. This is fixed.

OffsetSrf: Offsetting a closed periodic surface resulted in an open surface. This is fixed.

OnCrv object snap: Crash when selecting a surface edges. This is fixed.

OneLayerOn command: The dialog now remembers its size and position.

OneLayerOn command: Now uses the new hierarchical layer dialog box.

OnSrf picking constraint: The surface constraint snapped to the closest part of the surface, even if it was trimmed off. Input now pays attention to trims.

OnSrf and OnCrv: Did not work a second time on the same face or surface edge. This is fixed.

Open - IGES: Enhanced code that is used to repair flawed geometrycommon in some IGES files. Specifically, if IGES files were coming in with parts incorrectly trimmed, these fixes may help. The cause of the problem is that trimming information stored in the IGES files is often incorrect and Rhino uses proprietary geometry repair algorithms to detect and fix errors in the flawed objects.

Open DWG/DXF: A problem with importing surfaces has been fixed.

Open DWG/DXF: A problem with importing trims has been fixed.

Open DWG/DXF: In some circumstances, only layers would be imported into Rhino. This is fixed.

Open DWG/DXF: Several bugs have been fixed.

Open DWG/DXF: Several bugs have been fixed: Crash on open, reading of wide polylines now works, overall dimension scale is now imported, and regions import as surfaces.

Open DWG/DXF: The Project to CPlane option did not work except in top construction plane. This is fixed.

Open DWG/DXF: Meshes sent a vertex of each polygon to the origin with surfaces that were very large (big coordinate range).

Open DWG: Ordinate dimensions did not read in. This is fixed.

Open DWG: Several bugs with importing hatches have been fixed.

Open DXF: Rhino reads the $insunits variable from the DXF file to set the Rhino units.

Open IGES: A rare problem opening IGES files in Win 98 has been fixed.

Open Points: Some problems with importing coordinate points have been fixed.

Open SafeMode: Now prompts to load plugins.

Open STEP: Importing files with very small surfaces could crash Rhino in some situations. This is fixed.

Open STL: Failed on Windows 98. This has been fixed.

Open: AutoCAD DWG/DXF: Splines joined in AutoCAD did not properly import into Rhino. This is fixed.

Open: DWG/DXF: Problem with geometry transforms not being correctly imported has been fixed.

Open: DWG/DXF: Extra mesh facets were created on open. This is fixed.

Open:3DM: Models could open with the viewports incorrectly displayed. This is fixed.

Open:AI: A scaling bug has been fixed.

Open:DGN: Layers were not handled correctly when .dgn was used as a worksession file. This is fixed.

Open:DGN: Several problems with DGN import have been fixed.

Open:DGW/DXF: Bugs fixed

2-D Pline

DIMSCALE

Layout import

Open:DWG/DXF: A problem with importing very small mesh faces has been fixed.

Open:DWG/DXF: A problem with opening AutoCAD files has been fixed.

Open:DWG/DXF: Bad objects were created in some cases. This is fixed.

Open:DWG/DXF: Dimensions did not display correct scale. This is fixed.

Open:DWG/DXF: Inserting or Importing dwg or dxf files incorrectly set the linetype scale in rhino to whatever it is in the AutoCAD file. This is fixed.

Open:DWG/DXF: Opening or Importing a DWG file with unreferenced blocks now creates the block definitions in the 3DM file and they show on the list when running Insert to created a block instance.

Open:DWG/DXF: The architectural dimension style did not read in correctly. This is fixed.

Open:DWG/DXF:

A problem with title block text shifting when importing to Rhino has been fixed.

A problem reading splinefit splines created from non-AutoCAD files has been fixed.

Blocks with names beginning with * did not import. This is fixed.

Trim curves on AutoCAD solids were improperly treated on import. This is fixed.

Open:DWG/DXF:

A crash involving importing duplicate linetypes has been fixed.

A problem where some objects were missing in the file has been fixed.

Importing a revolved solid did not work properly. This is fixed.

Open:DWG/DXF: A crash occurred when there were proxy objects in the DWG file. The crash is fixed. Rhino does not support proxy objects.

Open:DWG/DXF: A problem importing regions has been fixed.

Open:DWG/DXF: Display of very large polyline on import did not work correctly. This is fixed.

Open:DWG/DXF: Importing solids from AutoCAD 2004 improved.

Open:DWG/DXF: Now only lightweight polylines with straight segments are read as polycurves.

Open:DWG: A bug that created bad polysurfaces has been fixed.

Open:DWG: The BASE of the dwg file was not being correctly placed in the Rhino file. This is fixed.

Open:DWG: Page Units type is now set to match the Model Units type.

Open:DWG: Splines did not read properly. This is fixed.

Open:DXF: Polylines could be skipped on import. This is fixed.

Open:FBX: A crash when opening files created from Max 2009 has been fixed.

Open:IGES: Several bugs fixed.

Open:OBJ: Texture controls were incorrectly disabled. This is fixed.

Open:OBJ: Files imported from TopMod3d had some gaps. This is fixed.

Open:OBJ: The material namewas incorrectly used instead of the object name. This is fixed.

Open:PDF: CS4 (Adobe Illustrator files (.ai) written by the latest CS 4 version of AI) files did not open properly. This is fixed.

Open:PDF: A crash importing a PDF file has been fixed.

Open:SKP: A problem with opening SketchUp files has been fixed.

Open:SKP: Rhino did not read SKP version 6. This is fixed.

Open:SLC: Failed on some files. This is fixed.

Open:SolidWorks:

Drag and drop operation to import SW file seemed to hang. This is fixed.

Command line feedback when opening a file has been improved.

When opeining an SW assembly, all the parts are placed in a group. Subsequent assemblies were incorreclty placed in the same groups as the first ones. This is fixed. Now subsequent assemblies are grouped separately

Open:SolidWorks:

A crash when selecting an assembly has been fixed.

A problem opening read-only files (such as those downloaded from email or CD) has been fixed.

Open:STEP: A crash opening STEP files with surfaces of revolution has been fixed.

Open:STEP: A problem with running out of memory has been fixed.

Open:STEP: Several bugs fixed.

Open:STP: When reading STEP files where not all objects have the same unit system, Rhino now converts all units to match the file unit system and scales objects appropriately.

Open:VRML: A crash opening a file created with AutoCAD has been fixed.

Open:zpr: A problem opening zpr files has been fixed.

Open: A crash opening earlier Rhino files with GHS data has been fixed with the HOT FIX release.

Open: A crash when opening a SketchUp file has been fixed.

Open: Normal users get an "Unable to create application registry key" when starting Rhino 3 SR3. This is fixed.

Open: SolidWorks - If the SW file contains geometry imported via iges or other non-SW source, two copies of that geometry were created in the Rhino file. This is fixed.

Open: SolidWorks 2006 files did not import. This is fixed.

Open: SolidWorks unit settings were not imported correctly. This is fixed.

OpenGL display: Welded meshes did not flat shade correctly. This is fixed.

PluginManager command: A low-level user should be able to load a plug-in, close Rhino and see the plug-in in the Options/plug-ins page. This plug-in should load automatically.

PlugInManager command: This command is obsolete. The functionality is now in Rhino Options.

PlugInManager has been replaced with a Plug-ins page in the Options dialog box.

PluginManager: Dialog box column width problem fixed.

Plug-ins: .NET plug-ins did not load properly over a network. This is fixed.

Plug-ins: A crash bug in tje Mesh Repair Wizard has been fixed.

Plug-ins: Plug-in based menu items do not display help strings on status bar. This is fixed.

PLY Import: The plug-in for PLY Import was not being installed. This is fixed.

Point editing: The point visually closest to the cursor is always used as the drag base point.

Point object snap: Incorrectly snapped to hidden mesh vertices. This is fixed.

Point object snap: Now works on PointClouds. Turn point display on to use.

PointCloud command, Remove option: Incorrectly allowed selecting points in a point cloud that was not selected for the remove operation. This is fixed.

PointCloud: When points were deleted from the pointcloud, the pointcloud's bounding box did not update. This is fixed.

PointCloudSection has been improved.

PointDeviation did not properly update when control points were nudged. This is fixed.

PointDeviation: The Apply button did not work correctly. This is fixed.

PointDeviation: The maximum and median calulations could be wrong when there were points selected that were not included because of the proximity angle test.

Points command: Persistent constraints like PersistentOnSrf did not work when placing point objects. This is fixed.

PointsOn command: You can now turn on control points for Text blocks.

Polygon, Edge option: Typing a number for the edge length was incorrectly interpreted as the number of sides. This is fixed.

Polygon: Enter a value for a radius of a polygon at the prompt was incorrectly interpreted as the number of sides. This is fixed.

Polyline command: A problem with drawing the feedback has been fixed.

Polyline command: The Length option mode incorrectly did not cancel after one click. This is fixed.

PolylineOnMesh command: Many changes to improve the command have been made.

PolylineOnMesh command: The undo option only worked one time. You could not back up more than one point. This is fixed..

PolylineOnMesh command: Incorrectly snapped to ends of certain polylines. This is fixed.

PolylineOnMesh: A crash when picking the mesh in Windows 2000 has been fixed.

PopupMenu command: Popping up the menu with the middle mouse button in V2 allowed you to drag down to the item you want and release to get the command. In V3 you had to left-click as well to get the command to execute. This is fixed. Also, you can 1) Middle-mouse down. 2) Drag over the item (middle mouse still down). 3) Release over item to activate it.

PopupMenu: If the cursor was too close to the bottom right corner of the screen, the popup menu would not display properly. This is fixed.

PopupToolbar command: Several bugs fixed:Esc now closes toolbar.The commands did not get run unless you click the titlebar to make the popup permanent.Keyboard commands with letter keys did not open toolbar.Float or dock a popup toolbar and pop it again somewhere else on screen. The toolbar incorrectly made a quick appearance not centered on the cursor then the toolbar redisplayed with its center under the cursor.

PopupToolbar command: When using the middle mouse button to access a toolbar, you can now release the middle mouse button over the toolbar button to start the command as you could in Rhino V2.

Print command:

When defining the window area for printing, object snaps now work. Also object snaps are allowed when in the Move option.

The Print dialog now has controls for defining an offset from any corner or to center the print area on the page.

The window select for print area has been simplified to just allow defining a new window area or to move the window area.

Print command:Linetype scaling now works in all unit systems.

Print command: A problem with the resolution setting for the first print has been fixed.

Print command: Aspect ratio of the paper preview did not change with choosing legal-size paper. This is fixed.

Print command: Closing the Preview window cancelled the entire Print command instead of closing the Print preview window and returning to the Print dialog box. Clicking Print in the Print Preview window returned to the Print dialog box instead of sending the job to the printer. These are fixed.

Print command: Curves could drop out of the print in some situations. This is fixed.

Print command: Dialog box options expansion did not position correctly. This is fixed.

Print command: Dragging the preview image in the Margins box incorrectly moved the preview image. This is fixed.

Apply a solid hatch and Print. The result in the preview and in a pdf output was the mesh used to show the hatch prints not the solid fill.

The scale control did not update the preview window until after the control lost focus.

Dimensions were ignoring the print width settings.

Print command: The print to file option has been revived.

Print command: The Scale area and the Custom Scale area of the Print dialog incorrectly were not grayed out when a perspective-mode viewport was current. This is fixed.

Print command: Thick lines in shaded views now print properly.

Print command: In perspective viewports, the print window is defined as percentages of the screen area. This makes the window 'stick' in one spot on the screen and geometry will move into/out of the window if the user pans or rotates.

Radius command: Added prepick support. If the prepicked curve is an arc or circle, the radius and diameter are shown directly. If the prepicked curve has varying curvature, the cursor is constrained to that one curve when picking the radius point.

RailRevolve: The result could be incorrectly rotated in some cases. This is fixed.

Rebuild command: The screen did not update after the command. This is fixed.

Rebuild command: Clicking the MasterCurve option and then pressing Enter caused a crash. This is fixed.

Rebuild command: Incorrectly reported duplicate control points on periodic curves. This is fixed.

Rebuild command: Now preserves curve symmetry.

Rebuild command: Could not rebuild with fewer than three points. This is fixed.

Rebuild command: Deviation now displayed in dialog box.

Rebuild crashed in some cases. This has been fixed.

Rebuild:

Incorrect preview color fixed.

Now gives feedback on failure.

Recently used commands: Commands repeated from the recently used list, then repeated again with Enter, started the command previous to the current one. This is fixed.

Recently Used commands menu: Did not properly update when interrupting one command with another. This is fixed.

Rectangle command, Rounded option: An error report wass generated on the second click. This is fixed.

Rectangle command, Rounded option: If an invalid Rho value was entered for a conic round, Rhino failed silently. This is fixed

Rectangle command: Point filtering was not working when picking the second point. This is fixed.

ReduceMesh command: A problem with display of the preview has been fixed.

Release command: Remove captives from an editing cage. Typically this is done when the editing cage controls several objects and you want to remove a few captives before modifying the rest.

RemapCPlane: Did not properly cancel with Esc. This is fixed.

RemapCPlane: For V4, I have added two one-shot options: CPlane and View.

If you pick CPlane, you will be prompted to enter Named CPlane to use. The command will search for a named cplane in the following locations: document's named cplane list, active viewport titles, standard (world) cplane definitions.

If you pick View, you will be prompted to enter Named View to use. The command will search for a named view in the following locations: document's named view list, active viewport titles, standard (world) view definitions.

Remove Point/RemoveControlPoint: It was not possible to remove the second to last control point or the first and last points. This is fixed.

RemoveKnot command: Incorrectly turned off the surface control points off. This is fixed.

Render: fixed a crash that happened when there were many simple objects in the scene.

Render: A crash when rendering bad objects has been fixed.

Render: Alpha channel incorrectly contained transparency information when "transparent background" was not selected. This is fixed.

Render: Rendering the wireframe caused Rhino to crash. This is fixed.

Render: Safe canceling has been added during the render meshing phase.

Render: Shadows should now pay attention to transparency maps.

Render: The render window resizing was not working properly. This is fixed.

Render: When Rhino did not have focus, the render calculated was wrong. This is fixed.

RenderedViewport command: Crash with large 8-bit images is fixed.

RenderedViewport command: The view incorrectly does not update automatically when changing light properties. This is fixed.

Revolve: When revolving a curve that intersects the axis of revolution, only part of the curve was revolved. This is fixed.

Revolve: With a slightly non-planar curve as input, incorrectly created a surface of revolution rather than a NURBS surface. This is fixed.

RhinoMail command: Added to V4. Sends email from inside Rhino.

RhinoScript: RhinoScript.TLB and .CHM added to V4 installer.

RhinoScript: Cancelling a script could leave objects highlighted even though they were no longer selected. This is fixed.

RhinoScript: The RhinoScript page of Options incorrectly allowed the same script file to be added more than once to the list of files to load at startup.

Rib command: If offset distance is reasonable, Rib now works with all closed planar curves/polycurves.

Rib/Boss commands: (1) When a tapered rib or boss is made from a polyline, the command now uses lofting to make a simpler object and avoids the more complex polysurface resulting from the extrude tapered method needed for freeform curves. (2) Changing a command line option caused the selection to be lost. (3) The Mode option did not correctly persist. These are fixed.

Rib: The rib direction could be incorrect in some cases. This is fixed.

Rotate command: Copy is now a one-shot option. The ability to toggle this setting made for peculiar behavior when mixed with History.

Rotate command: Inaccuracy in coordinate values fixed.

RoundHole command: The Undo prompt now appears only after the first hole is placed.

RoundHole/RevolvedHole/PlaceHole: Did not properly display the current object isocurves. This is fixed.

RoundHole: Bugs fixed:

SmartTrack did not work properly with RoundHole.

New surfaces made with the Through option were not properly sized.

RunScript: A crash occurred if a modeless dialog box, such as MoveUVN, is modifying the file while object picking is occurring. This is fixed.

Save command: When deleting empty layers Rhino doesn't register the deletion of the layers as a change, and therefore did not prompt for a save on exiting. This is fixed.

Save CSV: Double-quotes removed from x,y,z coordinates so they do not act like one string.

Save DWG/DXF: If an existing DWG file open, Rhino silently fails to overwrite the file. This is fixed. A message appears on the command line.

Save DWG/DXF: Problems with exporting text, dimensions, and leaders have been fixed.

Save:AI: When a linetype is set on an object, the AI export would export the linetype. When the linetype is set on a layer and the object's linetype is ByLayer the layer linetype was not being saved. This is fixed.

Save:AI: An error occurred in Adobe Illustrator when importing a Rhino model with no surfaces. This is fixed.

Save:DWG/DXF command: Minimum and maximum extents of objects is now saved in the export.

Save:DWG/DXF command: Polyline vertices are now saved on the same layer as the lines.

Save:DWG/DXF:

Multi-line text exported with wrong vertical position. This is fixed.

Exporting a file with layouts did not work properly with "2004 Natural" export. This is fixed.

Leader lines did not export properly to DWG. This is fixed.

Save:DWG/DXF: Bugs fixed:

If the Rhino file had no Layout, AutoCAD 2007 would not read it.

Polylines mirrored incorrectly

Leaders in orientation other than wcs oriented wrong

Save:DWG/DXF: Cancelling a save from Rhino to DWG and overwriting a file name, could corrupt the DWG file even though no save was accomplished. This is fixed.

Save:DWG/DXF: If the normal of a 2-D polylines points in the negative coordinate direction, some CAM software incorrectly mirrored the polylines around the origin. This is fixed.

Save:DWG/DXF: Support for exporting ACIS solids has been added. Create or edit a named export scheme, and change the export option for Rhino surfaces to AutoCAD Solids.

Save:DWG/DXF: Saving blocks with names beginning with * caused a crash. The asterisk is now changed to an underscore _.

Save:DXF/DWG: Print widths in Rhino export to lineweights in AutoCAD.

Save:FBX:

Directional lights did not export properly. This is fixed.

Blocks did not export properly. This is fixed

Save:FBX: Nodes must have unique names regardless of what they are. If layer names are the same as object names, for example, nothing is exported. This is fixed.

Save:GHS: Part Maker Export acceptable line length has been increased.

Save:IGES: A Mastercam X IGES export type has been added.

Save:LWO: Now prompts for units setting.

Save:Points: Now warns if no points are selected.

Save:RIB: A problem with exporting trimmed surfaces has been fixed.

Save:RIB: A problem with gaps in revolved surfaces has been fixed.

Save:SLC: A problem with units has been fixed.

Save:STEP: Some problems exporting STEP files to Altium, Inventor, and SolidWorks 2008 have been fixed.

Step can now be read by Altium Designer, Solidworks 2008, and Solid Edge.

Step objects are assigned the layer color when appropriate.

Open polysurfaces are assigned color correctly.

Block instances with non-rigid transformations are exploded in the step file. So now mirrored or scaled objects are exported correctly.

Save:STL: A crash has been fixed.

Save:STL: A problem with some objects not meshing properly has been fixed.

Save:STL: A problem with the mesher incorrectly creating naked edges has been fixed.

Save:WMF: Text dot hatching was incorrect. This is fixed.

Save:WMF: The resolution controls were removed from the dialog and scriptable versions of this exporter. It was a mistake to add these as the metafile resolution is based on the user's screen resolution.

Save:WMF: Metafiles saved from Rhino were not scalable in programs like Word. This is fixed.

Save:WMF: The preview displayed the wrong viewport settings. This is fixed.

Save:X_T: Several problems have been fixed.

SaveAs: Saving a model as Version 3 format incorrectly reported the file as locked. This is fixed.

SaveAs: Did not work properly in Vista OS. This is fixed.

SaveSmall incorrectly erased user data stored by plug-ins. This is now fixed.

Saving text from dialog boxes: List command is an example. The text out dialog dialog did not save a unicode-encoded text file. This is fixed.

Scale command: Dimensions did not scale correctly. This is fixed for linear dimensions.

Scale commands: Linear dimensions did not scale correctly with the Scale, Scale1D, and Scale2D commands. This is fixed.

Scale: Incorrectly interpreted numeric input. This is fixed.

Scale1D did not properly update CurvatureAnalysis colors. This is fixed.

Scale2D command: Did not work properly with text. This is fixed.

ScaleNU: A problem with scaling and rotating during scaling has been fixed.

Scripting: Repeating command scripts chosen from the menu with Enter did not repeat the correct script. This is fixed.

Section and Contour commands: New objects created did not correctly display their layer in Properties. This is fixed.

Section: A failure with planar object bounding boxes has been fixed.

Section: Using a large number for the upper and lower bounds when scripting cut the wrong section. This is fixed.

SelAll command: Feedback was incorrect. This is fixed.

SelBlock: The dialog box can now be resized.

SelCaptives command: Selects captive objects. You can either pick the control and select its captives, or use the All option to select all captives.

SelChain command: If one curve is pre-selected, the command incorrectly terminated.

Tab constraint: The Tab direction lock was not working. This is fixed.

Tab constraint: The distance constraint and the Tab direction constraint did not work properly together. This is fixed.

Tab constraint: The Tab direction constraint and object snaps did not work properly together. This is fixed.

Taper command: Did not cancel using the Toolbar cancel button. This is fixed.

Taper: The Taper command has been changed as part of the UDT effort. New documentation will be forthcoming.

Text command: Japanese and Korean characters did not display correctly in a shaded viewport. This is fixed.

Text command: Some special characters like "not equal to" symbol displays only when you are dragging a text or dimension. This is fixed.

Text, Dot, or other string entry: For a double quote to represent inches or angle minutes, use two double quote marks(""). For example "2'-3""

Text: A problem with text control point visibility and selection has been fixed.

Text: Text in a block object did not display properly if the block was rotated to another plane. This is fixed.

TextObject command: A minimum height restriction has been added.

TextObject command: The right-click context menu was missing. This is fixed.

TextObject: Right-to-left reading text did not work properly. This is fixed.

TextObject: The selected text was incorrectly not highlighted in the dialog box. This is fixed.

Texture mapping: Texture domains for trimmed parts were incorrectly automatically shrunk to match the physical size of the piece, even if the untrimmed domain were not shrunk. This is fixed.

Texture Mapping:

The mapping widget was incorrectly clipped or invisible in some views. This is fixed.

The Equalize and Size to objects buttons were dropped for V4. They have been restored.

Texture Mapping: A problem with mapping update has been fixed.

Texture Mapping: Incorrectly did not accept large values. This is fixed.

Texture mapping: Several bugs in the dialog box UI have been fixed.

Texture Mapping: The Tab key allows cycling through the position/size/rotation fields in the mapping widget controls.

Texture mapping: With some renderers (for example, Brazil and VRay) did not get the correct repeat amounts. This is fixed.

Textures: Tiling did not work properly. This is fixed.

Textures were not displaying properly in Rendered Viewport mode. This is fixed.

ThicknessAnalysis: The lower limit on the thickness has been changed so it works better on small objects.

Toolbar buttons: The transparent background color was not being used, therefore the button backgrounds did not automatically update when opening a .tb file. This is fixed.

Toolbar buttons: The transparent background color was not being used, therefore the button backgrounds did not automatically update when opening a .tb file. This is fixed.

Toolbar buttons: Several bugs fixed.

Toolbar command: Many UI improvements and bug fixes.

Toolbar command: The dialogs are now resizable.

Toolbar:

The Sketch on Surface button did not work. This is fixed.

Incorrectly refused to close. This is fixed.

Toolbar: A problem with toolbar display in Windows Vista has been fixed.

Toolbar: Floating toolbars did not redisplay properly when returning to Rhino from the Windows desktop. This is fixed.

Toolbar: Graphic images were garbled when toolbar was imported. This is fixed.

Toolbar: Problems with redrawing the toolbars has been fixed.

Toolbars: Floating toobars and dockable dialog boxes did not have the usual X in the top right to close. This is fixed.

Toolbars: Importing a toolbar with the same name as a toolbar in the existing file appended the new toolbar rather than replacing it. This is fixed.

Toolbars: Link buttons would not unlink. This is fixed.

Toolbars: Rhino incorrectly opened with no toolbars in some cases. This is fixed.

Toolbars: Several problems with docking have been fixed: (1) Cannot stack more than two. (2) Slow drawing when command prompt undocked. (3) Flicker.

Toolbars: Several problems with tooltips have been fixed.

Toolbars: Sometimes if you closed Rhino and then quickly restarted, Rhino will be missing toolbars or will not be using the settings of the session that closed. This is fixed.

Toolbars: Tearing off a toolbar caused the Rhino window to move. This is fixed.

Toolbars

Minimizing floating toolbars and dialog boxes has been improved.

Several errors in the button macros have been corrected.

You can now select more than one toolbar at a time from the list of toolbars that appears when you right-click the docking area.

Toolbars: A problem with assigning linked toolbars has been fixed.

Toolbars: Button backgrounds did not automatically update when opening a .TB file. This is fixed.

Toolbars: Floating toolbars could disappear after moving focus to another application. This is fixed.

Toolbars: In localized versions of Rhino, copying a button to other toolbar changed the tooltip to English. This is fixed.

Toolbars: Rhino flyout toolbars did not work properly with Wacom Intuos tablets. This is fixed.

Tooltips: Tooltips incorrectly appeared instantly when using the popup toolbar. This is fixed.

Toucan render plug-in: The default Rhino Renderer for Rhino 4.0 is now based on the new Toucan renderer. It has most of the advanced Toucan features disabled. The features that will be included in the new default Rhino Renderer are still in flux.

Treefrog: Environment map strength incorrectly did not turn down in render display mode. This is fixed.

Trim command: A failure bug with apparent intersections has been fixed.

ViewCaptureToClipboard/File: Clipping planes were incorrectly ignored. This is fixed.

ViewCaptureToClipboard: a problem with lighting for large images has been fixed.

ViewCaptureToFile: If the z-axis was displayed and the DrawCPlaneAxes option was set to no, the z-axis was incorrectly shown in the capture. This is fixed.

Viewport clipping: Mesh objects would frequently be clipped in the perspective viewport. This is fixed.

ViewportProperties command: Repeatedly setting the camera and target incorrectly incorrectly tilted the view. This is fixed.

ViewportProperties: The dialog box did not update with information from the scripted version of the command. This is fixed.

ViewportProperties: The wallpaper bitmap was not updating properly after a change to the bitmap file. This is fixed.

Viewports: Double clicking the viewport title incorrectly caused the layout view to be visible. This is fixed.

Viewports: If the command prompt is not docked, Ctrl+Tab to cycle through viewports failed. This is fixed.

Volume commands: New error messages and Help assist user to figure out why Volume commands fail.

Volume: Crashed when calulating a mesh sphere. This is fixed.

VolumeMoments and AreaMoments commands now give the same answers regardless of the location of the object.

VRFillet and VRBSrf commands: These commands are discontinued. They now are aliases for the VariableFilletEdge command.

VRFillet command: Creating a fillet around the end of a cylinder incorrectly did not wrap around to the seam point. This is fixed.

VRFillet command: In the corner case where a vertex has exactly three edges, only one of which is filleted, and the end of the fillet runs in to the opposite face, the fillet and the opposite face are now trimmed to each other.

VRFillet command: Several bugs causing join or closing failures have been fixed.

VRFillet command: In cases where the filleter could not resolve a corner, Rhino would hang. This is fixed in some cases. More cases may be discovered.

VRFillet command: Several bugs have been fixed: fillet not completing, and corner situations not being handled properly.

VRFillet command: Bugs continue to be fixed.

VRFillet command: Did not work properly when the Choose One Object menu appeared in the sequence. This is fixed.