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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Excel vs Autocad - размеры и текст

Excel vs Autocad - размеры и текст

Закрытая тема
Поиск в этой теме
Непрочитано 02.11.2010, 10:37 #1
Excel vs Autocad - размеры и текст
Dec0rator
 
Регистрация: 02.11.2010
Сообщений: 13

Здравствуйте!
Помогите пожалуйста с написанием следующих макросов на VBA Excel:
1) чертить размеры линейные(желательно и наклонные) и угловые по 2м-3м координатам;
2) вставка текста с указанной координатой;
Поясню для чего требуется: я немного знаю vba для excel, пишу программу, кот. могла бы по заданным параметрам в excel чертить простенькие детали в autocad, образмеивать их и подписывать;
Для черчения полилиний пользуюсь уже написанным макросом export points;
Заранее спасибо за любую помощь!
Просмотров: 9631
 
Непрочитано 02.11.2010, 11:21
#2
Eugen True

Designer
 
Регистрация: 05.09.2006
Карачарово
Сообщений: 43
<phrase 1= Отправить сообщение для Eugen True с помощью Skype™


Несмотря на кажущуюся бредовость затея не лишена смысла, но все же для начала я бы использовал copy-past. Кроме автокада есть и другие графиические программы, в том числе и параметрические.
Удачи!
__________________
3dd
Eugen True вне форума  
 
Автор темы   Непрочитано 02.11.2010, 11:28
#3
Dec0rator


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


Eugen True - я не очень понял что вы имели в виду под copy-past?)
Объясню почему именно autocad - потому что до идеала довести не получится все это, и нужно чтобы программой поьзовались люди которые знают только автокад; ну и я сам более менее умею считать в vba excel...
Вобщем очень надеюсь на помощь =)
Кстати не получается вытащить из макрорекордера 2010 автокада architecture текст программы...это вообще возможно?
Dec0rator вне форума  
 
Непрочитано 02.11.2010, 11:49
#4
Eugen True

Designer
 
Регистрация: 05.09.2006
Карачарово
Сообщений: 43
<phrase 1= Отправить сообщение для Eugen True с помощью Skype™


Я имел в виду вставку текста в командную строку. В Excel формируем столбец состоящий из команд автокада и цифр вычислений Excel, далее копи-паст в командную строку и все построено. Сам часто пользуюсь. У меня задумка так строить сложные поверхности. Если этого метода недостаточно, то далее уже VB.
__________________
3dd
Eugen True вне форума  
 
Автор темы   Непрочитано 02.11.2010, 12:14
#5
Dec0rator


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


Eugen True, я понял о чем вы; но мне нужно написать программу для производства, чтобы исключить ошибки....очень большой объем деталей, а исходных данных всего ничего...сплошная геометрия...так что только vba)
И, кстати я даже в самом autocad не нашел как можно построить угловой размер по 3м координам, введя их в командной строке
Dec0rator вне форума  
 
Непрочитано 02.11.2010, 12:25
#6
KronSerg

Вода - моя работа
 
Регистрация: 10.11.2009
Санкт-Петербург
Сообщений: 3,639


Ещё раз для тех кто в танке, что ты хочешь, нужно чтобы Excel выдавал текст программы для последующего выполнения в акаде?
__________________
Нерешаемых проблем не бывает.
KronSerg вне форума  
 
Автор темы   Непрочитано 02.11.2010, 12:36
#7
Dec0rator


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


KronSerg - Нужно на vba excel код, который сможет в уже открытом файле автокада отчертить размеры и текст по координатам.
как пример такой код есть для полилинии вот здесь, 2-й снизу:
http://www.cad.dp.ua/stats/a_vba/acentity1.php
Dec0rator вне форума  
 
Непрочитано 02.11.2010, 12:37
#8
Eugen True

Designer
 
Регистрация: 05.09.2006
Карачарово
Сообщений: 43
<phrase 1= Отправить сообщение для Eugen True с помощью Skype™


Не в курсе твоей задачи, но кажется тебе надо написать кнопку для блондинок.
Дерзай. Удачи!
__________________
3dd
Eugen True вне форума  
 
Непрочитано 02.11.2010, 14:03
1 | #9
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


Вот процедурка.. Особо не проверял, но по идее должна работать.. Из экселя в нее надо аргументы передать, но если с VBA excel имел дело, то разберешься..

Код:
[Выделить все]
Public Sub dimcreate(x1, x2, x3, y1, y2, y3)
Dim Acad As Object
Dim pnt1(0 To 2) As Double
Dim pnt2(0 To 2) As Double
Dim pnt3(0 To 2) As Double
Dim dimObj 'As AcadDimAligned
  Set Acad = GetObject(, "Autocad.Application")
  If Err <> 0 Then
    MsgBox "Autocad не загружен", vbExclamation
    Exit Sub
  End If
Dim MyModelSpace
On Error Resume Next
If Acad.ActiveDocument.ActiveSpace = 1 Then
  Set MyModelSpace = Acad.ActiveDocument.ModelSpace
Else
  Set MyModelSpace = Acad.ActiveDocument.paperSpace
End If
On Error GoTo errch
pnt1(0) = x1
pnt2(0) = x2
pnt3(0) = x3
pnt1(1) = y1
pnt2(1) = y2
pnt3(1) = y3
pnt1(2) = 0#
pnt2(2) = 0#
pnt3(2) = 0#
Set dimObj = MyModelSpace.AddDimAligned(pnt1, pnt2, pnt3)
Exit Sub
errch:
MsgBox Err.Number & vbCrLf & Err.Description
End Sub
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 02.11.2010, 16:50
#10
Dec0rator


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


AlexV - спасибо огромное! это то что и нужно было по размерам!
текст и угловые размеры сделал по аналогии =)
тему можно считать закрытой, для меня во всяком случае)
Dec0rator вне форума  
 
Непрочитано 06.11.2010, 07:29
#11
bdfy


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


Цитата:
Поясню для чего требуется: я немного знаю vba для excel, пишу программу, кот. могла бы по заданным параметрам в excel чертить простенькие детали в autocad, образмеивать их и подписывать;
давно вынашиваю идею написать хороший автомат по теор. механике с построением редуктора и той самой деталировки случайно не такую задачу решаете ?
на самом деле автокад наверное худшее решение для этой задачи. если нужно "серьезное" оформление по ГОСТ - лучше работайте с компасом. там и программирование несколько более продвинутое.
если же делаете "тяп-ляп" под ручную доработку я бы c Visio работал. хотя бы потому что с VBA он работает на ять. сделан для этого. результат можно и в автокад экспортировать. если очень хочется.
bdfy вне форума  
 
Непрочитано 06.11.2010, 11:33
#12
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


Цитата:
Сообщение от bdfy Посмотреть сообщение
...на самом деле автокад наверное худшее решение для этой задачи. если нужно "серьезное" оформление по ГОСТ - лучше работайте с компасом. там и программирование несколько более продвинутое...
А что, под Компас можно программировать? В какой среде?
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 06.11.2010, 17:16
#13
bdfy


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


Цитата:
А что, под Компас можно программировать? В какой среде?
python как минимум. опять же запись макросов там есть чего в автокаде я не заметил.
bdfy вне форума  
 
Непрочитано 06.11.2010, 21:02
#14
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


Цитата:
Сообщение от bdfy Посмотреть сообщение
python как минимум. опять же запись макросов там есть чего в автокаде я не заметил.
python это конечно хорошо.. Правда, язык не самый, по-моему, известный.. Автокад много за что можно критиковать, но как раз легкость и простота разработки приложений под него даже дилетантом в программировании всегда считалось достоинством..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 07.11.2010, 12:39
#15
gomer

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


Цитата:
Сообщение от AlexV Посмотреть сообщение
легкость и простота разработки приложений под него даже дилетантом в программировании всегда считалось достоинством.
Не обобщайте... Серьезные приложения - слишком дорого для дилетанта... (я имею ввиду .net и oarx)
gomer вне форума  
 
Непрочитано 07.11.2010, 13:16
#16
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


Цитата:
Сообщение от gomer Посмотреть сообщение
Не обобщайте... Серьезные приложения - слишком дорого для дилетанта... (я имею ввиду .net и oarx)
Ну, я не так, наверное, выразился.. я имею в виду не .net и arx, а lisp и vba. Не "серьезное приложение", а утилиты для облегчения своей работы (которые может зачастую сделать даже дилетант, либо попросить на dwg.ru, и их за 5 минут на коленке наклепает VVA, kpblc или еще 152 знающих человека.. )
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 07.11.2010, 13:23
#17
gomer

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


Цитата:
Сообщение от AlexV Посмотреть сообщение
я не так, наверное, выразился..
с этим согласен
Я вот не смог почему-то к брикскад 10 подключиться из опен офис калк... но может чего не так сделал... не помню... по #9 желательно все таки создавать экземпляр автокада если он не запущен...К тому же, если у меня запущено256 автокадов, как узнать какой из них подключен к экселю
gomer вне форума  
 
Непрочитано 07.11.2010, 18:55
#18
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


Цитата:
Сообщение от gomer Посмотреть сообщение
по #9 желательно все таки создавать экземпляр автокада если он не запущен...К тому же, если у меня запущено256 автокадов, как узнать какой из них подключен к экселю
А зачем? Если не запущен, то программа скажет: "Звыняйте, хлопцы!. Он не запущен. Запустите, чтоль..". Если запущено 256 автокадов, то узнать о том, какой подключен к экселю, можно будет по вновь появившимся размерам, созданным процедурой dimcreate.. Появятся они в том автокаде, который был запущен последним, наверное. Нет, понятно, что в идеале, программа должна разобраться, из под чего там ее запустили, экселя, опенофиса, кватропро или там вдруг "лотус 1-2-3", найти в системе все автокады и прочие инвенторы, догадаться, чего хотел юзер, и потом это создать; работать под любой виндой, DOS, macos-ами и национальной узбекской операционной системой.. Но в этом случае она будет либо платной, либо ее сваял Александр Ривилис..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 07.11.2010, 23:59
#19
Dec0rator


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


Я собственно поясню для чего конкретно делаю прогу:
для вычерчивания непрямоугольных наличников, откосов и тому подобных изделий. Собственно потому меня совершенно не интересует оформление по ГОСТ - нужно просто чтобы люди поняли как обрезать на станке ту или иную деталь :-)
И еще - результат нужен был очень быстрый, ибо до меня все это чертили просто вручную!
Ну и еще косяк в том что я пока что очень слабо знаю даже тот же vba...
Ежели интересно, могу выложить то что написал :-)
Кстати то что программа чертит просто в открытом автокаде весьма удобно)
Dec0rator вне форума  
 
Непрочитано 08.11.2010, 08:41
#20
Сергей Дубина


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


Я делал для 2009 автокада, пример сдесь:
http://forum.dwg.ru/attachment.php?a...0&d=1288073940
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Excel vs Autocad - размеры и текст

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в AutoCAD преобразовать текст в таблицу? AVZ AutoCAD 30 29.09.2020 13:52
Видеоуроки AutoCAD kosmax AutoCAD 173 17.02.2017 15:08
Размеры в 3м Autocad Natalya AutoCAD 11 24.01.2012 09:50
Как сделать окно Autocad активным при запуске из VBA Excel? AlexV Программирование 1 20.08.2009 12:40
Нет ли у кого ивритского шрифта? (из EXCEL в AutoCAD) Grinzaid AutoCAD 1 26.12.2003 22:25