Klasické zobrazení

Odsazení plochy – Flip

Toto fórum obsahuje 2 odpovědi a 2 diskutujících a naposledy bylo upraveno uživatelem ludvikv před 8.2.2010 06:44.

  • Autor
    příspěvky
  • Odsazení plochy – Flip
    Citovat #51742
    swpavelapi
    Člen
    3 příspěvků

    Níže můžete vidět kód, který vypíše a poté by měl také změnit směr odsazení plochy.
    Kód by měl být správný, avšak po změně směru a zpětně po jeho vypsání, je dle výpisu směr „true or false“
    jenže na modelu se obrácení směru nezmění! Prosím o radu, která by mi pomohla změnit směr odsazení plochy.
    V případě zájmu mohu také s menšími problémy pomoci.

    ‚ Preconditions:

    ‚ (1) Model document is open.

    ‚ (2) Surface offset feature is selected.

    ‚ Postconditions: None


    Sub main()

    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swSelMgr As SldWorks.SelectionMgr
    Dim swSelData As SldWorks.SelectData
    Dim swOffset As SldWorks.SurfaceOffsetFeatureData
    Dim swFeat As SldWorks.Feature
    Dim swFace As SldWorks.Face2
    Dim swEnt As SldWorks.Entity
    Dim vFace As Variant
    Dim i As Long
    Dim bRet As Boolean

    Set swApp = CreateObject(„SldWorks.Application“)
    Set swModel = swApp.ActiveDoc
    Set swSelMgr = swModel.SelectionManager
    Set swSelData = swSelMgr.CreateSelectData
    Set swFeat = swSelMgr.GetSelectedObject5(1)
    Set swOffset = swFeat.GetDefinition

    Debug.Print „File = “ & swModel.GetPathName
    Debug.Print “ “ & swFeat.Name
    Debug.Print “ Distance = “ & swOffset.Distance * 1000# & “ mm“
    Debug.Print “ FacesCount = “ & swOffset.GetFacesCount

    Debug.Print “ Flip = “ & swOffset.Flip

    ‚Tady mění směr odsazení a poté jej vypíše

    swOffset.Flip = True
    swOffset.Flip = False

    Debug.Print “ Flip = “ & swOffset.Flip

    swOffset.ReleaseSelectionAccess

    End Sub

    Re:Re: Odsazení plochy – Flip
    Citovat #53612
    ludvikv
    Člen
    1 příspěvků

    Dobrý den,
    do kódu je třeba přidat ještě příkaz pro změnu definice prvku: swFeat.ModifyDefinition swOffset.
    Přidal bych ještě rozhodování směru odsazení viz code

    Sub main()

    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swSelMgr As SldWorks.SelectionMgr
    Dim swSelData As SldWorks.SelectData
    Dim swOffset As SldWorks.SurfaceOffsetFeatureData
    Dim swFeat As SldWorks.Feature
    Dim swFace As SldWorks.Face2
    Dim swEnt As SldWorks.Entity
    Dim vFace As Variant
    Dim i As Long
    Dim bRet As Boolean

    Set swApp = CreateObject(„SldWorks.Application“)
    Set swModel = swApp.ActiveDoc
    Set swSelMgr = swModel.SelectionManager
    Set swSelData = swSelMgr.CreateSelectData
    Set swFeat = swSelMgr.GetSelectedObject5(1)
    Set swOffset = swFeat.GetDefinition

    Debug.Print „File = “ & swModel.GetPathName
    Debug.Print “ “ & swFeat.Name
    Debug.Print “ Distance = “ & swOffset.Distance * 1000# & “ mm“
    Debug.Print “ FacesCount = “ & swOffset.GetFacesCount

    Debug.Print “ Flip = “ & swOffset.Flip

    ‚Tady mění směr odsazení a poté jej vypíše
    ‚Rozhodování podle směru

    If 1 = swOffset.Flip Then
    swOffset.Flip = False
    ElseIf 0 = swOffset.Flip Then
    swOffset.Flip = True
    End If

    Debug.Print “ Flip = “ & swOffset.Flip

    ‚ tady se aplikuje změna směru ofsetu
    swFeat.ModifyDefinition swOffset, swModel, Nothing
    swOffset.ReleaseSelectionAccess

    End Sub

    Re:Re: Odsazení plochy – Flip
    Citovat #53611
    swpavelapi
    Člen
    3 příspěvků

    Rád bych touto formou poděkoval za radu panu Ludvíkovi. Doufám, že se toto fórum trochu rozroste a bude možné jej využít více. Pokud bych i já mohl být nějak nápomocen budu rád…

Zobrazeno: 1 až 3 (z 3 celkem)

Odpověď na: Odsazení plochy – Flip

Přidávat témata do fóra mohou pouze přihlášení uživatelé.

Chcele-li přidat nové téma, nebo se zaregistrujte.