3D Models in CM4D Applications

Topic Contents [Hide]Topic Contents [Show]
  1. Automatic Conversion
    1. HOOPS in CM4D
    2. Subroutine Images
  2. Manual Conversion
  3. File System

3D CAD models associated to a Routine in CM4D are converted to a stream cache format. The model information is stored in the database and the model stream cache files are stored in a Model Directory on the HOOPS Communicator server. The models are then streamed from the HOOPS server to clients and rendered by the HOOPS Web Viewer on the client-side in CM4D Peruse. This requires the end client, the machine running CM4D Peruse in a web browser, to do the actual rendering the 3D model when it is loaded into the web viewer in CM4D Peruse.

Internet speed impacts the loading/rendering of the 3D model because the model is streamed to the client and rendered on the client machine. Server-side rendering (not available) would require very expensive server hardware.

The HOOPS Communication Server (HCS) connects to CM4D via the CM4D Results database connected through CM4D Peruse. When a model is requested by a client, the HCS checks the Model Directory for the requested model. From that directory, it streams the cache file to the client for rendering. The model directory is populated by CM4D via the StreamCacheSmith Service and CM4D Results database. The CM4D StreamCacheSmith Service must be installed on same machine as the HOOPS Communicator Server. Images transferred to the Results database cannot contain User Variables in the Image Path.

Automatic Conversion

CAD models associated to Routine data that is added or modified within the CM4D desktop applications are automatically handled by the CM4D Site database, which acts as a command center to send messages to the Results Sender service, which in turn sends the CAD image file through the StreamCacheSmith service for conversion to the HOOPS Stream Cache format and storage on the HOOPS server.

HOOPS in CM4D

The HOOPS 3D engine includes a number of applications which are used in different ways depending on the application:

Subroutine Images

Subroutines do not generate their own 3D models. Rather, Subroutines reference the models assigned to the Parent Routine(s). Models are converted to the stream cache format for Routines only to prevent data duplication in the Results database and stream cache files stored on the file server.

Manual Conversion

If something in a CAD file changes (value in the file), but does not change in relation to CM4D (file name or storage location), an automatic update to the converted stream format is not triggered. In this case, you can prompt a re-conversion manually in DataUtility.

In the Images search results, the Export to Results Database context menu option triggers the image to be sent through the StreamCacheSmith service for conversion into the HOOPS format, which will include any changes made internally to the CAD file.

File System

The stream cache files are stored on the HOOPS Communicator server, which is installed and configured as part of the Peruse installation. Stream cache models are stored in a folder within the HOOPS install folder and labeled using the StreamCacheId stored in the Results database.

Manually modifying stream cache folders and files is NOT recommended. The best method is to run DataUtility and use the Export Image to Results option for the image that needs to be updated.

To add a new model manually via file system:

  1. Copy the folder containing the stream cache files into the folder: C:\Temp\models.
  2. Rename the folder to match the StreamCacheId as it appears in the database.

If you are unsure of the exact name to use, check the StreamCacheId column in the Results database table dbo.Models.

 

Can we improve this topic?