2019 CATIA Hackathon TeamB - BExPER Mobility Design

Hackathon ​​​​​​​

In April 2019, the first CATIA Hackathon in China attracted a group of vehicle design players. First of all, a brief introduction to Hackathon: is to use 3DEXPERIENCE CATIA, within the limit of two days. The design entitled "Future driving experience" is completed with the team configuration of "1 mentor + 2 designers + 4 digital modelers + 1 CATIA expert". During these two days of the intense and exciting design process, each team is working very hard to advance the design progress and achieve the final design goals. Next, let's take a look at the design concepts and processes of TeamB!


TeamB's mentor Changbing is opening up ideas for everyone.

Get the prize and take a picture together.

The design of TeamB is called BExPER, which is a personalized mobility experience design for young groups with fashion personality in the future. Inspired by the explosion of the planet, the exterior surface is shaped from the planet and the shock wave blend. A layer of parametric skin is attached to the car body, which changes flexibly with the change of the state of the user in the process of driving, and creates a personalized interactive experience between the internal space and the outside world for the user.

Woo-Hoo~ This is the rendering of the final design.

In the whole design process, each application module of 3DEXPERIENCE empowers designers and digital modelers to help them make a better design in just two days of CATIA Hackathon. Next, we will tell the story behind each design link in detail.

TeamB design process

I. Concepts and sketches

1. Concept divergence

This CATIA Hackathon is a complete "start from scratch" activity. The whole design process begins with ideation, and the first step is the divergence of concepts. The competition staff prepared hundreds of emotional maps and research inspiration words to help CATIA Hackathon contestants spread their ideas and quickly find inspiration from them.

The emotional maps and keywords of the competition scene

TeamB chose a photo of a character full of a sense of the future from the inspiration pile as the designed Persona, summed up the keywords such as personality, youth, trend and so on, and conceived a travel experience for young people in the future. Then around "personalization", "VR experience" and "parametrization", imagine in this travel experience, what kind of modeling language will human beings like in the future, and what functions will be needed to spread our inspiration.

TeamB's buddies painted a full board of concepts.

2. Sketch drawing

Because the concept of TeamB is a travel experience designed for the new human beings in the future, the shape of the planet burst is selected in the shape of the exterior. The interior takes a comfortable experience as the starting point, select the concise modeling scheme to unifies with the exterior style.

Exterior sketch

Interior sketch

After the sketching is complete, you can also use the Natural Sketch application to import the sketch into the model space.


II. Using Human Design as a reference for Human scale

Ergonomics is an important part of automobile design. It has a very obvious effect on modeling in the whole design process. In the early stage of modeling, a large number of restrictions come from the requirements of ergonomics. Especially in the interior design, the pitch of modeling features is affected by the visual field/headspace/shoulder space/leg space/elbow height/hand optimal operating space.

The Human Design application is a very fast and convenient ergonomic tool, which can create the human body in the model as a reference, and quickly place the posture of the characters and change the appearance of the dress. As shown in the figure, Human Design, it also allows the hands of the characters to "grasp" the objects in the model, making it more convenient to adjust the posture of the characters.

Human Design interface

In the concept of TeamB modeling, the future human experience in the car should be freer, whether it is rest lying posture and driving posture can be flexible to switch. So we used Human Design to build a human model of lying and a human model sitting to help construct the interior part of the car.


III. Fast Modeling using Imagine&Shape

Have you ever envied the intuition and rapidity of subdivision surface modeling? CATIA Imagine and Shape is a modeling application based on subdivision surface technology, which gives designers and modelers a freer modeling method, and can seamlessly connect with the Nurbs modeling process!

In the interface, we can see that the curved points of the surface can be very free to pull with the control shaft, just as fast and convenient as pinching clay. In addition, IMA also provides the functions often used in subdivision modeling, such as adding surface subdivision, extruding surface and so on. It can be said that the freedom degree of modeling is greatly improved.

Imagine&Shape interface

In the process of later optimization of TeamB modeling, because some structure of the original surface is unreasonable, it is necessary to reconstruct the surface according to the original surface. And at this point, IMA's Strip Drawing tool will come in great use! This tool can directly draw structural lines on the original surface to reconstruct the surface, and the points of the new surface will be automatically attached to the original surface, which makes it very easy for us to fit the original shape. Coupled with intuitive extrusion surface and adsorption operation, the modeler can quickly reconstruct the new surface and fit the original shape as well as possible.

Reconstruction of surfaces using Strip Drawing tools



IV. Making Parametric Leaves Texture with xGenerativeDesign

In recent years, we can see more and more parametric design range over a wide field, from architecture to cars and products: parametric overall layout, rhythmically changing parametric details, interactive parametric units, and so on, which represent the beauty of math, logic and nature. On 3DEXPERIENCE, version 2019X officially released xGenerative Design (xGD) application, which can not only realize powerful parametric design function but also provide a visual programming interface. Moreover, this application is completely based on web development. Designers don't need to download or install any software, just open a browser to model. So xGenerativeDesign can help designers implement a variety of adjustable parameters in a very intuitive way.

Next, let's have a look at the tutorial on the parametric leaves texture of the side of the body in the TeamB scheme! You can watch this video or the text tutorials behind the video to learn how xGD achieves this effect.

First, secretly show you the final effect.


This is a video tutorial for xGD. And you can also see the artical tutorial below.


1. Enter xGD

Create a model

① Enter 3D App, from the left quadrant of the upper left corner compass of the 3DE platform to find the xGenerative Design, click enter. Click Create Model in the pop-up xGenerativeDesign interface.

② Enter the file name (remember to get up well, or you won't find it in the future!) Select the workspace and click OK.

Basic interface introduction

③ After entering the xGD interface, there is the model space in the middle, the object layer on the left, and the command bar below. When you move the mouse to the right side of the Design Sequence on the left, an icon for the pen appears, and clicking on this icon will pop up the Graph Editor. In which the object is represented as a node, and the properties of each object can be easily connected.

Introduction to Graph Editor interface

④ In Graph Editor objects are presented as nodes, each object node will have some green points with text tagging, these points mark the different properties of the object. Below is the node bar, where you can create objects by dragging different nodes into the interface. At the bottom left of the node bar is the search bar, and you can enter the name of the node to quickly search for the node. Later, you'll show you how to pull out a relational line by dragging a green dot to link properties between different nodes.

Graph Editor view operation

⑤ In Graph Editor, you can hold down the middle mouse button to move the interface, scroll the mouse wheel to zoom, hold down the left mouse button to draw the box to select the nodes in the box area.


2. Create hexagonal mesh

Create the center point of a hexagonal grid

① First of all, let's create the center point of a hexagonal grid, click on the Construct tab on the command bar below, click on the seventh icon on the left, and create the upper right corner of Points Grid, that will pop up a window that creates object properties.

② Click on the hexagonal grid icon at the top of the pop-up window, click on the empty bar on the right of Plane to select the plane where the grid points are located, and then click on the ZX plane under 3DShape on the left to adjust the Size,NumberX, in the pop-up window The NumberY parameter adjusts the effect. Here I set it to 13mm, 6, 6, and then click OK to create the grid points we need.

Create hexagonal mesh

③ next, in the Construct tag at the bottom, find the Polygon (20th on the left) and click to create the hexagonal. In the pop-up window, Center selects the hexagonal grid points we created (you can click on the points in the model space to select them, or you can click on the PointGrid.1), Support corresponding to the left tree to select the ZX plane and Side increases to 6. Radius is resized to about the same size first, and click OK to create the grid.

Associate the radius of the grid with the interval between the grid points

④ Here we want to associate the radius of the grid with the interval between the grid points, and click on the pen icon to the right of the left Design Sequence.1 to open the Graph Editor. You can see that the initial reference plane and the objects we created earlier are presented in the interface as nodes, with the green points on the left side of the node representing the input and the green points on the right representing the output. The curve representation properties between nodes are linked. We can link properties between objects by dragging the output on the node to the input of another node and pulling out a new curve.

⑤ Here we want to drag the side length of the hexagonal to make a variable, click on the Side output of the PointGrid.1 node, pop up a Value window, click on the + sign to generate a new variable node.

⑥ Drag the output of the variable node to the Rad input of the Polygon.1 node, so that the interval of hexagonal grid points and the edge length of hexagonal are controlled by the same variable Side. Adjust the value of the Side, and you can see that the hexagonal in the model space is also changing synchronously.


3. Rotation with hexagonal midline as the axis

Use the center point to pull out the center line of the hexagonal

① Click on the Line (eighth icon on the left) command under the Construct tab, and click the second icon on the pop-up window to switch to Line Point Direction. The Point column selects the PointGrid.1, Direction column to select the YZ reference plane, and click OK, to create the rotating axis.

Rotating hexagonal

② Click on the Operate tab at the bottom, click Rotate (19th icon on the left), in the pop-up window, the Geometry column select the Polygon.1, Axis column select Line.1 (the axis), Angle you just created can be adjusted to try the effect. Here we transfer to 30deg.

③ You can click on the space on the left of Polygon.2 to hide. It is easier to preview the effect of rotation.


4. Using the sequence of numbers and functions to control gradient rotation

Create a sequence of numbers

① Open the Graph Editor, to enter the Input tab below, and click Sequenceto create a node. Click the numY input of Polygon.1 to create a new numY variable and drag the output of numY to the nb (number) input of the Sequence node. We can click on the output of the Sequence node and click on the binoculars icon next to the Value to open a Watch window and preview the output value.

Corresponds a sequence of numbers to a function

② Switch to the Maths tab in the 2 node bar and click Curve Evaluator to create the node. There is a function image in this node, the horizontal axis X of the image is from 0 to 1, and the longitudinal axis Y is from the min value of the input to the max value of the input. We drag the output of the Sequence node to the x input of the CrvEval node. In this way, the CrvEval node outputs Y values corresponding to eight X values on the function image. We can drag the two ends of the function image and the lever to control the shape of the function, as shown in the figure, which outputs a list of values that rise first and then drop. Then we can click on the min and max inputs of the CrvEval node and click on the + sign to create the variable node. Here we click enter 70deg at the value of the max variable. Finally, we drag the output of the CrvEval node onto the Rotate node, and we can use the function to control a gradual rotation angle.


5. Convert hexagonal into the surfaces

① Click below to switch to the Create tab, click Fill, select Rotate.3, in the Outer Wires column of the pop-up window and click OK.


6. Extrusion from hexagonal mesh (used to cut the surface where the texture is located)

① Click on the Extrude in the Create tag below. In the pop-up window, the Profile column select the hexagonal Polygon, Direction column select the ZX plane, Length 1 and Length 2 both give a certain length, click OK.

② Open Graph Editor, click on Extrude.1 input L1, click + sign to create a new variable node, drag the output of this node to Extrude.1 input L2, and you can adjust Length1 and Length2 at the same time. Double-click the name of the variable node to rename the variable node, and here we change it to Extrusion.


7. Create a Mapping reference surface (for later texture Mapping to the surface)

Declare global variables

① Click on the output of numY and click on the sound wave icon of the pop-up window, and numY becomes a global variable. As shown in the figure, the connection of the global variable disappears and becomes a small green sound wave. These variables can be seen directly after importing the model into other modules later, which is easy to adjust.

② the declared global variables can also be seen in the controllers on the left side of the main interface, which is convenient to adjust.

Create a Mapping reference surface

① The following two figures explain that the minimum length and width of the reference surface (rectangle) should be numX*1.5R and numY*2R.

② Enter Graph Editor, enter rec in the search bar to find Rectangle 2 Points, click create the node.

③ In the same way, enter XYZ to create two Point By Coordinates nodes.

④ Use Multiply nodes (search * ) and MinusX nodes (search - ) to generate expressions shown in the figure below. The sup input of the Rectangle node is connected to the ZX plane. Finally, connect the Fill node to generate a surface.

⑤ You can see that a reference surface a bit larger than the texture is generated.

⑥ Click on Scale under the Operate tab and select Rectangle to zoom. Open Graph Editor, to connect the output of the Scale node to the input of the Fill (instead of the original Rectangle connection line), click on the rat input of the Scale node to create a new variable node, named Ref Scale, and declare it as a global variable.


8. Publish

Assembly and Publish

① After completing the above steps, we will assemble the parts that need to be exported using the Assembly node before publishing it using the Publish node.

② We can see that every step of the assembly is a "group" operation on the data structure.

③ Finally, don't forget to click the Save button on the main interface, and the prompt for Saving Document will appear.

Leave some gaps between hexagonal sides

④ If you want to leave some gaps between these hexagons, you can insert a Multiply node after we generate the center point of the hexagonal grid to multiply the Rad variable by a floating number of less than 1 (the Real node under the Input tag). Connect to the rad input to generate hexagons. We set the value of the floating number to 0.9.

⑤ You can see that there are some gaps between the hexagons here.


9. Import the blade model into the original model

Search for open files on the 3de platform

① Click on the left quadrant of the compass in the upper left corner to open the IMA (Imagine&Shape) module.

② Open the surface model you originally built

③ Search the file made by xGD in the search box above and right-click Open to open the model.

Use global variables to adjust the model

① Open the model made by xGD, and press F3 to open the structure treeon the left. Look at the structure tree, Parameters under the Design Sequence is the global variable declared in our previous tutorial. Under Published Geometries are the objects we assembled and released before.

② Double-clicking any variable under Parameters will pop up a window to edit the variable. Here I change numX from 5 to 6, and click Apply to update the model synchronously.

Insert model

① Go back to the original surface model and double-click at the top of the structure tree. Then we right-click the top of the structure tree and select Insert > Existing Product.

② Switch to the model made by xGD and click on the top of the structure tree to insert the model into the original product.

③ In this way, the model made by xGD is inserted.


10. Map the texture to the surface

Copy the surface which needed to be mapped to the subproduct of xGD

① In order to map the texture to the surface, you need to place the texture and the surface under the same 3D Shape, double-click the 3D Shape, where the surface is located, right-click the surface (I copy the entire Geometry Set where the surface is located), and select Copy.

② Double-click the 3D Shape, under the subproduct made by xGD and right-click Paste.

Intercepting a part of a surface (IMA > Shape Operations > Split)

① Switch to the IMA (Imagine&Shape) module and create an object that is about the same size as the texture range you need.

② Click the Split under the Shape Operations tab. In the pop-up window, Element to cut select the original surface, Cutting elements select the object you just created, and check Keep both sides, and click OK.

③ Right-click on the split object and the object previously used for splitting to select Hide/Show, to check the segmented surface.

Surface Simplification (Generative Shape Morphing > Morphing > Surface Simplification)

① Click on the left quadrant of the compass and switch to Generative Shape Morphing.

② Click on the Surface Simplification under the Morphing tab. In the pop-up window, Surface selects our split surface, click OK.

③ In this way, it is simplified to a single curved surface (consistent with the UV structure of the reference surface made by xGD).

Surface Mapping (ICEM Shape Morphing > Surface > Surface Mapping)

① Switch to the ICEM Shape Morphing module and show the reference surface made by xGD.

② Click on the Shape Mapping under the Surface tab (click on the small arrow next to the icon to select).

③ In the pop-up window, Element selects the extruded object, Reference selects the reference surface created before, and Target selects the simplified surface. Click on OK.

④ In the pop-up Muti-result Management window, select Keep all the sub-elements. Click OK.

⑤ In this way, the extruded object is mapped to the surface.

⑥ Remember to map the leaves, too.

Splitting Surface of the Extruded object made of xGD

① Switch to the IMA module, select the Split under the Shape Operationslabel to split the simplified surface with the extruded object made by xGD.

② Hide the extruded objects. Woo-Hoo! You can see the effect of the leaves on the surface!

​​​​​​​



V. Rendering and reporting

Let's take a look at the effect of rendering using Live Rendering ​​​​​​​ and presentation using Product Perception Experience !

This is a video of the effects of Live Rendering and Product Perception Experience.


1. Rendering using Live Rendering

After the design is completed, it is time for the rendering stage! the Live Rendering module provides a complete rendering flow, such as material, lighting, environment, and the image tone. The node material designed by Substance Designer can be directly imported, which is very convenient to adjust the parameters you need. By default, a very complete material library is provided in the module, and users who do not use Substance can also import the material of the material library directly to complete the rendering. In addition to the way we are familiar with lighting, we also provide HDRI environmental maps. Finally, we can also choose different rendering engines.

The final rendering is rendered with Live Rendering ~


2. Presentations using Product Perception Experience

Product Perception Experience is a sharp weapon for model presentation! Using Product Perception Experience, designers can present 3D design intent and design progress by defining product experiences that use a variety of product variants (such as geometric variants, color variants, and material variants, simple product behavior) and real-time rendering. By intuitively recording the display status of different products, different materials, or different perspectives, and clicking on the thumbnails of these variants when presenting, you can smoothly switch among these recorded variants and provide a very smooth presentation experience.


The presentation function of Product Perception Experience is very intuitive.



Thanks for watchin