NanoCAD 23.1 и MS Visual Studio 2022 - первые шаги
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > NanoCAD 23.1 и MS Visual Studio 2022 - первые шаги

NanoCAD 23.1 и MS Visual Studio 2022 - первые шаги

Ответ
Поиск в этой теме
Непрочитано 15.03.2024, 16:50 #1
NanoCAD 23.1 и MS Visual Studio 2022 - первые шаги
===AAA===
 
г. Норильск
Регистрация: 15.08.2005
Сообщений: 616

Всем привет!

Писал я под AutoCAD на LISP'е всё, что нужно было, использовал
библиотеку DOSLIB и всё было замечательно.

Но пришлось переходить на nanoCAD - тут всё и началось... :-(

Видимо, дальше нужно будет использовать C#

Теперь вопрос - как начать (да, просто начать !) писать программы
в этой самой MS VS 2022 ?

Вот прямо по шагам.

0. Запустил /это я уже умею/.

А дальше?

Нужно выбрать в VS какой-то шаблон, куда-то установить поставляемый
c nanoCAD'ом SDK, добраться до окна, куда буду вводить текст программы,
скомпилировать его, как загружаемое в nanoCAD приложение...

Т.е. нужны эти 10 ... 15 начальных шагов, чтобы потом просто ввести в командную
строку nanoCAD'а новую команду "new_command" и там же получить в ответ
"Привет, мир!" :-)))
__________________
Счастливо, Алексей!
Просмотров: 8241
 
Непрочитано 15.03.2024, 16:55
1 | #2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611


Increase Size Decrease Size Нажмите для просмотра
https://www.youtube.com/watch?v=MM66bRKDQoU&list=PLRBcOuMyzIoPTMJIphrvNqlQaO0GtXHqA
Тут все очень подробно. просто нужно вместо автокадовских библиотек подключить библиотеки нанокада
Boxa вне форума  
 
Непрочитано 15.03.2024, 17:25
#3
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Если писать под наник версий до 22 включительно - то да.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.03.2024, 20:56
#4
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Клуб разработчиков от нано чем не подходит?
Сергей812 вне форума  
 
Непрочитано 15.03.2024, 21:08
#5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Клуб разработчиков от нано чем не подходит?
?? А какое это имеет отношение к "началу разработки"?
Offtop: Тем не менее, по состоянию на сегодня:
Сильно низкой активностью.
Практически половина вопросов закрывается не разработчиками.
Хреновенькая документация (почти все разыскивается в гугле с заменой nanocad на autocad).

По мне этого уже достаточно.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.03.2024, 22:56
#6
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
?? А какое это имеет отношение к "началу разработки"?
т.е. нормальной русскоязычной документации с примерами нет? у того же акада в справке и примеры есть простые. Как раз для Hеllo, World)
Сергей812 вне форума  
 
Непрочитано 15.03.2024, 23:07
#7
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Каэшн нет! Почти всурьез раздумываю то ли ролик запилить, то ли статью
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.03.2024, 03:07
#8
Нубий-IV

Инженер-философ
 
Регистрация: 24.04.2019
Хабаровск
Сообщений: 2,071


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
10 ... 15 начальных шагов
Шагов там сильно меньше:
  1. Создать проект
    Шаблон проекта - бибилиотека классов.
    Такой шаблон создает dll на выходе.
  2. Подключить зависимости в проект
    Обозреватель решений/Ссылки/Добавить ссылку/Обзор.
    Для нанокада выбрать hostmgd.dll и hostdbmgd.dll.
    Для автокада - AcCoreMgd.dll, AcDbMgd.dll, AcMgd.dll.
    В обоих случаях формально даже SDK не нужен, эти библиотеки лежат в одной папке с установленной программой.
    Их даже можно распаковать из дистрибутива программы, ничего не устанавливая.
  3. Подключить зависимости в коде
    Код:
    [Выделить все]
     
    using Teigha.DatabaseServices;
    using Teigha.Runtime;
    using Teigha.Geometry;
    using HostMgd.ApplicationServices;
    using HostMgd.EditorInput;
    
    Код:
    [Выделить все]
    using Autodesk.AutoCAD.ApplicationServices;
    using Autodesk.AutoCAD.DatabaseServices;
    using Autodesk.AutoCAD.EditorInput;
    using Autodesk.AutoCAD.Geometry;
    using Autodesk.AutoCAD.Runtime;
    Если нужно, чтобы программа собиралась и под автокад, и под нанокад, подключения надо завернуть в условную компиляцию:
    Код:
    [Выделить все]
     
    #if NANOCAD
    	using Teigha.DatabaseServices;
    	using Teigha.Runtime;
    	using Teigha.Geometry;
    	using HostMgd.ApplicationServices;
    	using HostMgd.EditorInput;
    #endif
    
    #if AUTOCAD
    	using Autodesk.AutoCAD.ApplicationServices;
    	using Autodesk.AutoCAD.DatabaseServices;
    	using Autodesk.AutoCAD.EditorInput;
    	using Autodesk.AutoCAD.Geometry;
    	using Autodesk.AutoCAD.Runtime;
    #endif
    
    А в свойствах проекта, в разделе "Построение", задать нужный символ условной компиляции - NANOCAD или AUTOCAD.
  4. Написать класс с методом-командой
    Код:
    [Выделить все]
     
    using ...
    
    namespace Test
    {
        public class Test
        {
            [CommandMethod("Hello")]
            public void Hello()
            {
                Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage("Hello!");
            }
        }
    }
    
  5. Запустить
    Собрать проект.
    Полученную dll можно загрузить в нанокаде или автокаде командой NETLOAD.
    После загрузки в каде можно выполнить команду Hello.
Net вообще-то вредный, если его один раз загрузить, он не уже выгрузится, надо закрывать кад и запускать по новой. Это сильно затягивает отладку.
Поэтому я свои команды писал под пятый нанокад, потому что он загружается моментально. А уже отлаженное можно собрать под другие кады.
Нубий-IV вне форума  
 
Непрочитано 16.03.2024, 09:03
#9
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,297
Отправить сообщение для doctorraz с помощью Skype™


Дополню малехо
Цитата:
Сообщение от Нубий-IV Посмотреть сообщение
Шаблон проекта - бибилиотека классов.
Такой шаблон создает dll на выходе.
Для нанокад включая 22 библиотека классов net framework 4.0. и новее
Если будем использовать мультикад, то нужен минимум
Net framework 4.5
Начиная с нанокад 23 библиотека классов . NET
Версия 6
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 16.03.2024, 09:30
#10
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от Нубий-IV Посмотреть сообщение
Net вообще-то вредный, если его один раз загрузить, он не уже выгрузится, надо закрывать кад и запускать по новой. Это сильно затягивает отладку.
с другой стороны, это дисциплинирует - заставляет продумывать структуру кода, а не как во встроенных языках - написал кусочек кода и сразу тестить)
Сергей812 вне форума  
 
Непрочитано 16.03.2024, 09:37
#11
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,297
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
написал кусочек кода и сразу тестить)
Если ресурсов достаточно, можно и так
Запустил несколько кадов и подключайся по очереди тести)))
Кончаются еще назапускал
__________________
Мастерская СПДС

Последний раз редактировалось doctorraz, 16.03.2024 в 09:42.
doctorraz вне форума  
 
Непрочитано 16.03.2024, 11:30
#12
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от doctorraz Посмотреть сообщение
Если ресурсов достаточно, можно и так
Запустил несколько кадов и подключайся по очереди тести)))
Кончаются еще назапускал
или пока не запутаешься - что в каком из запущенных экземпляров *када тестил)

В .Net проще - можно те же диалоги, взаимодействие с внешними хранилищами (БД) и т.д. отладить во вспомогательном десктопном приложении (включить в решение WinForms|WPF приложение). А в самом *каде отлаживать зависимый от него код, а файлы с уже рабочим кодом из десктопного вспомогательного приложения подключить через ссылки внутри решения и только вызывать в *кад коде.
Сергей812 вне форума  
 
Непрочитано 16.03.2024, 11:52
#13
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,297
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
пока не запутаешься - что в каком из запущенных экземпляров *када тестил)
В титуле видно подключение студии
В ком строке видны последние команды
Ну и студия не пересоберет сборку, пока не закроешь кад в котором тестил, так то проблема надумана

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
в самом *каде отлаживать зависимый от него код, а файлы с уже рабочим кодом из десктопного вспомогательного приложения подключить через ссылки внутри решения и только вызывать в *кад коде.
Так и делается, только в отладочный exe ссылками
Файлами в декстопном только заглушки кад вызовов
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 16.03.2024, 12:13
#14
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от doctorraz Посмотреть сообщение
Так и делается, только в отладочный exe ссылками
ссылки в отладочный исполняемый файл?

Цитата:
Сообщение от doctorraz Посмотреть сообщение
Файлами в декстопном только заглушки кад вызовов
взаимодействие с *кадом выделить в отдельное пространство. Ну будут некоторая потеря производительности и ресурсов на передачу данных между интерфейсной (GUI) и *кадной частью, но учитывая производительность .Net - в большинстве случаев некритично, имхо.
Сергей812 вне форума  
 
Непрочитано 16.03.2024, 12:42
#15
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,297
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
ссылки в отладочный исполняемый файл?
Да link *. cs

----- добавлено через ~4 мин. -----
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
взаимодействие с *кадом выделить в отдельное пространство
Ну в решении для кад одни CS
В отладочном другие CS, иногда надо, в форму вернуть что-то из кад
Заглушка эмулирует этот возврат, чисто для отладки интерфейса
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 16.03.2024, 12:48
#16
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от doctorraz Посмотреть сообщение
Да link *. cs
так это ссылки на файлы проекта внутри решения, а не на исполняемый файл. А то подумал - что-то новенькое появилось)
Сергей812 вне форума  
 
Непрочитано 16.03.2024, 12:50
#17
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,297
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
так это ссылки на файлы проекта внутри решения, а не на исполняемый файл
Ну да
Offtop: Я только разбираюсь, поэтому формулировки могут быть неточны)
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 17.03.2024, 17:02
#18
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Offtop: На раздраконивание : https://autolisp.ru/2024/03/17/pervo...ya-nanocad-23/
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.03.2024, 19:54
#19
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


интересно, кстати - гитхаб облачный продукт или нет?
Сергей812 вне форума  
 
Непрочитано 17.03.2024, 19:54
#20
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Вроде да, а что?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > NanoCAD 23.1 и MS Visual Studio 2022 - первые шаги



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите вернуть обычный AutoLisp вместо Visual Studio Code МишаИнженер LISP 2 04.12.2022 16:06
Первые шаги в мир программирования под nanoCAD dows Другие CAD системы 15 26.05.2022 19:38
Как Visual Studio создавая проект библиотеки классов (dotnet.dll) подключить форму (Windows Forms) gizmo_zx Программирование 4 17.02.2015 10:35
Поссорились Visual Studio 2010 и Acad 2013 gizmo_zx Программирование 3 12.02.2014 10:05
Microsoft Visual Studio: Инициатива по лицензированию разработчиков ПО Кулик Алексей aka kpblc Разное 6 05.09.2009 18:16