{"id":18863158,"url":"https://github.com/projectchrono/chrono-solidworks","last_synced_at":"2025-06-18T11:39:40.405Z","repository":{"id":73413143,"uuid":"13394049","full_name":"projectchrono/chrono-solidworks","owner":"projectchrono","description":"Plugin for exporting SolidWorks systems to Chrono::Engine","archived":false,"fork":false,"pushed_at":"2025-03-17T14:40:27.000Z","size":44150,"stargazers_count":26,"open_issues_count":1,"forks_count":9,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-04-21T13:45:45.664Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/projectchrono.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-10-07T19:52:09.000Z","updated_at":"2025-03-17T14:40:30.000Z","dependencies_parsed_at":"2023-06-28T01:07:55.727Z","dependency_job_id":"85c7e6bf-5b78-4343-9ca7-3aad285ab6ae","html_url":"https://github.com/projectchrono/chrono-solidworks","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/projectchrono/chrono-solidworks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectchrono%2Fchrono-solidworks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectchrono%2Fchrono-solidworks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectchrono%2Fchrono-solidworks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectchrono%2Fchrono-solidworks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/projectchrono","download_url":"https://codeload.github.com/projectchrono/chrono-solidworks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectchrono%2Fchrono-solidworks/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260546221,"owners_count":23025898,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T04:36:49.023Z","updated_at":"2025-06-18T11:39:35.388Z","avatar_url":"https://github.com/projectchrono.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"CHRONO::SOLIDWORKS\n==================\n![chrono_solidworks_github_1](http://projectchrono.org/assets/manual/chrono_solidworks_github_1.png) ![chrono_solidworks_github_2](http://projectchrono.org/assets/manual/chrono_solidworks_github_2.png)\n![chrono_solidworks_github_3](http://projectchrono.org/assets/manual/chrono_solidworks_github_3.png)\n\nChrono::SolidWorks is an add-in for [SolidWorks](https://www.solidworks.com) that allows to simulate the CAD models by leveraging the capabilities of the [Chrono](https://www.projectchrono.org) multibody library.  \nThe models created can be also exported for further processing directly in Chrono, either in C++, Python, C# or through JSON files.\n\nChrono::SolidWorks is part of [Project Chrono](https://www.projectchrono.org).\n\n\nMain features\n-------------\n\n* add-in for [SolidWorks](https://www.solidworks.com)\n* export mechanical systems including:\n  + Parts, as rigid bodies; including mass and inertia properties\n  + Assemblies, as rigid bodies for rigid Assemblies, or articulated for flexible Assemblies;\n  + Mates, either Standard or Mechanical;\n  + custom motors\n* export visualization shapes Wavefront OBJ meshes, to be later edited/optimized\n* export coordinate systems as chrono::ChMarker\n* adding advanced collision features\n\nFor more informations: [Chrono::Solidworks User Manual](https://api.projectchrono.org/development/manual_chrono_solidworks.html)\n\nHow to install the add-in\n------------------------------------\nVisit the ProjectChrono website for the [pre-compiled binary webpage](https://www.projectchrono.org/download/) and look for the Chrono::Solidworks section.\nThe installer will prompt the user to locate the Solidworks directory. Dependencies will be installed together with the add-in.\n\n\nHow to build the add-in from source (advanced users)\n------------------------------------\nThere is no need to build the add-in from source unless you are interested in expanding/fixing the add-in.\n\n* the project is written in C#, so you must use Microsoft Visual Studio with the C# development module enabled\n* double check the availability of the proper .NET Framework version on your computer\n* you must have a [SolidWorks](https://www.solidworks.com) license installed on your computer\n* clone this repository to any given folder (always suggested to avoid spaces and special characters in the path)\n* run Visual Studio as Administrator\n* load the **ChronoSolidworks.sln** solution located in the main directory\n* set build configuration to *Release*\n* right-click on the *ChronoSolidworksAddIn* target, click on *Manage NuGet Packages* and install the *Newtonsoft.JSON* package\n* you may need to modify some settings of this solution, in order to reference the .COM assemblies of your SolidWorks\n  In the Solution Explorer panel, expand *ChronoSolidworksAddIn*\u003e*References* and make sure that the four references called \"SolidWorks....\" are properly set. If not:\n  + right click on *References*\u003e*Add Reference...*\n  + go to the *Browse* tab and navigate to the SolidWorks installation folder\n     (typically *C:\\Program Files\\SolidWorks 20XX\\SolidWorks*) and add the following files (names might change depending on Solidworks version): \n    - *solidworkstools.dll*\n    - *SolidWorks.Interop.sldworks.dll*\n    - *SolidWorks.Interop.swcommands.dll*\n    - *SolidWorks.Interop.swconst.dll*\n    - *SolidWorks.Interop.swpublished.dll*  \n* right-click on *ChronoSolidworksAddIn* project, click on *Properties*, *Reference Paths* and add the Solidworks installation folder (e.g. \"C:\\Program Files\\SOLIDWORKS Corp\\SOLIDWORKS\\\")\n* in the *Build* panel close by an additional flag `HAS_CHRONO_CSHARP` is currently set by default: in case you didn't compile Chrono with CSHARP module enabled please remove this flag. This will disable the \"Export to JSON\" and \"Run Simulation\" options.\n  + in case you decided to use Chrono CSharp, right click on the *ChronoSolidworksAddIn*, then *Add*\u003e*Existing Item*, go to the Chrono build folder, navigate into _bin/Release_ and select *ChronoEngine.dll* and *ChronoEngine_csharp_core.dll*; in the selection dialog it is better to select *Add as Link* instead of a simple *Add*; please mind that the selection dialog has some selection filter that, in this case, should be set to show also *.dll* files; you should now see the picked libraries into the Visual Studio solution;\n  + select both *ChronoEngine.dll* and *ChronoEngine_csharp_core.dll*, right-click and then *Properties*; set the *Copy to Output Directory* to *Copy always*;\n  + go to the Chrono build folder, copy all the source code from _chrono_csharp/core_ and _chrono_csharp/irrlicht_ into a single folder e.g. _csharp_source_ (unfortunately Chrono CSharp modules re-export some classes, thus creating duplicated items);\n  + in Visual Studio, right click on the *ChronoSolidworksAddIn* target, then *Add*\u003e*New Folder* and call it _Chrono_; this is for convenience;\n  + right click on it, click on *Add*\u003e*Existing Item*, go to the temporary _csharp_source_ folder and add all the files contained there by selecting _Add as Link_;\n* build the solution. It will generate the **ChronoEngineAddIn.dll** into the *chrono-solidworks_install* together with all its dependencies; the DLLs are automatically registered by the post-build events\n* start SolidWorks, you should find the Chrono::Engine panel in the Task Pane to the right. Note that add-ins can be enabled/disabled with the *Tools\u003eAdds-In* menu in the toolbar\n\nIf you find problems to build the add-in, look at [this tutorial](https://www.angelsix.com/cms/products/tutorials/64-solidworks/67-creating-a-solidworks-add-in-from-scratch) for instructions about how to build add-ins for SolidWorks.\n\n  \nHow to use the Chrono::SolidWorks add-in\n----------------------------------------\n\nIn the _ChronoSolidworksImportTemplate_ a CMake solution offers a set of projects to test all the export options: CPP, JSON, Python parsing and PyChrono. CMake will setup a solution according to your IDE including to test the first three types of export, plus it will create a dedicate PyChrono source file that can be run indipendently (it will be created in the _${PROJECT_BINARY_DIR}/pychrono_).  \nThe _ChronoSolidworksImportTemplate_ is available in the install folder or inside the *to_put_in_app_ir* folder in the sources.\n\nSee the [tutorials](https://api.projectchrono.org/development/tutorial_table_of_content_chrono_solidworks.html) for examples of C++ code and Python code that load systems exported with this add-in.\n\nA place for discussions can be the [projectchrono group](https://groups.google.com/forum/#!forum/projectchrono).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectchrono%2Fchrono-solidworks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprojectchrono%2Fchrono-solidworks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectchrono%2Fchrono-solidworks/lists"}