Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

Помогу бесплатно разработать любую программу на autolisp.

Тема в разделе "Autodesk", создана пользователем Германup, 3 фев 2014.

  1. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Обработал фрагмент чертежа пример2.dwg программой VerticesConnect01.fas, внешние вершины соединились плиниями, но внутри чертежа "каша еще та" (некоторые линии соединяющие углы внутри пересекаются)
    Если не затруднит обработайте файл test02.dwg программой TotalBoundary, интересно как она с этой кашей справится. Допуск 0.1.
    Файл test02.dwg прилагается.
     

    Вложения:

    • test02.dwg
      Размер файла:
      275,5 КБ
      Просмотров:
      6
    #881
  2. Debalance

    Форумчанин

    Регистрация:
    22 фев 2017
    Сообщения:
    27
    Симпатии:
    34
    Пожалуйста.
    P.S.
    Да Вы бы сами с программкой поигрались бы... ::biggrin24.gif::
     

    Вложения:

    • test02-TBND.dwg
      Размер файла:
      288,7 КБ
      Просмотров:
      3
    #882
  3. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    К сожалению нет в работе объектов на которых можно было бы потестить вашу программу.
    А вот у форумчанина SOYZNIK такие объекты есть. Мне кажется его ваша программа заинтересует.
    Посмотрел файл test02-TBND.dwg и понял, что ваша программа игнорирует полилинии размером менее допуска.
    Как мне кажется в этом есть "подводный" камень.
     
    #883
  4. Debalance

    Форумчанин

    Регистрация:
    22 фев 2017
    Сообщения:
    27
    Симпатии:
    34
    Конечно игнорирует! Всё что меньше допуска вырождается в точку.

    Какой же это камень? Просто с допуском надо "играться" с умом. И отчётливо понимать, что точность создаваемого контура обратно пропорциональна величине допуска. Чем-то надо жертвовать...
     
    #884
  5. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Оставим в покое допуск и введем дополнительное понятие - просвет. Можно попробовать заложить в алгоритм программы заполнять просветы и допуск трогать не придется.
    Но обсуждение вашей программыTotalBoundary лучше продолжить на вашем форуме, да бы не засорять данную тему. Правда раздела посвященного обсуждению программы TotalBoundary я на вашем форуме не обнаружил.
     
    #885
    Последнее редактирование: 15 июл 2019
    SOYZNIK нравится это.
  6. SOYZNIK

    Форумчанин

    Регистрация:
    31 дек 2012
    Сообщения:
    251
    Симпатии:
    81
    Адрес:
    Питер
    Спасибо огромное!тестирую
    благодарю за наводку!
    --- Сообщения объединены, 15 июл 2019, Оригинальное время сообщения: 15 июл 2019 ---
    ...по мне тоже супер, аналогов наверное и нет для моего частного случая.
     
    #886
  7. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Мой вам совет. Если у Вас в чертеже сразу несколько объектов ( например в чертеже пример 2.dwg пять объектов), обрабатывайте
    программой VerticesConnect01.fas каждый объект по отдельности, бо если Вы выберете рамкой сразу все пять объектов, то скорость работы программы резко замедлится.
     
    #887
    SOYZNIK нравится это.
  8. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    SOYZNIK, Написал программу для соединения зазоров между прямоугольниками. Указываете допуск (ширина наибольшего зазора с запасом), выбираете прямоугольники.
    Бегущие цифры в командной строке соответсвуют количеству отрисованных в зазорах плиний. В конце должно появиться табло "работа окончена".
    Далее можно для получения границы использовать программу _ECO (для небольших объектов, пост #868) или программу TotalBoundary ( пост #876), для практически любых по размеру объектов.
    5_6_7.jpg
     

    Вложения:

    #888
    Последнее редактирование: 16 июл 2019
    SOYZNIK нравится это.
  9. SOYZNIK

    Форумчанин

    Регистрация:
    31 дек 2012
    Сообщения:
    251
    Симпатии:
    81
    Адрес:
    Питер
    ivsem, очень круто. спасибо. Единственное объектная привязка выключается на время работы команды (и не включается обратно), но это мелочи.
     
    #889
  10. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Замечание правильное. Подправил в обоих программах.
     

    Вложения:

    #890
    SOYZNIK нравится это.
  11. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Вторая версия программы Horda02.fas. В первой версии забыл программно отключить привязки!
     

    Вложения:

    • Horda02.fas
      Размер файла:
      2,4 КБ
      Просмотров:
      3
    #891
    SOYZNIK и 1958 нравится это.
  12. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    660
    Симпатии:
    725
    Адрес:
    Ташкент, город пыльный
    Вспомнил как в молодости по желдор линиям мерил кривые. А нельзя в вашей программе предусмотреть ввод допустимой минимальной стрелки прогиба? (см.чертеж - синие промеры). Т.е., если стрелка меньше допуска, то хорда не чертится, происходит переход к следующей.
     

    Вложения:

    • хорды.dwg
      Размер файла:
      45,2 КБ
      Просмотров:
      2
    #892
  13. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Можно.
    01.jpg
     

    Вложения:

    • Horda03.fas
      Размер файла:
      3,1 КБ
      Просмотров:
      3
    #893
    SOYZNIK и 1958 нравится это.
  14. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    660
    Симпатии:
    725
    Адрес:
    Ташкент, город пыльный
    Поигрался с Horda03.fas. Обнаружил неприятную вещь - концы хорд не лежат на кривой.
     

    Вложения:

    #894
  15. SOYZNIK

    Форумчанин

    Регистрация:
    31 дек 2012
    Сообщения:
    251
    Симпатии:
    81
    Адрес:
    Питер
    ...регенерация?
    upload_2019-7-18_16-43-50.png
     
    #895
  16. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    660
    Симпатии:
    725
    Адрес:
    Ташкент, город пыльный
    Выполнял несколько раз. Улучшение есть, но всё же концы отрезков (хорд) не сидят на размечаемой линии. :(
     
    #896
  17. SOYZNIK

    Форумчанин

    Регистрация:
    31 дек 2012
    Сообщения:
    251
    Симпатии:
    81
    Адрес:
    Питер
    ...в Вашем файле я приблизил и регенерировал до восьми знаков после запятой, и даже тогда все ок.
     
    #897
  18. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Включил максимальную точность в Единицах.
    Расстоянием измерил расстояние от конца хорды по нормали к кривой (привязки Конточка и Нормаль)
    Получил восемь нулей после запятой.
     
    #898
  19. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    660
    Симпатии:
    725
    Адрес:
    Ташкент, город пыльный
    Проверил в C3D_2018, всё в порядке. Глюк наблюдается в AC2007. Но! Всё же есть одно но: концы отрезков не совпадают в одной точке (см. красный круг). Впрочем, они и не должны совпадать, даже если интервал составляет половину длины хорды. Хорда - прямая, интервал откладывается по кривой. Прошу прощения за проявленную панику. :)
     

    Вложения:

    #899
  20. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    1958, если Вам нужно что бы конец предыдущей хорды совпадал с началом следующей хорды, сие можно сотворить.
    Но это будет уже совсем другая программа, бо эта заточена на получение кривой видимости при проектировании дорог.
    --- Сообщения объединены, 18 июл 2019, Оригинальное время сообщения: 18 июл 2019 ---
    SOYZNIK, мне кажется форумчанин 1958 подкинул интересную идею ввести в программу для построения кривой видимости (реализовано в Horda03.fas) допуск на стрелку прогиба.
    Сие позволяет строить хорды только на криволинейных участках. Далее технология получения кривой видимости может быть как показано на картинке.
    Величину допуска на стрелку прогиба можно подобрать экспериментально.
    02.jpg
     
    #900
    SOYZNIK нравится это.

Поделиться этой страницей

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление