instructables-logo

instructables Orthogonal 3D Modelling

instructables-Orthogonal-3D-Modelling-product

Software Needed

  • Rhino 8
  • Rhino plugins required
    • Vectorize
    • Human UI
    • Elefront
    • Metahopper
  • Image manipulation software such as Photoshop or Adobe Lightroom

Hardware Needed

  • Camera (Phone camera will suffice)
  • A photo box or some way of getting consistent soft lighting to eliminate shadows
  • Flatbed Scanner (Optional, but can be nice to get clean images for parts with flat surfaces)

Note: Make sure to extract the Orthogonal Modelling into the downloads folder, else the images inside the script wont work (File path should look something like …./Downloads/Orthogonal Modelling

instructables-Orthogonal-3D-Modelling- (2)

Procedure instructables-Orthogonal-3D-Modelling- (3)

Step 1 – Taking Photos
You can take pictures of the objects in a variety of ways. For example, I used a 30 euro lightbox, as shown in Figure 2, which was purchased from Amazon with an LED ring light at the top to evenly light the object and minimize harsh shadows, which would affect the quality of the vectorized curve. instructables-Orthogonal-3D-Modelling- (4)

If you don’t want to purchase additional equipment, there are several guides online on how to make a DIY one yourself with a cardboard box and other extra materials. As long as the setup produces images where the object is evenly lit and free of harsh shadows, it will suffice. instructables-Orthogonal-3D-Modelling- (5)

You can even use a flatbed scanner to obtain images of parts. This really only works for objects that can rest evenly on the flatbed for most, if not all, of their relevant views, but for those objects, this works especially well. instructables-Orthogonal-3D-Modelling- (6)

You can photograph the different views from either the top or the side, choose whichever angle works best for capturing the images you need. It’s entirely acceptable to mix angles, such as taking one photo from above and another from the side. For instance, Figure 5 below shows one image captured from the top and another from the side. instructables-Orthogonal-3D-Modelling- (7) instructables-Orthogonal-3D-Modelling- (8)

If an object can’t stay flat on a surface, either because it lacks a flat base or its center of gravity causes it to tip over, then double-sided tape can be used to stabilize it. instructables-Orthogonal-3D-Modelling- (9)

Step 2 – Processing Photos
Once you’ve captured the images using any of the methods described, process them in image manipulation software such as Photoshop, Lightroom, or your phone’s built-in photo editor. Adjust the contrast and brightness to get a clear outline of the desired shape. Next, crop the images tightly so the object extends as close to the frame edges as possible; this maximizes accuracy when scaling the image to real-world dimensions. Figures 7 to 9 below show several examples demonstrating this approach. instructables-Orthogonal-3D-Modelling- (10) instructables-Orthogonal-3D-Modelling- (11)For objects with rough textures that may interfere with the vectorization process, such as the one shown in the left image of Figure 8 below. It is possible to process the image further to flatten out the object, as can be seen in the right image of Figure instructables-Orthogonal-3D-Modelling- (12)

Step 3 – Choosing Planes and Operations
Figure 10 shows an image that outlines what the numbered planes refer to relative to an object. instructables-Orthogonal-3D-Modelling- (13)

Open up the plane selection sub window as shown in Figure 9 below to choose what combination of the 6 planes/views of the object you took pictures of, which are used to create the model. For the example shown in Figure 8, Planes 2 and 4 were used to create the buckle, since the photos obtained were a top view and a side view (Figure 5). instructables-Orthogonal-3D-Modelling- (14)

As an example, to model the buckle shown in Figure 10, the two images used are shown in Figure 12 below. The planes used were planes 2 and 4, with the top view being inserted into plane 4 and the side view being inserted into plane 2, respectively.instructables-Orthogonal-3D-Modelling- (16)

Figure 13 below shows the resulting vectorized images in their respective planes for this buckle example and the final model. instructables-Orthogonal-3D-Modelling- (17) instructables-Orthogonal-3D-Modelling- (18)

Reminder images are included in the UI of the Grasshopper script that show annotated views of the 6 different planes and how to use them in the dropdown menu for plane selection. This can be seen in Figure 14 below. instructables-Orthogonal-3D-Modelling- (19)

After you choose the planes you are going to use, you still have to decide on what kind of operation you want to do between the different surfaces you create. Overlap and Subtract are two operations available, and the difference between the two can be seen in Figure 16. instructables-Orthogonal-3D-Modelling- (20) instructables-Orthogonal-3D-Modelling- (21)

Once the planes and operations are decided upon, there is a button at the bottom of the window that you can press to continue to the next window, as shown in Figure 17. The
“Create your object” window contains 6 sub windows: one for each plane. In each sub window, you insert the image file for that plane, enter the dimensions you measured for the object, and set other settings that will be explained later.instructables-Orthogonal-3D-Modelling- (22)

These sub windows contain roughly 3 main sections in which you process the original image to the final surface, and each has either 2D or 3D viewports that give the user feedback regarding the values on the sliders that you are using, so that you can tune them to achieve the best result. The 4 main sections are picking the image file and vectorizing it, problem area detection, smoothing, and inserting the obtained measurements. There is also a final 3D viewport at the bottom of the window, which shows the final model that was created out of the images. This can be seen in Figure 18 below.

Note: If dragging the sliders lags the script, you can also double-click the notch marker on the slider to enter a value instead. instructables-Orthogonal-3D-Modelling- (23)

Step 4 – Vectorizing
In this section, you choose the image file you want to vectorize and input a threshold value that would provide the cleanest vector image. There is also a toggle that you have to click before the vectorized result is let through the rest of this script. This is so that you can tweak the threshold value till the result is satisfactory without causing massive performance issues. This can be seen in Figure 19 below. instructables-Orthogonal-3D-Modelling- (24)

Step 5 – Problem Area Detection
In this section of the window, you find areas that aren’t as smooth as they are on the actual object and clean them up to achieve better results. The viewport, as shown in Figure 20 below, shows the irregular parts of the curve being marked red. instructables-Orthogonal-3D-Modelling- (25)

This section has two slider inputs, in which you can tweak how sensitive the script flags problem areas to more precisely only detect areas that are truly problematic, instead of also including areas that are part of the intended geometry. Samples (50-200, default 100) determine how many points along the curve are analyzed – more samples give better detection of small irregularities but take longer to process, while fewer samples run faster but might miss subtle irregularities. Threshold (0.00-1.00, default 0.15) sets the sensitivity for detection – lower values like 0.05 catch subtle bumps and minor roughness, while higher values like 0.4 or above only flag major problem areas.

Step 6 – Smoothing
Once problem areas are identified, the script separates the curve into the smooth sections (areas that don’t need fixing) and the problem sections. You are output separately, so it is possible to edit only the problematic segments and then join everything back together into a clean, smooth curve. The viewport, as shown in Figure 21, shows the areas of the curve that were flagged by the script as being irregular and have been smoothed out. instructables-Orthogonal-3D-Modelling- (26)

The two inputs are the Smoothing factor that determines how much each point moves toward this averaged position (0.00-1.00, Default 0.20 ), and the number of Iterations (0-50, Default 10). This process is repeated, with each pass making the curve progressively smoother. Again, just like in Figure 19, there is another toggle that the user needs to click before the smoothed result is let through the rest of the script.

Step 7 – Insert Obtained Measurements
In this section of the window, you input the measurements of the object you want to recreate. It also includes a preview of the final surface after being resized. This is shown in Figure 18. There is also a short disclaimer regarding how the measurements might need to be varied slightly between the different planes, since Grasshopper’s boolean intersection/difference operations don’t function well if the edges are exactly coincident. instructables-Orthogonal-3D-Modelling- (27) Figure 23 shows what the different dimensional axes are in relation to the example buckle instructables-Orthogonal-3D-Modelling- (28)

Additionally, there is an extra toggle that lets you decide whether to extrude the 2D surface you created or revolve it around the axis. As shown in Figure 24 below. instructables-Orthogonal-3D-Modelling- (29) Currently, only revolving around the Z axis for the XZ and YZ planes (Planes 2,3,5, and 6) and Y axis for the XY planes (Planes 1 and 4) are supported. Additionally, there is an informative image as seen in Figure 25 below, which shows the difference between revolving the surface or extruding it. instructables-Orthogonal-3D-Modelling- (30)

Step 8 – Insert Obtained Measurements
Repeat steps 4-7 for all the planes you chose

Step 9 – Create Model
But once you fill in the relevant fields for each of the plane sub windows, you can check the final model preview, which is found at the bottom of the main window, if everything is as you expected, and make changes if necessary. Once you are satisfied with the result, you can click a button found below the preview to bake the model, which is then ready to be exported as an STL file to be 3D printed. This can be seen in Figure 26 below. instructables-Orthogonal-3D-Modelling- (31)

After clicking the create model button, a baked solid model will appear in your Rhino viewport. Click to select it, then go to file, and then click export selected. Save it as an STL file and after clicking save, another prompt will appear; just click yes. At this point, you have an STL file you can import into any slicer software of your choice, depending on the 3D printer you have. instructables-Orthogonal-3D-Modelling- (32) instructables-Orthogonal-3D-Modelling- (33) Step 10 – Post Processing
Post-processing is done to the models to clean them up or add features that could not be added with the workflow. This can be added using CAD software of the user’s choice or using a feature built into most 3D printing slicing software. The latter is much easier to use for users who aren’t familiar with CAD. The slicer allows you to add or subtract geometry, mirror parts, and perform other operations on models generated by the script. Figure 28 below demonstrates a subtractive operation and Figure 29 shows a mirror operation. instructables-Orthogonal-3D-Modelling- (34)

instructables-Orthogonal-3D-Modelling- (1)

Documents / Resources

instructables Orthogonal 3D Modelling [pdf] Instruction Manual
Orthogonal 3D Modelling, 3D Modelling, Modelling

References

Leave a comment

Your email address will not be published. Required fields are marked *