|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Lisp определить цвет выбранного объекта (отрезок, полилиния)
Регистрация: 27.04.2014
Сообщений: 7
|
||
Просмотров: 2882
|
|
||||
ОПС Регистрация: 29.03.2012
Kazakhstan
Сообщений: 128
|
Ощущение такое, что Вы и не пробовали исправить
![]() Када нет, но как то так: (setq pt12 (car (entsel "Выбрать линию:")) en0 (cdr (assoc 62 (entget pt12))) ) или (vla-get-color (vlax-ename->vla-object (car (entsel "\nВыбрать линию...")))) Последний раз редактировалось roaa, 25.12.2014 в 08:57. |
|||
![]() |
|
||||
Регистрация: 27.04.2014
Сообщений: 7
|
Большое спасибо, буду пробовать.
P.S. вы бы знали сколько я времени убил пытаясь это написать. Лисп изучаю вторую неделю, большие проблемы с синтаксисом. vla мне сейчас не осилить ![]() Прочитал что (command "_pLine" pt1 pt2 ""); выполняется асинхронно в лиспе как можно по другому написать, если это возможно? пытаюсь написать лисп по замене части отрезка пунткироной линией вот полный код моего произведения собранного из других кодов на форуме: Код:
|
|||
![]() |
|
||||
Регистрация: 27.04.2014
Сообщений: 7
|
спасибо буду изучать код.
(setq en0 (cdr (assoc 62 (entget (car pt12))))) строка присваевает en0 значение, как число (en0=20) а строка (setvar "cecolor" en0) требует, насколько я понял, чтобы оно было как текст (en0="20") вот как доставить эти кавычки или преобразовать число в текст я не нашел. пробовал (strcat (chr 34) en0 (chr 34)). не получилось в vba есть функция cstr() в лиспе я её не нашел ![]() не смог понять: (while (setq lpoint (_sensor_trim_2_line)) (command "_.pLine" (car lpoint)(cadr lpoint) "") какое условие проверят while (он проверяет lpoint что оно не nil?) (_sensor_trim_2_line) возвращает значение координат двух точек, а куда девалось значение ent (оно вроде должно тоже записываться, причем впереди координат) Последний раз редактировалось Марк_Филипыч, 26.12.2014 в 09:30. Причина: появились вопросы :) |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Цитата:
P.S. Добро пожаловать в тему "Научите лиспу на примере"
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
ОПС Регистрация: 29.03.2012
Kazakhstan
Сообщений: 128
|
Для начала почитайте http://aco.ifmo.ru/~nadinet/html/oth...book/lisp.html
Преобразование целого числа в строковую константу (itoa <целое>) Цитата:
Цитата:
Немного изменил код в предыдущем посте. |
|||
![]() |
|
||||
Регистрация: 27.04.2014
Сообщений: 7
|
Цитата:
(setvar "cecolor" "20") выполняется на ура, а (setvar "cecolor" 20) выдает -->; ошибка: Настройка переменной AutoCAD отвергнута: "cecolor" 20 p.s. там и изучаю, вторая неделя пошла ![]() пытаюсь соеденить две строки (setq en0 (cdr (assoc 62 (entget (car pt12))))) (setvar "cecolor" en0 ) и нефига не получается (хотя en0 получает значение цвета) |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Да, че-то меня переклинило
![]() Сказали уже, как преобразовать строку в число: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разработка ПОС, искусство проектирования | Tyhig | Технология и организация строительства | 117 | 25.11.2021 17:38 |
Линии электрических соединений | Shoorup | Программирование | 23 | 07.02.2015 15:13 |
Ввод в эксплуатацию салона красоты - нужно ли (и в какой форме) согласование с пожарниками ? | drill_man | Прочее. Архитектура и строительство | 4 | 20.09.2013 12:03 |
ZwCAD - экспорт меню в AutoCAD | superkot007 | Другие CAD системы | 4 | 23.05.2010 03:32 |
Как определить принадлежность выбранного объекта к блоку? | kp+ | Программирование | 3 | 19.12.2005 15:47 |