Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of California, Berkeley

Similar presentations


Presentation on theme: "University of California, Berkeley"— Presentation transcript:

1 University of California, Berkeley
Florida 1999 NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley This is the short version! The full length title is >>>

2 Florida 1999 Focus of Talk Shape representation issues at the start and conclusion of designing RP models Focus on HCI difficulties and CAD problems, at the start and end of a design / modeling project: How to get started?  How to get your ideas into the CAD system. How to finish?  How to get your model properly 3D printed. The full length title is … "Shape representation issues at the beginning and end of the design of an RP model“ And the focus of my talk is on HCI difficulties and CAD problems at both ends of a modeling process. First: …

3 A designer for 30 years… CCD TV Camera Soda Hall
Granada 2003 A designer for 30 years… CCD TV Camera Soda Hall During last 30 years, I have been fortunate to be associated with many challenging design projects that involve nifty geometry problems. 1 – 2 – 3 – 4 ... At Bell Labs I was part of the design team that built the first solid-state TV camera, based on CCD technology >>> More recently: I have started to work with artists . . . RISC 1 Computer Chip Octa-Gear (Cyberbuild)

4 Recent Designs and Models
Granada 2003 Recent Designs and Models More recently: I have started to work with artists, and in the last few years I have done a lot of designs and math visualization models for which I used 3D printers and other RP machines of the layered-manufacturing kind. My talk is about some of the experiences gained in this context. Shown: “Evolving Trefoil”; Double-Boy Klein Bottle; 120-Cell; Inverted double-sock Klein bottle.

5 Talk Outline Start: Concept Input “Sculpture Generator I”
Granada 2003 Talk Outline Start: Concept Input “Sculpture Generator I” “Viae Globi” Sculptures  Interactive Inverse 3D Modeling Finish: Obtaining Tangible Output Construction of “Pax Mundi” Slicing Imperfect .STL files Here is the outline: In the first part I will describe how I take some inspirational artifact and then try to capture it in a parameterized procedural program, so I can readily make many modified versions of this original design. In the second part I will show that often doing the virtual design is the easy part; and that the actual manufacturing leads to much bigger headaches.

6 Brent Collins “Hyperbolic Hexagon II”
Granada 2003 Brent Collins Brent Collins is the artist with whom I have the most enduring collaboration. He is a professional sculptor living in Gower, MO, 40 min north of Kansas City. He has been carving abstract geometrical structures from solid wood blocks or from laminated assemblies. Here you can see him holding our first collaborative piece. “Hyperbolic Hexagon II”

7 Brent Collins: Stacked Saddles
Granada 2003 Brent Collins: Stacked Saddles Before we got in contact, these are the kinds of sculptures that he created. Brent Collins is an intuitive artist. He has no formal training in math or geometry. Some of these geometries are inspired by things you can find in nature. Many of his sculptures comprise minimal surfaces that form an intricate composition of tunnels and saddles. I find it pretty amazing that he can create these shapes, given that he had no math background; -- bcause there are some neat math principles displayed in these shapes. Look at the middle two sculptures – they are basically towers of stacked saddles, -- possibly twisted. All photos by Phillip Geller

8 Scherk’s 2nd Minimal Surface
Granada 2003 Scherk’s 2nd Minimal Surface They are closely related to what is known to mathematician’s as Scherk’s 2nd minimal surface. This surface results from intersecting two planes at right angle in the z-axis, and then poking tunnels alternatingly from the 1st to the 3rd quadrant and from the 2nd to the 4th quadrant, and smoothing everything out, and letting the surface settle into a state with minimal surface area -- as a soap film would. The flanges go off to infinity in four different directions, and it gets pretty boring out there … What is of interest to an artist is just the inner core, which I call a “Scherk tower.” Isolated core

9 “Scherk Towers” (2nd and 3d order)
Granada 2003 “Scherk Towers” (2nd and 3d order) Normal “biped” saddles A key element in this core is a stack of tunnels and saddles. In the simplest case it is just a sequence of “biped” saddles as you would find on the back of a horse, and this chain of saddles goes off to infinity along the z-axis. This geometry can also be generalized to saddles of higher order, for instance 3rd-order “monkey saddles;” these have 3 valleys going down (one for the monkey’s tail) and 3 ridges going up between them. Generalization to higher-order saddles (“monkey saddles”) “Scherk Tower”

10 “Hyperbolic Hexagon” by B. Collins
Granada 2003 “Hyperbolic Hexagon” by B. Collins 6 saddles in a ring = “wound up” 6-story Scherk tower 6 holes passing through symmetry plane at ±45º Discussion: What if … we added more stories ? or introduced a twist before closing the ring ? A similar configuration of tunnels and saddles can be found in this small wood sculpture – except here six biped saddles are now wound into a toroidal loop. This particular picture prompted me to call Brent Collins on the telephone – and it resulted in an intense 45-minute discussion, and a 17-year long collaboration…. Our discussion first focused on how to make an attractive 3D sculpture that looks good from all sides. This “Hyperbolic Hexagon” has some weaknesses in that respect, because from certain angles it has some not so pleasing coincidences, because it is too symmetric: All 6 peripheral holes pass through the dominant plane at +/- 45 degrees, so, depending on the viewing angle, they all close or open up simultaneously. I suggested that this might be fixed by adding some twist into this toroid, – so that all tunnels pass through the dominant plane at different angles.

11 Closing the Loop straight or twisted “Scherk Tower”
Granada 2003 Closing the Loop straight or twisted Here is the principle: We give the Scherk Tower some longitudinal twist before we close it into a loop. At right you can see the result without twist on top, and with 180 degree of twist at the bottom. It is less symmetric – but, I believe, more interesting. In our discussion it also occurred to us that if you have an odd number of stories in the Scherk tower, you suddenly obtain single-sided Moebius surfaces! On the left, the top and bottom saddles are both green; so when you join them: green meets green. But if you add one more story, the top saddle would be yellow; and if you join this with the green one at the bottom, you get a non-orientable, single-sided surface! Also, as you add twist, edges no longer connect with themselves, but connect into other edges and form intertwined loops and knots. All this sounded rather intriguing, but it was hard to visualize -- while talking on the phone -- how good a sculpture these geometries would make. “Scherk Tower” “Scherk-Collins Toroids”

12 “Hyperbolic Heptagon” - Paper Skeleton
Granada 2003 “Hyperbolic Heptagon” - Paper Skeleton So immediately after our phone call, we both started to build models of a possible “Hyperbolic Heptagon” with 7 stories and with some twist. This is the model that I constructed from 7 paper strips.

13 Brent Collins’ Prototyping Process
Granada 2003 Brent Collins’ Prototyping Process On the left you see the framework that Brent built – from embroidery hoops! Onto this frame Brent then adds some wire meshing and many layers of beeswax to make a realistic model of a potential sculpture. On the right is a completed model of a twisted trefoil made from a 3-story Scherk tower. This model-building is definitely needed, before Brent invests 2-3 months to sculpt a full-size sculpture. However, even building such a beeswax model takes a couple of weeks. -- And we were generating 2-3 interesting new ideas every week in subsequent phone conversations. There was simply not enough time to build models to check out all of them! Armature for the Hyperbolic Heptagon Mockup for the Saddle Trefoil Time-consuming ! (1-3 weeks)

14 Sculpture Generator I, GUI
Granada 2003 Sculpture Generator I, GUI That is when I decided: Bring the computer to the rescue! – Let’s build virtual models! Virtual prototyping provides a dramatic speed-up and lets me explore a much larger solution space! This is the graphical user interface of “Sculpture Generator 1”: About 10 adjustable sliders define the geometry of this shape: the order and number of saddles, their height, and the width and thickness of the flanges, the amount of bending and twisting of the whole structure, and the treatment of the edges: square or rounded…

15 Some of the Parameters in “SC1”
This slide shows some of the parameters used in this special-purpose program. One key issue was: What should be the internal representation of these gnarly shapes? Brent’s shapes were not really minimal surfaces; in many instances they are artistically superior!

16 Base Geometry: One Scherk Story
Granada 2003 Base Geometry: One Scherk Story I finally found that a good solution was to model half a saddle as a stack of hyperbolas with varying curvature, whose heads always lie on the circular profile of a round tunnel. The hyperbolas are connected with triangle strips. And this simple piece of geometry is then replicated, twisted, and warped into a toroidal shape. Hyperbolic Slices ==> Triangle Strips Pre-computed -- then warped into toroid

17 Generated Scherk-Collins Shapes
Here are typical shapes coming out of that Sculpture Generator. On the left is an emulation of Brent’s Hyperbolic Hexagon; on the right is a variation that I call the Minimal Trefoil; and this was my own first optimized design.

18 Shapes from Sculpture Generator I
Granada 2003 Shapes from Sculpture Generator I Here is a bunch more of those “Scherk-Collins toroids”, popping out of “Sculpture Generator I” within minutes as you one moves its sliders and selects some fancy colors and textures. With this generator I could quickly create a whole lot of promising artistic geometries . . .

19 A Simple Scherk-Collins Toroid
Parameters: (genome) branches = 2 stories = 1 height = 5.00 flange = 1.00 thickness = 0.10 rim_bulge = 1.00 warp = twist = 90 azimuth = 90 textr_tiles = 3 detail = 8 And some of them seem to be coming from an entirely different universe! – But on the right I show you the parameters I used in the generator to show you how it was done.

20 A Scherk Tower (on its side)
branches = 7 stories = 3 height = 0.2 flange = 1.00 thickness = 0.04 rim_bulge = 0 warp = 0 twist = 0 azimuth = 0 textr_tiles = 2 detail = 6 This one only looks particularly foreign -- until you realize that it is really just a straight 3-story tower, but quite short, and lying on its side.

21 V-art Virtual Glass Scherk Tower with
Granada 2003 V-art Virtual Glass Scherk Tower with Monkey Saddles (Radiance 40 hours) Jane Yen With this generator I could quickly create a whole lot of promising artistic geometries, -- and with some extra effort spent on rendering, we could create virtual art and produce realistic looking images of these sculptural shapes. But what does it take to make a real physical object?

22 Collins’ Fabrication Process
Granada 2003 Collins’ Fabrication Process For that we have to look at how Brent builds his wood sculptures: With ruler and compasses he constructs slices through the desired geometry at different levels, and cuts out the various layers from wood boards, which he then glues together. Typically he is limited to build relatively simple geometries in this way. For this sculpture he made himself this outer part of a torus surface on which he then could sketch the undulating pathway which you can see emerging on the right. These undulations are reminiscent of the protuberances on the solar surface. Hence this sculpture has the name: “Vox Solis” -- Voice of the Sun. Wood master pattern for sculpture Layered laminated main shape Example: Vox Solis

23 “Vox Solis” by Brent Collins
Granada 2003 “Vox Solis” by Brent Collins And here is the final shape – eventually cast in bronze, using his wood sculpture as a master to make a mold.

24 Slices through “Minimal Trefoil”
Granada 2003 Slices through “Minimal Trefoil” 50% 30% 23% 10% Brent builds some of his structures in layers. He has very good 3D visualization skills, and he can sketch out the necessary layers for some non-trivial shapes. Still, something like this “Trefoil” is probably the limit what he possibly could do. These are the layers that you would obtain if you sliced this Minimal Trefoil shape – which came out of my sculpture generator. Also, this is a conceptual view of a layered manufacturing process. 45% 27% 20% 5% 35% 25% 15% 2%

25 SSL Contours from QuickSlice
Granada 2003 SSL Contours from QuickSlice Shaded STL-file SSL-slices Indeed, this is what the QuickSlice software from Stratasys does when you send the “Minimal Trefoil” geometry to one of their FDM machines.

26 SSL Contours from QuickSlice
Granada 2003 SSL Contours from QuickSlice Shaded STL-file SSL-slices And here is an enlarged view of one of the central slices, showing in blue the actual path taken by the nozzle as it oozes out the semi-liquid ABS plastic. SML-roads in one of the central slices

27 Profiled Slice through “Heptoroid”
Granada 2003 Profiled Slice through “Heptoroid” One thick slice thru sculpture, from which Brent can cut boards and assemble a rough shape. Traces represent: top and bottom, as well as cuts at 1/4, 1/2, 3/4 of one board. From these Collins will precut boards then assemble the complete shape and fine tune and polish it. But Brent could never hope to manually generate this kind of slice geometry! For something like this one needs a computer! This is one of a dozen actual drawings that came out of my “Sculpture Generator I” and which I sent to Brent. It represents the geometry on one of the wooden boards from which Brent then built our second collaborative piece: the “Heptoroid.” The 5 superposed traces show the geometry of this sculpture at top & bottom of the board, as well as at levels ¼ ½ and ¾ in the board. Brent then uses a saber-saw to cut these shapes out of 1-inch thick boards. He chose to cut perpendicular to the board; so he cut around the outermost contours.

28 Emergence of the Heptoroid (1)
Granada 2003 Emergence of the Heptoroid (1) Brent cuts out the 12 profiles from wood boards, and laminates them together with industrial-strength wood glue. In this way he obtained this rough shape, which contains all the right symmetries, but shows strong stair-casing at its surface. Assembly of the precut boards

29 Emergence of the Heptoroid (2)
Granada 2003 Emergence of the Heptoroid (2) Then he grinds down the stair-casing to create a smooth surface. Here you see a continuous rim emerge – about an inch wide. It travels around the loop 8 times before it gets back to the starting point. For this sculpture, the Scherk-tower has been given a twist of 135 degrees (3/8 of a full turn) before closing the loop. Forming a continuous smooth edge

30 Emergence of the Heptoroid (3)
Granada 2003 Emergence of the Heptoroid (3) In another month of work, Brent continues to reduce the thickness of the surface and to make it as smooth as possible. The glue lines are additional nice cues – in addition to the haptic feedback from running a hand over the surface Smoothing the whole surface

31 The Finished Heptoroid
Granada 2003 The Finished Heptoroid The finished sculpture. We called it “Heptoroid” because it has seven 4th-order saddles in a toroidal twisted loop. When we exhibited this at Fermi Lab accelerator south of Chicago, the physicists really liked it. Everybody saw something different in it: the geometry of the Stellarator plasma fusion machine, the head of a tunnel-boring machine, or the inner structure of a quark. -- and all his came out of just modifying slightly the geometry of the “Hyperbolic Hexagon”! at Fermi Lab Art Gallery (1998).

32 Part 1b: VIAE GLOBI A completely different paradigm . . .
Granada 2003 Part 1b: VIAE GLOBI A completely different paradigm . . . Now we look at a family of sculptures with a quite different generative paradigm.

33 Brent Collins’ “Pax Mundi” 1997: wood, 30”diam.
Granada 2003 Brent Collins’ “Pax Mundi” 1997: wood, 30”diam. 2006: Commission from H&R Block, Kansas City to make a 70”diameter version in bronze. My task: to define the master geometry. Brent created other inspirational sculptures that I wanted to capture in my computer. And it was good to have it in my computer, because in 2006, Brent got a commission from H&R Block in Kansas City to build 6 foot diameter bronze sculpture similar to this 1997 “Pax Mundi” wood sculpture shown here. Brent asked me to define the CAD file that would be used to carve the master geometry for the mold on an NC milling machine.

34 How to Model “Pax Mundi”...
Granada 2003 How to Model “Pax Mundi”... Already addressed that question in 1998: Pax Mundi could not be done with Sculpture Generator I Needed a more general program ! Used the Berkeley SLIDE environment. First: Needed to find the basic paradigm    Already back in 1998, I had grappled with the question how I might get this shape into a computer program. Clearly “Sculpture Generator I” could NOT handle this. I needed to find another good way to procedurally describe such a shape. But for that I first needed the right conceptual paradigm in my head …

35 Sculptures by Naum Gabo
Granada 2003 Sculptures by Naum Gabo This was the key association that came to my mind: The rims of these Naum Gabo sculptures form curves that lie on the surface of a sphere. A key parameter is how many times the curve oscillates up and down, above and below the equator. Here, for the case of a 2-period Gabo curve, the result looks like the seam of a tennis ball or of a base-ball. Pathway on a sphere: Edge of surface is like seam of tennis- or base-ball;  2-period Gabo curve.

36 Granada 2003 2-period “Gabo Curve” Here the 2-period “Gabo-Curve” is shown in a Mercator projection. It is represented by a simple periodic B-spline. I use only 3 parameters (shown by the blue arrows) to define the amplitude and shape of a lobe. Approximation with quartic B-spline with 8 control points per period; but only 3 DOF are used (symmetry!).

37 4-period “Gabo Curve” Same construction as for as for 2-period curve
Granada 2003 4-period “Gabo Curve” And here is a 4-period Gabo curve with the same 3 parameters for the lobe geometry. Same construction as for as for 2-period curve

38 Granada 2003 Pax Mundi Revisited Can be seen as: Amplitude modulated, 4-period Gabo curve Thus, in this light, I could now describe “Pax Mundi” as an amplitude-modulated 4-period Gabo curve.

39 SLIDE-GUI for “Pax Mundi” Shapes
Granada 2003 Good combination of interactive 3D graphics and parameterizable procedural constructs. Using the SLIDE modeling environment developed by my PhD students, I was now able to create a new kind of modular sculpture generator that could capture this shape and produce many others like it. There are 3 columns of slider controls: One defines the sweep curve, another the cross section, and the 3rd the scaling and rotation of the cross section during the sweep.

40 Many Different Viae Globi Models
Granada 2003 Many Different Viae Globi Models And with this program I could now create very quickly a whole lot of “Viae Globi” sculptures that all were based on some undulating ribbon wound around the surface of an invisible sphere. I will come back to the issue of how one realizes one of these geometries as a large-scale bronze sculpture in the second half of my talk – when I will talk about the “output end” of the design process.

41 1c: Interactive Inverse 3D Modeling
Granada 2003 1c: Interactive Inverse 3D Modeling How to generalize this approach. Important: Include the designer in the reverse-engineering loop! But now I want to tell you how I am trying to generalize this paradigm-capturing process, so that it can be applied to much more than the two very special sculpture families I showed you; -- anything from toasters to crank shafts to tennis shoes. An important aspect of this is to NOT rely on a fully automated reverse-engineering program, but to actively engage the designer in the extraction loop.

42 Example Design Scenario
Granada 2003 Example Design Scenario Kitchen appliances “With a Heart” To make this more concrete, here is a possible design scenario: Say, you are a company that makes kitchen appliances. For Valentine’s Day you want o bring out a matching set of blender, toaster, coffee maker … with an iconic heart design. You already have a good functional product line, you just need to change the geometries of the main bodies to somehow represent a heart shape. Now it would be impractical to create complete parameterized generator programs for each one of these appliances. Instead we need to bring in the parameterization in a more generic and more flexible manner.

43 Modular Reverse Engineering
Granada 2003 Modular Reverse Engineering Extract parameterized descriptions, module by module. In each case choose a representation that best enables the intended re-design. Use plausible, commonly used CAD constructs: CSG Quadrics Extrusions Rotational Sweeps Progressive Sweeps We will try to extract parameterized descriptions -- module by module -- and in each case choose a representation that best enables the intended re-design. We try to find the most plausible higher-level CAD description, that can generate a particular module with a parameterization that allows us to make the desired change

44 Interactive Inverse 3D Modeling ( Jimmy Andrews’ PhD thesis)
Granada 2003 Interactive Inverse 3D Modeling ( Jimmy Andrews’ PhD thesis) Let the user select a high-level model structure that is most useful for immediate re-design. Initial artifact Redesigns enabled by different imposed structure We call this “Inverse 3D Modeling” – and a key aspect is to have the designer interactively engaged in this process to steer the extraction process in the proper direction. The realization of these ideas are the work of Jimmy Andrews for his PhD thesis, which he should complete in Spring 2013. If we start with one of the 2 figures on the far left, then to obtain any one of the 3 figures to the right needs different internal representations. Let’s look first at the bottom row: We may start from the mesh of the scanned-in pedestal of the sculpture. If I select that piece of geometry with a cursor scribble shown in yellow and ask for a quadric, then the system will return the best-fitting cone (shown in red); -- and maybe I am happy with this. But if I want to change the shape and make it look more like a chess figure, then I will ask for a rotational sweep, and now I can change the profile curve. Alternatively, I can ask for a progressive line sweep, and this gives me the freedom to change the sweep path into some undulating curve. Now let’s look in more detail what we can do with the Hyperbolic Hexagon in the top row …

45 Option 1: Varying Rotational Symmetry
First we may want to change the rotational symmetry,. For this purpose we extract a sector of the model – in this case 120 degrees -- and collapse or expand that sector in polar coordinates. We then replicate the modified sector to complete the shape. 3 fold 4 fold 20 fold Extract one sector; collapse/expand in polar coordinates.

46 Opt.2: Editing as Surface of Revolution
Mesh is rotationally collapsed to yield a compound “cross-section”; This cross-section can then be edited, and this will affect the whole mesh. Even though this shape is clearly not a surface of revolution, the user can impose that structure on it. All vertices of the mesh are then rotated to a shared sweep plane, creating the “cross sectional” shape shown on the right in green. By editing the vertices in this 2D space, and mapping the results back to 3D, we can, for example, extend the top flange of the model as we show below.

47 Opt.3: Extraction as a Progressive Sweep
20-story Scherk chain Again, even though this toroidal shape is not a simple sweep, the user can impose an approximate sweep structure, and then reshape the model by modifying this sweep path, for example, by twisting it into a trefoil knot as shown here. Revised trefoil sweep path

48 User-Guided Fitting Modules
Stationary sweeps: (Surfaces of revolution, helices, etc) Progressive sweeps: Quadrics: Freeform surfaces: CSG modules: … At this point, five fitting modules for different types of primitives have been implemented in Jimmy Andrew’s prototype system: Two modules for different types of sweeps, a module for quadric surfaces, a general freeform surfaces module, and an extractor for CSG primitives. Subdivision surfaces is something we are discussing. -- Let’s take a closer look at the two sweep modules. Sweeps are indeed incredibly versatile modeling constructs!

49 (simple velocity field)
Stationary Sweeps Defined by a simple sweep motion, with a fixed axis (e.g. revolution, helix, spiral) Stationary sweeps are defined by a simple sweep motion, with a fixed spatial axis; examples are: surfaces of revolution, helices, or spirals. These simple sweep motions are associated with a simple, linear, velocity field – which enables a fast fitting algorithm specialized for such sweeps. The key idea is to find a velocity field that is consistently tangential to the surface. (simple motion) (simple velocity field) If normal is perpendicular to velocity field: … then assume point belongs to sweep.

50 Fitting Algorithm: Find velocity field that fits marked data points: Minimize (subject to constraint): Grow the region by adding more fitting points Repeat (typically converges in 2-3 iterations) [ Pottmann, Lee, and Randrup, 98 ] Our fitting algorithm starts from a user stroke on the model (shown in yellow). We then iteratively fit a sweep model to those points, and region-grow (shown in green) to expand the selection to those surface points that also fit the extracted velocity field within some given error tolerance. From the found data, we can compute a better estimate for a rotation axis, and with this obtain a better fit that covers a larger part of the surface. The problem of fitting a field to any given selection is solved by a small (7x7) generalized eigenvalue problem, and the whole process tends to converge in only 2-3 iterations, making it very fast in practice.

51 Interactive Surface Editing
Granada 2003 Interactive Surface Editing A rotational sweep around the z-axis is specified. A “thick profile” is extracted by collapsing φ-component. And, as shown before, we are rather tolerant of what we allow to be extracted as a sweep. This statue was approximated by a rotational sweep around the z-axis. The whole surface is then collapsed into the green bundle of profiles. Portions of this bundle can now be selected and modified interactively. If we select the whole region around the nose, we can enlarge the whole nose and cheek area as shown in the middle. If we select only the tip of the nose, only the four noses are stretched. (a) (b) Portions of the “thick profile” can be selected and moved; the corresponding surface elements move radially: (a) the whole nose and cheeks area is enlarged; (b) only the nose is stretched.

52 Progressive Sweeps More parameters: Make incremental local adjustments
Allow more complex cross-section transformations (translation, rotation, scaling) User stroke provides initial guess Fit by iteratively extending and optimizing Progressive sweeps are an even more general sweep primitive, good for extrusions, for tubular shapes, and for generalized cylinders. For these primitives we extract an explicit cross section, and we allow that cross section to move along an arbitrary smooth space curve, while being smoothly scaled and slowly rotated. Because we have so many more possible parameters, we rely on the user to pick a good starting point by marking an isolated portion of the desired sweep and specifying a rough direction of the sweep path at that point. Through this user control, we can extract a whole trefoil as shown on the left, or the torso of the armadillo, or the mid-rift of the dragon.

53 Progressive Sweep Fitting
Starting from user stroke, optimize cross section Iteratively extend and re-optimize Stop when best further extension would have high error Here is what goes on inside this extractor module: We initialize the fitting process with a sweep matching the model at the center of the user’s stroke, and perpendicular to the stroke direction. We then iteratively optimize and extend that sweep, using a non-linear Levenberg-Marquardt optimizer to minimize the distances of the sweep vertices to the model surface, while maintaining smoothness in the sweep as well. We stop this process at the point where further extension of the sweep would result in too high an error. [Andrews, Joshi, Sequin 2011]

54 Flexibility of Progressive Sweeps
Granada 2003 Flexibility of Progressive Sweeps Capture the parameterized procedural description that best fits the users re-design plans. This shows the generality and flexibility of this sweep construct: -- How it is applied is up to the user! With a first yellow stroke the user defines the start of a progressive sweep. With an optional 2nd stroke, the sweep can be extended or restricted. We could start with a vertical stroke in the center of the lid, and then get a sweep with all circular cross sections, as shown on the left. Or, we can start in the spout and with a second stroke force the sweep to go all the way to the handle, increasing the error tolerance automatically to make this possible. I think this latter sweep would only be useful if you waned to put a snake-like wiggle into the whole teapot. Yellow strokes (#1) defines the start of a progressive sweep. An optional 2nd stroke extends or restricts the sweep range.

55 Versatility of Progressive Sweeps
Granada 2003 Versatility of Progressive Sweeps Different starting strokes and different error tolerances result in a wide variety of possible extracted sweeps. Here are more examples that show the versatility of this primitive: Depending on where we place the yellow stroke, we can extract an arm, the torso, a leg and body, a single ear, or the whole upper half of this armadillo model. The selected sweep paths and profiles can then be edited independently at interactive speeds. More-over, the user has a choice to preserve all the surface details and reapply them in the edited portions . . . Sweep path and profiles can be edited independently. Surface details with respect to the extracted sweep can be conserved and reapplied after any editing moves, or they can be ignored or smoothed out.

56 Preserving Surface Details
Modifying the sweep path & scaling, while preserving surface details: Here we edited the armadillo’s legs by fitting sweeps to each leg, and then changing the sweep path and scaling: On the left we scale up and bend the left knee (blue arrows). On the right we scale down and straighten the leg (red arrows). Note that the small scale details on the legs have been preserved, because we simply apply the transformations from our edit of the sweep structure back to the corresponding local areas of the original mesh. Alternatively we can ignore the surface details and just use the raw sweep surface extracted with a smoothly varying cross-section. If that is not smooth enough . . .

57 Freeform Surfaces: Laplacian Surface Editing
. . . then we can apply Laplacian smoothing! This is another very general and highly useful extraction module. For surfaces that we do not wish to interpret as sweeps or as quadrics, or which have not been marked by the user, we use a general freeform surface method: Laplacian surface editing. This lets us optionally smooth details, such as the elephant’s ear (yellow). Alternatively, by minimizing the Laplacian of the difference between the original and the final state, we can preserve details and can smoothly maintain connectivity as we move parts of the surface around, -- e.g., as we lift the elephant’s foot painted green. This is the workhorse to handle “everything else”: - Smoothing out unwanted details (ear). - Keeping model elements smoothly connected (leg).

58 User-guided fitting modules
System Pipeline Nice rendering Unstructured mesh Editable Model STL for RP Photos User-guided fitting modules Clean OBJ for CAD 3D scans By now you should have an idea of some of our user-guided fitting modules. Some important work is now being done at the system-level: A convenient way to change the model hierarchy and to switch modules between differently parameterized representations; And last but not least, how to clean up the model for export, e.g. rendering, or fabrication on an RP machine. That is again where Laplacian smoothing comes in handy to connect the various separately extracted modules into a water-tight mesh. – But not all the issues have been worked out yet; this is work in progress. But it is a nice segue into the second part of my talk, which is concerned with the output end of the modeling process. Model Hierarchy & Re-fitting Redesigned output Input Data

59 PART II: Output End Fabrication of Pax Mundi
Granada 2003 PART II: Output End Fabrication of Pax Mundi Now we talk about some issues that occur at the output end of the modeling process.

60 Target Geometry Constraints: Bronze; 70” diameter
Granada 2003 Target Geometry Earlier I told you that I was called upon by Brent Collins to help him to turn this wood sculpture of “Pax Mundi” into a bronze sculpture. These were the images that I had available when I was given this task. -- In addition, there were some hard constraints: … (see list). Constraints: Bronze; 70” diameter Less than 1500 pounds Less than $50’000 Maintain beauty, strength Minimize master geometry

61 Emulation; Define Master Pattern
Granada 2003 Emulation; Define Master Pattern Master to make a mold from. Alignment tab I made an effort to extract the minimal amount of “master geometry” that had to be defined in detail, so that the whole sculpture could be assembled from several copies from a minimal number of master modules. This turned out to be 1/4 of the whole sculpture. I defined this geometry as a curvy sweep through space (shown on the right), and also provided this segment with alignment tabs, so that the 4 pieces could be joined with perfect alignment. Use 4 copies.

62 Model of Master Part Made with FDM
Granada 2003 Model of Master Part Made with FDM I built 4 small-scale modules on the FDM machine, and made sure everything worked out as planned in the assembly process. 4 pieces make the whole sculpture

63 Joe Valasek’s CNC Milling Machine
Granada 2003 Styrofoam milling machine Steve Reinmuth who runs a bronze foundary in Eugene Oregon, knew this person with a NC milling machine. That is where we planned to have our geometry master generated. Unfortunately, the gantry of this machine had a clearance of only 14 inches and could not handle my complicated, bulky 3D part. -- So I had to decompose it into 2 smaller pieces…

64 Design of Two-Part Master
Granada 2003 Design of Two-Part Master … as shown here. Both halves are now relatively flat and fit under the gantry of Joe’s milling machine. I provided the additional square alignment tabs to make sure that the two pieces can be fit together in perfect alignment. Alignment tabs for easy assembly

65 Subdivide into Two Master Segments
Granada 2003 Subdivide into Two Master Segments Here are are the new FDM prototypes – and you can see that individually they are much flatter.

66 Machined Master Pattern #2
Granada 2003 Machined Master Pattern #2 This is the smaller part at full scale as it came off the NC machine. However … Steve found that these parts were still too big, -- they would not fit into his kiln. So he cut this part in half, and the larger horse-shoe into THREE parts!

67 (Cut) Master  Silicone Rubber Mold
Granada 2003 (Cut) Master  Silicone Rubber Mold Here is one of those parts: The raw styrofoam parts get coated with this blue plastic paint to give a smooth surface. These master-geometry modules are then used to make a silicon rubber mold (half of it is visible in white).

68 Mold  Several (4) Wax Copies
Granada 2003 Mold  Several (4) Wax Copies Then this (white) rubber mold is used to cast FOUR identical positive copies in (brown) wax.

69 Spruing the Wax Parts for Casting
Granada 2003 Spruing the Wax Parts for Casting These wax parts are provided with the red sprues and runners and with the funnels into which the molten bronze will be poured, (and which also serve as air-venting holes).

70 Ceramic Slurry Shell Around Wax Part
Granada 2003 Ceramic Slurry Shell Around Wax Part This whole thing then gets dipped repeatedly into plaster slurry to make a ceramic shell.

71 Taking the Shell out of the Kiln
Granada 2003 Taking the Shell out of the Kiln These shells get fired in a hot kiln. In that process, the wax runs out, leaving a cavity of the desired shape for the bronze.

72 Shell Ready for Casting
Granada 2003 Shell Ready for Casting Here is one such shell positioned for the casting.

73 Pouring Liquid Bronze Liquid bronze is poured into the shell.
Granada 2003 Pouring Liquid Bronze Liquid bronze is poured into the shell.

74 Casting with Liquid Bronze
Granada 2003 Casting with Liquid Bronze The casting process – close-up view.

75 Freeing the Bronze Cast
Granada 2003 Freeing the Bronze Cast When the parts have cooled down, the ceramic shell is smashed – freeing up the bronze part. And it does not look very beautiful at this point! Sprues and runners have to be cut away…

76 Assembling the Segments
Granada 2003 Assembling the Segments And a lot of cleaning and polishing is needed before the assembly can begin. Then all the welds have to be ground down to a perfectly smooth surface.

77 Granada 2003 The “Growing” Ribbon Three pieces are put together – forming the larger horse-shoe part made on the NC machine This would not have fit into Steve’s kiln!

78 The Assembly is Too Squat !!
Granada 2003 The Assembly is Too Squat !! And finally the whole ribbon is assembled. But then we had a bad surprise! – the whole sculpture sagged under its own weight by 15% -- and was no longer spherical.

79 Changing the Curvature
Granada 2003 Changing the Curvature Here is how Steve fixed it … He hung the structure from its top and let it stretch. He also cut into 4 of the hairpin bends to stretch it even more. He then filled those gaps with bronze welds, and basically built-in a 15% elongation. Then, once the sculpture is supported again from its bottom-most point, it sags back into a nice spherical shape. -- What I learned here: Physics is important too – not just geometry! PHYSICS is important too ... not just Geometry !

80 Grinding the Welded Seams, Polishing the Surface
Granada 2003 Grinding the Welded Seams, Polishing the Surface More grinding and polishing…

81 Granada 2003 Patina is applied with the help of some spray flask containing some chemicals and with a flame torch providing the right temperature for the desired oxidation level. Applying Patina

82 Front Door of the ... H&R Block Building
Granada 2003 Front Door of the ... January 2007: Installation in Kansas City:…, lifting it off the truck and onto a dolly. Just barely fit through the door -- with about one inch of clearance. –- Another thing we had not thought about! H&R Block Building

83 Granada 2003 But finally it came to rest on its stainless steel pedestal in the atrium garden of the H&R Block building. And even though it took much longer to fabricate than anticipated, it turned out beautifully; -- and this led to other commissions!

84 Making Plastic RP Models
Granada 2003 Making Plastic RP Models I guess most people realize that building a large bronze sculpture may entail some problems. But making small plastic scale models on a MakerBot should be easy – right ?? You just send a .STL file and push the button … -- really ?? 3D model of the regular 4-dimensional 120-Cell

85 Acceptable Model Files
Granada 2003 Acceptable Model Files The STL file should be a proper watertight 2-manifold, with no cracks or intersecting faces. All faces should have their normals point outwards, i.e., away form material. In this boundary mesh every edge should be used exactly twice, once each in opposite directions. This typicallly works, if you have a perfect boundary-representation of your model. Such a file would have to be a watertight 2-manifold mesh, with no cracks or intersecting features. All faces should have their normals point outwards, that is away from material. In the boundary mesh every edge should be used exactly twice, once each in opposite directions.

86 An Actual Model of the 120-Cell
Granada 2003 An Actual Model of the 120-Cell Based on the way it is constructed, such a model may look quite differently. My model was formed by projecting all edges from 4D to 3D, and then replacing each edge with a prism of reasonable diameter, so that a robust model results. But then we do not get a manifold B-Rep ! At every vertex there are 4 intersecting prisms, plus, perhaps, an additional sphere! (And for the 600-Cell there would be 12 cylinders!) How does an RP machine handle such a file ? But the actual .STL file of my “120_Cell” looks quite different. It is a composite of 1200 cylinders! At every one of the 600 vertices, there are 5 overlapping bodies: 4 prisms and a sphere.

87 And Things Can Get Much Worse!
Granada 2003 And Things Can Get Much Worse! Slicing the gridded “TetraBoy” surface: Other models present even bigger challenges! This gridded TetraBoy surface looks perfectly good when read in and displayed by QuickSlice, the software of the FDM machines from Stratasys. But when the slices are generated, it is a mess, and many of the required contours are missing. The .STL file displayed by QuickSlice The .SSL slices generated by QuickSlice: Lots of stuff missing!

88 One of Many Bad Layers many missing struts incomplete features
Granada 2003 One of Many Bad Layers many missing struts And if we inspect one of the central layers more closely, we see that some of the strut slices are completely absent, and other features are outlined incompletely. Why is this be the case? – My model was not a proper manifold B-rep, and here the problems were deeper than just a few intersecting struts . . . incomplete features

89 A single-sided, non-orientable surface of genus 4
Granada 2003 “Tetra-Boy Surface” The reason is, that it was difficult to model this object! It is a single-sided surface of genus 4, with many self-intersections. In order to use the Catmull-Clark subdivision process to smooth this surface, I had to run double coverage of this surface, so that locally it looks everywhere like a proper 2-manifold, with all edges used exactly twice in opposite directions. But then, in doing the offsetting and gridding, the SLIDE program produced as double-covered B-rep of the whole thing. The typical slicing software does not like this at all! A single-sided, non-orientable surface of genus 4

90 Model Clean-up Ideally all models should be cleaned up …
Granada 2003 Model Clean-up Ideally all models should be cleaned up … But general 3D Model Clean-up is very hard !!! I don’t know of any program than can do this, even for only moderately “flawed” models. So I am supposed to do a model clean-up before I send it to the FDM machine! The trouble is, I don’t have a program that can do the clean-up of this model. 3D model clean-up is very hard !! And I don’t know of any perfect clean-up program that can handle all bad models, -- some of which may only be moderately flawed.

91 QuickSlice Idiosyncrasies
Granada 2003 QuickSlice Idiosyncrasies What happens at overlapping / intersecting contours? Slices every facet individually, ignoring orientation. Re-constructs contours by joining line segments. In general, uses an XOR “in/out” definition. Flips contour orientation “if it seems to help”. . . On concentric circles the inner contour is flipped. On overlapping circles no flip is introduced; but a void then occurs in overlap area. But: Slicing programs could do a better job, with a quite simple approach . . . What does QuickSlice get confused when it encounters my model ? It slices every facet individually, ignoring orientation. Then it re-constructs contours by joining line segments from this spaghetti soup. One it has all closed contours, it uses an XOR “in/out” definition, changing the in/out state every time a continuous scan-line crosses one of these contours. In order to accommodate objects with hollows, it tries to do the right thing; thus it flips contour orientation “if it seems to help”. . . But it is hard to predict what is going on: -- On concentric circles the inner contour is flipped, and that is mostly a good thing. On overlapping circles no flip is introduced and that also is a reasonable first step; -- but it produces a void in overlap area. The irony is that: Slicing programs could do a better job, and with a quite simple approach . . .

92 “Bad” .STL Files If they come from a CAD tool, errors are not random:
Granada 2003 “Bad” .STL Files If they come from a CAD tool, errors are not random: NOT: randomly missing triangles NOT: randomly mis-oriented faces More likely: overlapping “legal” parts: Unexecuted Booleans: mostly unions , since this works fine for graphics displays. Possibly self-intersecting sweeps, e.g. in tight knots or in Klein bottles. Very likely, the facet orientation is trustworthy  Let’s use it properly! To do a better job, the slicing programs should take into account the nature of the typical flaws found in today’s .STL files. Nowadays most .STL files come from some CAD program, and those .STL files will not have randomly missing triangles, and not have randomly mis-oriented faces. These files are more likely a composite of several overlapping “legal” parts, and they will then have implicit, unexecuted Booleans: -- mostly unions , since those look just fine on graphics displays. Possibly there may also self-intersecting sweeps as one finds in tight knots or in Klein bottles. BUT: Very likely, the facet orientation is trustworthy! So: Let’s use it properly!

93 2D Model Interpretation
Granada 2003 2D Model Interpretation Intelligent 2D model clean-up is easy: Use The Winding Number Paradigm ! Slice all triangles; Use facet normals to produce oriented line segments (CCW contours around inside material.) Define “inside” with positive winding numbers. Overlapping parts produce winding numbers > 1. Here is what these slicing program should do: First they should be aware of the fact that 2D model clean-up is much easier than model fixing in 3D! An in the slicing process one has a much better chance of doing semantically the right thing when one uses The Winding Number Paradigm ! Thus: the program should go ahead and slice all triangles. But it should use the facet normals to produce oriented line segments, giving CCW contours around “inside” material regions. Then the program should define overall “inside” to be associated with positive winding numbers. Overlapping parts will simply produce winding numbers > 1, and thus the overlap area is still interpreted as “inside”.

94 Review of Winding Number
Granada 2003 Review of Winding Number Defined only for closed curves (in the plane). Defined with respect to a (sample) point. Evaluation along scan-line with up-down counter. Here is a visual review of the winding number: It is defined for closed curves in the plane, with respect to a given sampling point. At each point the winding number tells you how many times the contour string loops around a finger that one puts down in that area. In the computer, the evaluation of the winding number for each region can easily be done by moving along a scan-line and using an up-down counter: Every time you cross a contour coming from the left you count one up; and if it comes from the right, you subtract one (see red numbers).

95 Granada 2003 Why Is This a Good Thing? Simple overlapping parts will be union-ed together! Positive winding numbers means: inside. Negative winding numbers get ignored. Why is the winding number such a good thing? First look at the two boxes outlined in blue and green. Where they overlap, they produce a winding number of 2, and all the dark green areas are now “inside.” It even works for simple one-level subtraction: If we also introduce a negative box with a CW contour, it will cut away some of the green area where it produces areas with winding number of zero. And where it is -1, we also count this as being empty, or “outside”. Implicit assumption is that designer wants Boolean union or (simple = 1 level) difference.

96 Works Even with Negative Inside Contours
Granada 2003 Works Even with Negative Inside Contours This approach even works for annulus shapes that come with one positive outer contour and their own inner negative contour. OK to have hollow parts with clockwise contours inside; This guarantees proper subtraction of winding number.

97 Granada 2003 Final Plea . . . Please use your influence to promote the Winding Number Paradigm! A lot of headaches with slicing software will then disappear! So here is my Final Plea: Please use your influence with CAD companies and with makers of RP machines to promote the Winding Number Paradigm! A lot of headaches with slicing software will then disappear!

98 Granada 2003 Questions ? And then we can build more easily such sophisticated structures like this Double-Boy surface!


Download ppt "University of California, Berkeley"

Similar presentations


Ads by Google