Перейти к содержимому


Первые шаги в мир программирования под nanoCAD


Сообщений в теме: 231

#221 Kreator

    Активист

  • Пользователи
  • PipPipPipPip
  • 905 сообщений
  • Пол:Мужчина
  • Город:Краснодар

Отправлено 14 Июль 2019 - 12:20

Просмотр сообщенияtodesengel (14 Июль 2019 - 07:34) писал:

но сюда даже код не могу вставить, странный интерфэйсл у форума....
Почему же нельзя? Вон сверху кнопочка Код, а в спойле можно спрятать тэгом [ spoiler ] [ / spoiler ]
Скрытый текст

Просмотр сообщенияtodesengel (14 Июль 2019 - 08:34) писал:

для начала, хотя бы, какие DLL подключать к сборке? видел ряд примеров, подключают файлы host* и mapi*. Там типа два фреймвока? Teigha и Multicad? по крайней мере вижу два namespace.
Для начала, откройте любой пример из входящих в состав, посмотрите, что там и как. У меня подключены mapi*, host* мне не нужен :) Да, mapi - Multicad API.

Просмотр сообщенияtodesengel (14 Июль 2019 - 07:34) писал:

вот это уже что-то, спасибо. но больше интересует создание .NET DLL для загрузки из самого ПО. кое что уже получилось
Что имеете в виду? По результату получается DLL, которую можно загрузить в NC командой NETLOAD или прописать в автозагрузку. DLL должна быть на локальном диске - на всякий случай.
Полховский А.В. Проектирование железнодорожных путей
nanoCAD Plus 11.0.4752.7008 (сборка 4857); MultiCAD.NET; Сравни чертежи

#222 todesengel

    Посетитель

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 15 Июль 2019 - 04:30

у меня есть некоторые проблемы скачать SDK. ну и соответственно примеров нет. можете список DLL дать которые подключаем для MultiCAD и отдельно который для Teigha? эти фреймвоки взаимозаменяемы?

#223 Ivanco

    Дилер

  • Дилеры
  • PipPipPipPip
  • 346 сообщений
  • Пол:Мужчина
  • Город:Красноярск
  • Интересы:САПР

Отправлено 15 Июль 2019 - 17:12

Просмотр сообщенияtodesengel (15 Июль 2019 - 04:30) писал:

у меня есть некоторые проблемы скачать SDK. ну и соответственно примеров нет. можете список DLL дать которые подключаем для MultiCAD и отдельно который для Teigha? эти фреймвоки взаимозаменяемы?

Это разные API, хотя много в чем пересекаются. MultiCAD более высокоуроневое API как я понимаю. на нем быстрее писать , некоторые задачи.

MultiCAD:
- mapimgd.dll,
- mapibasetypes.dll
Teiga:
- hostmgd.dll
- hostdbmgd.dll

может это будет полезным комментарием.
_https://habr.com/ru/company/nanosoft/blog/184482/#comment_6468390

P.S. Кто бы написал статью про API , чего там откуда наследуюется и чего под капотом и какие API есть в nanoCAD и чем они отличаются. сходу действительно не очень то понятно.

Сообщение отредактировал Ivanco: 15 Июль 2019 - 17:12

"ИнфоИндастри" г.Красноярск,г.Иркутск,г.Владивосток-официальный дилер Нанософт
YouTube,GitHub - Ivanco21, using:C#/MultiCAD.NET

#224 todesengel

    Посетитель

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 15 Июль 2019 - 17:20

ну ладно мультикад это российская разработка, нет документации, не могу это понять, но могу это простить. но тейга то!? это же вполне отдельный продукт! нету доки?

#225 todesengel

    Посетитель

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 16 Июль 2019 - 10:13

вроде как с тайгой освоился. namespace отличаются, а в остальном, копия autocad.net API.
вот такой фрагмент заработал:
using System;
using Teigha.DatabaseServices;
using Teigha.Runtime;
using Teigha.Geometry;
using HostMgd.ApplicationServices;
class c1
{
static Action<string> wl = Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage;
static Database b = HostApplicationServices.WorkingDatabase;
[CommandMethod("q1")]
static public void q1()
{
Application.ShowAlertDialog("677");
wl("start");
var pl = new Polyline();
pl.AddVertexAt(0, new Point2d(0, 0), 0, 1, 1);
pl.AddVertexAt(1, new Point2d(100, 0), 0, 1, 1);
pl.AddVertexAt(1, new Point2d(100, 100), 0, 1, 1);
using (var t = b.TransactionManager.StartTransaction())
{
(b.CurrentSpaceId.GetObject(OpenMode.ForWrite) as BlockTableRecord).AppendEntity(pl);
t.AddNewlyCreatedDBObject(pl, true);
t.Commit();
}
wl("finish");
}
}

#226 todesengel

    Посетитель

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 23 Июль 2019 - 11:53

в процессе работы с teigha возникло подозрение, что можно сделать приложение, которое будет открывать DWG даже без nanoCADa вовсе. ну типа REALDWG. это реально сделать?

#227 Kreator

    Активист

  • Пользователи
  • PipPipPipPip
  • 905 сообщений
  • Пол:Мужчина
  • Город:Краснодар

Отправлено 23 Июль 2019 - 11:56

Предполагаю, что да. На нам надо не открывать, а работать с ним :D
Полховский А.В. Проектирование железнодорожных путей
nanoCAD Plus 11.0.4752.7008 (сборка 4857); MultiCAD.NET; Сравни чертежи

#228 todesengel

    Посетитель

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 23 Июль 2019 - 11:57

пока даже открыть, загрузить не получается. ошибку выдает.

#229 Robink

    Активист

  • Пользователи
  • PipPipPipPip
  • 412 сообщений
  • Пол:Мужчина
  • Город:Казань
  • Интересы:САПРостроение

Отправлено 23 Июль 2019 - 12:48

Просмотр сообщенияKreator (23 Июль 2019 - 11:56) писал:

Предполагаю, что да. На нам надо не открывать, а работать с ним :D
Предпологаю, что нет :). Попробовал просто в проект консольного приложения добавить ссылки на Teigha. При попытке загрузить документ (базу данных) получаю исключение: "Can not intercept exception. Debugged program can not be continued and properties can not be evaluated.
System.IO.FileNotFoundException: Невозможно загрузить файл или сборку "hostdbmgd, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" или один из зависимых от них компонентов. Не удается найти указанный файл.

".

#230 todesengel

    Посетитель

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 23 Июль 2019 - 12:51

все верно, так и будет, но можно пойти дальше - скопировать все DLL из nanoCADa в директорию с приложением. тогда будет уже другая ошибка.

#231 Kreator

    Активист

  • Пользователи
  • PipPipPipPip
  • 905 сообщений
  • Пол:Мужчина
  • Город:Краснодар

Отправлено 23 Июль 2019 - 12:58

Просмотр сообщенияtodesengel (23 Июль 2019 - 12:51) писал:

скопировать все DLL из nanoCADa
Но это уже не без NC ;)
Полховский А.В. Проектирование железнодорожных путей
nanoCAD Plus 11.0.4752.7008 (сборка 4857); MultiCAD.NET; Сравни чертежи

#232 todesengel

    Посетитель

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 23 Июль 2019 - 13:00

вы не верно поняли. я это сделал, так как незнал, какие именно DLL тайге нужны для работы. если бы все сработало, я бы начал по одной их удалять, и осталось бы две-три нужных.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей