|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
20.10.2006, 15:53 | #1 | |
Расстояние от начала полилинии до опеделенной точки
проектирование дорог
Riga
Регистрация: 18.10.2006
Сообщений: 25
|
||
Просмотров: 18457
|
|
||||
Регистрация: 14.03.2006
Сообщений: 863
|
это вам в соседнюю ветку, где про среднюю линию, непосредственно к господам VVA и Лентяй, ибо в строках ихних прог видятся мне ростки решения
единственно уточните, что для вас является началом полилинии - точка с которой вы начинали построение этой самой полилинии или, в общем случае, одна из двух точек которые, если они в паре традиционно называют концами линии поли-ли или непили-ли |
|||
|
||||
геологоразведка, строительство Регистрация: 14.10.2003
Магадан
Сообщений: 311
|
>> VVA
Для достаточно больших координат объектов в WSC, например: X=22685606.13397148 Y=5431154.563627330 Z=0.0000000000 Наблюдается следующая картина: 1. для линий и 2d и 3d полилиний Acad иногда не может найти параметры, особенно это проявляется в UCS, и соответственно программа вываливаетя. 2. сглаженные 2d и 3d полилинии дают меньше ошибок. 3. если координаты близки к 0,0.0 все работае как часы.
__________________
Лень - великий двигатель прогресса! |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
> KAI
Когда здесь мы пытались заставить PL-DIV работать в UCS, то там глючила vlax-curve-getDistAtPoint. Пямятуя об этом в DST использовал vlax-curve-getDistAtParam. Мыслей никаких. Пришли почтой рисунок, посмотрю, что вылетает. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Сбоила vlax-curve-getParamAtPoint, причем на каком-то участке возвращает параметр, на на каком-то нет
Пока выход нашел такой: line ,3d polyline, 2d и LW polyline не сглаженные и без дуговых сегментов обрабатываю по правилам геометрии (принадлежность точки прямой). Код:
Последний раз редактировалось VVA, 19.09.2015 в 21:09. |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Не смог разобраться, какая переменная из #9 хранит в себе значение длины полилинии от начала до указанной точки (указанная точка в данном случае хранится в переменной a)? Мне нужно создавать мультивыноску, содержащую имя слоя, на котором расположена полилиния и длину. Как выяснить имя слоя? Есть мысль проверять принадлежность точки полилинии и затем запрашивать имя ее слоя. Или можно проще?
Код:
|
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
(vla-get-layer crv) Обновленный вариант команды DST Чертит текущим стилем мультивыноски Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 19.09.2015 в 21:11. Причина: Добавлена ссылка |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
VVA, а можно отдельно фрагмент этого кода, который просто спросит точку на кривой, а затем выдаст переменную со значением длины, чтоб я мог использовать этот фрагмент в своем коде #10? Плюс если можно, фрагмент, который даст мне переменную с именем слоя выбранной полилинии. Вообще, можно ли так смешивать командный метод с vl?
Странно....не смог найти переменную dsl Последний раз редактировалось skkkk, 06.12.2010 в 19:14. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Спасибо, VVA, то, что надо. Осталось три вопроса(пока):
1) Как сделать разделителем в (rtos (car tmp) 2 3) запятую? 2) Как из названия слоя (cadr tmp) отсечь первые n символов? Offtop: 3) Какая функция (если она есть) округляет число до целого меньшего |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
1) (vl-string-subst "," "." (rtos (car tmp) 2 3))
2) substr 3) fix
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||