Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Розмістіть свій проєкт безплатно та почніть отримувати пропозиції від фрилансерів-виконавців уже через хвилини після публікації!

Автолісп

Translated400 UAH

Додатки 2

Перегляд додатків доступний тільки зареєстрованим користувачам.

Відгук замовника про співпрацю з Юрою Абрикосовим

Якість
Професіоналізм
Вартість
Контактність
Терміни

Робота виконана швидко, якісно, здана вчасно. Задоволений співпрацею.

Відгук фрилансера про співпрацю з Мирославом Хомом

Оплата
Постановка завдання
Чіткість вимог
Контактність

Все пройшло успішно. Я рекомендую .

  1. 272    31  1
    Переможець3 дні400 UAH

    Готова виконати цю задачу.
    p.s.1: невеликий досвід написання програм в autolisp у мене є (хоча і без графічних можливостей). Надіслано 14 дн. З запасом, спробую зробити раніше.
    П.С.2: Що таке теми 8-10? (Міністерство, як ні, закінчується на 7-й темі)

  • Юра Абрикосов
    28 січня 2021, 2:28 |

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

  • Мирослав Хом
    28 січня 2021, 10:29 |

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

  • Юра Абрикосов
    28 січня 2021, 10:47 |

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

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

  • Мирослав Хом
    28 січня 2021, 10:50 |

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

  • Юра Абрикосов
    28 січня 2021, 10:58 |

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


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


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


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


    image


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

  • Мирослав Хом
    28 січня 2021, 11:43 |

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

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

  • Мирослав Хом
    28 січня 2021, 19:24 |

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

  • Юра Абрикосов
    29 січня 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


  • Юра Абрикосов
    29 січня 2021, 1:52 |

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


    image


  • Юра Абрикосов
    29 січня 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)

  • Юра Абрикосов
    29 січня 2021, 3:24 |

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

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


    image 


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


    image   

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

  • Юра Абрикосов
    29 січня 2021, 3:25 |

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

  • Юра Абрикосов
    29 січня 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)



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

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

  • Юра Абрикосов
    29 січня 2021, 7:05 |

    4-й сделал.

    Вид -> Панели   

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


    image


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


    image


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


    image


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


    image 


Актуальні фриланс-проєкти в категорії Десктопні додатки

Створення ПЗ для генерації файлів різки дерев'яних пазлів

Шукаємо розробника для створення програмного забезпечення, яке автоматизує процес побудови файлів різки для дерев'яних фігурних пазлів. Поточний процес Зараз кожен файл створюється дизайнером вручну в Adobe Illustrator. Файл містить: зовнішній контур пазла довільної форми;…

Десктопні додатки ∙ 4 години 9 хвилин тому ∙ 10 ставок

Невелика правка на сайті

700 UAH

Потрібно перепідв'язати договір оферти в футері на новий, в компанії змінився регламент Завдання на 20 хвилин

Веб-програмуванняДесктопні додатки ∙ 1 день 5 годин тому ∙ 103 ставки

Інструмент звірки рахунків з банком, картами та бухгалтером

Технічне завдання: інструмент звірки рахунків з банком, картами та бухгалтеромЗагальна метаПотрібен локальний інструмент (скрипт/невеликий додаток на Python), який запускається вручну раз на 1-2 місяці на моєму комп'ютері і робить звірку між:Рахунками, які я виставив клієнтам і…

PythonДесктопні додатки ∙ 3 дні 13 годин тому ∙ 43 ставки

Додати паузи 10-30 секунд між відправками листів

Вітаю! Шукаю досвідченого програміста 1С / BAS (BAF) для оперативного вирішення технічної проблеми з поштовою розсилкою.Суть проблеми: Використовуємо бухгалтерську програму BAF (Business Automation Framework), редакция 2.0. Раз на місяць виникає потреба масово відправляти…

Веб-програмуванняДесктопні додатки ∙ 9 днів 4 години тому ∙ 10 ставок

Реверс-інжиніринг консольних утиліт для опитування контролерів SSD (Flash ID)

1. Мета роботиВиділення програмного інтерфейсу (API) взаємодії з контролерами SSD/NVMe з наданого набору консольних утиліт (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron та ін.). Результатом має стати робочий код мовою C/C++ або точна документація структур для…

C та C++Десктопні додатки ∙ 9 днів 16 годин тому ∙ 6 ставок

Замовник
Мирослав Хом
Україна Хмельницький  1  0
Проєкт опублікований
5 років тому
137 переглядів