Public Sub Zeichnen() Dim aline As AcadLine, pointObj As AcadPoint, startPoint(0 To 2) As Double, endPoint(0 To 2) As Double Dim x_wert As Single, y_wert As Single, z_wert As Single, x_alt As Single, y_alt As Single, z_alt As Single, i As Integer Dim s_w3h As Long, s_w3v As Long, s_Heid_h As Long, s_Heid_v As Long, s_Seillaenge As Long, s_Zugkraft As Long Dim layerObj As AcadLayer, MessBlock As AcadBlock, EinfP_Block(0 To 2) As Double, BlockAnz As Long, blockRefObj As AcadBlockReference Dim ColorFlag As OLE_COLOR, Layerflag As ACAD_LAYER ThisDrawing.ObjectSnapMode = False BlockAnz = ThisDrawing.Blocks.Count EinfP_Block(0) = 0#: EinfP_Block(1) = 0#: EinfP_Block(2) = 0# Set MessBlock = ThisDrawing.Blocks.Add(EinfP_Block, LTrim(Str(BlockAnz + 1))) x_alt = 0 Get #DateiNr, , s_w3h Get #DateiNr, , s_w3v Get #DateiNr, , s_Heid_h Get #DateiNr, , s_Heid_v Get #DateiNr, , s_Seillaenge Get #DateiNr, , s_Zugkraft 'MsgBox Dateilänge 's_Zugkraft = s_Zugkraft + 100000000 ColorFlag = acYellow Layerflag = "K_Punkte" 'MsgBox s_Zugkraft If s_Zugkraft > 99000000 Then s_Zugkraft = s_Zugkraft - 100000000 'MsgBox s_Zugkraft ColorFlag = acCyan Layerflag = "S_Punkte" End If If s_Zugkraft > 99000000 Then s_Zugkraft = s_Zugkraft - 100000000 ColorFlag = acRed Layerflag = "H_Punkte" End If If s_Seillaenge <> 0 Then 'Wieso If ??? w3h = s_w3h / 100000 w3v = s_w3v / 100000 Heid_h = s_Heid_h / 100000 Heid_v = s_Heid_v / 100000 Seillaenge = s_Seillaenge / 100000 Zugkraft = s_Zugkraft / 100000 'MsgBox Zugkraft Korr_Biegebalken Raumpunkt Sensorwerte.Sensorwerte.AddItem (w3h & " " & w3v & " " & Heid_h & " " & Heid_v & " " & Seillaenge + Abst_Spitz & " " & (Zugkraft / 100) & " " & Korrekturwinkel) x_alt = px / 10 y_alt = py / 10 z_alt = pz / 10 startPoint(0) = x_alt startPoint(1) = y_alt startPoint(2) = z_alt 'MsgBox "test" Set pointObj = MessBlock.AddPoint(startPoint) pointObj.Layer = Layerflag pointObj.color = ColorFlag End If For i = 0 To ((Dateilänge / 24) - 2) Get #DateiNr, , s_w3h Get #DateiNr, , s_w3v Get #DateiNr, , s_Heid_h Get #DateiNr, , s_Heid_v Get #DateiNr, , s_Seillaenge Get #DateiNr, , s_Zugkraft 's_Zugkraft = s_Zugkraft + 800000000 ColorFlag = acYellow Layerflag = "K_Punkte" If s_Zugkraft > 99000000 Then s_Zugkraft = s_Zugkraft - 100000000 ColorFlag = acCyan Layerflag = "S_Punkte" End If If s_Zugkraft > 99000000 Then s_Zugkraft = s_Zugkraft - 100000000 ColorFlag = acRed Layerflag = "H_Punkte" End If 'MsgBox s_Seillaenge If s_Seillaenge <> 0 Then 'MsgBox i w3h = s_w3h / 100000 w3v = s_w3v / 100000 Heid_h = s_Heid_h / 100000 Heid_v = s_Heid_v / 100000 Seillaenge = s_Seillaenge / 100000 Zugkraft = s_Zugkraft / 100000 Korr_Biegebalken Raumpunkt Sensorwerte.Sensorwerte.AddItem (w3h & " " & w3v & " " & Heid_h & " " & Heid_v & " " & Seillaenge + Abst_Spitz & " " & (Zugkraft / 100) & " " & Korrekturwinkel) x_wert = px / 10 y_wert = py / 10 z_wert = pz / 10 startPoint(0) = x_alt startPoint(1) = y_alt startPoint(2) = z_alt endPoint(0) = x_wert endPoint(1) = y_wert endPoint(2) = z_wert If x_alt <> 0 Then Set aline = MessBlock.AddLine(startPoint, endPoint) aline.Layer = "AM_Linien" aline.Update End If Set pointObj = MessBlock.AddPoint(endPoint) pointObj.Layer = Layerflag pointObj.color = ColorFlag pointObj.Update x_alt = x_wert y_alt = y_wert z_alt = z_wert End If Next i EinfP_Block(0) = 2#: EinfP_Block(1) = 2#: EinfP_Block(2) = 0 Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(EinfP_Block, LTrim(Str(BlockAnz + 1)), 1#, 1#, 1#, 0) Set layerObj = ThisDrawing.Layers.Add("AM_Linien") 'Layer mit den Verbindungslinien ausschalten (Aufmaßlinien) layerObj.LayerOn = False Set layerObj = ThisDrawing.Layers.Add("H_Punkte") 'Layer mit den Höhenpunkten ausschalten layerObj.LayerOn = False ZoomExtents ZoomScaled 0.7, acZoomScaledRelative ThisDrawing.Regen acActiveViewport ThisDrawing.SetVariable "osmode", 8 '8=Punktfang End Sub