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

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

нужен LISP для округления координат.

Ответ
Поиск в этой теме
Непрочитано 06.06.2005, 18:14 #1
нужен LISP для округления координат.
X-DeViL
 
Бизнес-шмизнес
 
Питер
Регистрация: 26.05.2004
Сообщений: 1,911

Сабж... нужен лисп который будет округлять до N-го знака после запятой координаты вершин линий... полилиний...
но... не все так просто...

необходимо чтобы они не только округлялись... но еще и была проверка на вертикальность/горизонтальность... после округления....
Просмотров: 3950
 
Непрочитано 06.06.2005, 18:30
#2
fixo

Lisp/VBA/VB.NET Hobbyist
 
Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367


Наверно длинновато будет:

; Округление до знака

(defun fixed (n m)
(cond ((<= (- (* 1. (fix (* (- n (fix n))(expt 10. (1+ m)))))
(* 10. (fix (* (- n (fix n))(expt 10. m))))) 5.)
(+ (fix n)(/ (fix (* (- n (fix n))(expt 10. m)))(expt 10. m))))
(T (+ (+ (fix n)(/ (fix (* (- n (fix n))(expt 10. m)))(expt 10. m)))
(/ 1. (expt 10. m))))))

;;;(fixed 8.5625897 4)

А координаты можно через mapcar (.....
fixo вне форума  
 
Автор темы   Непрочитано 06.06.2005, 20:24
#3
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Приписка...

Координаты selected линий
X-DeViL вне форума  
 
Непрочитано 06.06.2005, 20:38
#4
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Пока что невидно четкой постановки задачи. Я так понял что тебе нужно перерисовывать линии и полилинии с округлёнными до определённого знака координатами. Так? Что то подобное я уже на этом форуме писал, правда только для линий и значение координат округлялись до целого. Вот насчет проверки на вертикальность и горизонтальность надо ещё выяснить поподробнее. Я так понимаю что если линия невертикальна/негоризонтальна в пределах определённого допуска то после обработки таким лиспом она должна становится вертикальной/горизонтальной. Или по крайней мере лисп должен отмечать подобные "спорные" линии к примеру отрисовкой по верху красной линией и потом поочередно предлагать пользователю принять решение - оставить так/перерисовать сделав выравнивание координат.

Это вообще для чего нужно? Какие то чертежи полученные после векторизации?
{Smirnoff} вне форума  
 
Автор темы   Непрочитано 06.06.2005, 20:46
#5
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Ты все правильно понял...

Все это нужно для сборки расчетной схемы в каде...

1. Округление координат - ибо нафик мне тысячные миллилитра? которые невозможно все отследить (не все архитекторы пряморуки)
2. Проверка вертикальности - для того чтобы если после округления одна вершина округлилась в одну сторону... а другая в другую... то линия будет не вертикальна... а мне нужно чтобы те линии которые я хочу были округленные и... вертикальные...

Чо-то я непонятно наверное написал хотя горизонтальность не обязательна

И еще вопрос... можно ли "выделить только вершины... и приравнять их кординаты к N? это было бы вообще здорово...
X-DeViL вне форума  
 
Непрочитано 06.06.2005, 20:57
#6
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Чего нибудь попробую соорудить... Не обещаю что сегодня.
{Smirnoff} вне форума  
 
Автор темы   Непрочитано 06.06.2005, 21:01
#7
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


А я и не прошу сегодня... как сможешь.. пока не горит...
X-DeViL вне форума  
 
Непрочитано 17.06.2005, 20:52
#8
vx

свободный художник (freelancer)
 
Регистрация: 24.04.2005
Сообщений: 58


есть CoordinatesPrecision команда в http://www.kitox.com/downloads/kitox-toolset.zip
vx вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > нужен LISP для округления координат.

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

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