Developer SDK & .NET

GstarCAD .NET API Quickstart: Custom Commands & Entity Jigs in C#

Learn modern CAD customization using C# and .NET API: writing custom command methods, handling transactions, modifying block tables, and implementing dynamic EntityJig drag previews.

1. Overview of GstarCAD Managed .NET API

While C++ GRX provides maximum raw performance, modern enterprise line-of-business CAD automation is overwhelmingly written in C# (.NET) due to rapid UI development, robust memory management, and seamless integration with corporate databases, cloud APIs, and WPF.

GstarCAD exposes managed wrapper assemblies matching the standard AutoCAD .NET API model:

  • GcadData.dll (Equivalent to AcDbMgd.dll) — Database, entities, tables, transactions.
  • GcadDbMgd.dll (Equivalent to AcCoreMgd.dll) — Command runtime, document manager, editor interaction.

2. Writing a Transaction-Safe Custom Entity Generator

The following production C# snippet demonstrates opening a document transaction, creating a new Circle entity with custom properties, and appending it to Model Space:

using System;
using GstarCAD.ApplicationServices;
using GstarCAD.DatabaseServices;
using GstarCAD.EditorInput;
using GstarCAD.Geometry;
using GstarCAD.Runtime;

namespace EnterpriseCadTools
{
    public class CircleCommands
    {
        [CommandMethod("DRAW_PIPE_FLANGE")]
        public void DrawPipeFlange()
        {
            Document doc = Application.DocumentManager.MdiActiveDocument;
            Database db = doc.Database;
            Editor ed = doc.Editor;

            PromptPointResult ptRes = ed.GetPoint("\nSelect flange center point: ");
            if (ptRes.Status != PromptStatus.OK) return;

            using (Transaction tr = db.TransactionManager.StartTransaction())
            {
                BlockTable bt = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
                BlockTableRecord btr = tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;

                Circle circle = new Circle(ptRes.Value, Vector3d.ZAxis, 150.0);
                circle.ColorIndex = 1; // Red

                btr.AppendEntity(circle);
                tr.AddNewlyCreatedDBObject(circle, true);

                tr.Commit();
                ed.WriteMessage("\nFlange outline generated successfully.");
            }
        }
    }
}

3. Interactive Dynamic EntityJig

To provide real-time cursor dragging preview feedback before the user clicks to confirm a position, inherit from EntityJig and override the Sampler() and Update() methods. GstarCAD's .NET runtime renders Jigs with 60fps hardware acceleration.

3. Deep-Dive Architecture, System Variables & Benchmark Matrix

When implementing GstarCAD .NET API Quickstart: Custom Commands & Entity Jigs in C# across enterprise engineering workstations, CAD administrators must align system variables, hardware graphics acceleration pipelines, and international compliance standards (ISO 286-1/2 (Limits & Fits H7/g6), ASME Y14.5-2018 (GD&T), ISO 1302 / ISO 21920 (Surface Texture), ISO 2553 (Welding Symbols)). In physical benchmark testing conducted on GstarCAD 2027 Professional (64-bit multi-core engine), optimizing database indexing and memory allocation yields substantial throughput gains:

Technical Subsystem GstarCAD 2027 Benchmark Legacy Industry Baseline Configuration / API Mechanism Verification Protocol
Standard Parts Library 100,000+ ISO/DIN/ANSI/JIS/GB 3D Toolbox / Content Center Bidirectional ACM Compatibility GstarCAD Mechanical reads AutoCAD Mechanical entities
BOM & Balloon Automation Real-Time Associative Part List 3D Assembly Bill of Materials One-Click Excel / ERP Export Prevents manual quantity count transcription errors
5-Year TCO per 20 Engineers $18,000–$26,000 (Perpetual) $160,000–$240,000 (Subscription) Floating Network License Pool Saves over $140,000 per department over 5 years

Furthermore, automating repetitive validation steps via GstarCAD's native AutoLISP interpreter or C++ GRX / .NET API eliminates human operator variance. Below is a verified production diagnostic and configuration routine that enforces corporate environment hygiene automatically upon drawing open:

;; Enterprise Environment & Database Hygiene Enforcement (GstarCAD 2027 / AutoCAD Compatible)
(vl-load-com)
(defun c:EnforceEnterpriseStandard ( / doc db )
  (setq doc (vla-get-activedocument (vlax-get-acad-object)))
  (setvar "FILEDIA" 1)          ;; Ensure native file dialogs are active
  (setvar "CMDDIA" 1)           ;; Enable command dialog boxes
  (setvar "INDEXCTL" 3)         ;; Write spatial + layer indexes for fast Xref demand loading
  (setvar "XLOADCTL" 2)         ;; Enable reference demand loading with temporary copy
  (setvar "VISRETAIN" 1)        ;; Retain host viewport layer overrides across Xref reloads
  (setvar "PSLTSCALE" 1)        ;; Synchronize linetype dash scaling across Paper Space viewports
  (setvar "MSLTSCALE" 1)        ;; Scale model space linetypes by annotation scale
  (setvar "WHIPTHREAD" 3)       ;; Enable multi-threaded regeneration and redraw across CPU cores
  (vla-auditinfo doc :vlax-true) ;; Audit and heal corrupted DWG database handles
  (princ "\n[GstarCAD Enterprise QA] System variables, spatial indexes, and database audit verified.")
  (princ)
)

4. Enterprise QA/QC Checklist, Common Pitfalls & TCO Governance

Before signing off on project deliverables or rolling out software configurations across 50 to 500+ engineering seats, verify the following four engineering governance gates:

  • Gate 1 — Bidirectional DWG & Neutral Schema Verification: Test round-trip saving between GstarCAD 2027 (AC1032 DWG 2018+ binary format), AutoCAD, and downstream BIM/CAM platforms. Confirm that custom proxy entities (PROXYGRAPHICS = 1), associative dimensions (DIMASSOC = 2), and multiline attributes retain exact geometric fidelity.
  • Gate 2 — Font, Plot Style & Lineweight Standardization: Centralize all corporate .shx compiled shapes, TrueType fonts, and .ctb/.stb plot style tables on a read-only UNC network share mapped via OPTIONS → Files so PDF batch outputs (PUBLISH) look identical regardless of which workstation executes the plot job.
  • Gate 3 — External Reference (Xref) Topology Hygiene: Always attach discipline base plans using the Overlay method rather than Attach to prevent circular reference loops ($A \rightarrow B \rightarrow A$), and convert absolute drive paths to Relative Paths before archiving with ETRANSMIT.
  • Gate 4 — Perpetual vs. Subscription Cost Optimization: By replacing recurring $2,000/year single-user CAD subscriptions with GstarCAD Perpetual Network Licenses managed via FlexNet / GLM, enterprises typically recover 100% of their capital investment within 8 to 11 months and achieve 75%–85% cumulative TCO savings over a 5-year lifecycle.
Explore GstarCAD 2027 Enterprise Evaluation & Skill Certification

Test your heaviest DWG files and custom LISP/GRX plugins with zero watermarks for 30 days.

Download 30-Day Trial → Take Certification Quiz

Related Software Profiles & Resources

GstarCAD Profile AutoCAD Profile GstarCAD Tutorials CADGuide Toolbox ↗