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

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

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

Ответ
Поиск в этой теме
Непрочитано 19.03.2008, 14:32 4 |
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 Кб, 1431 просмотров)
Тип файла: lsp BreakObjects18.LSP (34.3 Кб, 964 просмотров)
Тип файла: lsp BreakObjects21.LSP (39.5 Кб, 1325 просмотров)
Тип файла: lsp BreakObjects22a.LSP (41.5 Кб, 2417 просмотров)
Тип файла: lsp BreakObjects23.LSP (41.7 Кб, 1012 просмотров)

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

Последний раз редактировалось VVA, 07.01.2020 в 11:06. Причина: версия 23
Просмотров: 113821
 
Автор темы   Непрочитано 08.07.2010, 15:58
#61
VVA

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


Jonas,
1. Файл создается 1 раз. Называется BreakAll.DCL Создается в папке расположения файла acad.pat
2. Найди этот файл и удали
3. В тексте програмы найди строку
Цитата:
;; create dcl file in same directory as ACAD.PAT
Чуть ниже будет описание dcl файла
Код:
[Выделить все]
 (foreach x (list
                   "// WARNING file will be recreated if you change the next line"
                   rvflag
                   "//BreakAll.DCL"
                   "BreakDCL : dialog { label = \"[ Break All or Some by CAB  v1.8 ]\";"
                   "  : text { label = \"--=<  Select type of Break Function needed  >=--\"; "
                   "           key = \"tm\"; alignment = centered; fixed_width = true;}"
                   "    spacer_1;"
                   "    : button { key = \"b1\"; mnemonic = \"T\";  alignment = centered;"
                   "               label = \"Break all objects selected with each other\";} "
                   "    : button { key = \"b2\"; mnemonic = \"T\"; alignment = centered;"
                   "               label = \"Break selected objects with other selected objects\";}"
                   "    : button { key = \"b3\"; mnemonic = \"T\";  alignment = centered;"
                   "               label = \" Break selected objects with any  objects that touch it\";}"
                   "    spacer_1;"
                   "  : row { spacer_0;"
                   "    : edit_box {key = \"gap\" ; width = 8; mnemonic = \"G\"; label = \"Gap\"; fixed_width = true;}"
                   "    : button { label = \"Help\"; key = \"help\"; mnemonic = \"H\"; fixed_width = true;} "
                   "    cancel_button;"
                   "    spacer_0;"
                   "  }"
                   "}"
                  ) ; endlist
        (princ x fn)
        (write-line "" fn)
      ) ; end foreach
Описание кнопок в тэге button. Само название кнопок выделено красным
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 08.07.2010, 17:10
#62
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Так я так и делаю, в это и вопрос.
То что вы выделили я и переписал по руски, а он подлец всё равно пишет по английски.
Всё у меня в отдельном меню "мои инструменты" (хтя они не все мои, да простят меня аяторы). Я уж и выгружаю, удаляю cui и mnr, снова загружаю mns? а он всё равно по английски.
Jonas вне форума  
 
Автор темы   Непрочитано 08.07.2010, 17:15
#63
VVA

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


Цитата:
Сообщение от Jonas Посмотреть сообщение
а он подлец всё равно пишет по английски.
ты не выполнил пп.1 и 2 из #61
Скопируй код в командную строчку
Код:
[Выделить все]
(findfile "BreakAll.DCL")
и удали этот файл
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 08.07.2010, 17:46
#64
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Всю жизнь страдаю от невнимательности.
Спасибо, всё исправил.
Jonas вне форума  
 
Непрочитано 12.07.2010, 10:07
#65
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Всё , да не всё.
На стационарном к-ре всё в норме а вот на ноутбук не получается.
Что не делаю, ставит версию v1,5 а не v1,8.
Jonas вне форума  
 
Непрочитано 06.09.2011, 11:49
#66
Nata1

Инженер
 
Регистрация: 10.11.2008
Владимирская обл., пос. Вольгинский
Сообщений: 147


Форумчане, этот лисп - BreakObjects21.LSP будет работать в 2004 автокаде? Файл DСL сам создается, если его загрузить в автокад, как обычный лисп?
Программа Дениса Флюстикова "Фрагмент чертежа по прямоуг.,кругл. или ломаной границе" в 2004 не работает, пишет, что только с 2006.
__________________
AutoCAD 2014
Nata1 вне форума  
 
Автор темы   Непрочитано 06.09.2011, 12:28
#67
VVA

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


Цитата:
Сообщение от Nata1 Посмотреть сообщение
Форумчане, этот лисп - BreakObjects21.LSP будет работать в 2004 автокаде?
Воспользуйся научным методом - методом тыка Нет под рукой 2004, чтобы тебе ответить

Цитата:
Сообщение от Nata1 Посмотреть сообщение
Файл DСL сам создается, если его загрузить в автокад, как обычный лисп?
Да. DCL формируется "на лету".
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.09.2011, 14:08
#68
Nata1

Инженер
 
Регистрация: 10.11.2008
Владимирская обл., пос. Вольгинский
Сообщений: 147


VVA, спасибо за ответ. Попробовала на 2004 установить. Вроде, работает, появляется окошко с тремя кнопками для выбора типа разрыва. GAP - это, как я поняла, величина длины разрыва.
Устанавливала лисп версии 21, а на окне программы почему-то написано V1.8. Так и должно быть?
__________________
AutoCAD 2014
Nata1 вне форума  
 
Автор темы   Непрочитано 06.09.2011, 14:48
#69
VVA

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


Цитата:
Сообщение от Nata1 Посмотреть сообщение
Так и должно быть?

Код:
[Выделить все]
      (foreach x (list
                   "// WARNING file will be recreated if you change the next line"
                   rvflag
                   "//BreakAll.DCL"
                   "BreakDCL : dialog { label = \"[ Break All or Some by CAB  v1.8 ]\";"
                 ....
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.09.2011, 15:43
#70
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Nata1 Посмотреть сообщение
Файл DСL сам создается, если его загрузить в автокад, как обычный лисп?
Этот КЭБ все делает на лету... потому и лиспы у него такие длинные
gomer вне форума  
 
Автор темы   Непрочитано 12.08.2012, 12:00
#71
VVA

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


BreakObjects обновилась до версии 2.2. Появилась новая команда BreakRemove
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 14.08.2012, 15:35
#72
Нефтепроводчик


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


А панельку с кнопочками под этот набор команд никто не делал?
Нефтепроводчик вне форума  
 
Непрочитано 20.08.2012, 16:14
#73
Nata1

Инженер
 
Регистрация: 10.11.2008
Владимирская обл., пос. Вольгинский
Сообщений: 147


VVA, спасибо. А можно попросить правильный перевод?
Цитата:
BreakRemove - Break selected object with any objects that touch it & remove every other new segment, start with selected object
а то он-лайн переводчик перевел коряво - Выбранный объект перерыв с любыми объектами, которые трогать и удалить каждый новый сегмент, начните с выбранным объектом

А также еще две команды есть в этом лиспе:
Цитата:
BreakWlayer - Break objects with objects on a layer
BreakWithTouching - Break touching objects with selected objects
Можно тоже их перевести на русский?
__________________
AutoCAD 2014

Последний раз редактировалось Nata1, 21.08.2012 в 11:32.
Nata1 вне форума  
 
Непрочитано 28.03.2013, 13:35
#74
Inventor_S

конструктор
 
Регистрация: 04.06.2010
г. Минск
Сообщений: 30


а в AutoCAD 2013 глюк на глюке. Эллипсы не разрываются, некоторые команды выдают ошибку. Жаль.
Inventor_S вне форума  
 
Автор темы   Непрочитано 28.03.2013, 14:22
#75
VVA

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


Приложи файл с примером, текстом в файле напиши какая команда что не рвет. Отправлю автору
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 28.03.2013, 15:24
#76
Inventor_S

конструктор
 
Регистрация: 04.06.2010
г. Минск
Сообщений: 30


Пример с описанием приложен

И еще, как-то странно себя ведет команда "BreakRemove". Удаляет не только выделенный сегмент в точках пересечения объекта, но и за пересечением. Может быть так и надо, но хотелось бы только сегмент в пределах точек пересечений.
Вложения
Тип файла: rar Primer.rar (199.4 Кб, 97 просмотров)

Последний раз редактировалось Inventor_S, 28.03.2013 в 17:49.
Inventor_S вне форума  
 
Непрочитано 08.04.2013, 09:11
#77
NVFk

Конструктор
 
Регистрация: 23.03.2011
Москва
Сообщений: 43


А есть ли решения для разрыва объектов в 3d?: дело в том, что зачастую приходится разрывать геодезию, выполненную в 3d, плоскостью. Стандартная команда помогает (отрезки разрываются на проекции пересечения), но это очень долго. возможно ли изменить настройки lispa?
__________________
Если долго мучаться, то всегда получится:i-m_so_happy:
NVFk вне форума  
 
Непрочитано 23.08.2013, 10:10
#78
Inventor_S

конструктор
 
Регистрация: 04.06.2010
г. Минск
Сообщений: 30


Почти пол года прошло, а обновления нету ... В автокаде 2014 аналогичная ситуация, многие функции не работают .... жаль.
Inventor_S вне форума  
 
Непрочитано 23.08.2013, 14:32
#79
Кулик Алексей aka kpblc
Moderator

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


Какие "многие"? Конкретнее, конкретнее!
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 23.08.2013, 14:38
#80
Inventor_S

конструктор
 
Регистрация: 04.06.2010
г. Минск
Сообщений: 30


выше все описано с примером
Inventor_S вне форума  
Ответ
Вернуться   Форум 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