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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > координаты Excel->_line x,y x,y для Acad. нужен макрос на

координаты Excel->_line x,y x,y для Acad. нужен макрос на

Ответ
Поиск в этой теме
Непрочитано 09.06.2005, 09:56 #1
координаты Excel->_line x,y x,y для Acad. нужен макрос на
VictorSM
 
Регистрация: 09.06.2005
Сообщений: 4

8 июня:
Вот уже второй месяц бьюсь над решением задачи. Результат 0%. Идея - вычисления кординат точек в MathCAD -> Экспорт в EXCEL -> с помощбю макроса строю чертеж в екселе но это для работы не приемлемо. Реально ли теперь по полученным координатам с помощью лиспа или макроса на VBA вычертитть линии? Помогите, пожалуйста! Решается вопрос с дипломом...

9 июня:
Задачу решил благодаря форумам dwg.ru & autocad.ru
Файл с примером и маросами можно скачать по адресу:
http://dwg.ru/dwl/275

Макрос Acad_Transfer разобрать не могу, да и ума у ламмера маловато (бывает 8)).

Остается уповать на помощь умного человека.
Мое мыло [email protected]
Просмотров: 7375
 
Непрочитано 09.06.2005, 18:53
#2
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Честно говоря, откровенно лень пытаться понять что хочет сделать макрос, особенно когда там ноль комментариев.

Если надо только начертить отрезки то примерно так
Код:
[Выделить все]
Sub Acad_Transfer()
'Var
  Dim ACad As Object
  Dim ADoc As Object
  Dim MSpace As Object
  Dim startpt(0 To 2) As Double
  Dim endpt(0 To 2) As Double
' столбцы с координатами
  Dim cxs As String
  cxs = "B"
  Dim cys As String
  cys = "C"
  Dim cxe As String
  cxe = "D"
  Dim cye As String
  cye = "E"
' начальная строка с координатами
  Dim line As Integer
  line = 2
' колонка с названием примитива
  Dim pr As String
  pr = "A"
  
  Dim wsheet As Excel.Worksheet
  Set wsheet = ThisWorkbook.ActiveSheet ' активный лист Екселя
  
  Set ACad = GetObject(, "AutoCAD.Application")
  Set ADoc = ACad.ActiveDocument
  Set MSpace = ADoc.ModelSpace
  
  With wsheet
    Do
      startpt(0) = CDbl(.Range(cxs & line).Value)
      startpt(1) = CDbl(.Range(cys & line).Value)
      startpt(2) = 0
      endpt(0) = CDbl(.Range(cxe & line).Value)
      endpt(1) = CDbl(.Range(cye & line).Value)
      endpt(2) = 0
      line = line + 1
    MSpace.AddLine startpt, endpt
    Loop While .Range(pr & line).Text <> ""
  End With
  MsgBox "Останов на " & line & " строке листа"
  ADoc.Regen (True)
End Sub
Признак окончания обработки списка координат - пустая ячейка в колонке "А"
vk вне форума  
 
Непрочитано 10.06.2005, 00:09
#3
Бриг


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


Похоже, надо по точкам в Автокаде сделать чертеж в Excel?!
Бриг вне форума  
 
Непрочитано 10.06.2005, 00:16
#4
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


>Бриг
Угу, тем более что эта тема аж трижды засветилась на другом форуме...

А зачем там в макросе (в исходном) упоминаются настройки стиля текста, создание слоя... С ходу не разобрался, а вникать в нерабочий чужой код без комментариев - хуже не бывает. Да и постановка вопроса ограничена только построением.
vk вне форума  
 
Непрочитано 10.06.2005, 06:44
#5
Бриг


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


Цитата:
Сообщение от vk
>Бриг
Угу, тем более что эта тема аж трижды засветилась на другом форуме...

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

Ясно. Не понятен подход. Только если для диплома, который развивает навыки черчения в... Excel.
Бриг вне форума  
 
Автор темы   Непрочитано 10.06.2005, 11:27 Acknowledgments to VK
#6
VictorSM


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


Впорос: "А зачем там в макросе (в исходном) упоминаются настройки стиля текста, создание слоя... С ходу не разобрался, а вникать в нерабочий чужой код без комментариев - хуже не бывает. "

Ответ: т.к. слаб я в VBA, взял подобный макрос из файла Graph (лежит где то в Download), вычерчивающий полилинию по заданной в Excele формуле. Сегодня приобрел книженку для просвещения, но вижу она пока не нужна. Спасибо, VK! Выручил, как редко кто выручает. Привет Самаре 8).
VictorSM вне форума  
 
Автор темы   Непрочитано 10.06.2005, 11:37
#7
VictorSM


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


Цитата:
Сообщение от Бриг
>Бриг

Ясно. Не понятен подход. Только если для диплома, который развивает навыки черчения в... Excel.
Диплом бакалавра Пром и Гражд Стр-ва по САПРу. Логика расписана в MathCADe. Будет время, кровь из носу, но освою VB & VBA. Но на какой язык переписывать программу пока не знаю. Бриг, посоветуй!
VictorSM вне форума  
 
Непрочитано 10.06.2005, 12:41
#8
Бриг


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


[quote="VictorSM"]
Цитата:
Сообщение от Бриг
Но на какой язык переписывать программу пока не знаю. Бриг, посоветуй!
Не рекомендую переписывать программу на язык. Никто не увидит! Да и приятного мало. Лучше переписать на грудь, а если не вместится, на ляжки. Тогда на любом пляже девушки будут ходить за тобой толпой... чтоб изучить исходник. Но ты уж тогда не теряйся
Бриг вне форума  
 
Непрочитано 22.01.2006, 18:33
#9
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Подскажите пожалуйста, можно ли записывать макрос VBA в акаде, так как это делается в Exel при помощи Macrorecordera?
Sleekka вне форума  
 
Непрочитано 22.01.2006, 18:41
#10
Бриг


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


Цитата:
Сообщение от Sleekka
Подскажите пожалуйста, можно ли записывать макрос VBA в акаде, так как это делается в Exel при помощи Macrorecordera?
Есть программка, кажется, vbarecorder. Пишет макросы в AutoCAD как в Excel. Сам не пробовал, но известно из надежного источника. Поищите в Интернете, может повезет.
Бриг вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > координаты Excel->_line x,y x,y для Acad. нужен макрос на

Размещение рекламы