demasuredries
Gebruiker
- Lid geworden
- 21 okt 2014
- Berichten
- 18
Hallo,
Ik probeer een waarde af te ronden die gebruikt wordt in mijn array functie.
Maar iedere keer als ik test krijg ik volgende foutmelding:
" invalid value for property rows"
Ik heb volgende code:
If frmKast.chkP1LL1 = True Then
Dim objBlok001 As AcadMInsertBlock
Dim dblInvoegpunt(0 To 2) As Double
Dim MaatRijboring As Double
Dim Tussenstap1 As Double
Dim Tussenstap2 As Double
Dim Tussenstap3 As Double
Dim Tussenstap4 As Double
Dim tussenstap5 As Double
Dim JuisteAfronding As Variant
Dim SpelingRijboring As Double
Dim SpelingRegelingLaatsteGat As Double
JuisteAfronding = 0.5
MaatRijboring = frmKast.txtHoogte - frmKast.txtOnder1 - frmKast.txtBoven1
Tussenstap1 = (MaatRijboring / 32)
Tussenstap2 = Tussenstap1 - JuisteAfronding
' Bij een maat van 1200 is tussenstap 27.625 Maar tussenstap 3 krijgt een waarde van 0
Tussenstap3 = Round(Tussenstap2)
For Tussenstap3 = 0 To 2
Tussenstap4 = ((Tussenstap3 - 1) * 32)
SpelingRijboring = (MaatRijboring - Tussenstap3) / 2
If Tussenstap3 Mod 2 = 0 Then
SpelingRegelingLaatsteGat = (((Tussenstap3) * 32) - (Tussenstap3 * 32)) / 2
dblInvoegpunt(0) = (0 + DikteLinks + frmInvoegpunt.txtXasVAZ): dblInvoegpunt(1) = (0 + frmKast.txtOnder1 + frmInvoegpunt.txtYasVAZ + SpelingRijboring + SpelingRegelingLaatsteGat): dblInvoegpunt(2) = (0)
Set objBlok001 = ThisDrawing.ModelSpace.AddMInsertBlock(dblInvoegpunt, "C:\Autocad\Definitieve blocks\4.Bewerkingen\2.Rijboring\Vooraanzicht Rijboring.dwg", 1, 1, 1, 0, 3, 10, 32, 1)
If objBlok001.IsDynamicBlock Then
oprops = objBlok001.GetDynamicBlockProperties
For i = 0 To UBound(oprops)
Set oDblkProp = oprops(i)
If oDblkProp.PropertyName = "RijboringDiepte" Then
oDblkProp.Value = DiepteRij3
Exit For
End If
Next
End If
objBlok001.Columns = 1
objBlok001.Rows = Tussenstap3
In de vetgedrukte lijnen loopt het mis. De afronding is niet juist. 27.625 wordt afgerond naar 0 .. en ik weet niet waarom
Kan iemand mij helpen?
In bijlage vind u een printscreen met de waardes bij het testen. Ik denk dat de fout in de round functie zit. Ik heb ook al
"Dim tussenstap3 as variant" geprobeerd.
Alvast bedankt,
Dries
Ik probeer een waarde af te ronden die gebruikt wordt in mijn array functie.
Maar iedere keer als ik test krijg ik volgende foutmelding:
" invalid value for property rows"
Ik heb volgende code:
If frmKast.chkP1LL1 = True Then
Dim objBlok001 As AcadMInsertBlock
Dim dblInvoegpunt(0 To 2) As Double
Dim MaatRijboring As Double
Dim Tussenstap1 As Double
Dim Tussenstap2 As Double
Dim Tussenstap3 As Double
Dim Tussenstap4 As Double
Dim tussenstap5 As Double
Dim JuisteAfronding As Variant
Dim SpelingRijboring As Double
Dim SpelingRegelingLaatsteGat As Double
JuisteAfronding = 0.5
MaatRijboring = frmKast.txtHoogte - frmKast.txtOnder1 - frmKast.txtBoven1
Tussenstap1 = (MaatRijboring / 32)
Tussenstap2 = Tussenstap1 - JuisteAfronding
' Bij een maat van 1200 is tussenstap 27.625 Maar tussenstap 3 krijgt een waarde van 0
Tussenstap3 = Round(Tussenstap2)
For Tussenstap3 = 0 To 2
Tussenstap4 = ((Tussenstap3 - 1) * 32)
SpelingRijboring = (MaatRijboring - Tussenstap3) / 2
If Tussenstap3 Mod 2 = 0 Then
SpelingRegelingLaatsteGat = (((Tussenstap3) * 32) - (Tussenstap3 * 32)) / 2
dblInvoegpunt(0) = (0 + DikteLinks + frmInvoegpunt.txtXasVAZ): dblInvoegpunt(1) = (0 + frmKast.txtOnder1 + frmInvoegpunt.txtYasVAZ + SpelingRijboring + SpelingRegelingLaatsteGat): dblInvoegpunt(2) = (0)
Set objBlok001 = ThisDrawing.ModelSpace.AddMInsertBlock(dblInvoegpunt, "C:\Autocad\Definitieve blocks\4.Bewerkingen\2.Rijboring\Vooraanzicht Rijboring.dwg", 1, 1, 1, 0, 3, 10, 32, 1)
If objBlok001.IsDynamicBlock Then
oprops = objBlok001.GetDynamicBlockProperties
For i = 0 To UBound(oprops)
Set oDblkProp = oprops(i)
If oDblkProp.PropertyName = "RijboringDiepte" Then
oDblkProp.Value = DiepteRij3
Exit For
End If
Next
End If
objBlok001.Columns = 1
objBlok001.Rows = Tussenstap3
In de vetgedrukte lijnen loopt het mis. De afronding is niet juist. 27.625 wordt afgerond naar 0 .. en ik weet niet waarom
Kan iemand mij helpen?
In bijlage vind u een printscreen met de waardes bij het testen. Ik denk dat de fout in de round functie zit. Ik heb ook al
"Dim tussenstap3 as variant" geprobeerd.

Alvast bedankt,
Dries