CADViewer Technical Documentation, Installation Guide and Reference Samples Library

CADViewer Architecture

Application programmers can choose to install CADViewer as an integrated system, or implement the separate components into their own business logic. CADViewer has a very flexible architecture, why application programmers or integrators can choose various integration points in their CADViewer integration. Below, we outline the various components in CADViewer and provide integration points for users to take control over custom integrations:


Following sections gives insights to controlling conversions and display:



CADViewer Structural Architectural Components

CADViewer has the following Architectural Components:

Follow the links below for detailed installation guidance and functional description of the individual components.

The architectural diagram below illustrates how the varies components links together:


CADViewer Architectural Overview


graph TD;
   A[CADViewer Front-End  
1: JavaScript library
2: npm Script library] -->|post/get| C[CADViewer RestFUL API
Implements structured request-responses for:
CAD conversion
Data Extraction
File manipulation
] C --> |post/get| A C --> D[Server Side PlatForm Handlers
Implementation of CADViewer RestFUL API on the platforms:
1: NodeJS
2: PHP
3: Servlets
4: dotNet .ashx scripts
5:.Net6 core controller
] D --> C E[CAD Converters
Tailor Made c++ native-code core CAD software:
AutoXchange 2023 - data conversion
LinkList 2023 - data extraction
DwgMerge 2023 - data manipulation] --> D D --> E G[CADViewer:
JavaScript API
Callback methods API] --> A A --> G H[Integrator Front-End Application] --> G G --> H




Do CAD File Conversion with custom business logic

Application programmers can choose to take control of the CAD conversion process if they also control the check-in and check-out of CAD files into the system.

This can be to an advantage, as conversions can be done ahead of time. The display will be very fast, as the pre-converted file(s) can be served directly to the CADViewer Front-end.

The developer can then directly control the conversion of the native code converter AutoXchange 2023 and fire off a conversion to create a set of CADViewer SVG files to be served to CADViewer.



Suggested flow for direct CAD conversion control



graph TD;

   A[Integrator Back-End Application] --> B[Customer check-in or update of CAD drawing]
   
   B --> C[Call AutoXchange 2023 directly:
Use the command line:
ax2023 -i=myinputfile.dwg -o=myoutputfile.svg -f=svg -basic
] C --> D[Capture the batch of SVG files
There are SVG files for the modelspace and each view] D --> E[Store the SVG files in the Integrator Back-End Application DB] E --> F[Load the main SVG drawing directly in CADViewer using cvjs_LoadDrawing
from a location retrieved from the Integrator Back-End Application DB ]


Insert Content directly into CADViewer API

The CADViewer API supports direct insertion of content at the API level. Application programmers can using those specific API calls avoid using the CADViewer RESTFUL API and simply insert content, pre-converted files and menus, directly into CADViewer.



Suggested flow for direct content insertion CADViewer Front-End



graph TD;
   A[Integrator Front-End Application] --> |insert SVG drawings directly
insert menu system directly| B[CADViewer
JavaScript API
Callback methods API
] B --> A B --> |insert SVG drawings directly
insert menu system directly| C[CADViewer Front-End
1: JavaScript library
2: npm Script library] C --> B

See more on API Insertion on Load for custom menu items, and see API for cvjs_LoadDrawing_SVG() for direct insertion of drawings.

Last updated on 17 Aug 2022
Published on 22 Mar 2020