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

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

Как создать замкнутую полилинию

Ответ
Поиск в этой теме
Непрочитано 31.07.2022, 15:49 #1
Как создать замкнутую полилинию
Olegrabbeat
 
Регистрация: 07.10.2021
Сообщений: 6

Добрый день, прошу вашего совета вот в чем:
Имеется контур из отрезков, дуг и полилиния из этого всего необходимо создать замкнутую полилиния.
При использовании стандартной команды "соединить" почему-то из этого всего выходит один сплайн. При использовании стандартной команды преобразовать сплайн в полилиния на выходе получаем полилиния с огромным количеством лишних вершин-это не годится, если задать точность поменьше то границы контура сбиваются и теряются необходимые скругление.
Сам вопрос:как можно из множества мелких объектов создать одну замкнутую полилиния с минимальным количеством вершин и сохранением скругленний в виде "дуги"?
Нашул на форуме пару lisp-ов по преобразования сплайн в полилиния, но часть из них не рабочие а остальные фактически тоже самое что и стандартная команда автокада "преобразовать сплайн в полилиния"
Заранее спасибо, и прошу прощения за, возможно, глупый вопрос
Просмотров: 2071
 
Непрочитано 31.07.2022, 19:37
#2
Кулик Алексей aka kpblc
Moderator

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


Прежде всего проверь, лежат ли объекты в одной плоскости. И является ли эта плоскость текущей.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 31.07.2022, 21:40
#3
Olegrabbeat


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Прежде всего проверь, лежат ли объекты в одной плоскости. И является ли эта плоскость текущей.
В одной плоскости-да
Я прошу прощения, а каким образом проверить текущую плоскость?
Olegrabbeat вне форума  
 
Непрочитано 31.07.2022, 22:24
#4
Кулик Алексей aka kpblc
Moderator

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


Дуги и полилинии - (cdr(assoc 210 (enget (car (entsel))))), с отрезками сложнее - там 210 группа фактически игнорится, надо смотреть на координаты Z для 10 и 11 групп.
А так - я бы выставил ПСК по первому объекту, далее _.plan _c, и по шагам - flatten.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.08.2022, 08:06
1 | #5
name02


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


Попробуй набор PL_Tools, в нем много очень полезных лиспов для работы с полилиниями. В том числе есть объединение отрезков в полилинию
https://dwg.ru/dnl/607
name02 вне форума  
 
Автор темы   Непрочитано 01.08.2022, 12:59
#6
Olegrabbeat


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Дуги и полилинии - (cdr(assoc 210 (enget (car (entsel))))), с отрезками сложнее - там 210 группа фактически игнорится, надо смотреть на координаты Z для 10 и 11 групп.
А так - я бы выставил ПСК по первому объекту, далее _.plan _c, и по шагам - flatten.
А можно немного по подробнее?я ещё не дорос до такого уровня чтобы общаться на программном языке)
Не могли бы вы объяснить что значит plan_c и flatten?
Olegrabbeat вне форума  
 
Непрочитано 01.08.2022, 13:08
#7
Кулик Алексей aka kpblc
Moderator

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


Это обычные команды AutoCAD'a
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 01.08.2022, 17:57
#8
Olegrabbeat


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Это обычные команды AutoCAD'a
Да, спасибо, с командами разобрался.
Подскажите пожалуйста, что это за код? Как его юзать? никогда ранее с программированием не сталкивался...
"(cdr(assoc 210 (enget (car (entsel)))))"
Olegrabbeat вне форума  
 
Непрочитано 01.08.2022, 18:56
#9
Кулик Алексей aka kpblc
Moderator

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


Ну, на форуме есть спец.тема для обучения лиспу: https://forum.dwg.ru/showthread.php?t=22894
Также можно найти и "САПР на базе AutoCAD - как это делается" - опять же, на форуме. Вроде бы (по отзывам) весьма неплохой скан.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 04.08.2022, 09:50
#10
Olegrabbeat


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Ну, на форуме есть спец.тема для обучения лиспу: https://forum.dwg.ru/showthread.php?t=22894
Также можно найти и "САПР на базе AutoCAD - как это делается" - опять же, на форуме. Вроде бы (по отзывам) весьма неплохой скан.
Спасибо
Olegrabbeat вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как создать замкнутую полилинию

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать Отрезок (Полилинию) через autocad.net используя полярную систему координат? kurstep .NET 3 22.08.2019 11:53
Как создать вид в пространстве листа из 3D модели Айдар_ AutoCAD 2 21.05.2018 10:04
Как создать монолитные ступенчатые фундаменты в Tekla 2016? ALEX-LCL Tekla 10 29.12.2017 15:21
Civil 3d 2015 RUS. Как создать стиль метки (ордината) колодца на виде профиля? dima_25 Вертикальные решения на базе AutoCAD 5 07.05.2017 10:17
Как имея массив точек создать полилинию по ним? emilko AutoCAD 9 19.06.2009 23:15