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


Robink

Регистрация: 22 дек. 2012
Offline Активность: Вчера, 21:09
-----

Мои сообщения

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

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" или один из зависимых от них компонентов. Не удается найти указанный файл.

".

В теме: Группировка объектов

14 Июль 2019 - 21:36

СПДС купите лучше, не надо велосипед изобретать.

В теме: Штриховка полилинии отрезками

17 Май 2019 - 12:43

Просмотр сообщенияIvanco (17 Май 2019 - 10:45) писал:

диалог с самим собой), в "клуб разработчиков" впрочем тоже не отвечают конечно.
Еще пара вопросов:

1. нормально ли использовать чистый .NET API и MultiCAD.NET ? в том плане , что это вообще нормальная практика "смешивать" разные API в разработке.

2. ну ладно я нашел Explode() в "чистом" .NET nanoCAD API и оно работает). но мне нужно кой чего из Multicad.

как приводить объекты с одних типов к другим в данном случае?
К примеру из :
Teigha.DatabaseServices.Dbline ------->>
Multicad.DatabaseServices.StandardObjects.DbLine;
или обратно.
Если работаете со стандартными примитивами, то лучше использовать Teigha. Передавать можно через передачу id.

из MC в Teigha

IntPtr id_intptr = id_mcobjectid.ToOldIdPtr();

ObjectId Id_objectid = new ObjectId(id_intptr);

В теме: Штриховка полилинии отрезками

07 Май 2019 - 14:15

Просмотр сообщенияLion007 (07 Май 2019 - 14:00) писал:

нууу... тут разные варианты возможны.
например так :
- считаем баунд полилинии
- в рамках этого баунда (начиная от пресловутой базовой точки) создаем пачку линий. можно обычных отрезков, можно XLINE - разница невелика
- дальше последовательно для каждой такой линии
--- считаем пересечения с полилайном (IntersectWith - есть такой метод, выдает набор точек пересечения)
--- сортируем эти точки по направлению линии
--- попарно создаем отрезочки (выходные)

есть тонкий момент : линия может *касаться* полилинии - например в вершине (или касаться дугового сегмента). в этом случае точка пересечения получится одна.
если она была первая - то она сломает "попарность". а если мы таким образом попадем в 2 вершины - то получим лишний ненужный отрезок. а если у нас линия совпадает с сегментом... в общем, тут надо аккуратно! :)
из незатейливых тестов - можно проверить серединки получившихся отрезочков на попадание внутрь полилинии - тогда будет понятно, какие нам нужны, а какие нет
http://developer.nan...47#message-1647
Ага уже плавали :)

В теме: Штриховка полилинии отрезками

07 Май 2019 - 11:36

А я бы пошел по пути постройки отрезков и поиска их точек пересечения с полилинией.
В MC есть функции для поиска пересечений и определения внутри ли контура точка, но вот последняя глючила, скорее всего исправили (я давал заявку).