Освоение прикладного программирования под AutoCAD

Автор Тема: Освоение прикладного программирования под AutoCAD  (Прочитано 11130 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
Такое хорошее настроение было ... 
Я люблю программировать, получаю удовольствие.
Решил снова позаниматься программированием под AutoCAD (( 
Честно? Часами "тупняк ловлю": где брать информацию я так и не понял - инфа куцая, без примеров, долго приходиться искать то, что нужно, какие-то примеры из поиска 2011 года... Я не связывал бы это с развитием - я не студент и мои задачи крайне практичны и предметная область определена, а здесь я чувствую себя каким-то провинившемся школьником, который обязательно сам должен до всего дойти ))
Зачем?? Я что собираюсь программы на заказ писать или других учить? Не понимаю искренне.
Это же прикладной момент, я должен брать и быстро решать свои проблемы, а я непонятно чем занимаюсь.
Комьюнити мизерное 3-4 человека. Ответы, как правило "ищи да обрящешь"...
Разобраться то можно, но цена этого разбора - куча времени и, главное от таких занятий удовольствия ноль! Лучше с ребенком математикой позаниматься или пойти побегать на стадион.
За это время можно кучу удовольствия получить от изучения Python или JavaScript
Код - C# [Выбрать]
  1. BlockTableRecord blkBlkRecEx
Что это за код? blkBlkRecEx - это так переменную обозвали? :o Читали "Практика программирования"? В соответствии с каким принципом так переменные именуются? Я такого не знаю. Мне, как новичку, каждый раз где-то в середине кода приходится вспоминать, что это такое и присвистывать назад. В Python, например, программы как обычный текст читается, как проза!
Мы что С++ под MS-DOS пишем, у нас 100кБ памяти осталось? Экономим? Но ведь компилятор исправит.
Набирать долго? а как же IntelliSense?
В чём смысл такого именования не понимаю.
Код - C# [Выбрать]
  1. blkBlkRec.Name = "*Paper_Space" + layoutCount.ToString();
  2.                     blkTbl.Add(blkBlkRec);
  3.                     acTrans.AddNewlyCreatedDBObject(blkBlkRec, true);
  4.                     acExDb.WblockCloneObjects(idCol,
  5.                                               blkBlkRec.ObjectId,
  6.                                               new IdMapping(),
  7.                                               DuplicateRecordCloning.Ignore,
  8.                                               false);
это что азбука-морзе?? прочитайте это. один в один из оф. док.
Если взять быстроразвивающиеся технологии, то справка по ним организована более менее единообразно и как-то понятно что и где. (здесь всё своеобразно)
Комьюнити огромные более 40 000 на одном телеграмм канале, литературы завалом, мануалы объемные, онлайн редакторы и пр.
Просто я работаю с Автокад и хотел привнести что-то своё, учитывая, что программировать я люблю, но исключительно высокая "цена" такого программирования, тем более, что есть готовые программы, в которых всё уже реализовано.
Имхо, надо нормальный API  делать, делать нормальный фасад на всю эту "муть".
Два часа фигнёй пострадал, настроение пропало.
Просто накипело, никого не хотел обидеть.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Ответы, как правило "ищи да обрящешь"...
Какие вопросы - такие и ответы.
какие-то примеры из поиска 2011 года...
AutoCAD'у уже > 35 лет. Из них программированию под AutoCAD на .NET уже 15 лет (с 2005-го года). Так чему удивляться? Примеры из 2006/2007 годов тоже могут быть актуальны.
Что это за код? blkBlkRecEx - это так переменную обозвали?
Это где же ты такое наименование нашел? Я например использую BlockTableRecord btr (возможно с суффиксом если их несколько).
Мне, как новичку, каждый раз где-то в середине кода приходится вспоминать, что это такое и присвистывать назад.
Видимо это не твоё.
Имхо, надо нормальный API  делать, делать нормальный фасад на всю эту "муть".
Боюсь что "муть" у кого-то в голове.
P.S.: Не нужно себя ломать. Если нет необходимости и не интересно - бросай и больше не программируй под AutoCAD.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Debalance

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
Комьюнити мизерное 3-4 человека. Ответы, как правило "ищи да обрящешь"...
Комьюнити может и мизерное, но вопрос не в количестве, а в качестве данного комьюнити. Александр Ривилис, например, нас никогда не бросает...

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
Видимо это не твоё.
сидеть с тремя дедульками, которые через раз
"муть" у кого-то в голове.
Это где же ты такое наименование нашел?
https://knowledge.autodesk.com/ru/support/autocad/getting-started/caas/CloudHelp/cloudhelp/2016/RUS/AutoCAD-NET/files/GUID-5FA86EF3-DEFD-4256-BB1C-56DAC32BD868-htm.html
например, по поиску. а так из официальной документации
AutoCAD'у уже > 35 лет.
это не говорит о его бессмертии
хотя, против самого автокада, если честно, ничего не имею - удобная программа, именно прикладная, не надо "голову ломать".
а вот что касается программирования - только в качестве наказания, уж слишком дорого стоит кБ кода.
в других ЯП у меня практически вопросов не возникает, тк загуглив получаешь ответ, а здесь я не представляю просто где брать информацию: систематизированного мануала "от и до" нет, стиль настолько самобытный, что я аналогов не видел где бы ещё такой стиль применяли.
Плюс когда сообщество большое, то много людей разного уровня и отвечают быстро и их это не тяготит, а тут получается приходит первокурсник сразу к профессору и профессору, естественно, не охото  возиться с начинающим: преподавателей нет, доцентов тоже...
притом любое новое веяние и предложение Вы воспринимаете критически ))  привыкли Вы уже к этой азбуке Морзе.
У меня ощущение, что я "на Колыме", долбишь ломом мерзлоту и пытаешься чего-то там отколупать, а тут еще и надзиратель "плохо работаешь. в голове каша. ты несешь бред...". да просто я уже привык к "хорошему", а не сидеть часами и разбираться как же там окружность то чтобы появилась, когда я блок выделил и пропала потом - это просто такая тривиальная задача, на которую просто не прилично занятому человеку столько времени тратить! (если он не мазохист или ему за это платят и, опять-таки, платят или нет, а морального удовольствия такой колымский подход не доставляет).
 

Оффлайн Debalance

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
в других ЯП у меня практически вопросов не возникает, тк загуглив получаешь ответ...
По-моему Вы путаете термины "язык программирования" с "API для конкретного продукта". "Всё смешалось в доме Облонских..." (с)

У меня ощущение, что я "на Колыме", долбишь ломом мерзлоту и пытаешься чего-то там отколупать, а тут еще и надзиратель "плохо работаешь.
Отлично! Почти как по классику (Архипелаг ГУЛАГ). Поставил бы плюс в карму да "комьюнити" ругаться будет...

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
например, по поиску. а так из официальной документации
К сожалению документацию пишут технические писатели, а не программисты.
это не говорит о его бессмертии
Для программных продуктов это практически бессмертие.
в других ЯП у меня практически вопросов не возникает, тк загуглив получаешь ответ, а здесь я не представляю просто где брать информацию: систематизированного мануала "от и до" нет, стиль настолько самобытный, что я аналогов не видел где бы ещё такой стиль применяли.
ЯП - Язык Программирования? Ты про C#? Тогда все претензии к Microsoft, а не к Autodesk... В Google можно найти огромное количество примеров его использования. Да и по программированию на C# для AutoCAD тоже очень много. Видимо плохо гуглишь.
да просто я уже привык к "хорошему", а не сидеть часами и разбираться как же там окружность то чтобы появилась, когда я блок выделил и пропала потом - это просто такая тривиальная задача, на которую просто не прилично занятому человеку столько времени тратить!
Так ты хочешь чтобы кто-то другой за тебя это время тратил? Для этой цели задача должна быть как минимум интересной или полезной. Данная задача (мне) кажется совершенно бессмысленной. Тем не менее я дал подсказку и пример использования алгоритма. 
« Последнее редактирование: 14-05-2020, 14:09:37 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
У меня ощущение, что я "на Колыме", долбишь ломом мерзлоту и пытаешься чего-то там отколупать, а тут еще и надзиратель "плохо работаешь. в голове каша. ты несешь бред...".
Только на эту "Колыму" ты поехал по собственному желанию...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 624
  • Карма: 158
    • ПГСу Бложик
Имхо, надо нормальный API  делать, делать нормальный фасад на всю эту "муть"
Используйте СОМ, там все просто и понятно, есть простая и понятная документация на каждый чих.
Зачем мучаться с .NET API если это вызывает столько негатива?

По поводу Вашей задачи с блоком, то она не сложная и уж точно не интересная. ИМХО каждый рано или поздно пытается реализовать что-то подобное, только в работе, на практике, это нафиг не нужно (пробовал).

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 475
  • Карма: 63
А мне нравится такие наименования - просто и понятно, а главное единообразно во всей документации

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1115
  • Карма: 173
Что это за код? blkBlkRecEx - это так переменную обозвали?
А ничего, что это указатель на таблицу блоков неактивного документа (то бишь External)? Уж на что я C# не знаю, и то это увидел.
это что азбука-морзе?? прочитайте это.
Ну и что там непонятного? Открывается таблица блоков, добавляется новая запись, коммитится изменение, клонируются объекты.
Нравится JS / Java / Python / Dynamo / VBA / ВащеНепонятныйЯзык - чего тогда себя ломать? Вперед, делать все на привычном интерфейсе.
Такое хорошее настроение было ... 
У меня тоже. Пока стартовый пост не прочитал.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!