Research at Simon Fraser University
These are some of the research projects I have done as part of my Ph.D. and as a research assistant at Simon Fraser University.
 
                            Programming, often called scripting, has become a key feature in most CAD systems and an
                                equally key area of expertise in CAD. However, programming surrenders many of the
                                benefits of direct manipulation and introduces notational elements that are cognitively
                                distant
                                from the designs being created. In addition, it creates barriers to use and is often
                                perceived as being too difficult to apply. We introduce Programming In the Model (PIM)
                                through a prototype, implementing live side-by-side views, multi-view brushing and
                                highlighting, live scripting, auto-translating from modeling operations to script and
                                localized relational information within model windows.
                                
                                
A qualitative user study confirms PIM’s features and raises issues for future
                                development. A key result is the need for multi-directional extreme liveness, that is,
                                maintaining consistency of action across views at the smallest possible scale. We argue
                                that PIM principles are applicable in textual and visual programming alike.
                                
                                
To see a demo of PIM, please watch this and this.
I was fortunate enough to be involved in Rob Woodbury’s design patterns project, where I contributed to
                                the development of some of the patterns, using Generative Components to create examples
                                of the user of the patterns in parametric models. The work was later published in Rob’s
                                Elements of Parametric Design book. The following description of the project is from
                                his’s website.
                                
                                
“Experts use their experience of solving problems in the past to build on and create
                                new solutions in new situations. Such experience is part of what makes them experts.
                                Some of these reusable solutions can be expressed in what are known as design patterns.
                                Patterns express design work at a tactical level, above simple editing and below overall
                                conception. The Elements of parametric design website provides the parametric modeling community
                                with well-crafted examples of reusable code. By explaining the motivation, context and
                                details of the code, it enables people to more effectively learn parametric modeling
                                systems and to build larger and more complex models with confidence.”
                               
 
                            Geometry has long been a generator of architecture. In traditional Persian architecture, Rasmi domes project a drawing onto a predefined 3D geometry. In fact, the word ‘rasmi’ and the verb for drawing in Persian have the same linguistic root. Projection is readily done in manual drawings or conventional CAD programs. From a constraint perspective, the dome is constrained by the drawing and the 3D geometry. If the latter constraint is replaced by invariance of distance on the original drawing, a class of domes results, but members of this class cannot be computed conventionally. Class members are developable from a planar layout of triangles, which is, in turn, generated by a simple drawing rule. This yields a parametric structure of four parameters. Three determine the initial planar diagram. One determines configuration. Further, domes in the class are mechanisms: they are not fully specified by the constraints and parameters. We develop the geometric constraints representing the location of the defining points of a dome and present a goal-seeking algorithm to solve the constraints within a propagation-based parametric modelling system.