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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как программно соединить полилинию, часть которой удалена под блоком

Как программно соединить полилинию, часть которой удалена под блоком

Ответ
Поиск в этой теме
Непрочитано 18.04.2018, 20:51
Как программно соединить полилинию, часть которой удалена под блоком
Alex_Shaton
 
Гомель
Регистрация: 09.09.2017
Сообщений: 19

Я часто пользуюсь Lisp от Lee Mac - AutoBlockBreakV1-8.lsp отсюда - http://www.lee-mac.com/autoblockbreak.html. В полилинию вставляется блок, под блоком часть полилинии удаляется. Часто встречается и обратная задача - удалить указанный блок, соединить 2 конца полилинии. Поиск по форуму результатов не дал. Вариант решения нашел здесь -https://autocadtips1.com/2014/11/12/autolisp-updated-heal-linepolyline/. Сохранил в блокноте как Lisp, проверил на AutoCAD 2007 и AutoCAD2015_64, представленный там код не срабатывает (хотя описано, что код рабочий). Уважаемые гуру! Подскажите - это ошибка в коде или я что-то делаю не так. Или может есть другие варианты решения этой задачи?
Просмотров: 8725
 
Непрочитано 20.04.2018, 16:44
#21
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,001


Цитата:
Сообщение от Boxa Посмотреть сообщение
Проще не разбивать и реакторы ставить, а просто перерисовывать отображение. Добавили блок, нарисовали разрыв, убрали блок - убрали и разрыв.
потом кто-то в той же фирме открывает в том же бесплатном просмоторщике TrueView чертеж и что он там увидит?
Сергей812 вне форума  
 
Непрочитано 20.04.2018, 16:59
#22
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Может увидеть как линию поперек блока, так и нормальную картинку, что линия прерывается.
Зависит от реализации и потребностей.
Boxa вне форума  
 
Непрочитано 20.04.2018, 17:28
#23
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,001


а еще от того:
- нужна ли общая длина полилинии (типичная задача для той же электрики/слаботочки - устройства "гирляндой" на кабеле/шлейфе);
- требуется ли работа с этими частями полилинии как с единым целым.

Цитата:
Сообщение от Boxa Посмотреть сообщение
Может увидеть как линию поперек блока, так и нормальную картинку, что линия прерывается.
а почему он не может увидеть просто два отдельных примитива или одну целую полилинию?) Лишь бы приложение-просмоторщик понимало формат dwg.
Сергей812 вне форума  
 
Непрочитано 21.04.2018, 07:39
#24
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Сергей812, и? Да все это может потребоваться и да, все это можно реализовать.
Я хотел донести простую мысль, что работать и оперировать одним элементом намного проще, чем осколками.
А как это реализовать, дело десятое и зависит от потребностей: от овердравинга полилиии/мультилинии до собственного объекта или псевдо объекта на основе анонимного блока.

ЗЫ.
Кстати, вот к мульмилинии я присмотрелся бы повнимательнее, т.к. она штатно может содержать разрывы в отображении при этом оставаясь единым объектом...
Boxa вне форума  
 
Непрочитано 21.04.2018, 10:41
#25
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,001


Цитата:
Сообщение от Boxa Посмотреть сообщение
А как это реализовать, дело десятое и зависит от потребностей: от овердравинга полилиии/мультилинии до собственного объекта или псевдо объекта на основе анонимного блока.
Конечный результат (чертеж) не должен зависеть от каких либо надстроек) Если человеку нужны полилинии, соединяющие объекты и механизм для оперативного/полуавтоматического/автоматического их разрыва и склеивания - зачем ему предлагать механизмы перерисовки или имитацию полилинии в виде других объектов?
Сергей812 вне форума  
 
Непрочитано 21.04.2018, 10:50
#26
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Сергей812, Вы меня как будто не слышите... если результат не должен зависеть от надстроек, значит надо реализовать так, что бы не зависел.
В любом случае, теперь у автора есть больше информации к размышлению и автор сам определиться как ему делать.
Boxa вне форума  
 
Непрочитано 23.04.2018, 12:14
#27
Andrey_nadym


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


Вот это попробуйте

http://cadsupport.ru/2014/11/lisp-me...e-under-block/
Andrey_nadym вне форума  
 
Непрочитано 23.04.2018, 12:29
#28
Setvar


 
Регистрация: 10.02.2007
Москва
Сообщений: 611


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Конечный результат (чертеж) не должен зависеть от каких либо надстроек)
Правильно. Конечный результат (чертеж) вообще не должен зависеть ни от чего, в том числе ни от инструментов, ни от исполнителей.
Setvar вне форума  
 
Автор темы   Непрочитано 23.04.2018, 19:43
#29
Alex_Shaton


 
Регистрация: 09.09.2017
Гомель
Сообщений: 19


Andrey_nadym, как раз вот по этой ссылке не работает, к тому же это только для линий, а не полилиний.
Alex_Shaton вне форума  
 
Непрочитано 25.04.2018, 08:56
#30
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Цитата:
Сообщение от Alex_Shaton Посмотреть сообщение
а не полилиний.
вот мне интересно, в ваших посечённых полилиниях есть дуговые сегменты?
koMon вне форума  
 
Автор темы   Непрочитано 25.04.2018, 19:17
#31
Alex_Shaton


 
Регистрация: 09.09.2017
Гомель
Сообщений: 19


Сегменты полилиний, как правило, прямые. Дуговые встречаются, но очень редко
Alex_Shaton вне форума  
 
Непрочитано 03.05.2018, 10:18
1 | #32
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Alex_Shaton Посмотреть сообщение
Вариант решения нашел здесь -https://autocadtips1.com/2014/11/12/autolisp-updated-heal-linepolyline/. Сохранил в блокноте как Lisp, проверил на AutoCAD 2007 и AutoCAD2015_64, представленный там код не срабатывает (хотя описано, что код рабочий). Уважаемые гуру! Подскажите - это ошибка в коде или я что-то делаю не так.
Код рабочий, но только в английской версии. В русской надо добавить подчёркивание перед "C" вот тут:
Код:
[Выделить все]
 (setq objs (ssget "_C"
После этого работает.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Автор темы   Непрочитано 03.05.2018, 19:44
#33
Alex_Shaton


 
Регистрация: 09.09.2017
Гомель
Сообщений: 19


Do$, большое спасибо! Проверил - работает!
Alex_Shaton вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как программно соединить полилинию, часть которой удалена под блоком

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли сделать динамический блок, чтобы одна часть его была аннотативная, а другая нет? Falaleichik Динамические блоки 6 31.01.2022 17:44
Как программно закрыть полилинию Peter123 Программирование 8 11.05.2012 08:57
как программно создать полилинию? mamuk Программирование 5 30.05.2011 11:44
Программно заполнить рамку чертежами и открыть другую solo123 Программирование 2 25.02.2011 19:46
подскажите как программно начертить линии разных типов Александер Программирование 4 30.06.2005 07:17