|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
22.09.2021, 11:13 | #1 | |
Как определить самопересечение кривых ?
Регистрация: 22.04.2004
Сообщений: 269
|
||
Просмотров: 1467
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Попробуй vla-intersectwith, оба параметра - указатель на одну и ту же кривую. Из результатов исключишь вершины - и посмотри, что получится.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 22.04.2004
Сообщений: 269
|
(setq
bb (vlax-ename->vla-object (car (entsel))) dd (vlax-safearray->list (vlax-variant-value (vla-intersectWith bb bb acExtendNone))) ) 123.dwg на сплайне выдает ошибку "; ошибка: ActiveX Server возвратил ошибку: Неверный индекс" |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Значит нет самопересечений. Попробуй https://forum.dwg.ru/showthread.php?...EF%E8%F1%EE%EA
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
У меня самопересекающийся сплайн выдал:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 22.04.2004
Сообщений: 269
|
Самопересечение полилинии.dwg
В моем примере (123.dwg) самопересекающаяся - только 2D-полилиния.... Последний раз редактировалось kserg, 22.09.2021 в 14:03. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Тут лично я мимо. В задаче не пересечение, а частичное наложение сегментов. Совершенно другая задача.
Чисто теоретически решить можно: на основании вершин сегмента получить вектор, сравнить его с другими на коллинеарность, построить новые контуры... Но мозгов на эту математику у меня не хватает.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 20.04.2011
Сообщений: 402
|
Цитата:
|
|||
|
||||
Регистрация: 22.04.2004
Сообщений: 269
|
На странице
https://www.cadtutor.net/forum/topic...egion-problem/ нашел интересные варианты, которые, думаю, могли бы хотя бы косвенно, отлавливать самопересекающиеся объекты. Подскажите пожалуйста, возможно ли в код (в конце страницы), приведенный Lee Mac Код:
Спасибо (сам я с Activex - не очень....). ----- добавлено через ~5 ч. ----- Не очень хотелось командным способом решать проблему, но применение конструкции, включающей (vl-cmdf "_.REGION" (car (entsel)) "") на самопересекающихся объектах, позволяет продолжать работу (лиспа), а метод "addregion" прерывает аварийно работу lisp-конструкции с выдачей "; ошибка: AutoCAD.Application: Неверный ввод". Значит (vl-cmdf "_.REGION" (car (entsel)) "").... Последний раз редактировалось kserg, 23.09.2021 в 09:35. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как определить скорость ветра по СП 20.13330? | карлсонъетка | Конструкции зданий и сооружений | 67 | 12.02.2019 11:03 |
Civil 3D 2013-14. Неточное отображение экстремум вертикальных кривых на продольном профиле | Ivo25 | Вертикальные решения на базе AutoCAD | 6 | 10.09.2013 14:15 |
помогите определить состояние здания по результатам обследования | myp3uk | Обследование зданий и сооружений | 2 | 30.12.2012 01:44 |
Как определить соответствует ТУ требованиям нормативных документов | Aragorn | Прочее. Архитектура и строительство | 1 | 09.06.2012 21:28 |