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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программирование для AutoCAD на C++

Программирование для AutoCAD на C++

Ответ
Поиск в этой теме
Непрочитано 04.07.2020, 22:06 #1
Программирование для AutoCAD на C++
myranda
 
Регистрация: 04.07.2020
Сообщений: 26

умею программировать на Lisp довольно неплохо (на мой взгляд). Но Lisp мне кажется тесноват уже - слишком большое приложение на нем написать проблематично, объектно-ориентированный подход по-моему отсутствует в нем. Хотелось бы перепрыгнуть на C++. Есть ли какая нибудь подробная литература по программированию на C++ именно в среде AutoCAD. Что-то наподобие Полещука, но только про плюсы, а не про лисп
Просмотров: 9678
 
Непрочитано 04.07.2020, 23:19
#2
Сергей812


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


имхо, с Лиспа проще на .Net будет пересесть) Хотя бы в силу управляемого кода, когда низкоуровневое управление ресурсами скрыто под "капотом" .Net фреймворка.
Сергей812 вне форума  
 
Непрочитано 04.07.2020, 23:38
1 | #3
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от myranda Посмотреть сообщение
Хотелось бы перепрыгнуть на C++.
Есть знания C++?
Цитата:
Сообщение от myranda Посмотреть сообщение
Есть ли какая нибудь подробная литература по программированию на C++ именно в среде AutoCAD
Подробной нет даже на английском. Впрочем есть ObjectARX Developer's Guide в составе ObjectARX SDK. Ну и если появятся вопросы, то >>>здесь<<< всегда помогут.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 05.07.2020, 00:08
#4
myranda


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
имхо, с Лиспа проще на .Net будет пересесть) Хотя бы в силу управляемого кода, когда низкоуровневое управление ресурсами скрыто под "капотом" .Net фреймворка.
К сожалению я не знаю что такое .Net в силу того, что не имею программистского образования. Но потребность создавать высокоуровневые объекты, имеющие не только собственную структуру данных, но и собственные методы и собственные пространства имен при автоматизации своих задач возникает довольно часто. Конечно, запихнуть структуру в lisp-овские списки (если извратиться) - возможно. Но иногда этого недостаточно - получается весьма громоздко, путано, и крайне неудобно. да и собственных методов такая структура иметь не будет
myranda вне форума  
 
Автор темы   Непрочитано 05.07.2020, 00:12
#5
myranda


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


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Есть знания C++?
Не сказать чтобы профессиональные, но около года на нем писал. С Автокадом это, правда, никак связано не было, но пришло время вернуться к каду, а вот возвращаться на Лисп после C++ ну никак не хочется

----- добавлено через ~1 мин. -----
Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Впрочем есть ObjectARX Developer's Guide в составе ObjectARX SDK
спасибо. попробую разобраться
myranda вне форума  
 
Непрочитано 05.07.2020, 00:14
#6
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от myranda Посмотреть сообщение
Не сказать чтобы профессиональные, но около года на нем писал.
Вполне достаточно, чтобы стартануть с ObjectARX. Ну а дальше как пойдёт...
Александр Ривилис вне форума  
 
Непрочитано 05.07.2020, 10:03
#7
Сергей812


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


Цитата:
Сообщение от myranda Посмотреть сообщение
К сожалению я не знаю что такое .Net в силу того, что не имею программистского образования.
Offtop: здесь на форуме имеющих профильное образование программиста можно по пальцам пересчитать, большинство - самоучки)

.Net Framework

В случае акада это оболочка управляемого кода над функциями ObjectARX, которая берет на себя низкоуровневое управление ресурсами. А в плане списков, структур, организации кода и т.п. .Net предоставляет множество готовых решений (например, список List<T>), а помимо этого Майкрософт еще и исходники самого Фреймворка открыл в свое время - можно тоже поизучать для развития или свои варианты написать в случае недостаточности базового функционала. Ну и бесплатные среды разработки - например
Сергей812 вне форума  
 
Автор темы   Непрочитано 11.07.2020, 10:11
1 | #8
myranda


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


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Есть знания C++?

Подробной нет даже на английском. Впрочем есть ObjectARX Developer's Guide в составе ObjectARX SDK. Ну и если появятся вопросы, то >>>здесь<<< всегда помогут.
К сожалению я там не смог зарегистрироваться. Там довольно странная система проверки. Проверяют так, будто я не на сайте регистрируюсь, а пентагон иду взрывать. Вот что бы вы ответили на такой вопрос:

dvenadцatь-шectь/tri*dva (6ykbamи):
myranda вне форума  
 
Непрочитано 11.07.2020, 10:28
#9
CalcProg


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


скачай лазарус и не парься.
пентагон взламывать точно не придётся. ))) связь с автокадом и экселем с помощью OLE (она же COM, она же ActivX).

Последний раз редактировалось CalcProg, 11.07.2020 в 10:44.
CalcProg вне форума  
 
Автор темы   Непрочитано 11.07.2020, 10:59
#10
myranda


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


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

----- добавлено через ~3 мин. -----
Цитата:
Сообщение от CalcProg Посмотреть сообщение
скачай лазарус и не парься.
не знаю. может ответ и не совсем впопад. но я умею работать только с визуал студио (на случай если под "лазарусом" Вы имеете ввиду ее альтернативу)
myranda вне форума  
 
Непрочитано 11.07.2020, 12:05
#11
Сергей812


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


Offtop:
Цитата:
Сообщение от myranda Посмотреть сообщение
dvenadцatь-шectь/tri*dva (6ykbamи):
т.е. вы не человек, если проверку капчей не прошли))


Цитата:
Сообщение от myranda Посмотреть сообщение
Повторюсь, поскольку я не имею образования в области программирования - мне сложно понимать эту науку через ее специфические термины. Прошу привести простой пример (в виде куска кода). Скажем получить из чертежа отрезок, удалить его, а затем построить такой же, но смещенный в любую сторону. А дальше я уж перейму
не переймете 100% с таким подходом к делу - программирование не менее муторное занятие, чем то же проектирование, на самом деле...

Цитата:
Сообщение от myranda Посмотреть сообщение
я умею работать только с визуал студио
ну так скачивайте бесплатную студию и вперед.
Сергей812 вне форума  
 
Автор темы   Непрочитано 11.07.2020, 13:56
#12
myranda


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
не переймете 100% с таким подходом к делу - программирование не менее муторное занятие, чем то же проектирование, на самом деле...
не могу согласиться. все что мне нужно от этого примера - это
1. как выбрать примитив (примитивы) из текущего чертежа
2. как достучаться до их свойств и методов (то, что в лиспе я привык считать свойствами и методами вла-объектов, то что описано у полещука как свойства и методы)
3. просто вытащить данные из выбранного примитива в поле действия c++ (в котором я уж как никак разберусь что с ними делать)
4. как вбить в чертеж те примитивы, к которым я приду в ходе вычислений.

Один короткий пример вполне способен показать эти базовые вещи. в 80% всей работы мне не потребуется выходить за их рамки. Если же вдруг потребуется, то буду разбираться по мере необходимости.

----- добавлено через ~28 мин. -----
В лиспе в самом начале программы у меня всегда было так:
Код:
[Выделить все]
 (defun c:rpl ( / )

  (vl-load-com) ; загружаем Актив-Х без нее все актив-х функции работать не будут

  (setq actdoc (vla-get-ActiveDocument (vlax-get-acad-object))) ;теперь у меня есть объект которому соответствует целиком файл
  (setq obj (vla-get-ModelSpace actdoc)) ; теперь у меня есть объект которому соответствует пространство модели (черное окошко в автокаде где все нарисовано)


	(setq object_1 (entsel "Выберите объект: ")) 				; вернет список вида (<Entity name: 7ef66fa0> (475.13 789.245 0.0)) где первое значение - ИМЯ ПРИМИТИВА, второе - СПИСОК КООРДИНАТ ТОЧКИ УКАЗАНИЯ ПРИЦЕЛА

	(setq object_1 (car object_1)) 						; вернет <Entity name: 7ef66fa0> - ИМЯ ПРИМИТИВА

	(setq data_obj (entget object_1)) 					; данные о примитиве
	(setq tip_pll (cdr (assoc 0 data_obj)))



	(setq object_1 (vlax-ename->vla-object object_1))			; переводим примитив с именем (object_1) в ВЛА-объект с именем object_1. Это дает возможность обращаться к нему
										; как к ВЛА-объекту - по имени object_1, а не по уникальному имени примитива (что неудобно, а может и невозможно)
	
	(setq uporyad_spisok_tochek (vla-get-Coordinates object_1))
	(setq uporyad_spisok_tochek (vlax-safearray->list (vlax-variant-value uporyad_spisok_tochek)))
вот как вот из C++ программы сказать: (entsel "Выберите объект: ") или (setq object_1 (vlax-ename->vla-object object_1))?
myranda вне форума  
 
Непрочитано 11.07.2020, 14:37
1 | #13
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


myranda, Вас в гугле и яндексе забанили?
10 секунд поиска на яндексе и 4 ссылка: https://api-2d3d-cad.com/objectarx/
и 3 ссылка на гугле: http://arxdummies.blogspot.com/p/blog-page.html
, 5 ссылка в гугле: https://www.cnblogs.com/myzw/p/10127970.html

Было бы желание разобраться и начать писать... хотя в документации есть все необходимые примеры и эти статьи нафиг не нужны.

Последний раз редактировалось Boxa, 11.07.2020 в 14:42.
Boxa вне форума  
 
Автор темы   Непрочитано 11.07.2020, 14:44
#14
myranda


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
myranda, Вас в гугле и яндексе забанили?
10 секунд поиска на яндексе и 4 ссылка: https://api-2d3d-cad.com/objectarx/
и 3 ссылка на гугле: http://arxdummies.blogspot.com/p/blog-page.html
, 5 ссылка в гугле: https://www.cnblogs.com/myzw/p/10127970.html

Было бы желание разобраться и начать писать... хотя в документации есть все необходимые примеры и эти статьи нафиг не нужны.
хороший Вы человек, Boxa. Всегда мне помогаете, хоть и ворчите постоянно))
myranda вне форума  
 
Непрочитано 12.07.2020, 00:29
#15
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от myranda Посмотреть сообщение
К сожалению я там не смог зарегистрироваться. Там довольно странная система проверки. Проверяют так, будто я не на сайте регистрируюсь, а пентагон иду взрывать. Вот что бы вы ответили на такой вопрос:

dvenadцatь-шectь/tri*dva (6ykbamи):
У нас нет возможности бороться с сотнями ботов, которые пытается взламывать наш форум ежедневно. Поэтому такая система проверки. Отправьте мне личным сообщением свой адрес e-mail и я вас зарегистрирую.
P.S.: До сих пор проблемы с регистрацией возникали на нашем форуме только у людей, которые совершенно не знают русский язык.
Правильный ответ: восемь

Последний раз редактировалось Александр Ривилис, 12.07.2020 в 00:35.
Александр Ривилис вне форума  
 
Непрочитано 12.07.2020, 05:57
#16
Admin
Administrator


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


Offtop:
Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Правильный ответ: восемь
Думал, что один, ну одинадцать еще... восемь только по наводке подогнал. Лучше скобки добавить
Admin вне форума  
 
Автор темы   Непрочитано 12.07.2020, 10:29
#17
myranda


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


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
У нас нет возможности бороться с сотнями ботов, которые пытается взламывать наш форум ежедневно. Поэтому такая система проверки. Отправьте мне личным сообщением свой адрес e-mail и я вас зарегистрирую.
спасибо, я уже зарегистрировался со второго раза

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
P.S.: До сих пор проблемы с регистрацией возникали на нашем форуме только у людей, которые совершенно не знают русский язык.
Правильный ответ: восемь
оказалось что я совершенно не знаю не русский язык, а математику за 1-3 классы))).
Я вводил один и одиннадцать.

----- добавлено через ~5 мин. -----
Цитата:
Сообщение от Admin Посмотреть сообщение
Думал, что один, ну одинадцать еще... восемь только по наводке подогнал. Лучше скобки добавить
я тоже. но на самом деле восемь. это как раз без скобок так и получается. умножение и деление вычисляются в порядке следования, но раньше чем сложение и вычитание
myranda вне форума  
 
Непрочитано 12.07.2020, 11:06
| 1 #18
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от myranda Посмотреть сообщение
спасибо, я уже зарегистрировался со второго раза
Отлично.

Цитата:
Сообщение от Admin Посмотреть сообщение
Думал, что один, ну одинадцать еще... восемь только по наводке подогнал. Лучше скобки добавить
Ну у нас же форум для программистов. Элементарные математические операции с учетом их приоритетов они должны уметь делать. :-)
Александр Ривилис вне форума  
 
Непрочитано 12.07.2020, 17:40
#19
nickname2019


 
Регистрация: 18.11.2019
Сообщений: 1,492


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

Когда нибудь, квантовые компьютеры поумнеют, создадут свою социальную сеть и начнут при регистрации отсеивать людей просьбой в уме решить задачу по подбору какого-нибудь ключа RSA.

Последний раз редактировалось nickname2019, 12.07.2020 в 17:51.
nickname2019 на форуме  
 
Непрочитано 12.07.2020, 17:51
#20
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Ривилис, Вы слишком умный для этого мира. Я не шучу. Это профессиональная болезнь многих программистов. И я боюсь, что роботы как раз скоро научаться обходить эти фильтры, а обычные люди - нет.
Цитата:
Если ты такой умный, почему не богатый? (c) "не знаю кто"
Боты уже обходят эти фильтры, но благодаря людям, которые при регистрации получают вопросы и находят ответы, а потом скармливают их ботам. Элементарное изменение части из пары десятков вопросов, случайно предлагаемых при регистрации, приводит к тому, что боты на какое-то время не в состоянии регистрироваться.
Александр Ривилис вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программирование для AutoCAD на C++

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Плагин создания кабельных линий и генерации КЖ раздела КИПиА. Протестировано на AutoCAD 2015...2022 и офис 2013...2019. NanoCAD 23 petro_f Готовые программы 230 13.12.2023 22:10
Видеоуроки AutoCAD kosmax AutoCAD 173 17.02.2017 15:08
Стандарт использования AutoCAD в приборостроении (советы и обсуждение) Immortal_6666 AutoCAD 9 06.06.2012 10:11
Какой AutoCAD использовать ? denes AutoCAD 55 12.09.2011 14:29
В русской версии AutoCAD 2010 SP1 32-bit файл Acad.PGP содержит ошибки. hwd Баги и пожелания в Autodesk 21 21.04.2010 20:27