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:
- CADViewer Structural Architectural Components Overview - main architectual overview
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.
CADViewer Front-End - CADViewer class library installed with integrators front-end application in html code or framework.
CADViewer RESTFUL API - structured JSON for communication with the Back-end.
CADViewer Platform Handlers - Implementation of the CADViewer RESTFUL API on various platforms.
Back-end CAD Converters and CAD Extractors - Core native-code CAD command-line software, running on the Back-End.
The architectural diagram below illustrates how the varies components links together:
CADViewer Architectural Overview
graph TD; A[CADViewer Front-End
2: npm Script library] -->|post/get| C[CADViewer RestFUL API
Implements structured request-responses for:
File manipulation ] C --> |post/get| A C --> D[Server Side PlatForm Handlers
Implementation of CADViewer RestFUL API on the platforms:
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:
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.
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
Callback methods API] B --> A B --> |insert SVG drawings directly
insert menu system directly| C[CADViewer Front-End
2: npm Script library] C --> B