FastFiber

Fout in mijn SUB

Gestart door Thomy, vr 13 03 2009, 10:14:30

Vorige topic - Volgende topic

Thomy

hallo

kheb hier bijna 2 dezelfde sub's enigste verschil is de afstadnen waarmee het werkt. nu mijn probleem is dat de eerste Sub werkt en de 2de tekent hij alleen maar tot de region. denk dat het een fout is bij mijn Sub naam Tussen de haakjes) maar vind de fout niet.

mvg

thomy

Sub dat werkt.

Sub verstek3(punt, BrStijlen, Afstand1, BrTussenstijlen, Afstand2, BrOnderregel, Afstand3, Afstand21, HorAantal4, Afstand22, Afstand23, Afstand24, Afstand25, Tussenstijl, Linkerstijl)

ReDim verstek(0 To 7) As Acad3DSolid

        'Gebied4
        'zet couter terug op 1
        Counter = -1

        Call LijnVerstek(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen, punt(1), punt(2) + BrOnderregel + Afstand21, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen - 1.3, punt(1), punt(2) + BrOnderregel + Afstand21 + 1.3)
        Call LijnVerstek(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen - 1.3, punt(1), punt(2) + BrOnderregel + Afstand21 + 1.3, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen - 1.3, punt(1), punt(2) + BrOnderregel + Afstand21 + BrTussenregel - 1.3)
        Call LijnVerstek(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen - 1.3, punt(1), punt(2) + BrOnderregel + Afstand21 + BrTussenregel - 1.3, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen, punt(1), punt(2) + BrOnderregel + Afstand21 + BrTussenregel)
        Call LijnVerstek(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen, punt(1), punt(2) + BrOnderregel + Afstand21 + BrTussenregel, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen, punt(1), punt(2) + BrOnderregel + Afstand21)

        'maakt een region van de getekende lijnen
        Regions = ThisDrawing.ModelSpace.AddRegion(RegionVerstek)
        Set Reg = Regions(0)

        'extrudeerd de region
        Set verstek(0) = ThisDrawing.ModelSpace.AddExtrudedSolid(Regions(0), Dikte, 0)

        'delete de region
        Reg.Delete

        'kopieren van het verstek

        For A = 0 To HorAantal4 - 3

            If A = 0 Then

                SpiegelPnt1(0) = punt(0)
                SpiegelPnt1(1) = punt(1)
                SpiegelPnt1(2) = punt(2) + BrOnderregel + Afstand21 + BrTussenregel + Afstand22 / 2

                SpiegelPnt2(0) = punt(0) + Breedte
                SpiegelPnt2(0) = punt(1)
                SpiegelPnt2(2) = punt(2) + BrOnderregel + Afstand21 + BrTussenregel + Afstand22 / 2

                SpiegelPnt3(0) = punt(0)
                SpiegelPnt3(1) = punt(1) + Dikte
                SpiegelPnt3(2) = punt(2) + BrOnderregel + Afstand21 + BrTussenregel + Afstand22 / 2

                Set verstek(1) = verstek(0).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)

            End If

            If A = 1 Then

                SpiegelPnt1(0) = punt(0)
                SpiegelPnt1(1) = punt(1)
                SpiegelPnt1(2) = punt(2) + BrOnderregel + Afstand21 + BrTussenregel + Afstand22 + BrTussenregel + Afstand23 / 2

                SpiegelPnt2(0) = punt(0) + Breedte
                SpiegelPnt2(1) = punt(1)
                SpiegelPnt2(2) = punt(2) + BrOnderregel + Afstand21 + BrTussenregel + Afstand22 + BrTussenregel + Afstand23 / 2

                SpiegelPnt3(0) = punt(0)
                SpiegelPnt3(1) = punt(1) + Dikte
                SpiegelPnt3(2) = punt(2) + BrOnderregel + Afstand21 + BrTussenregel + Afstand22 + BrTussenregel + Afstand23 / 2

                Set verstek(2) = verstek(1).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)

            End If

            If A = 2 Then

                SpiegelPnt1(0) = punt(0)
                SpiegelPnt1(1) = punt(1)
                SpiegelPnt1(2) = punt(2) + BrOnderregel + Afstand21 + BrTussenregel + Afstand22 + BrTussenregel + Afstand23 + BrTussenregel + Afstand24 / 2

                SpiegelPnt2(0) = punt(0) + Breedte
                SpiegelPnt2(1) = punt(1)
                SpiegelPnt2(2) = punt(2) + BrOnderregel + Afstand21 + BrTussenregel + Afstand22 + BrTussenregel + Afstand23 + BrTussenregel + Afstand24 / 2

                SpiegelPnt3(0) = punt(0)
                SpiegelPnt3(1) = punt(1) + Dikte
                SpiegelPnt3(2) = punt(2) + BrOnderregel + Afstand21 + BrTussenregel + Afstand22 + BrTussenregel + Afstand23 + BrTussenregel + Afstand24 / 2

                Set verstek(3) = verstek(2).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)

            End If

        Next

        'spiegelpnten vor het verstek te kopieren naar de ander stijl

        SpiegelPnt1(0) = punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 / 3
        SpiegelPnt1(1) = punt(1)
        SpiegelPnt1(2) = punt(2)

        SpiegelPnt2(0) = punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 / 2
        SpiegelPnt2(1) = punt(1) + Dikte
        SpiegelPnt2(2) = punt(2)

        SpiegelPnt3(0) = punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 / 2
        SpiegelPnt3(1) = punt(1)
        SpiegelPnt3(2) = punt(2) + Hoogte

        Set verstek(4) = verstek(0).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)
        Set verstek(5) = verstek(1).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)
        Set verstek(6) = verstek(2).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)
        Set verstek(7) = verstek(3).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)

        Call Tussenstijl(2).Boolean(acSubtraction, verstek(0))
        Call Tussenstijl(2).Boolean(acSubtraction, verstek(1))
        Call Tussenstijl(2).Boolean(acSubtraction, verstek(2))
        Call Tussenstijl(2).Boolean(acSubtraction, verstek(3))

        Call Tussenstijl(3).Boolean(acSubtraction, verstek(4))
        Call Tussenstijl(3).Boolean(acSubtraction, verstek(5))
        Call Tussenstijl(3).Boolean(acSubtraction, verstek(6))
        Call Tussenstijl(3).Boolean(acSubtraction, verstek(7))


End Sub


sub met fout

Sub verstek4(punt, BrStijlen, Afstand1, BrTussenstijlen, Afstand2, Afstand3, Afstand4, BrOnderregel, BrTussenregel, Afsatnd26, HorAantal5, Afstand27, Afstand28, Afstand29, Afstand30, Tussenstijl, Linkerstijl)

    ReDim verstek(0 To 7) As Acad3DSolid
   
        'gebied 5
        'zet counter terug op 1
        Counter = -1

        Call LijnVerstek(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 + BrTussenstijlen, punt(1), punt(2) + BrOnderregel + Afstand26, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 + BrTussenstijlen - 1.3, punt(1), punt(2) + BrOnderregel + Afstand26 + 1.3)
        Call LijnVerstek(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 + BrTussenstijlen - 1.3, punt(1), punt(2) + BrOnderregel + Afstand26 + 1.3, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 + BrTussenstijlen - 1.3, punt(1), punt(2) + BrOnderregel + Afstand26 + BrTussenregel - 1.3)
        Call LijnVerstek(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 + BrTussenstijlen - 1.3, punt(1), punt(2) + BrOnderregel + Afstand26 + BrTussenregel - 1.3, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 + BrTussenstijlen, punt(1), punt(2) + BrOnderregel + Afstand26 + BrTussenregel)
        Call LijnVerstek(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 + BrTussenstijlen, punt(1), punt(2) + BrOnderregel + Afstand26 + BrTussenregel, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 + BrTussenstijlen, punt(1), punt(2) + BrOnderregel + Afstand26)

        'maakt een regeion van de getekende lijnen
        Regions = ThisDrawing.ModelSpace.AddRegion(RegionVerstek)
        Set Reg = Region(0)

        'extrudeerd de region
        Set verstek(0) = ThisDrawing.ModelSpace.AddExtrudedSolid(Regions(0), Dikte, 0)

        'kopieren van verstek
        For A = 0 To HorAantal5 - 3

            If A = 0 Then

                SpiegelPnt1(0) = punt(0)
                SpiegelPnt1(1) = punt(1)
                SpiegelPnt1(2) = punt(2) + BrOnderregel + Afstand26 + BrTussenregel + Afstand27 / 2

                SpiegelPnt2(0) = punt(0) + Breedte
                SpiegelPnt2(1) = punt(1)
                SpiegelPnt2(2) = punt(2) + BrOnderregel + Afstand26 + BrTussenregel + Afstand27 / 2

                SpiegelPnt3(0) = punt(0)
                SpiegelPnt3(1) = punt(1) + Dikte
                SpiegelPnt3(2) = punt(2) + BrOnderregel + Afstand26 + BrTussenregel + Afstand27 / 2

                Set verstek(1) = verstek(0).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)

            End If

            If A = 1 Then

                SpiegelPnt1(0) = punt(0)
                SpiegelPnt1(1) = punt(1)
                SpiegelPnt1(2) = punt(2) + BrOnderregel + Afstand26 + BrTussenregel + Afstand27 + BrTussenregel + Afstand28 / 2

                SpiegelPnt2(0) = punt(0) + Breedte
                SpiegelPnt2(1) = punt(1)
                SpiegelPnt2(2) = punt(2) + BrOnderregel + Afstand26 + BrTussenregel + Afstand27 + BrTussenregel + Afstand28 / 2

                SpiegelPnt3(0) = punt(0)
                SpiegelPnt3(1) = punt(1) + Dikte
                SpiegelPnt3(2) = punt(2) + BrOnderregel + Afstand26 + BrTussenregel + Afstand27 + BrTussenregel + Afstand28 / 2

                Set verstek(2) = verstek(1).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)

            End If

            If A = 2 Then

                SpiegelPnt1(0) = punt(0)
                SpiegelPnt1(1) = punt(1)
                SpiegelPnt1(2) = punt(2) + BrOnderregel + Afstand26 + BrTussenregel + aafstand27 + BrTussenregel + Afstand28 + BrTussenregel + Afstand29 / 2

                SpiegelPnt2(0) = punt(0) + Breedte
                SpiegelPnt2(1) = punt(1)
                SpiegelPnt2(2) = punt(2) + BrOnderregel + Afstand26 + BrTussenregel + Afstand27 + BrTussenregel + Afstand28 + BrTussenregel + Afstand29 / 2

                SpiegelPnt3(0) = punt(0)
                SpiegelPnt3(1) = punt(1) + Dikte
                SpiegelPnt3(2) = punt(2) + BrOnderregel + Afstand26 + BrTussenregel + Afstand27 + BrTussenregel + Afstand28 + BrTussenregel + Afstand29 / 2

                Set verstek(3) = verstek(2).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)

            End If

        Next

        'spiegelt het verstek naar andere stijl

        SpiegelPnt1(0) = punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 + BrTussenstijlen + Afstand5 / 2
        SpiegelPnt1(1) = punt(1)
        SpiegelPnt1(2) = punt(2)

        SpiegelPnt2(0) = punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 + BrTussenstijlen + Afstand5 / 2
        SpiegelPnt2(1) = punt(1) + Breedte
        SpiegelPnt2(2) = punt(2)

        SpiegelPnt3(0) = punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen + Afstand3 + BrTussenstijlen + Afstand4 + BrTussenstijlen + Afstand5 / 2
        SpiegelPnt3(1) = punt(1)
        SpiegelPnt3(2) = punt(2) + Hoogte

        Set verstek(4) = verstek(0).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)
        Set verstek(5) = verstek(1).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)
        Set verstek(6) = verstek(2).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)
        Set verstek(7) = verstek(3).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)

        Call Tussenstijl(3).Boolean(acSubtraction, verstek(0))
        Call Tussenstijl(3).Boolean(acSubtraction, verstek(1))
        Call Tussenstijl(3).Boolean(acSubtraction, verstek(2))
        Call Tussenstijl(3).Boolean(acSubtraction, verstek(3))

     
        'delete de region
        Reg.Delete

End Sub

EddyBeerke

Welke melding krijg je?
Civil3d 2026, Blender 4.x gebruiker
Gebruiker sinds AutoCAD R12

http://eddylucas.c1.biz/
https://www.google.com/maps/contrib/109381066561676463628/photos/

Thomy

krijg geen foutmelding. hij verspringt gewoon verder naar het einde van het programma of naar de volgende regel na de call van deze SUB.

groeten

EddyBeerke

Is dit goed dat je de "Counter" op -1 zet ipv 1?
'zet counter terug op 1
        Counter = -1

Kan het zijn dat "A" < 0 is (minder dan)
For A = 0 To HorAantal5 - 3
  If A = 0 Then
    ...

Ã"f...
Zit er een code in het andere deel van het programma zoals:
On Error Resume Next
Civil3d 2026, Blender 4.x gebruiker
Gebruiker sinds AutoCAD R12

http://eddylucas.c1.biz/
https://www.google.com/maps/contrib/109381066561676463628/photos/

Thomy

hej,

ik heb het opgelost was inderdaad een fout bij mijn A.
Nu werkt dit terug :d

Mercie