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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Разорвать объекты в точках пересечения. BreakObjects.

LISP. Разорвать объекты в точках пересечения. BreakObjects.

Ответ
Поиск в этой теме
Непрочитано 19.03.2008, 14:32 5 | 1 #1
LISP. Разорвать объекты в точках пересечения. BreakObjects.
VVA
 
Инженер LISP
 
Минск
Регистрация: 11.05.2005
Сообщений: 6,990

Набор команд для разрыва объектов в точках пересечения.
Автор: Charles Alan Butler (CAB)
Опубликовано: Break All or Some (там же выкладываются последние изменения)
Описание: Разрывает все выбранные объеты в точках пересечения.
Допустимые объекты: отрезки, полилинии, сплайны, эллипсы, круги, дуги.
Команды:
  • MyBreak - DCL для выбора нужной команды
  • BreakAll - Разрывает выбранные объекты на пересечениях друг с другом
  • BreakwObject - Разрывает выбранные объекты единственным объектом
  • BreakObject - Разрывает единственный объект другим объектом
  • BreakWith - Разрывает выбранные объекты другими выбранными объектами
  • BreakTouching - Разрывает объекты в точках пересечения с выбранным объектом
  • BreakSelected - Разрывает выбранные объекты в точках пересечения с не выбранными объектами
  • BreakRemove - Break selected object with any objects that touch it & remove every other new segment, start with selected object

Лицензия и права:
Цитата:
;;;===========================================================
;;; THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED ;
;;; WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR ;
;;; PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED. ;
;;; ;
;;; You are hereby granted permission to use, copy and modify this ;
;;; software without charge, provided you do so exclusively for ;
;;; your own use or for use by others in your organization in the ;
;;; performance of their normal duties, and provided further that ;
;;; the above copyright notice appears in all copies and both that ;
;;; copyright notice and the limited warranty and restricted rights ;
;;; notice below appear in all supporting documentation. ;
;;;===========================================================


Актуальная версия 2.2a (для локализованных версий исправлен недочет в соответсвии с постом #81
Цитата:
Update to Version 2.2
Updated to fix a bug when closed objects are broken and one of the break points are at the end/start point of the closed object.
Версия 2.3 адаптирована для работы с Брикскад (см #103)

*** Добавлено 30.09.2009
Аналогичная программа Дениса Флюстикова: Фрагмент чертежа по прямоуг.,кругл. или ломаной границе
*** Добавлено 20.04.2014
ObjectARX. Утилита TotalBreaker - разбиение примитивов в точках взаимного пересечения. или здесь
Break all objects selected with each other. (TotalBreaker)

Вложения
Тип файла: lsp BreakObjects17.LSP (21.3 Кб, 1432 просмотров)
Тип файла: lsp BreakObjects18.LSP (34.3 Кб, 966 просмотров)
Тип файла: lsp BreakObjects21.LSP (39.5 Кб, 1326 просмотров)
Тип файла: lsp BreakObjects22a.LSP (41.5 Кб, 2417 просмотров)
Тип файла: lsp BreakObjects23.LSP (41.7 Кб, 1021 просмотров)

__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 07.01.2020 в 11:06. Причина: версия 23
Просмотров: 113937
 
Непрочитано 28.03.2008, 21:52
#2
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Хотел спросить где можно применить данный лисп,
использую лисп который разрывает и заменяет другой линией
разрыв, его использую для обозначения пуктиром невидимых частей,
а вот этот не знаю где применить?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 30.03.2008, 12:30
#3
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Например для передачи расчетных схем, вычерченных в Автокада в SCAD
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 30.03.2008, 13:08
#4
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, для расчетчиков действительно полезная утилита
__________________
инженер проектировшик с опттом программа авто гад образование высшие

Последний раз редактировалось dextron3, 07.04.2008 в 20:26.
dextron3 вне форума  
 
Непрочитано 21.05.2008, 11:51
#5
gest

GEODATA Engineering S.p.A.
 
Регистрация: 11.02.2005
Монино
Сообщений: 686


VVA, а не встречалась программа которая разбивает и удаляет отрезки между двумя линиями?


gest вне форума  
 
Непрочитано 21.05.2008, 12:13
#6
Кулик Алексей aka kpblc
Moderator

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


_.trim -> _f (см. Tips & Tricks)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 21.05.2008, 12:17
#7
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Ну и еще в 2006 помимо _fence можно сразу секрамкой выделить
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 21.05.2008, 12:23
#8
gest

GEODATA Engineering S.p.A.
 
Регистрация: 11.02.2005
Монино
Сообщений: 686


Алексей спасибо, такой прием знал, но дело в том, что участок между которыми отрезок удаляется достаточно мал, а протяженность большая,



точно попасть, чтобы все было в одном экране достаточно проблематично, удаляется только видимая в пределах экрана часть.
А для таких объектов обрезание по _.trim -> _f приходится делать почему-то по два раза?

gest вне форума  
 
Непрочитано 04.06.2008, 14:13
#9
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Очень хороший лисп, но часто ну ооооочень долго думает и не всегда выполняет свою работу. С обычными отрезками (LINE) проблем нет, но когда дело касается полилиний - тут сложнее. Хотя только что проверил, и с отрезками тоже повисло все........ Поделитесь, пожалуйста это так у всех или только у меня? Может что-то можно сделать?
skkkk вне форума  
 
Автор темы   Непрочитано 04.06.2008, 15:45
#10
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Попробуй версию 1.8
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 04.06.2008, 16:12
#11
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Спасибо, VVA. Работает намного быстрее. Нарисовал кучу линий, полилиний, дуг, проверил - пуля..... Но попробовал применить на чертеже - разрывает не все. Вот в Чертеже, например, по красной линии. Не рвет полилинии, ни замкнутые, ни разомкнутые. Offtop: Думал, Вы в отпуске
Вложения
Тип файла: dwg
DWG 2007
Чертеж.dwg (94.9 Кб, 9133 просмотров)
skkkk вне форума  
 
Автор темы   Непрочитано 04.06.2008, 16:18
#12
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


А что, для тех, кто в отпуске интернет недоступен?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 05.06.2008, 16:39
#13
Cfytrr

Балка на балку, кирпич на кирпич...
 
Регистрация: 09.10.2007
Питер
Сообщений: 4,811
Отправить сообщение для Cfytrr с помощью Skype™


Возникла проблемма:
1. BreakAll разбивает все линии набора на отдельные отрезки
2. Рисуем новую линию пересекающую эти отрезки
3. Повторный BreakAll рвет тока "новую" линию, существующие отрезки пересекаемые ею остаются целыми, и выдает ошибку "error: bad argument type: numberp: nil"
Cfytrr вне форума  
 
Автор темы   Непрочитано 05.06.2008, 17:54
#14
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Cfytrr, Родной топик этой программы http://www.theswamp.org/index.php?topic=10370.75
Выложи файл с примером автору (CAB). Я сейчас не могу, т.к. нахожусь в отпуске.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 05.06.2008, 20:41
#15
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Разобрался, почему программа зависала и не разрывала (см. #9, #11) Оказалось, в "Чертеже" (#11) полилинии имели в Свойствах различный Уровень, я выставил его в 0, а в свойствах отрезков были различные координаты Z, их я тоже выставил в 0. Все заработало. Только неясно, как так вышло. Видимо геодезисты не очень грамотно чертеж оформили, либо, наоборот, я чего-то не понимаю. Но с лиспом все в порядке, сто пудов.

Cfytrr, у меня все работает по описанному тобой алгоритму, странно.......Думаю, для решения проблемы тебе можно выложить сюда файл, в котором ошибка вылетает

Последний раз редактировалось skkkk, 05.06.2008 в 20:52.
skkkk вне форума  
 
Непрочитано 05.06.2008, 22:25
#16
Cfytrr

Балка на балку, кирпич на кирпич...
 
Регистрация: 09.10.2007
Питер
Сообщений: 4,811
Отправить сообщение для Cfytrr с помощью Skype™


skkkk, вот оно, если применить BreakAll ко второй группе то получаем "разбитую" красную линию и "целые" зеленые
Вложения
Тип файла: dwg
DWG 2004
BreakAll.dwg (39.2 Кб, 9049 просмотров)
Cfytrr вне форума  
 
Непрочитано 05.06.2008, 22:58
#17
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Cfytrr, действительно..... Теперь и у меня в файле, в котором было все ок, такая же фигня)))). Хотя раньше точно работало. Если не нужна тебе функция GAP (брешь), можешь откатиться на версию 1.7. Она рвет зеленые и в твоем файле. Мне вот GAP не нужен, например, и я откачусь пока, а то лишний раз ENTER надо жать. Можно , сделать, конечно, чтобы не жать, но это лишние заморочки, тем более, у меня 1.7 стала работать.
Вложения
Тип файла: lsp BreakObjects1.7.LSP (21.9 Кб, 445 просмотров)
skkkk вне форума  
 
Непрочитано 05.06.2008, 23:30
#18
Cfytrr

Балка на балку, кирпич на кирпич...
 
Регистрация: 09.10.2007
Питер
Сообщений: 4,811
Отправить сообщение для Cfytrr с помощью Skype™


skkkk, спасибо за инфу про 1.7
Cfytrr вне форума  
 
Непрочитано 05.06.2008, 23:46
#19
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Вот тут еще есть кое-что об этом http://dwg.ru/f/showthread.php?t=1141
skkkk вне форума  
 
Непрочитано 17.06.2008, 17:57
#20
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


у меня не работает:

Command: BREAKALL

Enter Break Gap.<0>

Select objects to break with each other & press enter:
Select objects: Specify opposite corner: 0 found
Select objects: Specify opposite corner: 24 found

Select objects:
; error: bad argument type: numberp: nil
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Разорвать объекты в точках пересечения. BreakObjects.

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен LISP для разрыва линий в точках пересечений ilka_t LISP 18 15.03.2013 16:35
деление множества линий в точках пересечения shurup Программирование 4 24.03.2008 15:11
Координаты точки пересечения line и pline (LISP) paradoxvaha LISP 3 10.07.2007 13:04
Как разорвать объектыв точках, образованных дивайдом? Бали AutoCAD 6 03.07.2007 17:39