Соединить полиллинию
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Соединить полиллинию

Соединить полиллинию

Ответ
Поиск в этой теме
Непрочитано 04.02.2024, 13:15 #1
Соединить полиллинию
sashaooo
 
Регистрация: 10.03.2012
Сообщений: 76

Доброго времени суток! Не получается "Соединить" (_JOIN) две полилинии лежащие на одной прямой. Если эти полилинии "Расчленить" (_explode) до отрезков(Z=0 у всех точек),то они соединяются. Хотя в справке указано что
"объектов для присоединения:Выберите линии, полилинии, 3D-полилинии, дуги, эллиптические дуги, спирали или сплайны."
Ни совсем удобно разбивать полилинии на отрезки..Также пробовал "Обратить" полилинии,т.е менять местами верщины полилинии.
Быть может у кого нибудь есть лисп позволяющий соединять полилинии лежащие на одной прямой. присвою псевдоним затем этому лиспу)
Просмотров: 916
 
Непрочитано 04.02.2024, 13:38
1 | #2
Ingpro


 
Регистрация: 11.07.2022
Сообщений: 756


Попробуйте этот лисп. Отрезки и полилинии должны быть без разрывов...
Вложения
Тип файла: lsp pljoinfuzz.lsp (1.1 Кб, 17 просмотров)
Ingpro вне форума  
 
Автор темы   Непрочитано 04.02.2024, 13:56
#3
sashaooo


 
Регистрация: 10.03.2012
Сообщений: 76


хорошо,спасибо. все же надо доработать под себя)
sashaooo вне форума  
 
Непрочитано 04.02.2024, 17:06
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Убежден, что чудес не бывает, и для решения нужен как минимум образец. И сильно подозреваю, что предварительный _.flatten проблему решит не сильно напрягаясь
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 04.02.2024, 19:11
#5
sashaooo


 
Регистрация: 10.03.2012
Сообщений: 76


прикрепляю файл. Грубо говоря создаю горизонтальную полилинию,длинной 100мм копирую в режиме орто ее на 300мм,потом командой соединить, соединяю получается одна полилиния. это прекрасно работает с отрезками..но с полилинией почему то нет.. можно создать макрос, но думаю что можно как то побыстрее это сделать)
Вложения
Тип файла: dwg
DWG 2007
полилиния.dwg (107.1 Кб, 7 просмотров)
sashaooo вне форума  
 
Непрочитано 04.02.2024, 20:49
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


На опции команды _.pedit внимательно смотри.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 04.02.2024, 20:56
#7
sashaooo


 
Регистрация: 10.03.2012
Сообщений: 76


какая опция?замкнуть?опять таки же надо выбирать.. быстрее _explode и _join..
быстрее выше выложеный лисп переделать,точнее разобраться с Fuzz distance не понятно как она работает.. при отличных от 0 значениях соединяет,но не понятно как..
sashaooo вне форума  
 
Непрочитано 04.02.2024, 21:00
#8
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Цитата:
Сообщение от Ingpro Посмотреть сообщение
Попробуйте этот лисп. Отрезки и полилинии должны быть без разрывов...
И откуда ж вы такое вытаскиваете? )) Ща, второй глаз вытечет, попробую показать другой вариант...

----- добавлено через ~33 мин. -----
Без проверок и тестирования, ибо лень:
Код:
[Выделить все]
 (defun c:jf (/ adoc sysvars selset dist) 
  (if 
    (and 
      (= 
        (type 
          (setq selset (vl-catch-all-apply 
                         (function 
                           (lambda () 
                             (ssget '((0 . "LINE,*POLYLINE,ARC")))
                           )
                         )
                       )
          )
        )
        'pickset
      )
      (= 
        (type 
          (setq dist (vl-catch-all-apply 
                       (function 
                         (lambda () 
                           (cond 
                             ((getdist "\mFuzz dist <0> :"))
                             (t 0.0)
                           )
                         )
                       )
                     )
          )
        )
        'real
      )
    )
    (progn 
      (vla-StartUndoMark (setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))))
      (setq sysvars (vl-remove 
                      nil
                      (mapcar 
                        (function 
                          (lambda (x / temp) 
                            (if (setq temp (getvar (car x))) 
                              (progn 
                                (setvar (car x) (cdr x))
                                (cons (car x) temp)
                              )
                            )
                          )
                        )
                        '(("cmdecho" . 0)
                          ("menueco" . 0)
                          ("nomutt" . 1)
                          ("peditaccept" . 0)
                         )
                      )
                    )
      )
      
      (vl-cmdf "_.pedit" "_m" selset "" "_j" dist "")
      
      (foreach item sysvars 
        (setvar (car item) (cdr item))
      )

      (vla-EndUndoMark adoc)
      (princ)
    )
  )
)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 04.02.2024, 21:44
#9
sashaooo


 
Регистрация: 10.03.2012
Сообщений: 76


mFuzz dist <0>:
(пробовал разные,ну и нуль оставлял)
какое значение вводить?
первый вариант хоть работал)
sashaooo вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Соединить полиллинию



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу соединить линии в один объект dirks AutoCAD 17 16.03.2023 18:58
Почему в AutoCAD-е иногда не удаётся соединить некоторые геометрические элементы, например дугу и отрезок с помощью штатной команды "соединить"? Юрий_Нд AutoCAD 21 25.06.2018 08:15
Как соединить две фигуры AAction AutoCAD 29 25.02.2015 15:45
Как соединить соединить двигатель в кондиционере? Схема? zhamir Электроснабжение 2 19.08.2011 22:39
у Кого получится соединить? попробуйте.... Черепок AutoCAD 9 20.03.2009 09:10