Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Solid in den Hintergrund schieben

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
Autor Thema:  Solid in den Hintergrund schieben (1645 mal gelesen)
Theo37
Mitglied
Techniker


Sehen Sie sich das Profil von Theo37 an!   Senden Sie eine Private Message an Theo37  Schreiben Sie einen Gästebucheintrag für Theo37

Beiträge: 426
Registriert: 08.10.2008

erstellt am: 27. Nov. 2009 08:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo an Alle,

eine Frage an die Profis. Gibt es eine unkomplizierte Methode einen Solid in den Hintergrund zu schieben. Die Hilfe ist mir dabei keine große Hilfe. Unten ist der Programmtext, wie ich ihn mit Hilfe der Hilfe bisher zusammen gestrickt habe. Aber jetzt komme ich nicht mehr weiter. Vielen dank im Vorraus.

Gruß, Theo


Public Sub Dreieck()
Dim mySolid As AcadSolid
    P0 = ThisDrawing.Utility.GetPoint(, "Erster Punkt:")
    P1 = ThisDrawing.Utility.GetPoint(, "Zweiter Punkt:")
    P2 = ThisDrawing.Utility.GetPoint(, "Dritter Punkt:")
    Set Mylayout = ThisDrawing.ActiveLayout.Block
    Set mySolid = Mylayout.AddSolid(P0, P1, P2, P2)
Dim eDictionary As Object
Set eDictionary = ThisDrawing.ModelSpace.GetExtensionDictionary
Dim sentityObj As Object
Set sentityObj = eDictionary.GetObject("ACAD_SORTENTS")
Set sentityObj = eDictionary.AddObject("ACAD_SORTENTS", "AcDbSortentsTable")
Ab hier geht leider nichts mehr
    sentityObj.MoveToBottom mySolid


End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 27. Nov. 2009 10:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

der zweite Code in >>>diesem<<< Beitrag wär was für Dich?

Wenn nicht, bitte melden.

In Deinem Code bzgl. Ext.Dict.: nicht so unvorsichtig drüberfahren, sondern zuerst prüfen, ob es schon existiert oder nicht ==> DANN ERST handeln. Tust Du das nicht (einfach mit ADD drüber) dann gibt's zwei Möglichkeiten:

- Sofort ein Error
- Später mit '_audit' eine Menge gefundener Fehler

HTH, - alfred -

------------------
www.hollaus.at

Theo37
Mitglied
Techniker


Sehen Sie sich das Profil von Theo37 an!   Senden Sie eine Private Message an Theo37  Schreiben Sie einen Gästebucheintrag für Theo37

Beiträge: 426
Registriert: 08.10.2008

erstellt am: 27. Nov. 2009 11:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Alfred,

ich dachte es gibt eine einfachere Lösung. Egal, so geht es auch.
Ich bin mir zwar nicht sicher warum, aber der unten stehende Code funktioniert.

Danke, Theo


Public Sub Dreieck()
Dim mySolid As AcadSolid

    P0 = ThisDrawing.Utility.GetPoint(, "Erster Punkt:")
    P1 = ThisDrawing.Utility.GetPoint(, "Zweiter Punkt:")
    P2 = ThisDrawing.Utility.GetPoint(, "Dritter Punkt:")
    Set Mylayout = ThisDrawing.ActiveLayout.Block
    Set mySolid = Mylayout.AddSolid(P0, P1, P2, P2)

    NachUnten mySolid

End Sub


Public Sub NachUnten(Objekt As AcadObject)
Dim arr(0) As AcadObject
Dim eDictionary As Object
Dim sentityObj As Object

    Set eDictionary = ThisDrawing.ModelSpace.GetExtensionDictionary
    Set eDictionary = Mylayout.GetExtensionDictionary
        On Error Resume Next
        Set sentityObj = eDictionary.GetObject("ACAD_SORTENTS")
        If Err.Number <> 0 Then
            If sentityObj Is Nothing Then
                Set sentityObj = eDictionary.AddObject("ACAD_SORTENTS", "AcDbSortentsTable")
            End If
            Err.Clear
        End If
        On Error GoTo 0
    Set arr(0) = ThisDrawing.ObjectIdToObject(Objekt.ObjectID)
    sentityObj.MoveToBottom arr
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz