Erik Pilgrim, October 22 2019

Rendering Existing 3D drawings based on Salesforce Object via a conventional relationship

So you want to setup 3D renderings within Salesforce, but your files are hosted all over the place. Your product renderings are in /products/ subdirectory on your web server while your case-related service renderings are stored in the cloud. What is a Salesforce admin to do?

Utilizing Salesforce metadata, we can create and ship settings for our app, and then allow customers to build their own settings and apply them using dynamic relationships based on the underlying object/relationship you are attempting to render. 

Our Metadata looks like this at a high-level:

Where we have the ability to define any number of RenderDraw Settings that have their own combinations of Lights and Controls. A completed settings relationship would describe the Scene and where we would fetch and display the Drawing from.  Keyboard & Mouse controls with a blue spotlight? sure but only for the Case object. Setting up a relationship with an object and scene details does not affect any other object's rendering scene, and these relationships can be added to ANY object within Salesforce, even custom / 3rd Party objects.

Some users might want to derive part of a filepath from a field within their Salesforce object, and by utilizing Metadata relationships we can describe that pretty easily.  We can utilize Salesforce Metadata to describe the relationship between where your 3D renderings are stored. 

Base URL change? no worries.. moved Product drawings to another folder on your file server? Update the relationship once, and it applies across all instances of RenderDraw and that object type. lets look at a diagram to visualize this URL building convention as it relates to some of our Metadata objects.

Let's break down what is in a URL that we might use to fetch and display 3D from a setup file source.

For those of you who have utilized the built-in Salesforce UI for metadata, fear not!  Although that interaction leaves a lot to be desired, we have created wrapping components so you can create these powerful relationships, without getting your hands too dirty..

Utilizing Salesforce metadata, we can create dynamic relationships based on the underlying object you are attempting to render from. Some users might want to derive part of a filepath from a field within their Salesforce object, and by utilizing Metadata relationships we can describe that pretty easily. 

To take a look at this process a bit more in depth, we can see what was created in the video above is represented in the "Configuration of Metadata" lane in the diagram below. These are meant to setup a light, camera and base URL (RenderDraw Setting) and relate that to an object type via metadata. Once that relationship is setup, RenderDraw knows what kind of scene to draw based on the underlying object type.  


Regardless if you use Lightning or are still on classic, we have you covered. Our SimpleRenderer component can be added to the Record page of your choice, and the Salesforce recordId will automatically be passed to the Salesforce system, and the metadata that was setup will be loaded based on the Salesforce object id. 

Remember, RenderDraw settings/Metadata must be setup prior to using a conventional relationship rendering model

By either setting up relationships between your data in Salesforce and URLs to hosted 3D models, or passing URLs in custom development scenarios, Salesforce Administrators or Developers can easily drag and drop fully interactive 3D models right onto your screens for your users to experience. Regardless if your users are in standard Sales Cloud, on a community, want to experience 3D renderings on Salesforce CPQ or any custom scenario- RenderDraw makes it possible  

Written by

Erik Pilgrim

Tags

Previous 3D Anywhere in Salesforce - Quick Actions
Next Creating Custom 3D Salesforce components using RenderDraw's SimpleRenderer