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

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

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

Ответ
Поиск в этой теме
Непрочитано 19.03.2008, 14:32 5 | 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
 
Непрочитано 31.12.2019, 16:46
#101
skkkk


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


modest-bp, в начало кода нужно вставить строку
Код:
skkkk вне форума  
 
Непрочитано 31.12.2019, 17:16
#102
modest-bp


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


Цитата:
Сообщение от skkkk Посмотреть сообщение
modest-bp, в начало кода нужно вставить строку
Код:
Посмотрел в LISP, вижу, что там уже есть эта строка (правда, не в самом начале, а после строки с defun ). Процитирую вместе со строками комментариев из лиспа, чтобы было более понятно, где именно она у меня прописана:

Код:
[Выделить все]
;;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;;               M A I N   S U B R O U T I N E                   
;;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

(defun break_with (ss2brk ss2brkwith self Gap / cmd intpts lst masterlist ss ssobjs
                   onlockedlayer ssget->vla-list list->3pair GetNewEntities oc
                   get_interpts break_obj GetLastEnt LastEntInDatabase ss2brkwithList
                  )
  ;; ss2brk     selection set to break
  ;; ss2brkwith selection set to use as break points
  ;; self       when true will allow an object to break itself
  ;;            note that plined will break at each vertex
  ;;
  ;; return list of enames of new objects
  
  (vl-load-com)
  
  (princ "\nCalculating Break Points, Please Wait.\n")

;;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;;                S U B   F U N C T I O N S                      
;;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Upd.: Простой перенос строки в самое начало кода не помог (((

Последний раз редактировалось modest-bp, 31.12.2019 в 17:22.
modest-bp вне форума  
 
Автор темы   Непрочитано 03.01.2020, 22:58
1 | #103
VVA

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


На странице автора добавилась версия 23. По описанию - совместима с BricsCad. Добавил в #1
Цитата:
Сообщение от modest-bp Посмотреть сообщение
(error: no function definition: VLAX-ENAME->VLA-OBJECT)
При наличии (vl-load-com) есть сомнения в корректности установки Автокада. Выложи файл, в котором не работает, проверю на работе в 2019
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 03.01.2020, 23:19
#104
modest-bp


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


Цитата:
Сообщение от VVA Посмотреть сообщение
Выложи файл, в котором не работает, проверю на работе в 2019
Так это тот ж тот же BreakObjects22a.LSP из #1

----- добавлено через ~16 мин. -----
Цитата:
Сообщение от VVA Посмотреть сообщение
На странице автора добавилась версия 23. По описанию - совместима с BricsCad. Добавил в #1
23-я версия тоже у меня на 2019 не пошла. Та же самая проблема "no function definition: VLAX-ENAME->VLA-OBJECT" несмотря на наличие в коде (vl-load-com)

При этом скрипт GeomProps (.arx) работает у меня, вроде бы, корректно. А он выглядит более сложным, чем Break Objects... Но я в коде всё равно ничего не понимаю )

Последний раз редактировалось modest-bp, 03.01.2020 в 23:37.
modest-bp вне форума  
 
Автор темы   Непрочитано 04.01.2020, 18:44
1 | #105
VVA

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


Цитата:
Сообщение от modest-bp Посмотреть сообщение
Та же самая проблема "no function definition: VLAX-ENAME->VLA-OBJECT" несмотря на наличие в коде (vl-load-com)
Значит

Цитата:
Сообщение от VVA Посмотреть сообщение
При наличии (vl-load-com) есть сомнения в корректности установки Автокада.
На моем рабочем компьютере в 2019 Автокаде BreakObjects работает

Цитата:
Сообщение от modest-bp Посмотреть сообщение
ри этом скрипт GeomProps (.arx) работает у меня, вроде бы, корректно.
arx файлы это совсем другая опера
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.01.2020, 00:33
#106
modest-bp


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


Цитата:
Сообщение от VVA Посмотреть сообщение
Значит


На моем рабочем компьютере в 2019 Автокаде BreakObjects работает


arx файлы это совсем другая опера
А вот это уже - очень плохой звоночек ((((
Вроде бы, при установке автокада проблем никаких не возникало... Достаточно заменить какой-то из файлов в уже установленном автокаде на корректный, или непременно надо переустанавливать? Видимо, сборку тогда надо ставить другую. Вряд ли эта же сборка при повторной переустановке даст какие-то другие результаты (((

----- добавлено через ~51 мин. -----
Ура! Разобрался!
Похоже, после чистки реестра ряд ключей, содержащих путь к файлу vl16.tlb - потерялись.
Всё заработало после того, как восстановил их согласно описанному здесь: https://forums.autodesk.com/t5/visua...395837#M376883
modest-bp вне форума  
 
Автор темы   Непрочитано 07.01.2020, 11:00
#107
VVA

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


Цитата:
Сообщение от modest-bp Посмотреть сообщение
Похоже, после чистки реестра ряд ключей,
Заканчивай с чисткой реестра, иначе проблемы с Автокадом обеспечены
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.02.2022, 17:00
#108
koui


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


есть свежая версия лиспа? эта версия хоть и работает, но приходится выбирать объекты по одному
koui вне форума  
 
Автор темы   Непрочитано 13.02.2022, 11:50
#109
VVA

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


koui, Версия 23 последняя. А чем
Цитата:
BreakAll - Разрывает выбранные объекты на пересечениях друг с другом
не устраивает?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 24.02.2022, 22:02
#110
koui


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


Цитата:
Сообщение от VVA Посмотреть сообщение
koui, Версия 23 последняя. А чем не устраивает?
Выбираю объекты (их сотни, выбираю командой "Выбрать подобное"), набираю BREAKALL, gap=0 и... Выберете объекты???? Автокад 2021
конечно, через изоляцию объектов можно, но...

Последний раз редактировалось koui, 24.02.2022 в 22:23.
koui вне форума  
 
Непрочитано 25.02.2022, 07:33
#111
RNB

Проектирование мостов
 
Регистрация: 29.01.2014
Новосибирск
Сообщений: 433


Цитата:
Сообщение от koui Посмотреть сообщение
Выбираю объекты (их сотни, выбираю командой "Выбрать подобное"), набираю BREAKALL, gap=0 и... Выберете объекты???? Автокад 2021
конечно, через изоляцию объектов можно, но...
А еще можно "т" (текущий) - Энтер
RNB вне форума  
Ответ
Вернуться   Форум 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