CAD System Integration

Connect Ignitionary with AutoCAD, SolidWorks, Fusion 360, and other CAD platforms

Why Integrate with CAD Systems?

From configuration to production-ready drawings

📐

Automated Drawing Generation

Convert configurations into production-ready CAD drawings, eliminating manual drafting time.

🔧

Parametric Models

Update CAD models automatically based on configuration parameters and dimensional constraints.

📊

Bill of Materials

Extract accurate BOMs directly from configured CAD models for manufacturing and procurement.

🎨

3D Visualization

Generate real-time 3D previews from CAD models to enhance customer configuration experience.

Supported CAD Platforms

Direct integration with industry-leading CAD software

AutoCAD

AutoCAD, AutoCAD LT, AutoCAD Plant 3D

  • • .NET API integration
  • • Dynamic block parameters
  • • Layer management
  • • DWG file generation

SolidWorks

SolidWorks, SolidWorks PDM, Simulation

  • • SolidWorks API
  • • Feature-based modeling
  • • Configuration tables
  • • Assembly automation

Fusion 360

Autodesk Fusion 360, Inventor

  • • Forge API integration
  • • Cloud-based workflows
  • • Parametric features
  • • Manufacturing CAM

Enterprise CAD

CATIA, NX, Creo, Rhino

  • • Custom API development
  • • STEP/IGES import/export
  • • PLM integration
  • • Enterprise workflows

CAD API Endpoints

Key integration points for CAD connectivity

Model Generation

POST /api/v1/cad/models Generate CAD model from configuration parameters
PUT /api/v1/cad/models/{id}/parameters Update model parameters and regenerate geometry
GET /api/v1/cad/models/{id}/preview Get 3D model preview for web visualization

Drawing & Documentation

POST /api/v1/cad/drawings Generate technical drawings from 3D model
GET /api/v1/cad/models/{id}/bom Extract bill of materials from CAD assembly
POST /api/v1/cad/export Export model in various formats (DWG, STEP, STL)

Validation & Analysis

POST /api/v1/cad/validate Validate design rules and manufacturing constraints
GET /api/v1/cad/models/{id}/properties Calculate mass properties, volume, surface area
POST /api/v1/cad/interference Check for part interference and clearance issues

Authentication Requirements

  • CAD software licensing and API access
  • Application-specific authentication tokens
  • File system permissions for model storage
  • Network access for cloud-based CAD systems

Implementation Examples

Sample code for common CAD integration scenarios

SolidWorks Parametric Model Update

// Update SolidWorks model parameters from configuration
async function updateSolidWorksModel(modelPath, parameters) {
  const swApp = new SldWorks.Application();
  const swModel = swApp.OpenDoc6(modelPath, swDocumentTypes_e.swDocPART);

  // Update global variables/equations
  const eqMgr = swModel.GetEquationMgr();

  for (const [param, value] of Object.entries(parameters)) {
    const equation = `"${param}" = ${value}`;
    const index = eqMgr.FindByName(param);

    if (index >= 0) {
      eqMgr.Equation(index, equation);
    } else {
      eqMgr.Add2(equation, true);
    }
  }

  // Rebuild model with new parameters
  swModel.ForceRebuild3(true);

  // Generate drawing if needed
  const drawingTemplate = 'C:\\ProgramData\\SolidWorks\\templates\\Drawing.drwdot';
  const swDrawing = swApp.NewDocument(drawingTemplate);

  // Insert drawing views
  const swDrawingDoc = swDrawing;
  swDrawingDoc.CreateDrawViewFromModelView3(modelPath, '*Front', 0.1, 0.1, 0);

  return {
    modelPath: modelPath,
    drawingPath: modelPath.replace('.sldprt', '.slddrw'),
    updated: true
  };
}

AutoCAD Dynamic Block Automation

// Automate AutoCAD dynamic blocks with configuration data
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;

public void UpdateDynamicBlock(
    string blockName,
    Dictionary<string, object> parameters
) {
    var doc = Application.DocumentManager.MdiActiveDocument;
    var db = doc.Database;

    using (var trans = db.TransactionManager.StartTransaction()) {
        var bt = (BlockTable)trans.GetObject(
            db.BlockTableId, OpenMode.ForRead);

        if (!bt.Has(blockName)) return;

        var btr = (BlockTableRecord)trans.GetObject(
            bt[blockName], OpenMode.ForRead);

        // Find all block references
        foreach (ObjectId objId in btr) {
            var obj = trans.GetObject(objId, OpenMode.ForWrite);

            if (obj is BlockReference blockRef &&
                blockRef.IsDynamicBlock) {

                // Update dynamic properties
                foreach (var param in parameters) {
                    var dynProps = blockRef.DynamicBlockReferencePropertyCollection;

                    foreach (DynamicBlockReferenceProperty prop in dynProps) {
                        if (prop.PropertyName == param.Key) {
                            prop.Value = param.Value;
                            break;
                        }
                    }
                }
            }
        }

        trans.Commit();
    }
}

Fusion 360 Cloud API Integration

// Use Autodesk Forge APIs to update Fusion 360 models
async function updateFusion360Model(projectId, modelId, parameters) {
  // Get access token
  const authResponse = await fetch('https://developer.api.autodesk.com/authentication/v1/authenticate', {
    method: 'POST',
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
    body: `client_id=${CLIENT_ID}&client_secret=${CLIENT_SECRET}&grant_type=client_credentials&scope=data:read data:write`
  });

  const { access_token } = await authResponse.json();

  // Create design automation workitem
  const workItem = {
    activityId: 'YourActivity+prod',
    arguments: {
      inputModel: {
        url: `https://developer.api.autodesk.com/oss/v2/buckets/${BUCKET}/objects/${modelId}`,
        headers: { 'Authorization': `Bearer ${access_token}` }
      },
      inputParams: {
        url: 'data:application/json,' + JSON.stringify(parameters)
      },
      outputModel: {
        url: `https://developer.api.autodesk.com/oss/v2/buckets/${OUTPUT_BUCKET}/objects/updated_${modelId}`,
        verb: 'put',
        headers: { 'Authorization': `Bearer ${access_token}` }
      }
    }
  };

  // Submit workitem
  const workItemResponse = await fetch(
    'https://developer.api.autodesk.com/da/us-east/v3/workitems', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${access_token}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(workItem)
  });

  return await workItemResponse.json();
}

CAD Integration Workflows

End-to-end automation scenarios

1

Configuration Complete

User finalizes product configuration → Extract dimensional parameters and constraints

2

Model Generation

Update parametric CAD model → Regenerate geometry with new dimensions

3

Validation & Analysis

Check design rules and interference → Calculate mass properties and materials

4

Documentation Generation

Auto-generate drawings, BOMs → Export files for manufacturing and procurement

Ready to Connect Your CAD System?

Automate your design-to-manufacturing workflow with parametric CAD integration