|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Регистрация: 15.01.2010
Сообщений: 254
|
Цитата:
Никаких "подсветов" точек нет. В 2006, по Полещуку, был вроде подсвет, но проверить нет возможности. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,849
|
Проверь длину набора - может, он у тебя пустой получается.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,849
|
Заменить "," на ".". Например, через vl-string-translate
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 19.11.2014
Сообщений: 2,435
|
А нет способа попроще преобразовывать вещественные с разделителем в виде запятой? Может быть какая-то глобальная установка, определяющая разделитель целой и дробной части. А так придется контролировать каждую строчку, которую преобразовываю.
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,849
|
В лиспе разделитель только точка, без вариантов. Потери на преобразование (ИМХО) минимальны.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
Напишите свою функцию преобразования на базе atof с контролем наличие запятой. Зачем однотипный код дублировать
|
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Цитата:
Что значит, "подсветов точек" я не понял. Цель - выделить синими ручками (квадратами) точки в рамке, ограниченной точками pt1 и pt2, или же нужно визуальное отображение рамки выбора? Нужны подробности. Я, помнится, совершенно не контролировал строки на наличие запятой. Просто оборачивал atof в функцию замены символов в строке, и если запятая в строке имелась, она заменялась точкой, если же нет - возвращалась строка без изменений. Правда, не помню, какая это была функция: vl-string-translate или vl-string-subst. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,849
|
Конкретно здесь сработало:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 24.03.2011
Сообщений: 12
|
Спасибо! Только подскажите как получить значение атрибута. Я вижу только название атрибута.
(setq lead (car (entsel))) (setq spis (mapcar (function cdr) (vl-remove-if-not (function (LAMBDA (x) (and (= (car x) 330) (= (cdr (assoc 0 (entget (cdr x)))) "ATTDEF")))) (entget lead)))) (setq att0 (entget (nth 0 spis))) ((-1 . <Имя объекта: -1de948>) (0 . "ATTDEF") (330 . <Имя объекта: -1df060>) (5 . "6948F") (100 . "AcDbEntity") (67 . 0) (8 . "0") (440 . 16777216) (100 . "AcDbText") (10 -0.26929 1.56192 0.0) (40 . 2.5) (1 . "") (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "Standard") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (210 0.0 0.0 1.0) (100 . "AcDbAttributeDefinition") (280 . 0) (3 . "") (2 . "ПРЕПЯТСВИЕ") (70 . 0) (73 . 0) (74 . 0) (280 . 1)) |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,849
|
Достаточно было немного подробнее посмотреть на результаты entget:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 15.01.2010
Сообщений: 254
|
Цитата:
В книге об этом не было сказано, там про "подсвечивание пунктиром примитивов из набора". Тогда проверю в своем коде еще раз. Если чертеж небольшой - проще, наверное, будет сразу весь его выводить в видимую часть экрана - как это сделать, не подскажите? |
|||
|
||||
Привет други.
Вот вам вопрос. Имеется Excel файл с ценами на перечень продукции. Цены периодически меняются, соответственно файл обновляется. Требуется из лиспа заглянуть в Excel файл, найти строку с именем продукта, и для этой строки получить значения ячейки с ценой. Нечто похожее на VLOOKUP, только работаем из лиспа. Это реализуемо? Добавлено. Пример Excel файла прикрепляю. В столбце А наименование продукта. В столбце B цена.
__________________
Блог Последний раз редактировалось Red Nova, 30.09.2019 в 17:53. Причина: Добавил пример |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
|
|||
|
||||
Все верно.
Обновил исходный пост, добавил пример файла с данными.
__________________
Блог |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
все равно же будете открывать эксель и загружать в него файл (программно или вручную). Так пускай эксель и ищет: делаете скрытую строку над таблицей (чтобы не смущать заполняющих таблицу). В ячейку А1 заносите имя продукта, в ячейку B1 формулу: через функции ПОИСКПОЗ находите строку с данных продуктом, а затем через функцию ИНДЕКС подтягиваете значение цены. И все сводится к записи в ячейку А1 имени продукта, и забора значения цены из B1 ячейки (или B2 - какая там нужна). Чтение/запись в ячейку листа экселя на лиспе в инете 100% есть)
|
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Red Nova, вот тут прога от Евгения Елпанова - считывает эксель-файл в список лисп. Выдернуть значение нужной ячейки из списка, думаю, не составит труда. Предполагаю, что с помощью assoc. Правда, код не проверял.
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |