[{"data":1,"prerenderedAt":116,"prefetchLinks":117},["ShallowReactive",2],{"article_an-introduction-to-draftsight-customization_draftsight":3,"_apollo:default":114,"_apollo:identified":115},{"posts":4},{"nodes":5,"__typename":113},[6],{"id":7,"slug":8,"title":9,"uri":10,"excerpt":11,"locale":12,"featuredImage":15,"tableOfContents":23,"content":24,"date":25,"authorJobTitle":26,"author":27,"masterings":40,"globalTags":54,"products":68,"disciplines":81,"seo":102,"__typename":112},"cG9zdDo1OTIxMA==","an-introduction-to-draftsight-customization","An introduction to DraftSight customization","\u002Fproducts\u002Fdraftsight\u002Fan-introduction-to-draftsight-customization","\u003Cp>First of all, in this article I’m writing for the widest possible…\u003C\u002Fp>\n",{"locale":13,"__typename":14},"en_US","Locale",{"node":16,"__typename":22},{"large":17,"__typename":18,"medium_large":17,"thumbnail":19,"srcSet":20,"sizes":21},"https:\u002F\u002Fblog-assets.solidworks.com\u002Fuploads\u002F2025\u002F02\u002Fsolidworks.jpg.webp","MediaItem","https:\u002F\u002Fblog-assets.solidworks.com\u002Fuploads\u002F2025\u002F02\u002Fsolidworks-150x150.jpg.webp","https:\u002F\u002Fblog-assets.solidworks.com\u002Fuploads\u002F2025\u002F02\u002Fsolidworks.jpg.webp 588w, https:\u002F\u002Fblog-assets.solidworks.com\u002Fuploads\u002F2025\u002F02\u002Fsolidworks-300x168.jpg.webp 300w","(max-width: 588px) 100vw, 588px","NodeWithFeaturedImageToMediaItemConnectionEdge",[],"\u003Cp class=\"wp-block-paragraph\">First of all, in this article I’m writing for the widest possible audience, so there won’t be code snippets or specific instructions in the article. Instead, this is an introduction to the capabilities and possibilities in the DraftSight Application Programming Interface (API). \u003C\u002Fp>\u003Cp class=\"wp-block-paragraph\">When Vivek Allu introduced his SOLIDWORKS World 2019 session on the DraftSight API , two facts quickly became clear. One, this is programming, so prior experience in writing code is necessary. Two, it is possible for someone with only basic programming knowledge to quickly build functional add-on apps in DraftSight 2019. \u003C\u002Fp>\u003Cp class=\"wp-block-paragraph\">By definition an API is a set of programming features for creating applications that access both the features of a program (or operating system, etc.) and the data created or held by it. In DraftSight, you write instructions that execute DraftSight commands to retrieve and use design data. Several add-on products are available for DraftSight; they were written primarily using the DraftSight API (known internally as “DSAPI”.) The API was also used to create a connection between the online utility \u003Ca href=\"https:\u002F\u002Fhome.by.me\u002Fen\u002F\" data-id=\"59213\">HomeByMe\u003C\u002Fa>, a Dassault Systemès free tool for personal interior design.  \u003C\u002Fp>\u003Cdiv class=\"wp-block-image\">\u003Cfigure class=\"size-large thumbnail wp-caption aligncenter\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"650\" height=\"488\" src=\"https:\u002F\u002Fblog-assets.solidworks.com\u002Fuploads\u002F2025\u002F12\u002Fhomebyme-several-rooms-650x488-1.jpg.webp\" alt=\"\" class=\"wp-image-59212\" srcset=\"https:\u002F\u002Fblog-assets.solidworks.com\u002Fuploads\u002F2025\u002F12\u002Fhomebyme-several-rooms-650x488-1.jpg.webp 650w, https:\u002F\u002Fblog-assets.solidworks.com\u002Fuploads\u002F2025\u002F12\u002Fhomebyme-several-rooms-650x488-1-300x225.jpg.webp 300w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \u002F>\u003Cfigcaption>Dassault Systemès HomeByMe is a free online utility for interior design. DraftSight 2019 users can interact with HomeByMe to import and export design data.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003C\u002Fdiv>\u003Cp class=\"wp-block-paragraph\">Once you pass the hurdle of needing to know how to write code, DraftSight becomes a very flexible work environment. Several programming languages can be used to create new apps for DraftSight, including C++ (native or .com); C#\u002FVB .NET; VBA; and JavaScript. There are a series of Visual Basic templates available by request from DraftSight. All API apps created for DraftSight 2019 will be forward compatible. All entity types in DraftSight are accessible by the API. And the best thing of all, for the potential users of an app, is that the DraftSight User Interface carries over into the app. \u003C\u002Fp>\u003Cp class=\"wp-block-paragraph\">Allu started his presentation by using Visual Basic to build a simple app. He said it is best to work in DraftSight’s Admin mode. There is a snippet of code that is needed no matter the app, which he copied into the work space. Using existing code and cut\u002Fpaste of various DraftSight commands, in less than five minutes Allu wrote a simple routine that places selected geometry in response to user input. \u003C\u002Fp>\u003Cp class=\"wp-block-paragraph\">Next Allu — DraftSight’s Associate Portfolio Technical Manager — used the API to design a Bill of Materials (BOM) table. He created a new task pane, inserted a Windows form inside the pane, dragged three buttons to add commands, and created a Delete option. He showed how easy it is to flip between DraftSight specifics and the programming of the new app’s workflow.  “This does require programming knowledge,” Allu reminded the full room of DraftSight users, “but not at an expert level.” \u003C\u002Fp>\u003Cp class=\"wp-block-paragraph\">Allu was not the only presenter on the DraftSight API. Robert Graebert (CTO of software Graebert GmbH) and Ram Chilukuri (DraftSight R&#038;D Senior Manager) led a session on using DraftSight with other applications. While the purpose was to introduce some excellent new tools, there was also discussion about DSAPI in the Q&#038;A. One tip from their session was how quickly new apps can be written by starting with recording a macro. Usually a macro is created to simplify repetitive tasks. When recorded, DraftSight saves the sequences in the macro as DSAPI code, with calls to the program that correspond to the action on the screen. A DSAPI programmer can take this code and adapt it to a new app. \u003C\u002Fp>\u003Cp class=\"wp-block-paragraph\">In Allu’s session and a conference-ending Q&#038;A, there were lively discussions about troubleshooting APIs. I was reminded of the old saying from the early days of open source programming,  “With enough eyes all bugs are shallow.” The DraftSight team works hard to make the API a great utility, but they can’t test every possible application. In such situations the API developer and the DraftSight support team need to work together. Dassault Systemès realizes they are blazing a new trail by making DraftSight a commercial application with no permanent free version; they are eager to support app developers to ensure the best possible outcomes for their customers.\u003C\u002Fp>\u003Cp class=\"wp-block-paragraph\">The following video provides an overview of using DraftSight with HomeByMe.\u003C\u002Fp>\u003Cdiv class=\"ds-video\">\u003Ca data-3ds-videoplayer=\"modal\" href=\"https:\u002F\u002Fblog-assets.solidworks.com\u002Fuploads\u002F2025\u002F12\u002Fdraftsight-homebyme-integration.mp4\" target=\"_blank\">\u003Cspan class=\"ImageCover Border Block\" style=\"background-image: url(\u002Fassets\u002Fimg\u002F3ds-default.webp); width:100%; height: 100%;\">\u003Cspan class=\"Btn--circle isCenter\">\u003Ci class=\"Icon Icon--playBig\">\u003C\u002Fi>\u003C\u002Fspan>\u003Cimg decoding=\"async\" src=\"\u002Fassets\u002Fimg\u002F3ds-default.webp\" alt=\"\" style=\"width:100%;\">\u003C\u002Fspan>\u003C\u002Fa>\u003C\u002Fdiv>\u003Cp class=\"wp-block-paragraph\">IMPORTANT:\u003C\u002Fp>\u003Cp class=\"wp-block-paragraph\">DraftSight 2019 for Windows® is offered in paid versions only.\nOnce you download and install DraftSight 2019 (free 30-day trial or purchased version), you will no longer be able to re-download or access any previous free version of DraftSight (2018 or earlier). All free versions of DraftSight (2018 or earlier) will cease to run after 12\u002F31\u002F2019.\u003C\u002Fp>\u003Cp class=\"wp-block-paragraph\">Learn more about DraftSight 2019 \u003Ca href=\"https:\u002F\u002Fwww.draftsight.com\u002F?utm_medium=Display&#038;utm_source=Blog&#038;utm_campaign=DraftSight_Blog&#038;utm_content=Learn_More_DS2019_&#038;utm_term=link-text\" target=\"_blank\" rel=\"noopener\" data-id=\"59213\">here\u003C\u002Fa>.\u003C\u002Fp>","2019-11-26T08:00:10","",{"node":28,"__typename":39},{"nicename":29,"description":30,"slug":31,"name":32,"firstName":33,"lastName":34,"avatar":35,"__typename":38},"randallsnewton","Randall S. Newton is Managing Director of Consilia Vektor, a boutique consulting firm serving the engineering software industry. He is a Contributing Editor at Digital Engineering and AEC Magazine UK. You can follow him on Twitter.","RandallSNewton","Randall Newton","Randall","Newton",{"url":36,"__typename":37},"https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002Ffea60a43f9b4ce1f3a1908d144863bb20ac75edbe469510244819cd52dfa2308?s=96&d=mm&r=g","Avatar","User","NodeWithAuthorToUserConnectionEdge",{"nodes":41,"edges":48,"__typename":53},[42],{"id":43,"name":44,"slug":45,"uri":46,"__typename":47},"dGVybToxOTk2","Tutorials","tutorials","\u002Fmastering\u002Ftutorials\u002F","Taxonomy_mastering",[49],{"isPrimary":50,"node":51,"__typename":52},false,{"id":43,"name":44,"slug":45,"uri":46,"__typename":47},"PostToTaxonomy_masteringConnectionEdge","PostToTaxonomy_masteringConnection",{"nodes":55,"__typename":67},[56,62],{"id":57,"name":58,"slug":59,"uri":60,"__typename":61},"dGVybTo5NTk2","Tips and Tricks","tips-tricks","\u002Ftags\u002Ftips-tricks\u002F","Taxonomy_tag",{"id":63,"name":64,"slug":65,"uri":66,"__typename":61},"dGVybTo5NTk0","What's New","whats-new","\u002Ftags\u002Fwhats-new\u002F","PostToTaxonomy_tagConnection",{"edges":69,"nodes":78,"__typename":80},[70],{"isPrimary":50,"node":71,"__typename":77},{"id":72,"name":73,"slug":74,"uri":75,"__typename":76},"dGVybTo1NQ==","DraftSight","draftsight","\u002Fproducts\u002Fdraftsight\u002F","Taxonomy_product","PostToTaxonomy_productConnectionEdge",[79],{"id":72,"name":73,"slug":74,"uri":75,"__typename":76},"PostToTaxonomy_productConnection",{"nodes":82,"edges":97,"__typename":101},[83],{"id":84,"name":85,"slug":86,"uri":87,"parentId":88,"disciplines":89,"__typename":96},"dGVybTo1OQ==","2D CAD","2d-cad","\u002Fdisciplines\u002F2d-cad\u002F","dGVybTo1OA==",{"nodes":90,"__typename":95},[91],{"title":85,"uri":92,"parentId":93,"__typename":94},"\u002Fdisciplines\u002Fdesign-engineering\u002F2d-cad","cG9zdDozNzcz","Discipline","Taxonomy_disciplineToDisciplineConnection","Taxonomy_discipline",[98],{"isPrimary":50,"node":99,"__typename":100},{"parentId":88,"id":84,"name":85,"slug":86,"uri":87,"__typename":96},"PostToTaxonomy_disciplineConnectionEdge","PostToTaxonomy_disciplineConnection",{"canonical":103,"title":104,"metaDesc":105,"opengraphAuthor":26,"opengraphDescription":105,"opengraphTitle":9,"opengraphUrl":103,"opengraphSiteName":106,"opengraphPublishedTime":107,"opengraphModifiedTime":108,"twitterTitle":26,"twitterDescription":26,"readingTime":109,"metaRobotsNoindex":110,"__typename":111},"https:\u002F\u002Fblog-contrib-prd.itvpc.solidworks.com\u002Fproducts\u002Fdraftsight\u002Fan-introduction-to-draftsight-customization\u002F","An introduction to DraftSight customization - Blog Solidworks","This is an introduction to the capabilities and possibilities in the DraftSight Application Programming Interface (API). DraftSight users can interact with HomeByMe to import and export design data.","Blog Solidworks","2019-11-26T13:00:10+00:00","2026-02-12T18:26:52+00:00",4,"index","PostTypeSEO","Post","RootQueryToPostConnection",{},{},1790274803352,[118,124,126,128,130,133],{"rel":119,"href":120,"as":121,"type":122,"crossorigin":123},"preload","https:\u002F\u002Fwww.3ds.com\u002Fstatics\u002Ffonts\u002F3ds\u002F3ds-Light-v2.woff2","font","font\u002Fwoff2","anonymous",{"rel":119,"href":125,"as":121,"type":122,"crossorigin":123},"https:\u002F\u002Fwww.3ds.com\u002Fstatics\u002Ffonts\u002F3ds\u002F3ds-Regular-v2.woff2",{"rel":119,"href":127,"as":121,"type":122,"crossorigin":123},"https:\u002F\u002Fwww.3ds.com\u002Fstatics\u002Ffonts\u002F3ds\u002F3ds-SemiBold-v2.woff2",{"rel":119,"href":129,"as":121,"type":122,"crossorigin":123},"https:\u002F\u002Fwww.3ds.com\u002Fstatics\u002Ffonts\u002F3ds\u002F3ds-Bold-v2.woff2",{"rel":119,"href":131,"as":132},"https:\u002F\u002Fwww.3ds.com\u002Fstatics\u002F3ds-navigation\u002Fds-header.min.js","script",{"rel":119,"href":134,"as":132},"https:\u002F\u002Fwww.3ds.com\u002Fstatics\u002F3ds-navigation\u002Fds-footer.min.js"]