Пишу функции под заказ. Бесплатно.
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Пишу функции под заказ. Бесплатно.

Пишу функции под заказ. Бесплатно.

Ответ
Поиск в этой теме
Непрочитано 19.08.2013, 04:02 #1
Пишу функции под заказ. Бесплатно.
wwalll
 
Регистрация: 19.08.2013
Сообщений: 4

Добрый день.
Имею опыт програмирования на различных языках програмирования ,но сейчас надо изучить программирование под автокадом.
Предлагаю - вы ставите задачи, я решаю и бесплатно отдаю решение вам.
Ограничения -
1. по времени (уделять более 2 часов в день на решение задачи не смогу)
2. по качеству (знаний "правильной работы" в автокаде нет )
3. по постановке/сопровождению (внятная задача предпочтительней обощеной "хотелки", человеческое общение (skype + teamviewer) предпочительней "хотелок")

Не смотря на ограниченя, с моей точки зрения это предложение выгодно всем - у вас решения, у меня опыт.
Просмотров: 8597
 
Непрочитано 19.08.2013, 06:35
#2
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Тут к вам вопрос, что вы подразумеваете под функциями..
Например есть вот задача, построения изолиний по текстовому файлу, интересна ли она вам???
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 19.08.2013, 07:10
#3
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
сейчас надо изучить программирование под автокадом
и
Цитата:
у меня опыт
как-то не вяжется. Вообще-то здесь все желающие публикуют сотни "решений" и тоже бесплатно. Но если хочется порешать "по спецзаказу", вот задачка для проверки:

Напиши под заказ на Lisp функцию транспонирования двухмерного списка.

У функции должен быть один аргумент - список ("таблица") из двух одномерных списков ("Поля" и "Записи") с одинаковым количеством элементов. На выходе - "транспонированный" (или как хочшь назови) список, у которого "поля" и "записи" поменялись местами. Например:

Было:
Код:
[Выделить все]
Папа     Мама    Дочка
Демократ Политик Лошадка
Стало:
Код:
[Выделить все]
Папа Демократ
Мама Политик
Дочка Лошадка
Условие:

Использовать только штатные средства Lisp (без всяких dll и т.п.)

Подсказка:

Список в Lisp можно сформировать так:
Цитата:
(list (list "Папа" "Мама" "Дочка") (list "Демократ" "Политик" "Лошадка"))
Т.е. заказанная функция должна вызываться примерно так:

Код:
[Выделить все]
 (my_super_puper_trans (list (list "Папа" "Мама" "Дочка") (list "Демократ" "Политик" "Лошадка")))
и возвращать
Код:
[Выделить все]
 (("Папа" "Демократ") ("Мама" "Политик") ("Дочка" "Лошадка")) 
А потом "посмотрим, что это за Сухов" (С)
ShaggyDoc вне форума  
 
Непрочитано 19.08.2013, 08:29
#4
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Автор темы, по всей видимости, хочет бесплатно научиться программированию в среде AutoCAD.
Profan вне форума  
 
Непрочитано 19.08.2013, 09:40
#5
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Цитата:
Сообщение от Profan Посмотреть сообщение
Автор темы, по всей видимости, хочет бесплатно научиться программированию в среде AutoCAD.
Ну наверное немного не так, он хочет расширить свои знания в программировании...
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 19.08.2013, 09:56
#6
MrBrown

ПенсионЭр
 
Регистрация: 26.06.2009
Сообщений: 361


wwalll, добрый день! Я восхищён. Это - поступок! Я в своё время так же тренировался в создании макросов на VBA для Excel и простых сайтов на PHP+mysql. А теперь просьба:
вот макрос (см. вложение), прекрасно работающий в пространстве модели. Он автоматически отрисовывает защитную зону электрокабелей, в роли каковых выступают полилинии. Но он не хочет правильно работать, если развернуть видовой экран на листе. Помогите, пожалуйста, устранить это небольшое неудобство. Макрос не мой, пользователя Олега(jr.), спасибо ему за него. Но, видимо, он сейчас очень занят, поэтому прошу Вас.
Спасибо.
__________________
Значки - Калуга и область.
Вложения
Тип файла: lsp offpoly_both_sides_multy.LSP (2.1 Кб, 73 просмотров)

Последний раз редактировалось MrBrown, 19.08.2013 в 16:09.
MrBrown вне форума  
 
Непрочитано 19.08.2013, 10:08
#7
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Я одобряю инициативу автора - только поясните - на чем Вы программируете под автокад, и в каком диалекте программирования есть опыт (т.к. есть варианты когда опыт программирования на одном будет скорее мешать программировать на другом) бери задачи из уже решенных, реши сам а потом сравни чей вариант лучше. ShaggyDoc как старый "корефей" подсунул тебе любимую "красоту" решаемую в 1 строку лиспа - решишь (а не найдешь) ее так-же сам - без гугла (что в общем врядли) - значит лисп это точно для тебя (если до этого его еще не знал), но аккуратней - после него может прийти разочарование во многих "мэйнстримовых" языках и возращаться к ним уже не захочется, а это может сказаться в разные стороны на кошельке - знанием еще надо уметь воспользоваться.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 19.08.2013, 10:10
#8
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Profan Посмотреть сообщение
Автор темы, по всей видимости, хочет бесплатно научиться программированию в среде AutoCAD.
Вполне нормальное желание.
Цитата:
Добрый день.
Имею опыт програмирования на различных языках програмирования ,но сейчас надо изучить программирование под автокадом.
Предлагаю - вы ставите задачи, я решаю и бесплатно отдаю решение вам.
Ограничения -
1. по времени (уделять более 2 часов в день на решение задачи не смогу)
2. по качеству (знаний "правильной работы" в автокаде нет )
3. по постановке/сопровождению (внятная задача предпочтительней обощеной "хотелки", человеческое общение (skype + teamviewer) предпочительней "хотелок")

Не смотря на ограниченя, с моей точки зрения это предложение выгодно всем - у вас решения, у меня опыт.
Несколько пафосное заявление, на мой взгляд, но желание хорошее. С автокадом-то вообще знакомы?
Только неплохо было бы еще рассказать на каком языке будут писаться программы, может быть посоветовали чего хорошего.
Do$ вне форума  
 
Автор темы   Непрочитано 19.08.2013, 13:48
#9
wwalll


 
Регистрация: 19.08.2013
Сообщений: 4


> DEM
Потратите пару часов объясняя что такое изолинии? если да - то не вижу препятствий к написанию функции
> ShaggyDoc

(defun transformlist (flist slist)
;;; функция строит объединение списков
;;; пример вызова (transformlist (list 'Папа 'Мама 'Дочка) (list 'Демократ 'Политик 'Лошадка))
(if (eq (length flist) (length slist))
(mapcar 'list flist slist)
(nil)))
Я так онимаю задача была понять - знаю ли что такое map/apply/reduce?

> Profan
да. именно так.

> Дима
Лисп знаю (но любимый всеже любимый диалект - sbcl (по сравнению с которым автокадовский лисп - кастрированная лягушка))
> Do$
Повехностно знаком. Именно за этим и пришел - найти людей кто согласен потратить полчаса на объяснение задачи и показаать как можно работать с автокадом, я соответсвенно делаю функцию нужную вам.

Что касается языков программирования - любой . Все равно язык ничего не оппределяет.
wwalll вне форума  
 
Непрочитано 19.08.2013, 13:52
#10
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


wwalll
Могу ТЗ, написать со ссылкой на алгоритмы и т.п.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 19.08.2013, 13:58
#11
wwalll


 
Регистрация: 19.08.2013
Сообщений: 4


Цитата:
Сообщение от DEM Посмотреть сообщение
Могу ТЗ, написать со ссылкой на алгоритмы и т.п.
Тогда я полностью за.
wwalll вне форума  
 
Непрочитано 19.08.2013, 14:00
#12
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от wwalll Посмотреть сообщение
Предлагаю - вы ставите задачи, я решаю и бесплатно отдаю решение вам.
Что касается языков программирования - любой . Все равно язык ничего не оппределяет.
C++. Напиши модуль нормоконтроля, проверяющий чтобы имена слоёв соответствовали регулярному выражению, указанному во внешнем конфигурационном файле формата XML. Задачка не сложная и полезная.
Если не потянешь C++, можешь выбрать C# или AutoLISP\Visual LISP, ежели хотя бы один из обозначенных языков входит в твой обширный багаж знаний.
А это:
Цитата:
Сообщение от wwalll
Имею опыт програмирования на различных языках програмирования.
...
Что касается языков программирования - любой . Все равно язык ничего не оппределяет.
говорит о том, что автор - ламер.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 19.08.2013 в 14:15.
hwd вне форума  
 
Непрочитано 19.08.2013, 14:11
#13
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Offtop:
Цитата:
Сообщение от hwd Посмотреть сообщение
говорит о том, что автор - ламер.
Вечно у тебя все овощи...
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 19.08.2013, 14:25
#14
wwalll


 
Регистрация: 19.08.2013
Сообщений: 4


Цитата:
Сообщение от hwd Посмотреть сообщение
говорит о том, что автор - ламер.
Ну я нигде вроде не утверждал что я - крутой мегаспециалист. Всего лишь учусь. А у всех чайников завышеное самомнение, и именно поэтому профессионалам они кажутся ламмерами. Это потом уже с опытом работы на С/С++/С# (хотя странно что вы еще ассемблер не указали) понимаешь что императивная парадигма - основа основ. А все остальное от лукавого. Если дойду до вашего высочайшего уровня - наверное тоже смогу судить о профпригодности по постам на форуме.

А за задачу спасибо. Как раз под мой начинающий уровень.
wwalll вне форума  
 
Непрочитано 19.08.2013, 14:31
#15
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от wwalll Посмотреть сообщение
А у всех чайников завышеное самомнение, и именно поэтому профессионалам они кажутся ламмерами.
Не существует универсального языка программирования. Каждый язык ориентирован на свой специфический круг решаемых задач. Это не означает, что иные задачи он не решит, но означает то, что на др. языках это можно сделать более удобно. Программисты это знают.
Цитата:
Сообщение от wwalll Посмотреть сообщение
странно что вы еще ассемблер не указали
На ассемблере под автокад не пишут, а пишут, в основном, как раз на указанных мною языках.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 19.08.2013, 14:43
1 | #16
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Научу блондинку автолиспу. Дорого
gomer вне форума  
 
Непрочитано 19.08.2013, 14:59
#17
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


wwalll
Я как твой первый пост увидел, сразу сгонял за попкорном и уселся поудобнее, в ожидании подобной "прописки на хате"))

Заказик от меня:
Преобразовать выделенные штриховки в 3дфейсы.
Без лиспа я это делаю так - присваиваю штриховкам паттерн "солид", сохраняю в dxf12, закрываю, снова открываю этот dxf, расчленяю образованные блоки. В итоге на месте штриховок остаются фейсы и отрезки.
Конечно специфично, наврятли комута кроме меня надо, но малоли...
zamtmn вне форума  
 
Непрочитано 19.08.2013, 15:17
#18
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


wwalll, с лабораторными работами из материалов тренинга по API AutoCAD знакомы? Может лучше с них начать. Найти можно на сайте Autodesk в разделе для программистов.
Do$ вне форума  
 
Непрочитано 19.08.2013, 15:21
#19
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Зря набросились на автора темы. Он просто неправильно или неудачно начал "работу на заказ". Здесь на форуме постоянно публикуют "ТЗ", и все желающие бескорыстно помогают. При этом и сами учатся. И на таких работах многие участники достигли белстящих результатов для себя.

Что касается проверки "посмотрим, что за Сухов":

Цитата:
(defun transformlist (flist slist)
;;; функция строит объединение списков
;;; пример вызова (transformlist (list 'Папа 'Мама 'Дочка) (list 'Демократ 'Политик 'Лошадка))
(if (eq (length flist) (length slist))
(mapcar 'list flist slist)
(nil)))
Я так онимаю задача была понять - знаю ли что такое map/apply/reduce?
Задача была проверить автора темы. Вот он написал "ставьте задачи" - я и поставил. Но решение не соответствует "ТЗ". В задании было запрошена обработка одного списка, а функция написана для двух списков. Это не годится - если уж работа "на заказ", надо делать точно по ТЗ. В общем, еще не "Сухов", но уже "Петька".

Решается она самым изящным способом так:

Цитата:
(defun transformlist (lst)
(apply 'mapcar (cons 'list lst))
)
Такая кажущаяся итоговая простота требует большой работы по отсеканию всего лишнего.

При этом и дополнительных проверок делать не надо на длину списков (одинаковое количество элементов было в ТЗ), да и при разной длине списков и при пустых списках функция вернет ожидаемый результат.

Еще раз подчеркиваю - если беремся работать "на заказ" - точно выполняем ТЗ.
ShaggyDoc вне форума  
 
Непрочитано 19.08.2013, 15:24
#20
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от wwalll Посмотреть сообщение
Лисп знаю (но любимый всеже любимый диалект - sbcl (по сравнению с которым автокадовский лисп - кастрированная лягушка))
Вижу - что знаете, автолисп несомненно недолисп, но в Вашем варианте:
1. Он не делает того что требовалось (на входе нужен один список содержащий произвольное число "подсписков", а в Вашем варианте их фиксированно 2 отдельных).
2. В автолиспе в if третий аргумент не обязателен - по умолчанию при невыполнении условия и так возращает nil.
3. Конструкция (nil), а именно ее вернет Ваша программа в случае несовпадения длинны списков, выдаст ошибку в любом (по крайней мере известном мне) диалекте лиспа - либо nil, либо '(), кое-где еще прокатит просто (). В общем потренеруйтесь еще.
з.ы. Насчет язык нечего не определяет, мне это странно слышать от человека знакомого с лиспом и оперирующего понятием парадигма - парадигма точно определяет по своему определению, а языки пишутся под парадигму(ы). А уж в разрезе автокада - это вообще отдельная песня.
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 19.08.2013 в 15:34.
Дима_ вне форума  
 
Непрочитано 19.08.2013, 15:55
#21
hexD

КМД
 
Регистрация: 26.03.2013
Я ЖЫВУ В РОССИИ.
Сообщений: 506
<phrase 1=


Offtop:
Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Зря набросились на автора темы...
с культурой поведения на DWG вообще плохо, менталитет чтоли такой у инженерного сословия...
Ведь всего 2 секунды надо чтобы понять - никому твоя личная злоба не интересна! нечего сказать - шагай дальше!
Да, в споре рождается истина, но в КОНСТРУКТИВНОМ споре. А не в травле...
hexD вне форума  
 
Непрочитано 19.08.2013, 16:01
#22
pan

добрый человек
 
Регистрация: 23.02.2004
Глушь
Сообщений: 971


Вот здесь и здесь куча народа просит переписать код под 64 bit
__________________
Правильно сформулированный вопрос содержит 90% ответа.
pan вне форума  
 
Непрочитано 19.08.2013, 16:04
#23
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от pan Посмотреть сообщение
Вот здесь и здесь куча народа просит переписать код под 64 bit
Плагин Александра Ривилиса (GeomProps), решающий аналогичную задачу (по подсчёту длин\площадей), откомпилирован под обе платформы: x86/x64. Правда его вариант отображает результат в свойствах, а не сохраняет в таблицы.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 19.08.2013 в 16:10.
hwd вне форума  
 
Непрочитано 19.08.2013, 16:36
#24
Zorgand


 
Регистрация: 24.07.2010
Сообщений: 11


Задача: построить рамку вокруг обведенных объектов с заданным отступом.
Запускаем лисп, нам предлагают обвести какую-то область на экране, обводим, вычисляются границы всего, что попало в рамку и с заданным отступом рисуется прямоугольник вокруг этих объектов. Отступ зависит от переменной dimscale если dmiscale - 10 отступ 25, если dimscale 20 отступ 50 (25:75, 50:125, 100:250, 200:500).
Дополнительное пожелание: установить какую-то переменную отвечающую за имя слоя в котором рисуется рамка, чтобы обычный юзер смог его менять не вникая в лисп.
Миниатюры
Нажмите на изображение для увеличения
Название: zadanie.gif
Просмотров: 128
Размер:	22.5 Кб
ID:	110077  
Zorgand вне форума  
 
Непрочитано 19.08.2013, 16:51
#25
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Zorgand Посмотреть сообщение
Задача: построить рамку вокруг обведенных объектов с заданным отступом.
Та, ну, это слишком просто, вас не смущает, что на эскизе хрень полная нарисована?
gomer вне форума  
 
Непрочитано 19.08.2013, 17:15
#26
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Цитата:
Сообщение от hexD Посмотреть сообщение
с культурой поведения на DWG вообще плохо, менталитет чтоли такой у инженерного сословия...
Традиция форума, батенька, привыкайте
Олег (jr.) вне форума  
 
Непрочитано 19.08.2013, 17:34
#27
Zorgand


 
Регистрация: 24.07.2010
Сообщений: 11


Цитата:
Сообщение от gomer Посмотреть сообщение
Та, ну, это слишком просто, вас не смущает, что на эскизе хрень полная нарисована?
Нет не смущает, нарисовано то, что просили сварщики, и таких хреней они наделали достаточно.

Не видел в данной теме требований к сложности, поэтому и прошу то, что мне нужно на практике. Если человек тренируется почему бы не совместить приятное с полезным?

P.S. прикладываю эскиз который никого не смущает
Миниатюры
Нажмите на изображение для увеличения
Название: zadacha_gomer.gif
Просмотров: 111
Размер:	19.9 Кб
ID:	110085  

Последний раз редактировалось Zorgand, 19.08.2013 в 17:56. Причина: Эскиз который никого не смущает
Zorgand вне форума  
 
Непрочитано 19.08.2013, 19:54
#28
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Цитата:
Сообщение от Олег (jr.) Посмотреть сообщение
Традиция форума, батенька, привыкайте
Offtop: Ну судя по тем темам, что я почитываю иногда - традиция всех форумов скатиться к обсуждению грамматики и личных качеств.
ДВЖру сильно изменился в этом плане за 9 лет которые я тут.
__________________
:diablo: Truth is out there
X-DeViL вне форума  
 
Непрочитано 19.08.2013, 21:40
#29
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Zorgand Посмотреть сообщение
прикладываю эскиз который никого не смущает
эммм, никого? Хотя меня, действительно не смущает. Вот только задача посложнее чуток...
gomer вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Пишу функции под заказ. Бесплатно.



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Функции AutoLISP из ... DLL! Supermax LISP 21 27.06.2010 14:18