WSZYSTKO O PROGRAMIE SOLIDWORKS

  • 608 086 942
wybierz podzespół

07/28/2021

Czy wiesz, że… ?

Wśród wielu rzeczy, które mogą być konieczne w nadrzędnym złożeniu jest opcja wyboru podzłożenia ze złożenia. Chciałbym to zrobić w oknie graficznym, bez konieczności odszukiwania złożenia w drzewie.

Zastosowanie?

W celu utworzenia kopii złożenia, w widokach rozstrzelonych i wielu innych. W wyniku kliknięcia na części program zaznacza tę część, a ja potrzebuję zaznaczyć całe podzłożenie.

wybierz podzespół

Brakuje mi skrótu klawiaturowego lub polecenia, które w takiej sytuacji pozwoli wybrać podzłożenie (np. po przytrzymaniu jakiegoś klawisza). Oczywiście zawsze można zgłosić/zaproponować nową funkcję w programie. Więcej na ten temat znajdziesz tutaj>>>.

Jak sobie z tym poradzić?

Jest takie polecenie, które znajdziesz pod prawym przyciskiem – Wybierz podzespół. Ktoś mógłby powiedzieć, że skoro jest taka możliwość to po coś lepszego? Mi osobiście jednak brakuje skrótu lub filtru wyboru…

wybierz podzespół

Po zaznaczeniu oczywiście podświetla się całe podzłożenie.

wybierz podzespół

A jakie jest Wasze zdanie na ten temat i jak sobie radzicie w podobnej sytuacji? Czekam na komentarze.

1 Komentarz

  1. Damian

    Poszperałem trochę w internecie i znalazłem takie macro, które można przypisać sobie do któregoś z klawiszy 🙂

    źródło: https://www.eng-tips.com/viewthread.cfm?qid=197270

    KOD:
    ’————————————————-

    ’ Macro to select parent assembly of the selected assembly component
    ’ for easy mating. Modified extensively from the
    ’ „Select Origin of Assembly Component Example (VB)” in
    ’ SolidWorks and Add-Ins API Help

    ’ Preconditions:

    ’ (1) Assembly document is open.

    ’ (2) One or more items is selected.

    ’ Postconditions: The parent subassembly is selected. Will not select
    'the top level assembly.

    ’————————————————–

    Option Explicit

    Sub main()

    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swSelMgr As SldWorks.SelectionMgr
    Dim swSelComp As SldWorks.Component2
    Dim bRet As Boolean
    Dim GeneralSelObj As Object
    Dim i As Integer
    Dim CurSelCount As Long
    Dim NewObjToSelect As Object
    Dim swVer As Variant
    Dim ResolveIt As Integer
    Dim DocTitle As String

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc

    If swModel.GetType swDocASSEMBLY Then
    MsgBox „This macro works on assembly documents only.”
    Exit Sub
    End If

    Set swSelMgr = swModel.SelectionManager
    CurSelCount = swSelMgr.GetSelectedObjectCount
    If CurSelCount = 0 Then
    MsgBox „Nothing was selected”
    Exit Sub
    End If

    Set GeneralSelObj = swSelMgr.GetSelectedObject(CurSelCount)
    Set swSelComp = swSelMgr.GetSelectedObjectsComponent(CurSelCount)
    swVer = Split(swApp.RevisionNumber, „.”)
    If CInt(swVer(0)) < 14 Then
    If swSelComp.GetSuppression swComponentFullyResolved Then
    If swSelComp.GetSuppression swComponentResolved Then
    ResolveIt = MsgBox(„The component selected is not fully resolved.” _
    & vbCrLf & „This functionality is only available for lightweight” & vbCrLf & _
    „components in SolidWorks 2006 or greater.” & vbCrLf & vbCrLf & _
    „Resolve this component now?”, vbYesNo, „Upgrade Time!”)
    If vbYes = ResolveIt Then
    swSelComp.SetSuppression2 swComponentFullyResolved
    Else
    Exit Sub
    End If
    End If
    End If
    End If

    Set NewObjToSelect = swSelComp.GetParent
    If Not NewObjToSelect Is Nothing Then
    swSelMgr.DeSelect CurSelCount
    bRet = NewObjToSelect.Select(True): Debug.Assert bRet
    End If

    End Sub

    ’————————————————-

    Reply

Dodaj Komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *