|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
14.02.2016, 20:17 | #1 | |
Как получить точное значение InsertionPoint мультитекста с помощью Lisp?
Регистрация: 28.06.2008
Сообщений: 16
|
||
Просмотров: 2622
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Не путай точное значение и отображаемое значение. Поменяй, например, luprec, или используй функцию rtos с максимальной точностью - посмотришь на результаты.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 28.06.2008
Сообщений: 16
|
Спасибо
----- добавлено через ~15 мин. ----- Но, все равно осталась небольшая неясность . Применил rtos с округлением до 4 знаков. Все четко: появилось строковое значение с четырьмя знаками после запятой. Так, как мне нужно в итоге получить вещественное число, а не строку, то я следом применяю функцию atof... и эта функция снова делает округленное вещественное число с одним нулем после запятой, т.е. округленное до целого вещественное число. Проверяю переменную lucrec, ее значение 4. Какая еще переменная влияет на перевод строкового представления числа в вещественное? Пример: (atof (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-InsertionPoint x)) 1) 2 4)) |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Еще раз: отображается 10.5, а по факту там 10.456989899965656. В памяти хранится именно второе значение, используется именно второе значение.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 28.06.2008
Сообщений: 16
|
Да, но я из этих значений, которые отображаются округленными, формирую лист, а затем вставляю в функцию SelectAtPoint в качестве аргумента - точки, в соответствии с которой я выбираю примитивы-точки с такими координатами. И эта функция точки не находит. А если я вместо округленных значений вставляю в качестве аргумента точные координаты, то точки находятся.
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
А каким боком тут Layout? И SelectAtPoint, насколько я помню, требует наличия выбираемой точки на видимой области экрана.
P.S. Вообще говоря, я не очень понимаю сути проблемы: выбраны точки, выбраны MText, получены указатели на все объекты. Дальше можно вообще без интерактивности обойтись.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 28.06.2008
Сообщений: 16
|
Layout здесь ни при чем. Я в сообщении пишу: "формирую лист", имея ввиду список (List) точек. Суть проблемы в следующем: имеется множество точек - примитивов AutoCAD и каждой точке соответствует мультитекст, точка вставки которого, совпадает с точкой-примитивом. Текст вставлялся программно, и за точку вставки и были приняты координаты точки-примитива. Мультитекст содержит информацию о точке: порядковый номер, высоту и код. Например группа точек содержит код "(pv)" Нужно выбрать все точки, подписи к которым в своем содержании содержат "(pv)". Я выбираю текст который удовлетворяет таким условиям, считываю с каждого примитива текста его точку вставки и формирую из этих точек список, элементы которого, затем служат поочередно аргументами функции SelectAtPoint. И таким образом я выберу все точки к которым относится мультитекст, содержащий символы "(pv)".
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Без проверки:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Создание поля (field), ссылающегося на текстовое значение ячейки таблицы. | skkkk | Готовые программы | 141 | 24.11.2023 15:49 |
Разработка ПОС, искусство проектирования | Tyhig | Технология и организация строительства | 117 | 25.11.2021 17:38 |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
Проблемы с расчетом Ж/Б каркаса в ANSYS | derik | ANSYS | 457 | 04.07.2017 16:16 |
Lisp/ActiveX. Как получить значение элемента безопасного массива? | Kirill_Ja | LISP | 1 | 15.08.2013 12:28 |