MIT License

项目介绍

chuongmep/CadAddinManager 是一个托管在 GitHub 上的开源项目,主要使用 C# 编写,采用 MIT License 许可证,目前获得 132 个 Star、37 次 Fork。

仓库全名
chuongmep/CadAddinManager
开源许可证
MIT License
Star 数
132
Fork 数
37

README 摘要

Cad Add-in Manager alt="follow on Twitter"> 💖 Support This Project If you like this project and want to support its development, please consider making a donation. Your contributions will help us continue to improve and maintain the project. Summary Usually, when developing and debugging an addin with Autocad or Civil3D API, user has to close & re-open Autocad or Civil3D each time he/she modifies the addin code and…

完整内容见 GitHub 原始 README 或本页 。

常见问题

CadAddinManager 用什么语言开发?

主要使用 C# 编写,采用 MIT License 许可证,目前有 132 个 Star。

CadAddinManager 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 CadAddinManager 的源码?

可以直接克隆仓库:git clone https://github.com/chuongmep/CadAddinManager.git,默认分支为 dev;安装与运行步骤见仓库 README。

CadAddinManager 最近还在维护吗?

仓库最近一次更新为 3月26日,当前没有未关闭的 Issue;Star 数为 132,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

Cad AddinManager update .NET assemblies without restart Autocad and Civil3D for developer.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
211
价值分
90
活跃状态
活跃

语言占比

Batchfile
C#
Common Lisp
PowerShell
Shell
Visual Basic .NET

Release

贡献者

README

Cad Add-in Manager

Autocad API Platform License: MIT

ReSharper Rider Visual Studio 2026 .NET Framework

Publish Github All Releases HitCount follow on Twitter

💖 Support This Project

If you like this project and want to support its development, please consider making a donation. Your contributions will help us continue to improve and maintain the project.

Donate with Stripe

Summary

AddinManager

Usually, when developing and debugging an addin with Autocad or Civil3D API, user has to close & re-open Autocad or Civil3D each time he/she modifies the addin code and wants to re-compile. But with Add-In Manager, user can modify and run the Addin. directly without closing & re-opening Autocad or Civil3D again and again.This is a next branch from Revit Addin Manager to support multiple platform API for developer. With current technology, you can use Hot Reload to speed it up.But try this project it will be faster with any Addin.

Some feature include:

  • A newbie can create a new Add-in and explore AutoCAD or Civil3D API easy with Add-in manager.
  • Add-in tester(use Debug and Trace to test your add-in).
  • Debug / Trace : Support Show result use Debug or Trace to show result in Autocad or Civil3D.
  • Add-in manager
    • AddInManager Manual : Use for normal process load/unload addin
    • AddInManager Faceless : use for load last process before addin without UI
  • Allow user know whether plugin can load successfully or not.
  • F5 - Load fresh plugin don’t need load again.
  • F1 - Go link open source report some error,bug or feature request.
  • Delete - Quick remove by use right click or use from keyboard.
  • Crt + MouseWheel - Zoom in/out by use mouse wheel in command plugin.
  • Arrow Up - Move from TreeView to search.
  • Arrow Down - Move from search to TreeView.
  • Esc - Quick Close Add-in Manager.
  • Enter - Quick Run Execute a command selected in Add-in Manager.

Add-In Manager

Command

  • AddInManagerManual
  • AddInManagerFaceless

Execute a command easily :

  1. Create a class library use .NET

  2. Add library Autocad API or Civil3D API

  3. Create a command, example:

   [CommandMethod("DoSomething")]
   public void Execute()
   {
       // do some thing code here
   }

4.Load To Add-in Manager.

5.Double click to run command.

6.Use faceless when you change code or rebuild.

Lisp Function

Execute a Lisp Function easily :

  1. Create a class library use .NET

  2. Add library Autocad API or Civil3D API

  3. Create a Lisp Function, example:

   [LispFunction("DisplayFullName")]
   public static void DisplayFullName(ResultBuffer rbArgs)
   {
       if (rbArgs != null)
       {
           string strVal1 = "";
           string strVal2 = "";
           int nCnt = 0;
           foreach (TypedValue rb in rbArgs)
           {
               if (rb.TypeCode == (int) LispDataType.Text)
               {
                   switch (nCnt)
                   {
                       case 0:
                           strVal1 = rb.Value.ToString();
                           break;
                       case 1:
                           strVal2 = rb.Value.ToString();
                           break;
                   }
                   nCnt = nCnt + 1;
               }
           }
           Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage("\nName: " + strVal1 + " " + strVal2);
           MessageBox.Show("Updated");
       }
   }

4.Load To Add-in Manager.

5.Use Reload when you change code or rebuild.

6.Run Lisp Function example : (displayfullname "First" "Last")

Trace/Debug

  • Show/Hide result inside Dockpanel Autocad and Civil3D.
  • Show Result history inside CadAddinManager.
  • Clear Result.
  • Show Result by color.

A sample command to execute:

using System.Diagnostics;
using Autodesk.AutoCAD.Runtime;
public class DebugTraceTest
{
    [CommandMethod("DebugTraceTest")]
    public void Action()
    {
        //Trace or Debug Something
        Trace.WriteLine($"Warning: This is a warning");
        Trace.WriteLine($"Error: This is a error");
        Trace.WriteLine($"Add: This is a add");
        Trace.WriteLine($"Modify: This is a modify");
        Trace.WriteLine($"Delete: This is a delete");
    }
}

Installation

Please follow last release at section Release

Support Autocad or Civil3D Version : 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027

Guideline

You can visit to wiki and read document or access by this link.


Author

Originally implemented by ChuongHo with platform WPF and add more feature to fit with the progressive development of modern technology. His focus is to work smarter and achieve the most effective practices to enhance data utilization and digital collaboration among AEC parties.


License

This sample is licensed under the terms of the MIT License. Please see the License file for full details.


Contribute

Add-In Manager is an open-source project and would be nothing without its community. You can make suggestions or track and submit bugs via Github issues. You can submit your own code to the Add-In Manager project via a Github pull request .

Many Thanks all contributors for this repository. Feel free to contribute! Please refer to the CONTRIBUTING for details.


Sponsors

Thanks for providing a free All product IDE for this project.


Credits

Known Issues

Learning Resources

评论

暂无评论