| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Регистрация: 24.03.2011
Сообщений: 12
|
Простите не понял вопроса...
----- добавлено через ~37 мин. ----- Ура! Заработало! Все дело оказалось в системной переменной ATTREQ. Сегодня перевел ее в "1" и все получилось. Только не понятно почему у меня вчера не получалось, я ведь ее менял. Вчера при ATTREQ="1" выскакивало окошко заполнения динамического блока вручную.... Видимо вчера я в процессе экспериментов изменил еще какую-то системную переменную... Вот бы узнать какую))).... |
|||
|
||||
Регистрация: 03.12.2009
Сообщений: 84
|
Доброго дня!
Хочу создать набор примитивов (текстов), в который входили бы только тексты-числа (REAL и INT). Что то голову сломал, с какой стороны подойти. Подскажите. Через (vl-string->list (cdr (assoc 1 (entget (car (entsel)))))) получаю список кодов символов текста Знаю, что точка и цифры 0-9 имеют коды (46 48 49 50 51 52 53 54 55 56 57) Теперь вроде надо сравнить список кодов выбранного текста на наличие в нем кодов, не являющихся кодами точки и цифр, и вот тут что то у меня затык с исполнением. Какую функцию применить и что сделать со списком, чтобы отсеять все примитивы (тексты), в которых присутствуют любые символы, кроме точки и цифр. Может есть какой то более элегантный способ выбрать тексты-числа? |
|||
|
||||
не элегантно
Код:
Последний раз редактировалось koMon, 03.09.2021 в 08:59. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Если однострочные тексты не содержат букв и начинаются с чисел (возможно, пробелов) - то как вариант:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 24.03.2011
Сообщений: 12
|
|
|||
|
||||
Регистрация: 03.12.2009
Сообщений: 84
|
Добрый день!
Хочу построить перпендикулярный отрезок относительно точки на кривой. Используя vlax-curve-getFirstDeriv получаю координаты вектора направленности в системе координат объекта (полилинии в моем случае). В случае для полилинии-прямоугольника размерами 1000*1000 с параметром 0.5 (начальная точка полилинии отстоит от начала координат МСК) выдает (1000.0 0.0 0.0) Пытаюсь преобразовать эти координаты в МСК, и не получается, функция на запрос (trans (vlax-curve-getFirstDeriv (car (entsel)) 0.5) (car (entsel)) 0) выдает тоже, что и (vlax-curve-getFirstDeriv (car (entsel)) 0.5) Что я делаю не так? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Возможно, ОСК и МСК совпадают.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 03.12.2009
Сообщений: 84
|
Все функции vlax-curve-... в случае выдачи результата в виде точки выдают их в МСК.
Исключением является vlax-curve-getFirstDeriv. Координаты вектора направленности выдаются в СКО. Как эти координаты преобразовать в МСК? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 03.12.2009
Сообщений: 84
|
vlax-curve-getFirstDeriv
Returns the first derivative (in WCS) of a curve at the specified location Возвращает первую производную (в WCS) кривой в указанном местоположении, т.е. в МСК Чудеса. Рисую прямоугольник 1000*1000 в произвольном месте - далеко от начала координат МСК На всякий случай запрашиваю координаты начальной точки "кривой" в МСК (vlax-curve-getStartPoint (car (entsel))) Получаю нечто подобное (9685.63 6276.53 0.0) Теперь запрашиваю (vlax-curve-getFirstDeriv (car (entsel)) 0.5) И получаю результат (1000.0 0.0 0.0), т.е. координаты явно не в МСК. Это глюк автокада? Кому не лень, попробуйте у себя пожалуйста проделать эти пару действий. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
first deriv = первая производная от кривой в указанной точке. Вектор.
(vlax-curve-getPointAtParam (car (entsel)) 0.5) что вернет?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
|
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Где эта точка будет лежать? Скорее всего, на нижней горзонтальной грани прямоугольника. Вот вектор касательной и показывает направление Х
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Какая система координат для значений векторов??
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 03.12.2009
Сообщений: 84
|
Параметр 0.5 говорит о том, что лежать она будет ровно посередине между нулевой и первой точкой полилинии. Функция vlax-curve-getPointAtParam вернет координаты этой точки в МСК, вот и все. Вектор направленности можно я так понимаю получить лишь функцией vlax-curve-getFirstDeriv
----- добавлено через ~2 мин. ----- А как это определить? Есть какая то системная переменная? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Еще раз. Первая производная - это первая производная. Вектор, а не точка. Трехмерный, поэтому там и три координаты. Получишь вторую производную - что будет?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |