Перейти к публикации

Макрос для команды зафиксировать входящие подсборки и детали


Рекомендованные сообщения

Подскажите, пожалуйста, не наталкивался ли кто-нибудь на макрос который выполнял бы команду зафиксировать для подсборок и деталей в сборке?

Ссылка на сообщение
Поделиться на других сайтах


16 минут назад, Alex1986 сказал:

Подскажите, пожалуйста, не наталкивался ли кто-нибудь на макрос который выполнял бы команду зафиксировать для подсборок и деталей в сборке?

Оно ведь неподвижно в головной сборке, зачем фиксировать компоненты в подсборках?

Верхний уровень можно зафиксировать выбрав первый компонент, потом опуститься в самый низ списка и нажав кнопку SHIFT на клавиатуре выбрать последний компонент, после выделения программой всех компонентов дерева через контекстное меню ЗАФИКСИРОВАТЬ.

Изменено пользователем Kelny
Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, Kelny сказал:

Оно ведь неподвижно в головной сборке, зачем фиксировать компоненты в подсборках?

 

чтоб при редактировании подсборок не сдвинуть

 

Ссылка на сообщение
Поделиться на других сайтах
17 минут назад, Alex1986 сказал:

чтоб при редактировании подсборок не сдвинуть

О каких подсборках речь?

Обычно сборка это нечто осознанное и построенное по некоторому набору взаимосвязей.

 

Как вариант сохранить вашу сборку в нейтральный формат или деталь Solidworks, а после снова втянуть в программу и в результате все компоненты окажутся обездвиженными (если втягивается нейтральный формат в новой версии Solidworks, то может потребоваться разрыв ссылки с исходным форматом через контекстное меню, что бы появились полные возможности редактирования в формате Solidworks).

Изменено пользователем Kelny
Ссылка на сообщение
Поделиться на других сайтах
11 минуту назад, Kelny сказал:

сборка это нечто осознанное и построенное по некоторому набору взаимосвязей

не в случае, когда сборка чужая и прислана в step

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

 

Ссылка на сообщение
Поделиться на других сайтах
11 минуту назад, Alex1986 сказал:

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

Так может убрать галочку ИМПОРТИРОВАТЬ НЕСКОЛЬКО ТЕЛ КАК ДЕТАЛИ в параметрах импорта?

Или всё же может сохранить как:

25 минут назад, Kelny сказал:

деталь Solidworks

 

Изменено пользователем Kelny
Ссылка на сообщение
Поделиться на других сайтах

@Kelny ни один вариант не подходит, т.к. часть подсборок и деталей надо редактировать

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Alex1986 сказал:

часть подсборок и деталей надо редактировать

Ни что не мешает выделить часть деталей в сборку или другую деталь и продолжать редактировать, если это по каким-то причинам не удобно в одной общей детали.

Ссылка на сообщение
Поделиться на других сайтах

@Kelny нарушится структура, которая меня вполне устраивает.

Вопрос был о макросе, а не о способах обойти.

Ссылка на сообщение
Поделиться на других сайтах
25 минут назад, Alex1986 сказал:

Вопрос был о макросе, а не о способах обойти.

Чего-то я никак не пойму, зачем нужен макрос для выполнения действий, решаемых самой программой :doh:

Ссылка на сообщение
Поделиться на других сайтах

@Plumber Подскажите, пожалуйста, как!

Я открываю файл, получаю кучу деталей и подсборок  не зафиксированными. 

Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, Alex1986 сказал:

не наталкивался ли кто-нибудь на макрос который выполнял бы команду зафиксировать для подсборок и деталей в сборке?

Не наталкивался, но специально нарыл на забугорщине ):

Можно фиксировать и освобождать все компоненты в сборке и подсборках:

 

Скрытый текст

Dim swApp As SldWorks.SldWorks

    Public Sub main()
    
Set swApp = GetObject(, "Sldworks.Application")
        Dim ActiveDoc As ModelDoc2
        Set ActiveDoc = swApp.ActiveDoc

        If Not ActiveDoc Is Nothing Then
            If ActiveDoc.GetType = 2 Then
                GoTo Traverse
            End If
        End If
        MsgBox ("Макрос работает только в сборках")
        Exit Sub

Traverse:
        
        Dim myModel As ModelDoc2
        Set myModel = ActiveDoc
        Call Traverse(myModel, myModel.ConfigurationManager.ActiveConfiguration.Name)

        MsgBox ("Готово")

    End Sub

    Private Sub Traverse(ByVal myModel As ModelDoc2, ByVal Config As String)

        Dim myAsm As AssemblyDoc
        Set myAsm = myModel

        Dim tFeature As Feature
        Set tFeature = myModel.FirstFeature
        Dim aSelMgr As SelectionMgr
        Set aSelMgr = myModel.SelectionManager
        Dim comp As Component2

        myModel.ShowConfiguration2 (Config)
        Do While Not tFeature Is Nothing

            'looks for reference features (parts/assemblies)
            If tFeature.GetTypeName = "Reference" Or tFeature.GetTypeName = "ReferencePattern" Then

                tFeature.Select (False) 'selects itself
                Set comp = aSelMgr.GetSelectedObject6(1, 0)   'sets feature as component

                Debug.Print (comp.Name)

                Dim mysubModel As ModelDoc2
                Set mysubModel = comp.GetModelDoc2
                If mysubModel Is Nothing Then GoTo NextLoop

                If mysubModel.GetType = 2 Then 'If Reference is an assembly run through again

                    myAsm.FixComponent 'чтобы освободить компоненты - поменять на myAsm.UnfixComponent
                    Call Traverse(mysubModel, comp.ReferencedConfiguration)

                Else 'Otherwise, means it's a part

                    myAsm.FixComponent 'чтобы освободить компоненты - поменять на myAsm.UnfixComponent

                End If

            End If

NextLoop:
            Set tFeature = tFeature.GetNextFeature()
        Loop

    End Sub

 

 

Ссылка на сообщение
Поделиться на других сайтах
23 часа назад, Alex1986 сказал:

Подскажите, пожалуйста, как!

Выделяете в дереве всё гамузом (CTRL+A) далее правой кнопкой вызывается контекстное меню и там есть пунктик "Зафиксированный", да, он работает только для верхнего уровня, но все равно все подсборки по умолчанию вставляются с параметром "решить точно". Посему не вижу особой необходимости фиксировать элементы подсборок из верхней сборки, а сами подсборки вставляю в верхнюю уже с определёнными привязками.

Иногда бывает после импорта STEP-сборок печатных плат, элементы нижних подсборок не зафиксированы, но лично меня это совсем не беспокоит, т.к. я работаю только со сборкой верхнего уровня.

Ссылка на сообщение
Поделиться на других сайтах

@Plumber Спасибо! Это как раз то, что не надо :biggrin:

Мне нужно в подсборках изменять детали. И макрос, который нашел @Kir95 как раз замечательно справляется с этой задачей.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
    • gudstartup
      да информация о решенной проблеме очень важна так что будем ждать хороших новостей!
    • mrVladimir
      @gudstartup Спасибо Вам за помощь. Теперь дело в приобретении платы. Как что-то получится (сперва приобрести, потом поставить) обязательно отпишусь.
    • gudstartup
      а как вы taxid фирмы нашли?
    • gudstartup
      все что я написал в цитате выше по теме полная фигня в связи с вновь приобретённой информацией. можно менять любые компоненты в пределах серии чпу если только не меняете по или записываете oprminf но  всегда могут быть нюансы  @mrVladimir все должно получиться извините за то что выдал непроверенную информацию за мнение типа знающего эксперта оказывается я 
    • malvi.dp
      Какое у детали имя файла и как формируете Обозначение и Наименование? Вы каждое исполнение сохраняете в новый чертеж? Или это групповой чертеж? Если групповой-то имя конфигурации в нем быть не должно. Стоит ли галочка "Исполнение" "Из конфигурации"? На сколько мне не изменяет память макрос сохраняет файл чертежа с тем же именем что и файл модели в папке модели. В спецификации все правильно отображается, даже если знаков исполнений больше трех  
    • gudstartup
      и главная деталь чтобы на системе была remote option system а именно файл oprminf.000 c сертификатами и были ли проблемы с ними после замены компонентов.
    • boomeeeer
      с него родимого
    • Grundick
×
×
  • Создать...