Latest news
DupEdge and History in Rhino 8: A Guide to Extracting Edge CurvesSketchUp Components: A Guide to Managing Repeated Elements EfficientlyArchitectural Image Generation with Nano Banana 2.1: API Steps and PromptsProcedural Content Generation in Unreal Engine PCG: A Beginner’s GuideArchitectural Video Analysis with the Gemini API: A Step-by-Step GuideA Guide to Organizing Renders with Blender Light Linking and View LayersBlender UV Unwrapping and Cycles Baking: A Step-by-Step GuideA Guide to Architectural Modeling with Blender’s Solidify and Bevel ModifiersNVIDIA cites $2,000 per GPU per year as an example for software licensingPlaza Salamero Renovation Reimagines the Plaza Above a Parking Garage
Tips & GuidesRhino

DupEdge and History in Rhino 8: A Guide to Extracting Edge Curves

In Rhino 8, DupEdge creates curves from surface, mesh, and SubD edges, while History preserves the link between inputs and results in supported commands. This guide covers the steps and considerations for using both features in a modeling workflow.

A minimalist design scene with edge curves extracted from architectural model surfacesAI image
Representative image, generated with AI.Image: 3dsınıfı / FCA AI

In brief

  1. DupEdge creates curves from the edges of selected surfaces, meshes, or SubD objects.
  2. In Rhino 8, edge curves can be placed on the current layer or the same layer as the input objects.
  3. In supported commands, History can update the result when the input geometry changes.
  4. History records can use computer resources and increase file size.

This guide explains how to use Rhino 8’s DupEdge and History commands to create edge curves and support an editable modeling workflow. DupEdge creates curves from surface, mesh, and SubD edges, while History records the connection between input geometry and the result in supported commands. The steps described in the documentation apply to Rhino 8; menu names and options are based on the documentation for this version.

1. Create curves from edges with DupEdge

DupEdge creates curves from the edges of a selected surface, mesh, or SubD object. It is useful in workflows where you need to use a model boundary or edge line as a separate curve—for example, as input for another modeling step or as an independent curve object to edit. The key point is that the command creates a new curve; the result is not the source geometry itself.

You can access the command from Curve From Objects > Duplicate Edge on the toolbar. To run it by name:

Prompt
DupEdge
  1. Start the DupEdge command.

  2. Select the surface, mesh, or SubD edges you want to convert to curves. The command documentation lists these three input types as supported objects.

  3. Complete the selection to create the result. To deselect a specific edge, Ctrl-click it; on Mac, use CMD instead.

  4. If you need to specify which layer the results go on, use the OutputLayer option. Current places curves on the current layer; Input places them on the same layer as the input objects.

If a surface is trimmed, the curve created from its trimmed edge may have a different structure from the curve used to trim the surface. So don’t assume that the DupEdge result is an exact copy of the model’s trimming curve. If the curve structure matters for subsequent work, check the result separately.

When you need to select an edge loop rather than individual edges on a mesh or SubD, you can use the selection gestures described in the documentation: double-click an edge to select the entire loop; to select part of a loop, select two edges and double-click an edge between them. To remove a selected loop, Ctrl-double-click it. These selection methods are not new geometry options specific to DupEdge; they simply speed up edge selection.

2. When to record the History connection

History stores the relationship between a command’s input geometry and its result. When History recording and updating are enabled, changes to the input can be reflected in the result. The documentation’s example describes a surface created with Loft updating when its input curves are edited. DupEdge is also listed among commands that support History recording, but don’t assume every command produces the same kind of result or behaves identically when updated.

  1. Check the Record History area on the status bar. Clicking it turns History recording on or off for the current or next command only.

  2. Run a command that supports History. To record every supported command, right-click the Record History area and enable Always Record History.

  3. Edit the input objects and check whether the result updates. If Update is off, you can update manually with the HistoryUpdate command instead of relying on automatic updates.

Prompt
HistoryUpdate

The Rhino documentation recommends leaving Record set to No for general use and enabling History selectively from the status bar when needed. The reason is that History recording uses computer resources and can increase the size of saved files. The Update option allows automatic updates, but this process can be slow or interfere with the workflow.

SettingRecommended valueEffect
RecordNo for general use; record selectively when neededRecording is enabled only for commands where it is required.
UpdateYes if you want automatic updates; otherwise NoYes updates the result when the input changes; with No, you can use HistoryUpdate.
OutputLayerCurrent or InputPlaces curves on the current layer or the same layer as the input objects.

3. Preserve the connection and remove it when needed

In a History relationship, source objects can be thought of as inputs and the generated object as the output. Editing the output object’s geometry directly can break the connection. The documentation notes that locking child objects helps preserve the connection by preventing direct geometry edits. However, locked children can still be selected and their properties edited; changing their geometry can break the connection.

To preserve the connection, don’t delete the input geometry, clear History from the output, or move the input and output together. Editing the output with control points or joining objects can also break the History relationship. If an operation breaks the connection, the documentation says you can use Undo to revert. Use the SelParents and SelChildren commands to find input and output objects.

If you no longer need History, HistoryPurge clears the record. This operation cannot be undone; it also has an All option that removes records from every object in the model. Before purging, consider the requirements of your file and editing workflow.

Prompt
HistoryPurge

4. Impact on architecture and visualization workflows

DupEdge can be useful when you need a separate curve for an edge line in an architectural model. In particular, when working with surface, mesh, or SubD geometry, it lets you create a curve from existing geometry rather than redraw the edges. In supported commands, History can help keep the result up to date as design inputs change. This can reduce the need to rebuild linked geometry while exploring alternatives, but there is no guarantee that every command will update in the same way.

When using these Rhino 8 methods to edit a model before visualization, check the layer and geometry of the resulting curves. Rather than leaving History on for every command, recording it only where needed aligns with the documentation’s cautions about computer resources and file size. In shared office files, it is especially important to avoid manually editing output objects and to remember that HistoryPurge cannot be undone.

Common mistakes

  • Assuming that a curve extracted from a trimmed surface edge has the same structure as the curve that trimmed the surface.

  • Moving the output object, editing it with control points, or moving it together with the input while a History connection is active.

  • Enabling continuous recording for every command without considering the resource and file-size costs of History records.

  • Using HistoryPurge without checking first, even though deleting the records cannot be undone.

Sources

2 sources
D
docs.mcneel.comdocs.mcneel.com/rhino/8/help/en-us/commands/dupedge.htm
Summary
D
docs.mcneel.comdocs.mcneel.com/rhino/8/help/en-us/commands/history.htm
Summary

Source texts are not republished; short quotes are marked, everything else is our own summary and commentary.

3dsınıfı’s take
3dEditor’s assessment

For architecture and visualization teams, DupEdge is a practical tool that directly addresses the need to create curves from existing model edges. In particular, using boundaries already defined in the model as curves instead of redrawing them can simplify editing steps. History can also be useful when you need to preserve a linked result as design inputs change.

However, using History selectively is a more cautious approach than leaving it on for the entire file. McNeel’s documentation notes that recording can use computer resources and increase file size. Teams should make it part of their working practices that directly editing output geometry can break the connection and that HistoryPurge cannot be undone.

Frequently asked questions

Which objects does DupEdge work with in Rhino 8?

DupEdge creates curves from surface, mesh, and SubD edges.

How do you enable Rhino History recording?

Clicking the Record History area on the status bar enables recording for the current or next command. Right-clicking it and enabling Always Record History records continuously for commands that support History.

What does HistoryUpdate do?

When History updating is off, you can use the HistoryUpdate command to manually update linked objects after editing the input geometry.

Comments and the forum are in Turkish.Join the discussion
+

Related news