Тема: Глобальные переменные во внешних подсборках

Файл содержит 2 внешние подсборки. Для удобства, линейные размеры деталей в сборках заданы через глобальные переменные. Изменения в таблице глобальных переменных влияет только на локальные детали и сборки. Внешние сборки  приходится линковать через экспортированную  таблицу глобальных переменных. неужели нет более простого способа? Ну должны глобальные переменные воздействовать на внешние сборки, прямо из файла.

Re: Глобальные переменные во внешних подсборках

если найдёшь способ так делать поделись плиз:))
это Вам коллега не Inventor

Re: Глобальные переменные во внешних подсборках

Можно во всех файлах сделать ссылку на ОДНУ внешнюю эксельную таблицу. Тогда все изменения в ней затронут все файлы. Но передернуть каждый файл все равно придется вручную.

Re: Глобальные переменные во внешних подсборках

БээД!!!
Так надеялся на собственную тупость, и неосведомленность. А вот по поводу Inventor'а уже подумываю давно, но видно дома диск забыл при переезде, а выбраться в магазин нет времени, может кто посоветует с какой версии Inventor мучать начать, чтоб без лишней крови? Да, возможно где-то с релизами в интере валяется - закачать метров 700 похоже реальнее, чем сорваться в Москву в рабочее время : (

Re: Глобальные переменные во внешних подсборках

Допустим, есть много деталей и подсборок в отдельных файлах с размерами, заданными глобальными переменными. В каждом из этих файлов созданы чертежные виды. Мы хотим сделать сборку из этих деталей. Можно все внешние детали локализовать. Размер деталей станет соответствовать глобальным переменным сборки, но при локализации чертежные виды деталей не переносятся в сборку и нельзя будет получить уже подготовленные чертежные виды с новыми размерами. Остается делать сборку с внешними деталями, но глобальные переменные внешних деталей привести в соответствие с переменными сборки. Сделать это можно следующим способом.
При открытом файле сборки открыть для редактирования файл внешней детали (можно через меню File или выбрать деталь в браузере и через контекстное меню Open to Edit. Если теперь находясь в окне внешней детали просмотреть глобальные переменные, то увидим, что это переменные файла сборки. Остается только выполнить команду AMUPDATE и закрыть файл детали с сохранением.Такие действия нужно выполнить для каждого внешнего файла (открываем для редактирования -> AMUPDATE -> закрываем с сохранением). После того, как изменены значения глобальных переменных во всех внешних файлах, в окне файла сборки вызываем команду AMREFRESH.
Если внешних файлов очень много, то эту процедуру удобнее выполнить с помощью макроса на VBA.

Private Sub GlobalVarsRefresh()
Dim mcad As McadApplication
Set mcad = ThisDrawing.Application.GetInterfaceObject("Mcad.Application")
Dim mcds As McadComponentDefinitions
Dim mcd As McadComponentDefinition
Set mcds = mcad.ActiveDocument.AssemblyMgr.Definitions
For Each mcd In mcds
  If mcd.IsExternal Then
    ThisDrawing.Application.Documents.Open (mcd.ExternalPath)
    mcad.ActiveDocument.Update
    ThisDrawing.Save
    ThisDrawing.Close
  End If
Next mcd
End Sub

После завершения работы макроса вызываем команду AMREFRESH.