Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Modelspace Refresh zur Laufzeit

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
  
PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
Autor Thema:  Modelspace Refresh zur Laufzeit (1325 mal gelesen)
doubleq
Mitglied
Entwickler


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

Beiträge: 10
Registriert: 31.05.2005

AutoCAD 2015

erstellt am: 25. Feb. 2008 21:51    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,

ich habe ein VBA-Skript geschrieben das soweit auch funktioniert. Es werden einige 2D- und 3D-Objekte erzeugt. Das Problem ist: Die Erstellung startet nach einem Mausklick in einem Formular und die gezeichneten Objekte erscheinen erst wenn dieses Formular geschlossen wird. Gibt es eine Möglichkeit ein Neuzeichnen des Modelspace zur Laufzeit zu erzwingen? Ich habe eine entsprechende Funktion einfach nicht gefunden...

Lg doubleq

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1360
Registriert: 24.07.2002

erstellt am: 26. Feb. 2008 07:00    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 Nur für doubleq 10 Unities + Antwort hilfreich

Hi doubleq,

Reicht vielleicht schon ein Zoom oder ein ThisDrawing.Regen True?!

Gruß, Carsten

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 26. Feb. 2008 10:21    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 Nur für doubleq 10 Unities + Antwort hilfreich

Hallo,

in der Regel reicht die Methode UPDATE nach dem Erzeugen des Objektes.

Code:
    Set Blockref = ThisDrawing.ModelSpace.InsertBlock(InsPkt, "Blockname", 1, 1, 1, 0)
    Blockref.Update

Wilfried STelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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

doubleq
Mitglied
Entwickler


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

Beiträge: 10
Registriert: 31.05.2005

AutoCAD 2015

erstellt am: 26. Feb. 2008 14:17    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,

Danke für Eure Antworten! Ich habe nun Eure Vorschläge ausprobiert - doch leider bleibt bei allen auch weiterhin der Modellbereich leer. Erst beim Schließen meiner Form werden die erstellten Objekte angezeigt.
Mache ich da möglicherweise was falsch? Oder gibt es noch Andere Wege ein Neuzeichnen zu erreichen?

Lg doubleq

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 26. Feb. 2008 14:34    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 Nur für doubleq 10 Unities + Antwort hilfreich

Hallo,

dann hast du wahrscheinlich das Formular "modal" geöffnet. Wenn du es mit me.hide während des Einzeichnens ausblendest sollte es klappen.

Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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

c.schojer
Mitglied



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

Beiträge: 299
Registriert: 23.05.2007

Autocad 2018

erstellt am: 27. Feb. 2008 21:14    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 Nur für doubleq 10 Unities + Antwort hilfreich

ThisDrawing.Regen acActiveViewport
Das half bei mir was Blöcke betrifft
Update geht da zb auch nicht
Mfg Chris

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 28. Feb. 2008 11:19    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 Nur für doubleq 10 Unities + Antwort hilfreich

Hallo,

bei werden die eingefügten Objekte sofort angezeigt wenn nach dem Einfügen ein Update darauf gemacht wird.

Ich hab mal ein Beispiel beigefügt.

Code:
Option Explicit
Private Sub CommandButton1_Click()
    Dim InsPkt(0 To 2) As Double
    Dim Spalte As Integer
    Dim Reihe As Integer
    Dim BlockRef As AcadBlockReference
    Dim Blockdef As AcadBlock
   
    Set Blockdef = GetBlockDef("Testblock")
    If Blockdef Is Nothing Then
        Set Blockdef = CreateTestBlock
        FillBlockList Me.ListBox1
    End If
   
    For Spalte = 0 To 20 Step 2
        For Reihe = 0 To 20 Step 2
            InsPkt(0) = Spalte
            InsPkt(1) = Reihe
            Set BlockRef = ThisDrawing.ModelSpace.InsertBlock(InsPkt, "Testblock", 1, 1, 1, 0)
            BlockRef.color = Spalte + Reihe
            ' ==> Wenn ein Update durchgeführt wird werden die Blöcke sofort dargestellt
            '    sonst erst nach dem Schliessen der Form
            BlockRef.Update
        Next Reihe
    Next Spalte
   
End Sub

Private Sub UserForm_Initialize()
    FillBlockList Me.ListBox1
End Sub

Function FillBlockList(myListbox As Listbox) As Boolean
    Dim Blockdef As AcadBlock
   
    myListbox.Clear
    For Each Blockdef In ThisDrawing.Blocks
        If Not Blockdef.IsLayout And Not Blockdef.IsXRef Then
            myListbox.AddItem Blockdef.Name
        End If
    Next
End Function
Function GetBlockDef(Blockname As String) As AcadBlock
    On Error Resume Next
    Set GetBlockDef = ThisDrawing.Blocks(Blockname)
    If Err.Number Then
      Set GetBlockDef = Nothing
    End If
    On Error GoTo 0
End Function
Function CreateTestBlock() As AcadBlock
    Dim Kreis(0) As AcadCircle
    Dim Füllung As AcadHatch
    Dim Pkt(0 To 2) As Double
   
    Set CreateTestBlock = ThisDrawing.Blocks.Add(Pkt, "Testblock")
    Set Kreis(0) = CreateTestBlock.AddCircle(Pkt, 1)
    Kreis(0).color = acByLayer
    Kreis(0).Update
    Set Füllung = CreateTestBlock.AddHatch(1, "SOLID", True)
    Füllung.AppendOuterLoop Kreis
    Füllung.Evaluate
    Füllung.color = acByBlock
    Füllung.Update
End Function



Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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



Anzeige:Infos zum Werbeplatz >>

CP-Symbols Architectural Series CAD APP für Raum- und Möbeldesign, Tiefbau, TGA

doubleq
Mitglied
Entwickler


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

Beiträge: 10
Registriert: 31.05.2005

AutoCAD 2015

erstellt am: 05. Mrz. 2008 15:03    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,

vielen Dank Euch allen für die Hinweise, Tipps und Infos! So langsam sehe ich wie ich meine Probleme lösen kann.

Liebe Grüße
doubleq

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