Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Post your project for free and start receiving proposals from freelancers within minutes after publication!

by AutoLISP

Translated9 USD

Applications 2

Application viewing is only available registered users.

Client's review of cooperation with Yura Abrikosov

Quality
Professionalism
Cost
Contactability
Deadlines

The work is done quickly, quality, delivered in time. Pleased with cooperation.

Freelancer's review of cooperation with Miroslav Hom

Payment
Task setting
Clarity of requirements
Contactability

Everything went successfully. I recommend it.

  1. 272    31  1
    Winning proposal3 days9 USD

    Ready to fulfill this task.
    p.s.1: I have a little experience writing programs in autolisp (although without graphic capabilities). I put 14dns. With the stock, I will try it earlier.
    p.s.2 What are the topics 8-10? (The methodology, as if, ends on the 7th topic)

  • Yura Abrikosov
    28 January 2021, 2:28 |

    А какие у вас сроки?

  • Miroslav Hom
    28 January 2021, 10:29 |

    К 30 числу нужно сдать

  • Yura Abrikosov
    28 January 2021, 10:47 |

    А что будет если не успеешь сдать к этому числу?

    Остаётся актуальным или нет?

  • Miroslav Hom
    28 January 2021, 10:50 |

    Если к 1 числу успеете будет хорошо, у меня уже сессия стартанула, и препод должен в течении 14 дней пересмотреть

  • Yura Abrikosov
    28 January 2021, 10:58 |

    Я наверно начну делать и если дело пойдёт, то оформим сделку (я отдельно сообщу об этом). А если не успею, - то мне ничего не надо (буду считать, что тренировался с целью учёбы. Я начинающий фрилансер).


    p.s.: если же в это время кто-то более опытный подаст заявку, то выбирай его (обо мне просто не думай).


    --------------------------------------------------------------------------------------


    Вопрос о версии Autocad. У меня 2014. Попытался я создать пакетный файл (как в теме 5) и у меня круг не нарисовало. Методом проб и ошибок выяснил, что работает по второму варианту:


    image


    Т.е., что будет если у преподавателя не заработает из-за версии? 

  • Miroslav Hom
    28 January 2021, 11:43 |

    Надеюсь что всё пойдёт) 

    У препода должно заработать.

  • Miroslav Hom
    28 January 2021, 19:24 |

    Может здесь будет полезная инфа https://api-2d3d-cad.com/vlisp_param_drawing/

  • Yura Abrikosov
    29 January 2021, 1:29 |

    Кажется 1-й пункт сделал.

    a) Прежде чем проверять убедись, что загружена пунктирная линия:


    image


    image


    Если нет, тогда загрузи.


    б) создай блокнотом файл ".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


    (пробелы и переводы на новую строку не убирай, - опытным путём определил, что каждый символ важен)


    в) измени расширение на:

    image


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


    image


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


    image


    и результат:


    image


  • Yura Abrikosov
    29 January 2021, 1:52 |

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


    image


  • Yura Abrikosov
    29 January 2021, 3:10 |

    Сделал 2-й пункт работы.


    a) В командной строке пишешь:

     

    image


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


    image


    Сам код (в данном случае не важны пробелы между командами):


    (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)

  • Yura Abrikosov
    29 January 2021, 3:24 |

    Результат должен быть таким же. 

    Я заметил одну странность: корректный вывод возможен только при условии, что весь будущий чертёж (помещается в квадрат 50х50) располагается на экране, по центру:


    image 


    Если же ты сдвинешь оси так, что будущий чертёж будет перекрываться (частично или полностью), то вывод будет не корректным:


    image   

    Я не знаю с чем это связано.

  • Yura Abrikosov
    29 January 2021, 3:25 |

    Вернее квадрат 100х100.

  • Yura Abrikosov
    29 January 2021, 4:02 |

    Во 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)



    а ту считать не действительной.

  • Yura Abrikosov
    29 January 2021, 5:21 |

    Сделал 3-й пункт. 

    Определяемые пользователем параметры:


    image


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


    image


    После чего можно будет ввести основные параметры.



    (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-ть, то  мне они не знакомы, поэтому возможно будет задержки выполнения. Посмотрим.

  • Yura Abrikosov
    29 January 2021, 7:05 |

    4-й сделал.

    Вид -> Панели   

    создаём новую панель


    image


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


    image


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


    image


    Перезапускаем автокад и в результате получается:


    image 


Current freelance projects in the category Desktop Apps

Потрібен Airtable-архітектор для побудови relational schema та нового clean Airtable base

Потрібно допомогти переосмислити та побудувати чисту relational-схему для внутрішньої операційної системи на Airtable. Поточна база вже використовується командою, але вона виросла органічно: структура частково плоска, частина таблиць/в’юшок використовується активно, частина…

Databases & SQLDesktop Apps ∙ 59 seconds back

Creation of software for generating cutting files for wooden puzzles

We 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 ProgrammingDesktop Apps ∙ 1 day 6 hours back ∙ 104 proposals

Account reconciliation tool with the bank, cards, and accountant

Technical 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…

PythonDesktop 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 ProgrammingDesktop Apps ∙ 9 days 5 hours back ∙ 10 proposals

Client
Miroslav Hom
Ukraine Khmelnitskyi  1  0
Project published
5 years back
137 views
Tags
  • AutoLISP
  • lisp