|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Победу в чем?
У вас не код, а аццкий фарш и перловка в голове. Начните комментировать свой код, побуквенно, а то вы плаваете как будущий инвалид на экзамене... Что это??? Открывайте справку и пишите, что делает каждая функция. rpk - это русский православный конь или рулет по-корейски? Что такое функция без аргументов? Что возвращают функции? Что происходит при вызове функции? Дальше диалог. Что происходит при загрузке диалога? Что происходит при закрытии диалога. Что такое плитки? Откуда и когда их заполнять. Что делает каждая плитка? Какие бывают кнопки? Зачем я вставил эту кнопку в диалог? Что происходит когда я нажал кнопку? Что будет, если я случайно нажал [Esc], [Space] или [Enter] при выборе точки? Ну и наконец, почему я вставляю там где нужно, а он волшебным образом не начинает работать... |
|||
![]() |
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Цитата:
2. Про перловку и инвалида, я не очень понял тебе понятнее., пропустим. 3. Код на столько прост, но от тебя вытекло, что действительно ты профессор, а я ученик. Но если так, то напиши мне ширину покрытия МЛЭ ЕМ3002? 4. rpk ответ ты дал сам, название пользовательской функции - расшифровка не имеет значения. Функция rpk выполняет основной расчет программы с использованием трех переменных dfg_rad, x1, y1. Команды все стандартные, ничего нового. 5. Локальные, глобальные переменные, буду познавать их предназначение. 6. Код прост, запутался, поэтому мой топик тут, пузыриться не нужно. Прошу только по делу. Пример trushev.
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Это был достаточно прагматичный ответ...
вот этого? Еще раз прочитай свой пункт 4. В нем ответ почему твоя программа не запускается |
|||
![]() |
|
||||
конструктор Регистрация: 15.08.2012
г. Пермь
Сообщений: 2
|
Если ещё актуально
В функции RAD1 не определены переменные x1 и y1 (defun C:RAD1 (/ dcl_id step pt x1 y1) (setq dcl_id (load_dialog "RAD2.dcl")) (setq step 2 x1 0.0 y1 0.0).....у меня всё работает. ----- добавлено через ~1 мин. ----- gomer видимо на это и намекал ![]() |
|||
![]() |
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Для меня намёки, это как аццкий фарш и перловка в голове.
Спс. UrikG ![]() gomer серьёзный продуман, ничего против не имею. Для меня Lisp это лишь упрощение некоторых моментов в моей непосредственной работе. Цитата:
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. |
|||
![]() |
|
||||
конструктор Регистрация: 15.08.2012
г. Пермь
Сообщений: 2
|
Ну тогда вот так...
(defun C:RAD1 (/ dcl_id step pt x1 y1 dfg) (setq dcl_id (load_dialog "RAD2.dcl")) (setq step 2 x1 0.0 y1 0.0 dfg 75)..... ... ;--------------–Результат вычислений----------------------- (rpk) (action_tile "fgs" "(progn (setq dfg (atof (get_tile \"fgs\")))(rpk))") ; ПРИ ИЗМЕНЕНИИ ПОЛЯ ЗАПИСЫВАЕМ ЗНАЧЕНИЕ В ПЕРЕМЕННУЮ dfg (action_tile "ln1" "(rpk)") (action_tile "ln2" "(rpk)") ;------------------------------------------------------------- (defun rpk (/ fg ao f_ps e1 e2 sfg2 ko l1_r ll1_g ll1_m l1_g l1_m l1_s mo1 f1_r ff1_g ff1_m f1_g f1_m f1_s) ;(setq dfg (atof (get_tile "fgs"))) - ЭТУ СТРОКУ ЗАКОМЕТИРОВАТЬ ИЛИ УДАЛИТЬ Последний раз редактировалось UrikG, 10.09.2015 в 21:37. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Ясно, мои рекомендации в #20 отправились лесом.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Никуда не лесом. Сегодня всё начну, как раз с п.20., еще не дошёл просто.
----- добавлено через ~1 ч. ----- Цитата:
1. Что выдаёт первое окно? Это ошибки? При правильной работе оно должно быть пустым? 2. Что выдает второе окно? (Shift+Ctrl+R) (трассировка), Как с ними дальше обращаться? Оно тоже должно быть пустым при правильной работе? 3. По твоей рекомендации изменил немного в коде Код:
----- добавлено через ~38 мин. ----- 1. Перевел глобальные переменные в локальные: Код:
Код:
Код:
----- добавлено через ~3 ч. ----- 1. Пока Кулик Алексей aka kpblc нет, но жду его возвращения сюда. 2. Работаю с вариантом от UrikG тут по подробнее: а) Запускается, ошибку не выдает (Спс) б) Вопрос открытый остаётся, при нажатии на кнопку "Вычислить" значение "fgs" становится по умолчанию, т.е если его изменить, то оно возвращается обратно. (Должно не возвращаться)
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. Последний раз редактировалось Pavel_GP, 11.09.2015 в 12:46. |
|||
![]() |
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
Еще раз. Перед закрытием окна (setq dfg (get_tille "fgs")) сохраняем текущее значение поля. При открытии окна функцией (set_tille "fgs" dfg) восстанавливаем сохраненное значение.
|
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Цитата:
Программный код не должен работать правильно Программный код не должен вообще работать Программный код вообще никому ничего не должен... Цитата:
----- добавлено через ~3 мин. ----- Объясни мне зачем закрывать диалог при нажатии кнопки Вычислить? |
|||
![]() |
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Цитата:
![]() Диалог не закрывается (done_dialog 2). ПыСы gomer смотри п.20
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. |
|||
![]() |
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Всё правильно понял.
----- добавлено через ~1 мин. ----- Ты предполагал о временном закрытии? При нажатии на кнопку Указать, окно закрывается (указывается точка), окно открывается и заносятся координаты точки в х и y.
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Сам-то понял что написал?
У тебя авгиевы конюшни, а не код, половина написана в лиспе, половина в диалоге... Сам разбирайся... Где исправить? Везде! Ни один адекватный программист не заполняет action и value в диалоге... Беда не в том, что у тебя миллион ошибок, а в том, что ты не хозяин своего кода... Быть хозяином - это знать и отвечать за каждую строчку кода. Тогда тебе и отладка не понадобится. А копипаста - это для студентов. Это так... чтоб работало... Код:
Код:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Практически те же фаберже, но вид сбоку
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
А мне лениво разбираться в этом спагетти. Сделал, чтобы работало хоть как-то - и пущщай этот Франкенштейн идет дальше
![]() ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Цитата:
Читай Полещука У тебя лично помощи не попрашу. Если ты помнишь мы с тобой уже общались на тему внутренних вычислений, там ты мне помог без проблем. Если захочешь сам найдешь эту тему. 1. Это не копипаст. Основные расчёты - это моё, и написано мною, и ошибки тоже мои. Временный выход из диалогового окна взят из "Руководтство по автолиспу Полещук", там у него как раз есть пример. Поэтому не нужно говорить того чего не знаешь... 2. gomer Большое тебе спасибо, наконец-то получился ответ на п.35, но я не просил переписывать мой код, а особенно заменять внутри на свои переменные, чтоб я совсем запутался, а ты потом кричал что у меня авгиевы. конюшни. ![]() 3. Кулик Алексей aka kpblc тебе тоже большое спасибо, хоть мои переменные не изменял. 4. Вопрос обоим продуманом gomer и Кулик Алексей aka kpblc, вот нафига из такого простого уравнения вы лепите такие сложности (допфункции, диалоговые окна внутри лиспа и т.д. и т.п.), проще работать не будет? Это конечно всё круто, есть куда стремиться, но мне это не нужно у меня всё просто. 2+2=4, а у вас тоже 4, но через десятки уравнений. 5. Проверю ваши предложения в понедельник, дома не работаю. Хороших выходных
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. Последний раз редактировалось Pavel_GP, 11.09.2015 в 18:35. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сосчитать сумму цифр из отдельных мтекстов (и лисп для подсчета спецификаций) | Red Nova | LISP | 667 | 18.07.2025 17:09 |
Ваши сканы, наша обработка и перевод в DJVU. | Armin | Поиск литературы, чертежей, моделей и прочих материалов | 3866 | 02.04.2025 09:21 |