hallo
ik ben bezig om mijn programma in apparte sub's te zetten, lukkte tot ik op een probleem stuide. Het probleem is dat hij dit programma overloopt tot hij aan het deel komt van call....(subtract,..) om te subtracten. als hij hierop komt dan verspringt hij helemaal naar het einde van mijn programma. progamma staat hieronder zal in het rood markereen waar hij verspringt.
Mvg
thomy
ik ben bezig om mijn programma in apparte sub's te zetten, lukkte tot ik op een probleem stuide. Het probleem is dat hij dit programma overloopt tot hij aan het deel komt van call....(subtract,..) om te subtracten. als hij hierop komt dan verspringt hij helemaal naar het einde van mijn programma. progamma staat hieronder zal in het rood markereen waar hij verspringt.
Mvg
thomy
Code:
Sub Tussenregel3(Horaantal3, punt, BrStijlen, Afstand1, BrTussenstijlen, Afstand2, BrOnderregel, Afstand16, BrTussenregel, Dikte, Tussenregel, KopieTussenstijl, KopieRechterstijl, Afstand17, Afstand18, Afstand19)
'ReDim KopieTussenstijl(0 To 2) As Acad3DSolid
For I = 1 To Horaantal3
' If I = 1 Then
' End If
If I = 2 Then
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1), punt(2) + BrOnderregel + Afstand16 + 1.3, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1), punt(2) + BrOnderregel + Afstand16 + BrTussenregel - 1.3)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1), punt(2) + BrOnderregel + Afstand16 + BrTussenregel - 1.3, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 0.2, punt(2) + BrOnderregel + Afstand16 + BrTussenregel - 1.3)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 0.2, punt(2) + BrOnderregel + Afstand16 + BrTussenregel - 1.3, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 0.2, punt(2) + BrOnderregel + Afstand16 + BrTussenregel - 1.1)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 0.2, punt(2) + BrOnderregel + Afstand16 + BrTussenregel - 1.1, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.2, punt(2) + BrOnderregel + Afstand16 + BrTussenregel - 0.2)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.2, punt(2) + BrOnderregel + Afstand16 + BrTussenregel - 0.2, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.2, punt(2) + BrOnderregel + Afstand16 + BrTussenregel)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.2, punt(2) + BrOnderregel + Afstand16 + BrTussenregel, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.4, punt(2) + BrOnderregel + Afstand16 + BrTussenregel)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.4, punt(2) + BrOnderregel + Afstand16 + BrTussenregel, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.4, punt(2) + BrOnderregel + Afstand16 + BrTussenregel - 1.3)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.4, punt(2) + BrOnderregel + Afstand16 + BrTussenregel - 1.3, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.9, punt(2) + BrOnderregel + Afstand16 + BrTussenregel - 1.3)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.9, punt(2) + BrOnderregel + Afstand16 + BrTussenregel - 1.3, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.9, punt(2) + BrOnderregel + Afstand16 + BrTussenregel)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.9, punt(2) + BrOnderregel + Afstand16 + BrTussenregel, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + Dikte, punt(2) + BrOnderregel + Afstand16 + BrTussenregel)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + Dikte, punt(2) + BrOnderregel + Afstand16, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + Dikte, punt(2) + BrOnderregel + Afstand16 + BrTussenregel)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + Dikte, punt(2) + BrOnderregel + Afstand16, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.9, punt(2) + BrOnderregel + Afstand16)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.9, punt(2) + BrOnderregel + Afstand16, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.9, punt(2) + BrOnderregel + Afstand16 + 1.3)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.9, punt(2) + BrOnderregel + Afstand16 + 1.3, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.4, punt(2) + BrOnderregel + Afstand16 + 1.3)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.4, punt(2) + BrOnderregel + Afstand16 + 1.3, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.4, punt(2) + BrOnderregel + Afstand16)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.4, punt(2) + BrOnderregel + Afstand16, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.2, punt(2) + BrOnderregel + Afstand16)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.2, punt(2) + BrOnderregel + Afstand16, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.2, punt(2) + BrOnderregel + Afstand16 + 0.2)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 1.2, punt(2) + BrOnderregel + Afstand16 + 0.2, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 0.2, punt(2) + BrOnderregel + Afstand16 + 1.1)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 0.2, punt(2) + BrOnderregel + Afstand16 + 1.1, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 0.2, punt(2) + BrOnderregel + Afstand16 + 1.3)
Call LijnTussenstijl(punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1) + 0.2, punt(2) + BrOnderregel + Afstand16 + 1.3, punt(0) + BrStijlen + Afstand1 + BrTussenstijlen + Afstand2 + BrTussenstijlen / 2, punt(1), punt(2) + BrOnderregel + Afstand16 + 1.3)
'maakt een regioon vand e getekende lijnen
Regions = ThisDrawing.ModelSpace.AddRegion(RegionTussenregel)
Set Reg = Regions(0)
'extrudeerd de region
Set Tussenregel(0) = ThisDrawing.ModelSpace.AddExtrudedSolid(Regions(0), Afstand3 + BrTussenstijlen, 0)
'verwijderd de region
Reg.Delete
'substraxt de stijlen van de tussenregels
[COLOR="Red"]Call Tussenregel(0).Boolean(acSubtraction, KopieTussenstijl(1))
Call Tussenregel(0).Boolean(acSubtraction, KopieTussenstijl(2))
Call Tussenregel(0).Boolean(acSubtraction, KopieRechterstijl(0))[/COLOR]
End If
If I = 3 Then
'spiegelpnt voor de tussenregels.
SpiegelPnt1(0) = punt(0)
SpiegelPnt1(1) = punt(1)
SpiegelPnt1(2) = punt(2) + BrOnderregel + Afstand16 + BrTussenregel + Afstand17 / 2
SpiegelPnt2(0) = punt(0) + Breedte
SpiegelPnt2(1) = punt(1)
SpiegelPnt2(2) = punt(2) + BrOnderregel + Afstand16 + BrTussenregel + Afstand17 / 2
SpiegelPnt3(0) = punt(0)
SpiegelPnt3(1) = punt(1) + Dikte
SpiegelPnt3(2) = punt(2) + BrOnderregel + Afstand16 + BrTussenregel + Afstand17 / 2
Set Tussenregel(1) = Tussenregel(0).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)
End If
If I = 4 Then
SpiegelPnt1(0) = punt(0)
SpiegelPnt1(1) = punt(1)
SpiegelPnt1(2) = punt(2) + BrOnderregel + Afstand16 + BrTussenregel + Afstand17 + BrTussenregel + Afstand18 / 2
SpiegelPnt2(0) = punt(0) + Breedte
SpiegelPnt2(1) = punt(1)
SpiegelPnt2(2) = punt(2) + BrOnderregel + Afstand16 + BrTussenregel + Afstand17 + BrTussenregel + Afstand18 / 2
SpiegelPnt3(0) = punt(0)
SpiegelPnt3(1) = punt(1) + Dikte
SpiegelPnt3(2) = punt(2) + BrOnderregel + Afstand16 + BrTussenregel + Afstand17 + BrTussenregel + Afstand18 / 2
Set Tussenregel(2) = Tussenregel(1).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)
End If
If I = 5 Then
SpiegelPnt1(0) = punt(0)
SpiegelPnt1(1) = punt(1)
SpiegelPnt1(2) = punt(2) + BrOnderregel + Afstand16 + BrTussenregel + Afstand17 + BrTussenregel + Afstand18 + BrTussenregel + Afstand19 / 2
SpiegelPnt2(0) = punt(0) + Breedte
SpiegelPnt2(1) = punt(1)
SpiegelPnt2(2) = punt(2) + BrOnderregel + Afstand16 + BrTussenregel + Afstand17 + BrTussenregel + Afstand18 + BrTussenregel + Afstand19 / 2
SpiegelPnt3(0) = punt(0)
SpiegelPnt3(1) = punt(1) + Dikte
SpiegelPnt3(2) = punt(2) + BrOnderregel + Afstand16 + BrTussenregel + Afstand17 + BrTussenregel + Afstand18 + BrTussenregel + Afstand19 / 2
Set Tussenregel(3) = Tussenregel(2).Mirror3D(SpiegelPnt1, SpiegelPnt2, SpiegelPnt3)
End If
Next
End Sub
Laatst bewerkt: