Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2011, 17:05   #1
Foxx
Форумчанин
 
Регистрация: 23.07.2009
Сообщений: 181
По умолчанию Связка Excel и Autocad

Здравствуйте! Интересует вопрос как связать Excel и Autocad. Банальный пример: в Excel рассчитываются длины прямоуголльника в зависимости от различных исходных данных. Затем в Autocad требуется нарисовать этот прямоугольник. Как автоматизировать эти действия ?
Foxx вне форума Ответить с цитированием
Старый 17.12.2011, 19:58   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Можно из макроса Excel управлять автокадом, можно наоборот - в autocad написать макрос, подгружающий из Excel данные, и рисующий прмоугольники

Пример кода, возможно, будет, если вы прикрепите исходный файл (Excel и автокад),
и объясните, что и как должно работать.
EducatedFool вне форума Ответить с цитированием
Старый 17.12.2011, 20:18   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Поиск по ветке с ключевым словом Autocad не рулит?
Тынц
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 17.12.2011, 23:25   #4
Foxx
Форумчанин
 
Регистрация: 23.07.2009
Сообщений: 181
По умолчанию

Office 10 / Autocad 11. Какой способ будет лучше: из Excel управлять автокадом или в автокаде создавать макрос ? В дальнейшем планируется рассчитываеть сложные конструкции зданий и подбирать расстояния, затем в автокаде чертить. Оформление линий по ГОСТ, толщина и т.д. Хотелось автоматизировать эту задачу. Ввели исходные данные, в экселе произведены все расчеты, подобраны расстония и в автокаде готов чертеж. Затем следующие данные и т.д.
doober
Да, спасибо. Но все таки хотелось бы углубиться в этот вопрос.
Вложения
Тип файла: rar Pryamougolnik.rar (31.7 Кб, 137 просмотров)

Последний раз редактировалось Foxx; 17.12.2011 в 23:34.
Foxx вне форума Ответить с цитированием
Старый 18.12.2011, 02:01   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

По опыту,если чертеж очень сложный.занимает много времени на работу Excel с Autocad,больше 40-50 секунд,то все работы надо делать в Автокаде.
Во вложении видео и модули с кодами.
Вложения
Тип файла: rar Project003.rar (1.86 Мб, 234 просмотров)
Тип файла: rar Mod1.rar (8.2 Кб, 215 просмотров)
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 18.12.2011 в 02:04.
doober вне форума Ответить с цитированием
Старый 18.12.2011, 10:03   #6
Foxx
Форумчанин
 
Регистрация: 23.07.2009
Сообщений: 181
По умолчанию

Я так понимаю модули написаны для автокада на языке Visual Basic, то есть действия все происходят в автокаде. А почему макрос запускается с Excel ? и как научиться писать эти модули для конкретного случая. Что именно почитать ? в коде не вижу что то ссылок на Excel.
Foxx вне форума Ответить с цитированием
Старый 18.12.2011, 15:03   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Эти модули находятся в файле Excel.
По обращению к листам видно,что код в VBa Excel.
Код:
    radius = Sheets("Размеры инструмента").Range("AH31").Value
    radius1 = Sheets("Размеры инструмента").Range("M31").Value

Bort = Sheets("Размеры инструмента").Range("N4").Value / 2
D2 = Sheets("Размеры инструмента").Range("V31").Value
ниже код для построения линии выглядит так в VBA Autocad
Код:
Sub Example_AddLine()
    ' This example adds a line in model space
    
    Dim lineObj As AcadLine
    Dim startPoint(0 To 2) As Double
    Dim endPoint(0 To 2) As Double
    
    ' Define the start and end points for the line
    startPoint(0) = 1#: startPoint(1) = 1#: startPoint(2) = 0#
    endPoint(0) = 5#: endPoint(1) = 5#: endPoint(2) = 0#
    
    ' Create the line in model space
    Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
    ZoomAll
    
End Sub
ЗЫ:у меня на изучение объектной модели Autocad ушел год.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 18.12.2011, 20:20   #8
Foxx
Форумчанин
 
Регистрация: 23.07.2009
Сообщений: 181
По умолчанию

Спасибо. Будем изучать. Что посоветуете почитать. В планах именно создание крупномасштабных чертежей по расчетам, проделанным в Excel.
Foxx вне форума Ответить с цитированием
Старый 18.12.2011, 20:45   #9
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Посетить этот форум.набраться терпения,+ естественно геометрия.
прилагаю Хелп для 2008,2011 не нравиться,да и для моих задач очень тяжелый.
VBA везде одинаков.Там есть примеры кодов в принципе на все случаи.
Помните,сложный чертеж-работать только с Автокада,иначе ошибка будет через минуту.Это все Билл виноват
Вложения
Тип файла: rar acad_dev.rar (99.2 Кб, 147 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 18.12.2011, 21:13   #10
Foxx
Форумчанин
 
Регистрация: 23.07.2009
Сообщений: 181
По умолчанию

Будем стараться. В архиве Mod1 у вас модули содержаться именно в VBA Excel, и с него идет запуск автокада. Если же чертеж сложный нужно писать макрос именно в VBA Autocad, где точки являются ячейки Excel. Все верно ?
Foxx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связка Excel Foxx Microsoft Office Excel 6 17.02.2014 15:49
Excel. Связка 2-х страниц и значений... Kristina Kristina Microsoft Office Excel 3 27.10.2010 09:20
Связка RTF текст Word и Excel Foxx Microsoft Office Excel 2 21.10.2010 18:49
Excel и AutoCAD Electrical bablzz Microsoft Office Excel 6 19.06.2010 23:57
Связка Word и Excel Foxx Microsoft Office Word 2 21.03.2010 09:41