|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Кулик Алексей, как время будет пересмотри в другой вариант по примеру
Код:
Пример на выходе (у1 у1 у2 у2 у3 у3 .... уn уn), где у - углы. Если 2 сигмента то 4 угла и т.д. Спс. ----- добавлено через ~21 ч. ----- Ребята, Пока основной учитель занят, подскажите как получить: Пример (lst (1 2 3 4 5 6...n)), преобразовать в (lst (1 1 2 2 3 3 4 4 ... n n)), ну если кому не трудно. спс.
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. Последний раз редактировалось Pavel_GP, 29.10.2015 в 14:28. |
|||
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
|
|||
|
||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Цитата:
Код:
__________________
Автоматизация должна быть автоматической. |
|||
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Цитата:
получилось вот так Код:
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. |
|||
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Добро!
----- добавлено через ~3 ч. ----- Мне необходимо к каждому элементу списка (+ или -) коэффициент (пример к=pi) Код:
Объединяем в один код Код:
есть список (lst (1 2 3...n)), необходимо получить на выходе (1 2 2 3 3...n) Решение: Код:
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. Последний раз редактировалось Pavel_GP, 30.10.2015 в 13:04. |
|||
|
||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Цитата:
Код:
Код:
__________________
Автоматизация должна быть автоматической. |
|||
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Вопрсик:
Есть список координат (lst ((x1 y1) (x2 y2) (x3 y3) (x4 y4)...(xn yn))), необходимо получить: 1. координаты пересечений между отрезками (01 02 ... 0n), где 01 ((x1 y1) (x2 y2)), 02 ((x3 y3) (x4 y4)), координаты пересечений (x_pt1 y_pt1) и т.д. 2. создать новый список ((x1 y1) (x_pt1 y_pt1) (x_pt2 y_pt2) ... (xn yn)), первый и последний списки координат не изменяются. Благодарствую. ----- добавлено через ~5 мин. ----- Цитата:
----- добавлено через ~6 мин. ----- За оптимизацию спасибо!
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. Последний раз редактировалось Pavel_GP, 30.10.2015 в 15:31. Причина: изменения синего цвета |
|||
|
||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Конечно можно. Просто автор обмолвился, мол (пример к=pi). Вдруг там будет присваиваться другой коэффициент.
Цитата:
Код:
__________________
Автоматизация должна быть автоматической. Последний раз редактировалось ProPeller, 30.10.2015 в 16:01. |
|||
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
pi - это значение коэффициента k (как пример)
----- добавлено через ~2 мин. ----- Спасибо большое , не успеваю проверить убегаю - до понедельника.
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. |
|||
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
ув. ProPeller. Большое спасибо за твой труд.
Немного уточню что я хотел в итоге получить, и чтоб ты смог поправить свое решение если не трудно: 1. Цитата:
2. Пример: Если полилиния состоит трех сегментов то итог : ((x1 y1) (xpt1 ypt1) (xpt2 ypt2) (xn yn)), где xpt1 ypt1 - координаты первой точки пересечения 2-х сегментов (01 и 02), xpt2 ypt2 - ... (02 и 03), а x1 y1 - координата точки первого сегмента, xn yn - координата точки последнего сегмента. Спс. ----- добавлено через ~1 ч. ----- 3. Если один сегмент, то Код:
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. Последний раз редактировалось Pavel_GP, 02.11.2015 в 12:38. |
|||
|
||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Мне-то не трудно, но проще один раз изложить все доступно и с желаемым результатом, чем каждый последующий раз просить доработать код. Мы тут с этими пересечениями уже целую страницу форума накатали.
Короче, мой код отсюда высчитывал координаты пересечений между отрезками 1 - 2, 3 - 4, 5 - 6 и т.д. Насколько я понял из последнего поста, нужно сделать 1 - 2, 2 - 3, 3 - 4 и т.д., тогда код будет таким. Код:
__________________
Автоматизация должна быть автоматической. Последний раз редактировалось ProPeller, 02.11.2015 в 14:49. |
|||
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Что-то нето...
С твоего позволения добавил скобку (append (list (car lst)) (PPT:2D->StEnd lst) (list (last lst)) ) Пример: lst ((3.72449e+006 3.00249e+006) (3.72356e+006 3.00125e+006) (3.72355e+006 3.00131e+006) (3.72475e+006 3.00041e+006) (3.72476e+006 3.00035e+006) (3.72313e+006 2.99882e+006)) на выходе получаем: ((3.72449e+006 3.00249e+006) (3.72313e+006 2.99882e+006)), должно быть четыре точки, а тут две начало и конец
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. |
|||
|
||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Цитата:
Код:
__________________
Автоматизация должна быть автоматической. |
|||
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Спс. Большое. Всё работает!
Есть решение моего вопроса, мы все кто смог помочь его решили Код:
Это аналог функции оффсет только для моих условий. Что можешь посоветовать по решению такой вот проблемки: Когда я выбираю сторону отложения новой полилинии мне приходится прописать ряд функций (начиная со строки (setq ugol1...), на мой взгляд это не правильно мне кажеться что-то должно быть чтоб автокад понимал где право а где лево. Код:
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. |
|||
|
||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Рекомендую описание функции PPT:2D->StEnd переместить из цикла по списку (foreach), например в начало описания программы, где у тебя комментарий ;;; Вспомогательные функции, иначе функция будет переопределяться столько раз, сколько элементов у тебя будет в списке.
Не очень понятно, что у тебя и откуда. Нужно рассматривать на реальном примере. Что касается твоего примера, то тут нужна оптимизация и что-то мне подсказывает, что есть некторое количество неучтённых вариантов определения сторонности которые приведут к ошибке. Если мы на сто процентов уверены, что существует только лишь два варианта k, то я бы начал с этого, а потом стал бы думать дальше. Код:
__________________
Автоматизация должна быть автоматической. Последний раз редактировалось ProPeller, 02.11.2015 в 16:26. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |