|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Spline (отрисовка из файла)
Электромонтаж-проект
Москва
Регистрация: 29.06.2007
Сообщений: 24
|
||
Просмотров: 3624
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
А полностью задачу и образец файла, из которого выполняется чтение данных?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Электромонтаж-проект Регистрация: 29.06.2007
Москва
Сообщений: 24
|
файл тхт, содержит одну колонку значений, которые суть коодината Y, через равные промежутки по Х вычисляются точки для отрисовки
Нужно отрисовать SPLINE по данным из этого файла, но что-то через WHILE это не крутится ПРИМЕР тхт: 2.5 3.4 2.3 4.3 и т.д. Извините что не могу выслать сам файл, он далеко... я кое что посмотрел на форуме по этой теме, разбираюсь... а сейчас мучаюсь вот каким вопросом, корректно ли так передавать значения (1 2.5 0) как я делал в функцию SPLINE или автоматом его не отрисовать
__________________
Нимиц должен лежать на дне |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Электромонтаж-проект Регистрация: 29.06.2007
Москва
Сообщений: 24
|
Спасибо Алексей!
Мощно, но малопоятно ![]() Спасибо за мастер класс!
__________________
Нимиц должен лежать на дне |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
"Мощно" было бы, если б я делал через ActiveX (руки, правду говоря, чесались). А так-то в коде ничего сверхъестественного нет: сначала открывается файл, из него считываются все значения, файл закрывается. Потом назначаются системные переменные: osmode - отключаем привязки; cmdecho и nomutt - чтоб в ком.строке была тишина. Потом дается команда _.spline и подсовывается тут же сформированный список 3Д-точек(хотя можно было бы и 2Д, наверное, обойтись). Следом конструкцией
Код:
P.S. Перед последней скобкой забыл поставить (princ), чтоб и выход был тихим...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Передавать значения в цикле конечно можно.
Нужно их только правильно сформировать. 1.Считаем n как координату X (если я правильно понял): Код:
Код:
Код:
Код:
Код:
|
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
А если в файле не 5 000 записей, а больше или меньше? Тогда как быть?
P.S. Объявлять дополнительные переменные необязательно, можно и без них обойтись.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Электромонтаж-проект Регистрация: 29.06.2007
Москва
Сообщений: 24
|
Спасибо Алексей и Arkady,
из такого простого вопроса, как мне казалось, благодаря Вашим ответам узнал много нового.., но вот еще один чисто теоретический вопрос: мой изначальный код (пусть и не работающий) не выглядет ли более лисповским чем код Алексея... я часто ловлю себя на мысли (м.б. не правильной) что лисповские скрипты (работающие) часто выглядят как структура С кода, объявление переменных, множество промежуточных выражений, прототипы функций (LAMBDA), но нету одной функции которая длинная и все в ней, есть лисповский DEFUN который скрывает структуру С... Вопрос может быть не корректным, заранее прошу прощения, С изучаю параллельно ЛИСП, но когда я что-то делаю для АКАд у меня получается какая то каша (я её называю лисповской ![]() Вопрос чисто дискуссионный и м.б. не корректный, но очень интересен взгляд специалистов на такую постановку вопроса .
__________________
Нимиц должен лежать на дне |
|||
![]() |
|
||||
Электромонтаж-проект Регистрация: 29.06.2007
Москва
Сообщений: 24
|
Еще один теоретический вопрос, есть ли возможность передачи данных из внешнего оборудования в акад посредством LISP, ну или СОМ функций для лисп...
Идея состоит в том что бы заставить одну единственную точку сплайна менять свое значение, а сплай будет прыгать туда-сюда отображая изменения. Интересует именно возможность Акад работать с внешними данными, и если такая возможность есть только в ARX, то нельзя ли где то посмотреть пример...самое простое что приходит в голову: кручу колесо мышки->меняю координаты точки в сплайне. Очень буду рад разъяснениям на этот счет.
__________________
Нимиц должен лежать на дне |
|||
![]() |