by AutoLISP
The content of the task:
Developing a software application for building a plate according to the specified parameters
and provide the appropriate interface (pictogram button, dialog window).To accomplish the task, the following steps must be taken:
Develop a package of commands (scripts) for the formation of the drawing of the plaque on an individual task.Modify the command package in the program in AutoLISP language.Expand the program’s capabilities in such a way that the independent layout parameters (size) are variable.Develop a user panel of tools with a pictogram that causes the program to build a layer
Ensure that the layout parameters are entered using a dialogue window.The basic material for the performance of the control work is presented in the discipline modules (in the subjects 6-10).The robot is executed in the form of program files (lsp - file and dcl - file).Also with the finished work should be attached to 5-10 screenshots of the gradual performance of the work with a small description, which is necessary for the formation of the report.
Applications 2
Client's review of cooperation with Yura Abrikosov
by AutoLISPThe work is done quickly, quality, delivered in time. Pleased with cooperation.
Freelancer's review of cooperation with Miroslav Hom
by AutoLISPEverything went successfully. I recommend it.
-
А какие у вас сроки?
-
А что будет если не успеешь сдать к этому числу?
Остаётся актуальным или нет?
-
Я наверно начну делать и если дело пойдёт, то оформим сделку (я отдельно сообщу об этом). А если не успею, - то мне ничего не надо (буду считать, что тренировался с целью учёбы. Я начинающий фрилансер).
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"

Перезапускаем автокад и в результате получается:
-
Current freelance projects in the category Desktop Apps
Потрібен Airtable-архітектор для побудови relational schema та нового clean Airtable baseПотрібно допомогти переосмислити та побудувати чисту relational-схему для внутрішньої операційної системи на Airtable. Поточна база вже використовується командою, але вона виросла органічно: структура частково плоска, частина таблиць/в’юшок використовується активно, частина… Databases & SQL, Desktop Apps ∙ 59 seconds back |
Creation of software for generating cutting files for wooden puzzlesWe are looking for a developer to create software that automates the process of building cutting files for wooden jigsaw puzzles. Current Process Currently, each file is created manually by a designer in Adobe Illustrator. The file contains: the outer contour of the puzzle in… Desktop Apps ∙ 4 hours 18 minutes back ∙ 10 proposals |
Small edit on the website
16 USD
Need to update the offer agreement in the footer to a new one, the company has changed its regulations Task will take 20 minutes Web Programming, Desktop Apps ∙ 1 day 6 hours back ∙ 104 proposals |
Account reconciliation tool with the bank, cards, and accountantTechnical Assignment: Tool for Reconciling Accounts with Bank, Cards, and AccountantGeneral Goal A local tool (script/small application in Python) is needed, which is manually run once every 1-2 months on my computer and performs reconciliation between: Invoices I issued to… Python, Desktop Apps ∙ 3 days 13 hours back ∙ 43 proposals |
Add pauses of 10-30 seconds between sending emails.Hello! I am looking for an experienced 1C / BAS (BAF) programmer to promptly resolve a technical issue with email distribution.Problem essence: We use the accounting program BAF (Business Automation Framework), version 2.0. Once a month, there is a need to send about 300 emails… Web Programming, Desktop Apps ∙ 9 days 5 hours back ∙ 10 proposals |