Как заливку преобразовать в ее контур

Автор Тема: Как заливку преобразовать в ее контур  (Прочитано 5215 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Возможно ли объект
Hatch преобразовать в PolyLine?
Если ли метод какой у штриховки которые это делает?

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Hatch :
public Autodesk.AutoCAD.Geometry.Line2dCollection GetHatchLinesData()

HatchLoop :
public Autodesk.AutoCAD.DatabaseServices.BulgeVertexCollection Polyline { get; }

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Возможно ли объект
Hatch преобразовать в PolyLine?
Можно. Хотя это может быть и не полилиния и не одна полилиния (если штриховка с дырками).
Вообще-то "поиск рулит": http://adn-cis.org/kak-vosstanovit-poteryannyie-graniczyi-shtrixovki.html
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Hatch :
public Autodesk.AutoCAD.Geometry.Line2dCollection GetHatchLinesData()

HatchLoop :
public Autodesk.AutoCAD.DatabaseServices.BulgeVertexCollection Polyline { get; }
Работает не для всех типов штриховки, а только для "избранных".
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Hatch :public Autodesk.AutoCAD.Geometry.Line2dCollection GetHatchLinesData()HatchLoop :public Autodesk.AutoCAD.DatabaseServices.BulgeVertexCollection Polyline { get; }
А как проверить, что объект является Hatch или HatchLoop?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
А как проверить, что объект является Hatch или HatchLoop?
Не слушай trir, слушай Александр Ривилис :-D
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Цитировать
А как проверить, что объект является Hatch или HatchLoop?
Код - C# [Выбрать]
  1. int nLoops = hatch.NumberOfLoops;
  2. for (int i = 0; i < nLoops; i++) {
  3.    HatchLoop loop = hatch.GetLoopAt(i);
  4.    if (loop.IsPolyline) {

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

HatchLoop : public Autodesk.AutoCAD.Geometry.Curve2dCollection Curves { get; }