AutoLISP
Zawartość zadań:
Opracowanie oprogramowania do budowy płytki według określonych parametrów
a jednocześnie zapewnić odpowiedni interfejs (kliknięcie piktogramu, okno dialogowe).Aby wykonać zadania, należy wykonać następujące kroki:
Opracowanie pakietu poleceń (skrypt) kształtowania rysunku płytki według indywidualnej zadań.Modyfikuj pakiet poleceń w programie w języku AutoLISP.Rozszerz możliwości programu w taki sposób, aby niezależne parametry rozmiaru (rozmiar) były zmienne.Opracowanie panelu narzędzi użytkownika z piktogramem, który powoduje program budowy płytki
Upewnij się, że parametry płytki są wprowadzane za pomocą okna dialogowego.Podstawowy materiał do wykonywania pracy kontrolnej jest przedstawiony w modułach dyscypliny (w tematach 6-10).Robot wykonany w postaci plików programu (lsp - plik i dcl - plik).Również z gotową pracą należy dodać 5-10 zdjęć ekranu etapowego wykonania pracy z małym opisem, co jest niezbędne do tworzenia sprawozdania.
Załączniki 2
Opinia zleceniodawcy o współpracy z Yura Abrikosov
AutoLISPPrace wykonane są szybko, jakościowo i dostarczane w odpowiednim czasie. Zadowolony z współpracy.
Opinia freelancera o współpracy z Miroslav Hom
AutoLISPWszystko przeszło z powodzeniem. Polecam .
-
А какие у вас сроки?
-
А что будет если не успеешь сдать к этому числу?
Остаётся актуальным или нет?
-
Я наверно начну делать и если дело пойдёт, то оформим сделку (я отдельно сообщу об этом). А если не успею, - то мне ничего не надо (буду считать, что тренировался с целью учёбы. Я начинающий фрилансер).
p.s.: если же в это время кто-то более опытный подаст заявку, то выбирай его (обо мне просто не думай).
--------------------------------------------------------------------------------------
Вопрос о версии Autocad. У меня 2014. Попытался я создать пакетный файл (как в теме 5) и у меня круг не нарисовало. Методом проб и ошибок выяснил, что работает по второму варианту:

Т.е., что будет если у преподавателя не заработает из-за версии?
-
Кажется 1-й пункт сделал.
a) Прежде чем проверять убедись, что загружена пунктирная линия:


Если нет, тогда загрузи.
б) создай блокнотом файл ".txt" и вставь код:
_OSNAP
_OFF
_LINETYPE
_S _bylayer
_LWEIGHT 0.30
_CIRCLE 0,0 _D 100
_CIRCLE 0,0 _D 50
_XLINE
0,37
0,100
_ROTATE
0,37
0,37 45
_XLINE
0,37
0,100
_ROTATE
0,37
0,37 -45
_TRIM
100,105
-100,110
0,50
_TRIM
0,-50
100,105
-100,110
_XLINE
0,37
100,37
_TRIM
100,37
1000,-105
0,-110
_TRIM
100,37
0,-105
-1000,-110
_ERASE
100,37
_LINETYPE
_S JIS_02_4.0
_LWEIGHT 0.05
_LINE
0,-55
0,55
_LINE
-55,0
55,0
_LINETYPE
_S _bylayer
_OSNAP
_END
(пробелы и переводы на новую строку не убирай, - опытным путём определил, что каждый символ важен)
в) измени расширение на:

Если такой возможности не будет, тогда сними галочку параметрах папок:

г) В командной строке автокада вводишь ПАКЕТ и надо выбрать файл:

и результат:

-
Появилась маленькая проблема: при копировании текста программы из поста искусcтвенно добавляются пробелы в текст программы (между строк). В данном случае это критично. Значит надо привести программу к такому виду:

-
Сделал 2-й пункт работы.
a) В командной строке пишешь:

б) вставляешь код и нажимаешь загрузить:

Сам код (в данном случае не важны пробелы между командами):
(setvar "osmode" 0)
(setvar "3dosmode" 0)
(command "_linetype" "_s" "bylayer" "")
(command "_lweight" 0.30 "")
(command "_circle" '(0 0) "_d" 100 "")
(command "_circle" '(0 0) "_d" 50 "")
(command "_xline" '(0 37) '(0 100) "")
(command "_rotate" '(0 37) "" '(0 37) 45 "")
(command "_xline" '(0 37) '(0 100) "")
(command "_rotate" '(0 37) "" '(0 37) -45 "")
(command "_trim" '(100 105) '(-100 110) "" '(0 50) "")
(command "_trim" '(0 -50) "" '(100 51) '(-100 52) "")
(command "_xline" '(0 37) '(100 37) "")
(command "_trim" '(100 37) "" '(1000 -51) '(-1000 -52) "")
(command "_erase" '(100 37) "")
(command "_linetype" "_s" "JIS_02_4.0" "")
(command "_lweight" 0.05 "")
(command "_line" '(0 -55) '(0 55) "")
(command "_line" '(-55 0) '(55 0) "")
(command "_linetype" "_s" "bylayer" "")
(setvar "osmode" 1)
-
Во 2-й пункте поправил программу:
(setvar "osmode" 0)
(command "_linetype" "_s" "bylayer" "")
(command "_lweight" 0.30 "")
(command "_circle" '(0 0) "_d" 100 "")
(command "_circle" '(0 0) "_d" 50 "")
(command "_xline" '(0 37) '(0 100) "")
(command "_rotate" '(0 37) "" '(0 37) 45 "")
(command "_xline" '(0 37) '(0 100) "")
(command "_rotate" '(0 37) "" '(0 37) -45 "")
(command "_trim" '(100 105) '(-100 110) "" '(0 50) "")
(command "_trim" '(0 -50) "" '(100 105) '(-100 110) "")
(command "_xline" '(0 37) '(100 37) "")
(command "_trim" '(100 37) "" '(1000 -105) '(0 -110) "")
(command "_trim" '(100 37) "" '(0 -105) '(-1000 -110) "")
(command "_erase" '(100 37) "")
(command "_linetype" "_s" "JIS_02_4.0" "")
(command "_lweight" 0.05 "")
(command "_line" '(0 -55) '(0 55) "")
(command "_line" '(-55 0) '(55 0) "")
(command "_linetype" "_s" "bylayer" "")
(setvar "osmode" 1)
а ту считать не действительной.
-
Сделал 3-й пункт.
Определяемые пользователем параметры:

Этот код нужно использовать как в пункте 2-м. Только после "загрузки" станет доступной выбор функции в командной строке автокада:

После чего можно будет ввести основные параметры.
(defun c:KONTRABOTA(/)
(setq D1 (getreal "D1 (50)= "))
(setq D2 (getreal "D2 (100)= "))
(setq R1 (getreal "R1 (37)= "))
(if (= D1 nil) (setq D1 50.0) D1)
(if (= D2 nil) (setq D2 100.0) D2)
(if (= R1 nil) (setq R1 37.0) R1)
(if(and (< D1 (* R1 2)) (< (* R1 2) D2))
(progn
(setvar "osmode" 0)
(command "_linetype" "_s" "bylayer" "")
(command "_lweight" 0.30 "")
(command "_circle" '(0 0) "_d" D1 "")
(command "_circle" '(0 0) "_d" D2 "")
(setq pt0 '(0.0 0.0))
(setq pt1 (mapcar '+ pt0(list 0.0 R1)))
(setq pt2 (mapcar '+ pt0(list 0.0 D2)))
(command "_xline" pt1 pt2 "")
(command "_rotate" pt1 "" pt1 45 "")
(command "_xline" pt1 pt2 "")
(command "_rotate" pt1 "" pt1 -45 "")
(setq pt3 (mapcar '+ pt0(list D2 (+ D2 5))))
(setq pt4 (mapcar '+ pt0(list (- 0.0 D2) (+ D2 10))))
(setq pt5 (mapcar '+ pt0(list 0.0 (/ D2 2))))
(command "_trim" pt3 pt4 "" pt5 "")
(setq pt6 (mapcar '+ pt0(list 0.0 (- 0.0 (/ D2 2)))))
(setq pt7 (mapcar '+ pt0(list (- 0.0 D2) (+ D2 10))))
(command "_trim" pt6 "" pt3 pt7 "")
(setq pt8 (mapcar '+ pt0(list D2 R1)))
(command "_xline" pt1 pt8 "")
(setq del_1 (entlast))
(setq pt9 (mapcar '+ pt0(list (* 10 D2) (- 0.0 (+ D2 5)))))
(setq pt10 (mapcar '+ pt0(list 0.0 (- 0.0 (+ D2 10)))))
(command "_trim" del_1 "" pt9 pt10 "")
(setq pt11 (mapcar '+ pt0(list 0.0 (- 0.0 (+ D2 5)))))
(setq pt12 (mapcar '+ pt0(list (- 0.0 (* 10 D2)) (- 0.0 (+ D2 10)))))
(command "_trim" del_1 "" '(0 -105) '(-1000 -110) "")
(command "_erase" del_1 "")
(command "_linetype" "_s" "JIS_02_4.0" "")
(command "_lweight" 0.05 "")
(setq pt13 (mapcar '+ pt0(list 0.0 (- 0.0 (+ (/ D2 2) 5)))))
(setq pt14 (mapcar '+ pt0(list 0.0 (+ 0.0 (+ (/ D2 2) 5)))))
(command "_line" pt13 pt14 "")
(setq pt13 (mapcar '+ pt0(list (- 0.0 (+ (/ D2 2) 5)) 0.0 )))
(setq pt14 (mapcar '+ pt0(list (+ 0.0 (+ (/ D2 2) 5)) 0.0 )))
(command "_line" pt13 pt14 "")
(command "_linetype" "_s" "bylayer" "")
(setvar "osmode" 1)
)
(alert "Error! D1 < 2*R1, 2*R1 < D2")
)
)
Твоя задача протестировать эту программу. При этом нужно вводить не только корректные данные, но и откровенно ошибочные (чтобы посмотреть как программа на них реагирует).
Что касается пунктов 4 и 5-ть, то мне они не знакомы, поэтому возможно будет задержки выполнения. Посмотрим.
-
4-й сделал.
Вид -> Панели
создаём новую панель

Копируем любую пиктограмму из соседних панелей. Меняем эмблему и макрос:

Файл ".fas" делается путём компиляции файла ".lsp" с параметром " 'st"

Перезапускаем автокад и в результате получается:
-
Aktualne zlecenia dla freelancerów w kategorii Aplikacje desktopowe
Opracowanie niestandardowego oprogramowania (aplikacja na Androida + CMS) dla kiosków samoobsługowych SUNMI K2 (fast food)
82 PLN
Szukamy doświadczonego zespołu lub programisty Android na poziomie średnim/zaawansowanym (możliwe, że z umiejętnościami Full-stack) do stworzenia własnego oprogramowania dla kiosków samoobsługowych sieci fast food. Obecnie nasze terminale działają na bazie gotowego chmurowego… Content Management Systems, Aplikacje desktopowe ∙ 12 godzin 48 minut temu ∙ 13 ofert |
Należy przeprowadzić migrację obecnego programu roboczego z foxpro na C#Cześć wszystkim! Mamy program na foxpro (ma kilka modułów, program do ewidencji), mamy źródła programu, w razie pilnej potrzeby można skonsultować się z osobami zajmującymi się wsparciem bieżącego programu. Co należy zrobić: 1. Analiza, co i jak działa, sporządzenie listy… C#, Aplikacje desktopowe ∙ 5 dni 20 godzin temu ∙ 18 ofert |
Mistrzowska program «KONSTRUCTOR»
15 240 PLN
Szukamy bardzo doświadczonego programisty C++ do modernizacji istniejącego oprogramowania (programu głównego). Program odpowiada za tworzenie pochodnego oprogramowania reprezentującego sesje audiowizualnej korekcji psychologicznej. Obecna wersja jest napisana w czystym WinAPI… C i C++, Aplikacje desktopowe ∙ 8 dni 9 godzin temu ∙ 19 ofert |
Konfiguracja ODOO Enterprise dla budownictwaНеобхідно побудувати картки та налаштувати зручний імпорт, інтеграцію з ЕДО і загалом Workflow ODOO Компанія займається системною інтеграцією: маємо поставки обладнання В2В або з прямою маржинальністю, або з рібейтами в подальшому. Крім того, ведемо будівельні роботи на об'єктах… Automatyzacja zarządzania przedsiębiorstwem, Aplikacje desktopowe ∙ 8 dni 18 godzin temu ∙ 7 ofert |
Dodać możliwość pracy z Nową Pocztą i Delivery w BAS Mały Biznes 1.6.21.1
410 PLN
Zrealizować w miarę możliwości przez rozszerzenie. Potrzebne jest załadowanie katalogów oraz stworzenie TTN. Wypełnienie danych na wysyłkę w Zamówieniu klienta. Następnie na podstawie zamówienia tworzy się TTN. Będzie kilka biur. Możliwość powiązania biura z menedżerem lub… Aplikacje desktopowe, Zarządzanie klientami i CRM ∙ 12 dni 14 godzin temu ∙ 19 ofert |