Message 1 of 6

Not applicable
07-24-2018
04:11 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi everyone,
I wrote some lines to change elements quickly from one to another layer. The elements are collected in a selection set by selecting them by screen. The code works fine. But sometimes after I have used it a few times, the selection on screen is no longer stored in the selection set and there no elements were tranferred.
Public Sub ChangeLayer2(DestLayer As String) 'FromLayer: Layer auf dem die Objekte ausgewählt werden sollen 'DestLayer: Ziellayer, auf den umgespeichert werden soll Dim tCounter As Integer Dim tDxfCodes(0) As Integer Dim tDxfValues(0) As Variant 'Auswahlfenster deaktivieren Unload LayerAuswahl3 'Erstelle ein neues SelectionSet On Error Resume Next Dim SSet As AcadSelectionSet Set SSet = CreateSelectionSet("Layer2") ' User definiert die Objekte am Bildschirm SSet.SelectOnScreen If (Err.Number = 0) And (SSet.Count > 0) Then Dim tEnt As AcadEntity Dim tEntNew As AcadEntity 'Gehe durch die Auswahl und ändere den Layer For Each tEnt In SSet Set tEntNew = tEnt.Copy tEntNew.Layer = DestLayer tCounter = tCounter + 1 Next Call MsgBox("Layer gewechselt: " & CStr(tCounter)) Else Call MsgBox("Es konnten keine Objekte auf Layer: " & FromLayer & " gefunden werden!" & Err.Description) End If 'Aufräumen Set SSet = Nothing Set tEntNew = Nothing End Sub 'Funktion zur Definition eines AcadSelectionSet Function CreateSelectionSet(SSset As String, Optional myDoc As Variant) As AcadSelectionSet If IsMissing(myDoc) Then Set myDoc = ThisDrawing On Error Resume Next Set CreateSelectionSet = myDoc.SelectionSets(SSset) If Err Then Err.Clear Set CreateSelectionSet = myDoc.SelectionSets.Add(SSset) Else CreateSelectionSet.Clear End If End Function
Is there any mistake or inaccurate programming visble, which could result in this behaviour?
Thanks in advance!
Lars
Solved! Go to Solution.