Using Adobe Illustrator as a Desktop Client
Connecting to Adobe Illustrator
You can connect a ShapeDiver model on the platform with Adobe Illustrator using the ShapeDiver Client Application. Illustrator can only be selected in the client application if the software is already running on your local system (in the other case, you will be prompted to start an Illustrator session before trying again).
Once Illustrator is selected in the client, it can be activated in the model view page of a ShapeDiver model and data can start to be exchanged between the client and the web platform. This process is common to all clients and is detailed in more details in this article: Send and bake data to desktop clients
Supported data types
Getting from Illustrator
We describe in the table below all supported input types that can be defined in a Grasshopper definition and used as inputs when connecting to Adobe Illustrator. For each type, we explain how the Illustrator paths sent to the input are converted to Rhino geometry before being used as inputs of the ShapeDiver model / Grasshopper definition.
ShapeDiver Input Type | Conversion logic |
---|---|
Point | Two corners of the geometric bounds of the path are averaged to return the central point. |
Line | The path is converted to a general Nurbs curve whose start and end points are used to define and return a line. |
Circle | The path is converted to a general Nurbs curve and a native method in Rhino is then used to evaluate if the Nurbs geometry is a circle. If that succeeds, the resulting circle is returned. |
Rectangle | Two corners of the geometric bounds of the path are used to defined and return a rectangle. |
Curve | The path is converted to a general Nurbs curve. |
Baking to Illustrator
The table below lists all the output types that can be defined in Grasshopper and are compatible for baking to Illustrator from a ShapeDiver application.
Rhino Geometry | Notes |
---|---|
Point3d | Points are plotted as path points. These are not visible in Illustrator unless selected. |
Arc ArcCurve | Because Illustrator does not support native arc objects as Shapes and the Bezier conversion does not create a geometrically accurate match. Arcs are converted to Nurbs curves, rebuilt and 4 degrees to increase point count then reduced back to 2 degrees for Illustrator Bezier compatibility. |
Circle | The Ellipse Shape item is added to the PathCollection. This creates accurately weighted circles. |
Line | End points are added to a path. |
Rectangle3d | Because rectangles can be rotated, the rectangle is converted to a polyline, and the polyline method is used to draw the path. |
Polyline Polyline Curve | Polylines are drawn as path points without handles in illustrator. This reduces the complexity of the curve and the time to draw them. |
NurbsCurve Curve | Degree 2 and 3 curves can be rendered accurately to Illustrator. The weighting of the handle points is changed based on their degree. |
Brep | Breps loops are extracted and converted to either Nurbs curves or Circles and added to the compound path. |
Supported attribute types
Many of the ShapeDiver reserved attributes are mapped to standard Illustrator properties. This is both true for objects used as inputs of a ShapeDiver model and when baking output objects back to an Illustrator document.
ShapeDiver Attribute | Illustrator Property | Getting from Illustrator | Baking to Illustrator |
---|---|---|---|
| Stroke color of the path. | Colors can be returned in RGB or CMYK, if CMYK this method is used to convert RGB. |
|
| Stroke weight of the path. | A numeric (double) value | |
| Defines a dash pattern for the path. |
| |
| Fill color of the path. | Colors can be returned in RGB or CMYK, if CMYK this method is used to convert RGB. |
|
| Opacity of the path (both stroke and fill). | The ShapeDiver opacity attribute is between 0-1. This is unitized so that it maps to other programs which may have different scales. In Illustrator the values are between 0-100, and is scaled to and from the ShapeDiver attribute. |
Custom attributes
At the moment, custom attributes are not mapped to Illustrator properties.
Additional considerations
Drawing order
The drawing order of objects in Illustrator can be controlled by ordering the inputs of a ShapeDiver Output component, as well as the lists and trees of objects sent to each input of the component.
Examples
Documentation in progress!