Пакетная нарезка видовых экранов

Автор Тема: Пакетная нарезка видовых экранов  (Прочитано 5317 раз)

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

Оффлайн tujn08Автор темы

  • ADN OPEN
  • Сообщений: 21
  • Карма: 0
    • КОМПЛЕКСНАЯ СИСТЕМА УДАЛЕННОГО ПРОЕКТИРОВАНИЯ
  • Skype: RIES.PRO
Цель такая:
Трассу обрисовать нужным контуром под видовые экраны, визуально нарезать контур с компоновкой на нужные форматы.
Создать листы и разместить на них видовые экраны.
В целом проблему описал http://forum.dwg.ru/showthread.php?t=124456&page=8, но там пока молчат.

1) Предисловие: есть ли vla функция для создания многоугольных видовых экранов? (пока использовал command).
2) Точки видовых экранов есть, но столкнулся с проблемой: нарисовал (в цикле (command "_vports" "_p" p1 p2 p3 "_C")
) один или несколько вид.экранов встают и зуммируются, но некоторые по непонятной причине (setq Viewport (entlast))
не захватываются- предыдущий цепляет. Что делать как быть?
3) как переместить видовой экран в нужную мне точку? Менять все координаты?

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Пакетная нарезка видовых экранов
« Ответ #1 : 04-08-2017, 22:37:17 »
В целом проблему описал http://forum.dwg.ru/showthread.php?t=124456&page=8, но там пока молчат.
Ну так не поленись её описать и здесь.
Кроме того прочитай у меня в подписи как следует форматировать код на форуме.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1096
  • Карма: 172
Re: Пакетная нарезка видовых экранов
« Ответ #2 : 04-08-2017, 22:42:04 »
Предисловие: есть ли vla функция для создания многоугольных видовых экранов? (пока использовал command).
Насколько я помню, VPort создать через ActiveX невозможно
Точки видовых экранов есть, но столкнулся с проблемой
Можешь воспользоваться методом, описанным в статье http://adn-cis.org/return-values-for-commands.html и проверять результат.
как переместить видовой экран в нужную мне точку? Менять все координаты?
По-моему, для начала понадобится менять центр области, на которую указывает ВЭ.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Alex.gomel

  • ADN OPEN
  • Сообщений: 12
  • Карма: 4
Re: Пакетная нарезка видовых экранов
« Ответ #3 : 06-08-2017, 19:05:58 »
Цитировать
1) Предисловие: есть ли vla функция для создания многоугольных видовых экранов? (пока использовал command).
- использовал подрезку прямоугольного видового экрана:
Код - Auto/Visual Lisp [Выбрать]
  1. (vl-cmdf "_clip" (vlax-vla-object->ename vport) bound "")
Цитировать
2) Точки видовых экранов есть, но столкнулся с проблемой: нарисовал (в цикле
один или несколько вид.экранов встают и зуммируются, но некоторые по непонятной причине
не захватываются- предыдущий цепляет. Что делать как быть?
- захватываются видимо прямоугольные (неподрезанные) экраны. Если экран уже подрезан, то работать нужно не с видовым экраном, а с примитивом определяющим контур подрезки.
Цитировать
3) как переместить видовой экран в нужную мне точку? Менять все координаты?
- https://forums.autodesk.com/t5/programmirovanie-objectarx-arx/ukazanie-oblasti-otobrazheniya-mnogougolnogo-vidovogo-ekrana/m-p/7108066#M650
Цитировать
Трассу обрисовать нужным контуром под видовые экраны, визуально нарезать контур с компоновкой на нужные форматы.
- интересно Ваше решение по этому моменту. Делал создание многоугольных видовых экранов по длине базового листа (А4х4 например). С длиной проблем нет, а вот с шириной... Необходим внешний контур примитивов чертежа. Все найденные алгоритмы предполагают перебор примитивов, определение контейнера с последующим созданием(слиянием) области(ей) - получается очень долго и крайне непредсказуемо. Пока решил вопрос для частного случая - на чертеже имеются блоки пикетажа, это как правило самые удаленные (перпендикулярно трассы) объекты. Может быть у кого-то есть решение поизящней?



Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1096
  • Карма: 172
Re: Пакетная нарезка видовых экранов
« Ответ #4 : 06-08-2017, 22:17:24 »
У меня сейчас нет архива, но подрезку можно делать и без использования командных методов, насколько я помню. Копаться просто надо.
Если экран уже подрезан, то работать нужно не с видовым экраном, а с примитивом определяющим контур подрезки.
Кто сказал? Примитив и подрезка для него - разные вещи, и по идее надо работать как раз с подрезаемым примитивом, а не с его "контуром подрезки" (которого, кстати, может и не быть).
Для справки: с подрезкой работал очень давно, и многие вещи могу просто упускать.
Пока решил вопрос для частного случая - на чертеже имеются блоки пикетажа, это как правило самые удаленные (перпендикулярно трассы) объекты. Может быть у кого-то есть решение поизящней?
Как только будет предоставлен исходный материал и желаемый результат + собственный код, можно будет голову ломать. Но не раньше.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Alex.gomel

  • ADN OPEN
  • Сообщений: 12
  • Карма: 4
Re: Пакетная нарезка видовых экранов
« Ответ #5 : 06-08-2017, 22:58:01 »
Цитировать
У меня сейчас нет архива, но подрезку можно делать и без использования командных методов, насколько я помню. Копаться просто надо.
- было бы очень интересно, покопайтесь по возможности пожалуйста.
Цитировать
Как только будет предоставлен исходный материал и желаемый результат + собственный код, можно будет голову ломать. Но не раньше.
- тогда может быть стоит создать отдельную тему?

Оффлайн maratovich

  • ADN OPEN
  • Сообщений: 21
  • Карма: 1
  • Skype: maratovich78
Re: Пакетная нарезка видовых экранов
« Ответ #6 : 07-08-2017, 07:22:04 »
tujn08 А зачем Вы делаете многоугольные ? Вам достаточно прямоугольного (квадрат). На листе всё равно будет прямоугольник.

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1096
  • Карма: 172
Re: Пакетная нарезка видовых экранов
« Ответ #7 : 07-08-2017, 08:14:12 »
было бы очень интересно, покопайтесь по возможности пожалуйста.
Увы и ах, все что есть - это http://autolisp.ru/2011/11/30/create-xclip/ (е-мое, уже без малого шесть лет прошло!)
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн tujn08Автор темы

  • ADN OPEN
  • Сообщений: 21
  • Карма: 0
    • КОМПЛЕКСНАЯ СИСТЕМА УДАЛЕННОГО ПРОЕКТИРОВАНИЯ
  • Skype: RIES.PRO
Re: Пакетная нарезка видовых экранов
« Ответ #8 : 07-08-2017, 12:11:48 »
А зачем Вы делаете многоугольные ?
Ну как зачем:
1. Трасса не линейная. Если делать прямоугольный видовой экран на лис, то см. п.3 и заполненность листа будет приближена к ГОСТу + количество листов уменьшится (как показала практика) в 4 раза- итог оформительской работы меньше с вытекающими "пряниками". Дальше подписываются линия обреза и нумеруется, что с чем стыкуется. В итоге экономится почти день работы;
2. На листе размещается не 1 видовой экран, а насколько;
3. Избавляемся от ненужной информации делая много угольник.

для начала понадобится менять центр области
Да, так и думал, но вдруг были бы другие методы.
воспользоваться методом
Кстати даже интересно какой результат выдаст.
захватываются видимо прямоугольные (неподрезанные) экраны. Если экран уже подрезан, то работать нужно не с видовым экраном, а с примитивом определяющим контур подрезки.
Нет, ни чего не подрезаю, абсолютно новые видовые экраны рисую по точкам.
Необходим внешний контур примитивов чертежа
Ну так я внешний контур и нарисовал предварительно- дальше визуально раскраиваю его (в модели), компаную по контуру листа (которые можно крутить и менять размеры). Увы программа не под рукой- так бы нагляднее было.

PS
Изначально хотел сделать интерактивное смещение всех контуров сделать, но сложно и не нужно как следствие.
А все исходит из того, что инженер должен видеть как будет подрезана трасса, что бы выноски и мачты не резать. При условии, что все это не сортировано по слоям (такие исходные данные).