Посмотрите в сторону Utils.AddCommand. Возможно это то, что вам нужно.
Как сделать так, чтобы не прописывать в коде все мои командыМожете использовать кодогенерацию (https://docs.microsoft.com/en-us/dotnet/csharp/roslyn-sdk/source-generators-overview), которая появилась в net 5. На первый взгляд выглядит страшно и непонятно, но штука очень мощная и перспективная.
alvimo,
Есть еще и lisp-функции, которые можно определять в AutoCAD .NET API - там и аргументы можно передавать.Код - C# [Выбрать]
Utils.AddCommand("RIVILIS", "TEST1", "ТЕСТ1", CommandFlags.Defun, my_function);
Как сделать так, чтобы не прописывать в коде все мои командыМожете использовать кодогенерацию (https://docs.microsoft.com/en-us/dotnet/csharp/roslyn-sdk/source-generators-overview), которая появилась в net 5. На первый взгляд выглядит страшно и непонятно, но штука очень мощная и перспективная.
Примера нет. Погугли атрибут [LispFunction]alvimo,
Есть еще и lisp-функции, которые можно определять в AutoCAD .NET API - там и аргументы можно передавать.Код - C# [Выбрать]
Utils.AddCommand("RIVILIS", "TEST1", "ТЕСТ1", CommandFlags.Defun, my_function);
Вообще скудная информация в инете по теме CommandFlags.Defun. Может пример какой есть?
У меня нет 4.5Тогда да, увы:
Проект "..\CommandGenerator\CommandGenerator.csproj" предназначен для целевой платформы "netstandard2.0". На него не следует ссылаться в проекте, предназначенном для целевой платформы ".NETFramework,Version=v4.5".Нужна минимум 4.6.1 версия: https://github.com/dotnet/standard/blob/v2.1.0/docs/versions/netstandard2.0.md