|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Округление координат
САПР
СПб
Регистрация: 29.09.2011
Сообщений: 283
|
||
Просмотров: 3292
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Они не округляются, а показываются округленными.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
и извлекает он их и пишет в файл тоже округленными:
Код:
----- добавлено через ~18 ч. ----- Способ перевода числа в строку и запись ее princ действенный, но кривой, по-моему. И все равно остается вопрос, почему при отображении числа округляется до 2го знака, а не, скажем до 4го. |
|||
![]() |
|
||||
Регистрация: 06.10.2007
Москва
Сообщений: 132
|
Прочитал, текст программы не понял, но заинтересовался: а у меня какой LUPREC.
Оказалось 0! С ужасом нарисовал полилинию, далее привожу текстовый экран автокада (скопированный через буфер обмена): Команда: (entget(entlast)) ((-1 . <Имя объекта: 7eb54ac8>) (0 . "LWPOLYLINE") (330 . <Имя объекта: 7eb51d18>) (5 . "15971") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "00") (62 . 9) (6 . "Continuous") (100 . "AcDbPolyline") (90 . 4) (70 . 0) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 12191.4 16773.5) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 13226.9 18981.7) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 13710.1 17532.6) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 14710.2 17532.6) (40 . 0.0) (41 . 0.0) (42 . 0.0) (210 0.0 0.0 1.0)) Все-таки 1 знак после запятой присутствует! Команда: (rtos(car(cdr(assoc 10(entget(entlast)))))2 12) "12191.35465320537" - в вычислениях участвует истинное значение Замена значения LUPREC на 8 ситуацию не изменила. Потом перечитал определение LUPREC - количество дробных знаков при выводе линейных единиц и проверил на линейных величинах: Команда: luprec Новое значение LUPREC <8>: 0 Команда: _dist Первая точка: Вторая точка: 1.56789 Расстояние = 2, Угол в плоскости XY = 354, Угол от плоскости XY = 0 Дельта X = 2, Дельта Y = 0, Дельта Z = 0 Команда: _distance DISTANCE = 2 (только чтение) Команда: (rtos(getvar"distance")2 8) "1.56789000" Мораль LUPREC точек (чисел в списках) никак ни касается, касается только чисел, при этом речь только об их представлении на экране, в вычислениях и логических операциях фигурируют реальные значения. Что и следовало ожидать. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Округление координат кратно значению | baaba | Готовые программы | 46 | 25.04.2025 00:35 |
Округление координат, полилиний, центров окружностей, блоков | MA2 | Программирование | 44 | 15.01.2015 15:19 |
округление подписей координат в атрибутах блока | АлексЮстасу | AutoCAD | 4 | 19.07.2010 13:35 |
Помощь по Лире | Серега М | Лира / Лира-САПР | 52 | 28.05.2007 02:47 |