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

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

Войти

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

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

  1. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Да, расстояния между витками (по нормалям к виткам) должно быть более длины хорды, сие заложено в алгоритм программы.
     
    #861
    SOYZNIK нравится это.
  2. Tolla

    Регистрация:
    8 июл 2019
    Сообщения:
    1
    Симпатии:
    0
    Не нашел решение:
    "нужно выровнять ломаную полилинию прямыми углами - смещая каждую вторую вершину на ближайшее пересечении соседних"
    Спасибо конечно !
    Снимок.JPG
     

    Вложения:

    #862
  3. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Tolla, тестируй.
    01.jpg
    Что бы углы были 90градусов, 2,4,6,8... сегменты плинии должны быть параллельны оси X.
     

    Вложения:

    #863
    chehoff и SOYZNIK нравится это.
  4. chehoff

    Форумчанин

    Регистрация:
    14 май 2012
    Сообщения:
    1.129
    Симпатии:
    191
    Адрес:
    Первый в мире, второй по Сибири
    у меня такое дело, есть обычная мультивыноска, пописываем ей координаты. Возможно ли что бы в свойствах мультивыноски были значения ее самой, т.е написаны координаты Х,Y,Z которые соответствуют ее положению в пространстве модели? Это для того чтобы проверять, что подписываешь истинные координаты, сильно обжегся на этом.
    Подписать истинные координаты мультивыноской-это хорошее дело ( на форуме есть такие, пользуюсь), жаль что в свойствах ее нет этих координат
     

    Вложения:

    #864
    Последнее редактирование: 9 июл 2019
  5. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    chehoff. Написал программульку выводящую координаты мультивыноски в пространстве модели. Где точка сих координат показано стрелкой на картинке.
    01.jpg
     

    Вложения:

    • XYZvinoska01.lsp
      Размер файла:
      397 байт
      Просмотров:
      5
    #865
    chehoff нравится это.
  6. chehoff

    Форумчанин

    Регистрация:
    14 май 2012
    Сообщения:
    1.129
    Симпатии:
    191
    Адрес:
    Первый в мире, второй по Сибири
    ivsem,отлично, только "точку сих координат" надо на конце выноске) и будет супер.
     
    #866
  7. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Если Вам нужно просто посмотреть координаты конца полки выноски, используйте команду КООРД с привязкой КОНТОЧКА (или кнопку с тулбара Сведения).
    02.jpg
     
    #867
    chehoff и SOYZNIK нравится это.
  8. SOYZNIK

    Форумчанин

    Регистрация:
    31 дек 2012
    Сообщения:
    251
    Симпатии:
    81
    Адрес:
    Питер
    ivsem, Благодарю еще раз за Horda01.fas
    Есть еще просьба ...решаю задачу отрисовки внешнего контура группы объектов с помощью программы _ECO.Lsp
    http://www.caduser.ru/forum/index.php...&TID=30797
    но она действует на основе команды автокад _BOUNDARY ,соответственно не отрисовывает внешний контур не пересекающихся объектов.
    Собственно просьба помочь с созданием программы которая отрисует внешний контур непересекающихся объектов, в идеале с заданным допуском.
    ***
    м.б. поможет:
    сам по себе допуск/дорисовка отсутствующего сегмента полилинии есть в команде автокад "редактирование полилинии" _pedit (ПОЛРЕД), но он не работает с контуром (я вручную разрываю контуры в нужном месте)
    Fieldset Команда: ПОЛРЕД
    Выберите полилинию или [Несколько]: Н
    Выберите объекты: Противоположный угол: найдено: 2
    Выберите объекты:
    Задайте параметр [Замкнуть/Разомкнуть/Добавить/Ширина/СГладить/СПлайн/Убрать сглаживание/Типлин/оБратить/Отменить]: Д
    Способ добавления = Оба (Удлинить или Добавить)
    Значение допуска или [Способ] <3.6369>: С
    Способ добавления элементов [Удлинить/Добавить/Оба] <Оба>: О
    Способ добавления = Оба (Удлинить или Добавить)
    Значение допуска или [Способ] <3.6369>: Вторая точка:
    Добавлено сегментов: 2


    а так же в команде _chamfer (ФАСКА), но она некорректно отсекает оставшуюся часть контура.
    Fieldset Команда: _chamfer
    (Режим С ОБРЕЗКОЙ) Параметры фаски: Длина1 = 0.0000, Длина2 = 0.0000
    Выберите первый отрезок или [оТменить/полИлиния/Длина/Угол/оБрезка/Метод/Несколько]:
    Выберите второй отрезок или нажмите клавишу Shift при выборе, чтобы создать угол, или [Расстояние/Угол/Метод]:


    Спасибо заранее!
     

    Вложения:

    #868
  9. chehoff

    Форумчанин

    Регистрация:
    14 май 2012
    Сообщения:
    1.129
    Симпатии:
    191
    Адрес:
    Первый в мире, второй по Сибири
    ivsem, это мне и надо! Вы знаток)
     
    #869
  10. ivsem

    Форумчанин

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

    Форумчанин

    Регистрация:
    31 дек 2012
    Сообщения:
    251
    Симпатии:
    81
    Адрес:
    Питер
    ...именно то что требуется. Возможно сделать?сама по себе задача нарисовать три полилинии не представляет труда, но когда их не три а 30-300-3000...
     
    #871
  12. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    У Вас есть реальные объекты, которые нужно объединять? Бо опираясь на реальные объекты можно увидеть алгоритмы их объединения.
     
    #872
  13. SOYZNIK

    Форумчанин

    Регистрация:
    31 дек 2012
    Сообщения:
    251
    Симпатии:
    81
    Адрес:
    Питер
    прикладываю небольшой кусок. Там где контуры пересекаются/совпадают, внешний контур строится норм. Там где есть разрывы приходится допиливать руками. Контуры объединяются не все в кучу с целью получить общий внешний контур, а некоторые смежные для объединения в зоны. P/S такая же задача часто возникает при редактировании рабочих поперечников дороги, когда нет исходника сапр а есть только поперечники в двж, или при редактировании раскладки мощения из отдельных элементов со швами
     

    Вложения:

    #873
  14. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Написал программу которая соединяет плиниями вершины согласно допуска.
    На картинке слева внешний контур после обработки программой _ECO оригинального файла, справа внешний контур после соединения вершин программой VerticesConnect01 с допуском 3.0 и обработки программой _ECO.
    2_3.jpg
     

    Вложения:

    #874
    SOYZNIK и Alex_Shaton нравится это.
  15. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    #875
    SOYZNIK и Debalance нравится это.
  16. Debalance

    Форумчанин

    Регистрация:
    22 фев 2017
    Сообщения:
    27
    Симпатии:
    34
    Да, всё верно. Только это TotalBoundary.

    [​IMG]
     
    #876
    SOYZNIK нравится это.
  17. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Если Вас не затруднит, скачайте два файла пример.dwg и пример2.dwg из поста #873 (особенно пример2.dwg, его программа _ECO.lsp не может обработать даже после обработки программой VerticesConnect01.fas ) и создайте вашей программой TotalBoundary внешнюю полилинию и выложите в этой теме. Очень интересны результаты.
     
    #877
    SOYZNIK нравится это.
  18. Debalance

    Форумчанин

    Регистрация:
    22 фев 2017
    Сообщения:
    27
    Симпатии:
    34
    А вот даже видео для примера 2.

    [​IMG]

    В настройках был установлен допуск 0.01.
    Файл прилагаю.
     

    Вложения:

    #878
    SOYZNIK и BearDyugin нравится это.
  19. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Как по мне просто супер! Но есть ньюансы.
    Как ваша программа преодолевает "разрыв" между обьектами (замкнутыми полилиниями на картинке). По нормали к следующему обьекту, продолжает сегмент предыдущей плинии до сегмента следующей плинии?
    Если бы я строил внешнюю границу, то соединил бы вершины (синяя линия на картинке).
    04.jpg
     
    #879
    SOYZNIK нравится это.
  20. Debalance

    Форумчанин

    Регистрация:
    22 фев 2017
    Сообщения:
    27
    Симпатии:
    34
    Нюансы есть во всём. Программа строит линию по кратчайшему пути до соседнего объекта. В данном случае кратчайший путь это - перпендикуляр.
     
    #880
    P.Mikhalyoff и SOYZNIK нравится это.

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

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