Visual Studio и работа с CopyObjects

Автор Тема: Visual Studio и работа с CopyObjects  (Прочитано 17478 раз)

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

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Visual Studio и работа с CopyObjects
« Ответ #15 : 24-04-2017, 15:49:12 »
NameError: name 'AcadEntity' is not defined

AcadEntity описан в  Autodesk.AutoCAD.Interop.Common.dll
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Khasan Mamaev

  • ADN Club
  • Сообщений: 44
  • Карма: 7
    • Конструктивный диалог
  • Skype: wolfram222
Re: Visual Studio и работа с CopyObjects
« Ответ #16 : 24-04-2017, 16:13:20 »
Код - Python [Выбрать]
  1. import clr
  2. clr.AddReferenceToFileAndPath('C:/Program Files/Autodesk/AutoCAD 2015/Autodesk.AutoCAD.Interop.Common')
  3. from Autodesk.AutoCAD.Interop.Common import AcadEntity
  4.  
  5. ents = [i for i in drw1.ModelSpace]
  6. cc = Array.CreateInstance(AcadEntity,len(ents))
  7.  

получается!
« Последнее редактирование: 24-04-2017, 16:19:26 от Александр Ривилис »

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Visual Studio и работа с CopyObjects
« Ответ #17 : 24-04-2017, 16:21:08 »
получается!
Ну а как же. :)
И что же это за сообщества "Питон и сиШарп", которые не смогли решить этот вопрос?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Khasan Mamaev

  • ADN Club
  • Сообщений: 44
  • Карма: 7
    • Конструктивный диалог
  • Skype: wolfram222
Re: Visual Studio и работа с CopyObjects
« Ответ #18 : 24-04-2017, 16:41:25 »
И что же это за сообщества "Питон и сиШарп", которые не смогли решить этот вопрос?
в Телеграм)

Оффлайн Khasan Mamaev

  • ADN Club
  • Сообщений: 44
  • Карма: 7
    • Конструктивный диалог
  • Skype: wolfram222
Re: Visual Studio и работа с CopyObjects
« Ответ #19 : 25-04-2017, 11:24:54 »
Код - Python [Выбрать]
  1. import System
  2. from System import Array
  3. import clr
  4. clr.AddReferenceToFileAndPath('C:/Program Files/Autodesk/AutoCAD 2015/Autodesk.AutoCAD.Interop.Common')
  5. from Autodesk.AutoCAD.Interop.Common import AcadEntity
  6.  
  7. app = System.Runtime.InteropServices.Marshal.GetActiveObject("Autocad.Application")
  8.  
  9. for i in app.Documents:
  10.         if i.Name == 'Copy.dwg':
  11.                 drw1 = i
  12.         elif i.Name == 'Copy2.dwg':
  13.                 drw2 = i
  14.  
  15. ents = [i for i in drw1.ModelSpace]
  16. cc = Array.CreateInstance(AcadEntity,len(ents))
  17.  
  18. for i,k in enumerate(ents):
  19.         cc.SetValue(k,i)
  20.  
  21. drw1.CopyObjects(cc, drw2.ModelSpace)

Код на IronPython копирует все примитивы из модели в модель между двумя открытыми файлами. Благодарю всех за помощь!
« Последнее редактирование: 17-06-2017, 13:37:46 от Khasan Mamaev »

Оффлайн Пашин Евгений

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Visual Studio и работа с CopyObjects
« Ответ #20 : 25-04-2017, 14:41:56 »
Прекрасно работает, попробовал на AutoCAD 2014 и 2017.

Оффлайн ulikeamom

  • ADN OPEN
  • Сообщений: 1
  • Карма: 0
Re: Visual Studio и работа с CopyObjects
« Ответ #21 : 05-05-2017, 06:52:47 »
Сложный язык этот питон.
« Последнее редактирование: 30-04-2021, 15:26:25 от Александр Ривилис »

Оффлайн Khasan Mamaev

  • ADN Club
  • Сообщений: 44
  • Карма: 7
    • Конструктивный диалог
  • Skype: wolfram222
Re: Visual Studio и работа с CopyObjects
« Ответ #22 : 05-05-2017, 07:41:09 »
Сложный язык этот питон.
Это как бы не совсем Питон, а небольшая смесь Питон, .NET и Autocad COM API. Сам по себе Питон довольно простой и рекомендуется как первый язык программирования.