# Gh1MigrationRule class

Namespace: [Grasshopper2.Doc.Migration](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.doc.migration.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public sealed class Gh1MigrationRule : IMigrateComponent
```

A declarative mapping of one Grasshopper 1 component onto one Grasshopper 2 component.

## Constructors

- [Gh1MigrationRule](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/ctor.md): Create a rule with explicit parameter maps.

## Properties

- [Grasshopper1Id](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/grasshopper1id.md): Gets the ComponentGuid of the Grasshopper 1 component migrated by this rule.
- [Grasshopper2Id](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/grasshopper2id.md): Gets the IoId of the Grasshopper 2 component which replaces it.

## Methods

- [AngleInput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/angleinput.md): Map a Grasshopper 1 numeric angle input onto a Grasshopper 2 Angle input.
- [AngleOutput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/angleoutput.md): Map a Grasshopper 1 numeric angle output onto a Grasshopper 2 Angle output.
- [Dropping](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/dropping.md): Allow a Grasshopper 1 input to be dropped even when a wire is attached to it.
- [IMigrateComponent.Migrate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/grasshopper2-doc-migration-imigratecomponent-migrate.md)
- [HidingOutput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/hidingoutput.md): Hide a visible modular output which no Grasshopper 1 output maps onto; mapped outputs are shown by the transfer.
- [Identity](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/identity.md): (static) Create a rule which maps the first inputs and the first outputs onto the parameters at the same indices.
- [ShowingOutput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/showingoutput.md): Show a hidden modular output, because the Grasshopper 1 component always showed its counterpart.
- [ViaInput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/viainput.md): Send a mapped input through a relay parameter.
- [ViaOutput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/viaoutput.md): (2 overloads) Send a mapped output through a relay parameter.
- [WithExpression](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/withexpression.md): Post-process a Grasshopper 2 input with an expression, wrapping any existing one.
- [WithOutputExpression](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/withoutputexpression.md): Post-process a Grasshopper 2 output with an expression, applied before any existing one.
- [WithSortedOutput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/withsortedoutput.md): Switch on the Sort modifier of a Grasshopper 2 output.
- [WithValue](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.migration.gh1migrationrule/withvalue.md): Give an unmapped Grasshopper 2 input a starting value.
