Последние сообщения

Последние сообщения

Страницы: [1] 2 3 ... 10
1
AutoCAD .NET API / Re: Как получить элемент окна WPF в AutoCAD
« Последний ответ от Lemieux 13-08-2020, 18:53:54 »
Какая логика работы окон? Я, например, вызываю окно из AutoCAD, потом его скрываю и передаю управление в AutoCAD, делаю то, что мне нужно и передаю данные из чертежа в окно.
Вот примерно такая схема

Код - C# [Выбрать]
  1. var window = Window.GetWindow(this);
  2. window.Hide();
  3.  
  4. //Что-то делаю//
  5.  
  6. window.Show();

Я думаю, что можно последовательно получить экземпляры нужных окон и делать всё, что надо.
2
Inventor API / Re: Установка цвета для ComponentOccurrence
« Последний ответ от Vladislav 13-08-2020, 13:55:48 »
О, большое спасибо! Попробую.
3
Павел55,
А вообще-то тебе случайно не до родительского WPF-окна нужно достучаться?
4
Павел55,
Так как AutoCAD - это не чистый .NET код, то вполне возможно, что и null. Поэтому советую просто хранить указатели на WPF-окна и пользоваться ими по мере необходимости.
5
Inventor API / Re: Установка цвета для ComponentOccurrence
« Последний ответ от mikazakov 12-08-2020, 18:19:31 »
1) Сохранится ли новый цвет детали?
А почему нет.

2) Могу ли я использовать свой цвет (задавая комбинацию Red, Green, Blue)
Я повнимательнее посмотрел, похоже статья старая
вот пара рабочих кодов

Код - Visual Basic [Выбрать]
  1. Public Sub CreateSimpleColorAppearance()
  2.     Dim doc As PartDocument
  3.     Set doc = ThisApplication.ActiveDocument
  4.    
  5.      
  6.     ' Only document appearances can be edited, so that's what's created.
  7.    ' This assumes a part or assembly document is active.
  8.    Dim docAssets As Assets
  9.     Set docAssets = doc.Assets
  10.    
  11.     ' Create a new appearance asset.
  12.    Dim appearance As Asset
  13.     Set appearance = docAssets.Add(kAssetTypeAppearance, "Generic", _
  14.                                     "MyShinyRed", "My Shiny Red Color")
  15.    
  16.     Dim tobjs As TransientObjects
  17.     Set tobjs = ThisApplication.TransientObjects
  18.  
  19.  
  20.     Dim color As ColorAssetValue
  21.     Set color = appearance.Item("generic_diffuse")
  22.     color.Value = tobjs.CreateColor(255, 15, 15)
  23.    
  24.     Dim floatValue As FloatAssetValue
  25.     Set floatValue = appearance.Item("generic_reflectivity_at_0deg")
  26.     floatValue.Value = 0.5
  27.    
  28.     Set floatValue = appearance.Item("generic_reflectivity_at_90deg")
  29.     floatValue.Value = 0.5
  30.  
  31.    
  32.       Dim oAsset As Asset
  33.      Set oAsset = doc.AppearanceAssets("My Shiny Red Color")
  34.    doc.ActiveAppearance = oAsset
  35.    
  36.    
  37. End Sub
  38.  


Код - Visual Basic [Выбрать]
  1. Sub PartColor()
  2.     Dim oAsset As Asset
  3.     Dim oLib As AssetLibrary: Set oLib = ThisApplication.AssetLibraries("Autodesk Appearance Library")
  4.     Set oAsset = oLib.AppearanceAssets("Gold")
  5.     If ThisApplication.ActiveDocumentType = kPartDocumentObject Then
  6.         Dim oPart As PartDocument: Set oPart = ThisApplication.ActiveDocument
  7.         oPart.ActiveAppearance = oAsset
  8.     ElseIf ThisApplication.ActiveDocumentType = kAssemblyDocumentObject Then
  9.         Dim oAsm As AssemblyDocument: Set oAsm = ThisApplication.ActiveDocument
  10.         Set oAsset = oAsset.CopyTo(oAsm)
  11.         Dim oOcc As ComponentOccurrence
  12.         Set oOcc = oAsm.ComponentDefinition.Occurrences(1)
  13.         oOcc.appearance = oAsset
  14.     End If
  15. End Sub
6
Хорошо. Не буду. Но тогда логично было бы предоставить исходный код.
Возможно, я честно говоря не думал, что кто-то будет целенаправленно разбираться в проектах, тем более, что некоторые программы там занимают около 8т строк. Конкретно в этом разделе я больше хотел поделиться идеями и результатами работы, но если возникнут конкретные вопросы по реализации каких-то моментов - я конечно готов ответить.
7
AutoCAD .NET API / Re: Как получить элемент окна WPF в AutoCAD
« Последний ответ от Павел55 12-08-2020, 17:48:03 »
Вроде null, не могу посмотреть - комп по пол часа висит при отладке.
8
так и есть
А что показывает отладчик на App.Current.Windows ?
9
AutoCAD .NET API / Re: Как получить элемент окна WPF в AutoCAD
« Последний ответ от Павел55 12-08-2020, 17:44:28 »
так и есть. App - это System.Windows.Application.
10
Код - C# [Выбрать]
  1. foreach (Window window in App.Current.Windows)
Вот тут происходит ошибка - ссылка на объект не указывает на экземпляр объекта
А App у тебя что? Может лучше System.Windows.Application ?
Страницы: [1] 2 3 ... 10