Skip to main content

Antonio Cao

Overview#

This is the first beta release of Plasmo. Thanks for trying it out!

The goal of this release is to test the sketching interface: How easy it is to draw something in 3D? Is it intuitive to sketch using two views? What sketching feature is missing/redundant?

If you have any suggestion, please help me out by sending a quick note to antonio.cao@yale.edu, thanks!

System Requirements#

Currently, Plasmo works the best on iPad with a stylus. The support for desktop, mobile, and VR is coming soon.

Platform:#

  • iPad (recommended), other tablets are untested
  • Computer (Windows, Mac OS, and Linux)

Browser:#

  • Chrome (recommended)
  • Safari
  • Microsoft Edge
  • Firefox

External Devices:#

  • On iPad, a stylus like Apple Pencil is required.
  • On desktop, a keyboard and mouse/trackpad is required.

Features#

Navigation#

Rotate: single finger drag.
Zoom: double finger expand.
Pan: double finger drag.
tip

Visit the tutorial page for a video demo of the navigation interface on iPad.

Sketch#

There are two modes of sketching: Single view and double view. Single view is useful for drawing planar curves; double view is useful for defining a non-planar curve from two viewpoints.

tip

Visit the tutorial page for a video demo of the sketching interface on iPad.

Single View#

Sketch like you would on a piece of paper. Plasmo dynamically fits a curve based on your drawing, so that you can sketch multiple times to refine the curve.

When you are done, use the stylus to tap a blank space on the screen to confirm the curve. Plasmo will fit a 3D curve based on your sketch.

By default, your sketch is projected onto a plane (with grids) in the view. If the endpoints of the sketch is close to any other curves, the resulting curve is snapped to the neighboring curves.

Double View#

After you sketch the curve, if you rotate the view instead of tapping to confirm, you will enter the double view sketching mode.

In this mode, a gray surface is created by sweeping the curve in the first view along the perspective rays of the first view.

You drawings in the second view is projected onto this surface to form a 3D curve.

caution

When the first and second view are almost aligned, the resulting curve might be invalid.

When the first curve overlaps itself in the second view, the resulting curve might be invalid.

Select#

There are two ways to select curves: Tap select and lasso select.

tip

Visit the tutorial page for a video demo of the select interface on iPad.

Tap Select#

Tap on a curve or vertex to select. The tap select function is available in sketch, weld, and mesh tools.

When a curve is selected, its control points will appear. You can tap on the control points to select a specific control point only.

Lasso Select#

Tap on the lasso select button to use the lasso select tool. Draw a lasso around a curve to select.

note

The lasso must completely enclose a curve (between two vertices) to select it.

Move#

After selecting an object, a move widget will appear. You can tap and drag the widget to move the selected object.

You can move a control point when it is selected. If two curves are smooth across a vertex, then moving a control point of one curve will influence the other curve.

Tapping the red button with a trash icon will remove the selected curves.

tip

Visit the tutorial page for a video demo of the move interface on iPad.

Symmetry#

Tap on the symmetry button to enter into the symmetry mode.

tip

Visit the tutorial page for a video demo of the symmetry tool on iPad.

By default, symmetry is applied to the entire curve network. To apply symmetry on a subset of curves, select the curves first and then tap on the symmetry button on the left toolbar.

You can use the button on the left toolbar to change the orientation of the symmetry plane. You can also use the move widget to move the symmetry plane.

When you are done, tap on the green button on the left toolbar to apply symmetry. To exit without applying symmetry, tap on the red button on the left toolbar.

Weld#

The weld tool connects two points on a pair of curves.

tip

Visit the tutorial page for a video demo of the weld tool on iPad.

caution

This is a highly experimental feature that might have unintended behaviors. To be honest, I plan to combine the weld tool and move tool so that we can weld two points by moving one to the other. If you have an idea how to improve the UX of the weld tool, please let me know, thanks!

Mesh#

Mesh tool allows you to convert an entire curve network into a mesh in one tap.

tip

Visit the tutorial page for a video demo of the mesh tool on iPad.

caution

This is a feature so experimental that I'm not sure if I should ship it. Here's a list of known issues.

Know Issues#

Sketch#

  1. Currently does not support sketching closed curves, e.g. circles, ellipses, and rectangles.
  2. Curve fitting cannot handle self-intersections.

Select#

  1. Lasso select tool cannot select vertices.
  2. Tap select on vertex with a stylus might not work the first time. Instead, try using fingers to tap select the vertex.

Move#

  1. Undo move might result in curves that are not exactly aligned in the view. The fix is to select and move the problematic curves slightly after undo.

Symmetry#

  1. For curves that are on the symmetry plane, applying symmetry might remove them.
  2. Applying symmetry on very short curves might remove them.

Weld#

  1. The snapping of the weld tool is always on, but sometimes it doesn't snap to a vertex. This is a bug that I'm actively tracking down.

Mesh#

  1. Currently the mesh tool can only work on the entire curve network. You cannot select a part of the curve network and mesh it.
  2. The mesh tool does not work with the undo system.
  3. The mesh cannot be edited or removed directly. You can draw new curves and tap the mesh button again to update the mesh.
  4. The mesh cannot be smoothed or subdivided.

Undo Redo#

  1. Redo button is not yet functional.
  2. Undo is very experimental for move, weld, and mesh tools.

Report Bugs#

If you stumble upon a bug, please shoot me an email at antonio.cao@yale.edu or DM me on twitter.

At the meantime, I'm setting up a bug tracker for future releases. For now, quick and dirty email gets the job done.