Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Aktualisierung + Sendcommand

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 präsentiert die PRO Elite™ High Endurance microSD-Flash-Speicherkarten für Videoüberwachung und kontinuierliche Aufzeichnung, eine Pressemitteilung
Autor Thema:  Aktualisierung + Sendcommand (754 mal gelesen)
djs0401
Mitglied
Studierender


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

Beiträge: 20
Registriert: 18.02.2008

AutoCAD Mechanical 2007

erstellt am: 06. Mrz. 2008 13:55    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

Guten Tag ihr CADler ;-)
Ich habe ein kleines Problemchen mit dem SendCommand Befehl.
Bei meinem unten stehenden Programm, werden aus Drawings Blöcke in eine Zeichnung kopiert/platziert und sollen danach jeweils in eine Komponente (ACAD Mechanical Struktur) umgewandelt werden, mit dem Befehl _AMSCREATE . Von Hand funktioniert das soweit alles Klasse. Mit dem "LETZES" wird soll das letzte platzierte OBJEKT in eine neue Komponente umgewandelt werden.
Nun hab ich das ganze in eine For-Schleife reingepackt. Nach jedem platzieren soll eine neue Komponente mit Inhalt des davor platzierten Objekts erzeugt werden.
Das Problem ist dabei nur, dass die SENDCOMMANDS nicht sofort ausgeführt werden, sondern erst nachdem das Program druchgelaufen ist und ich ACAD Mechanical wieder aktiviert habe. Das bedeutet, dass nur das letzte OBJEKT in einer Komponente ist, zwar hab ich viele Komponenten nun in der Zeichnung, mit dem richtigen Namen aber die sind alle leer.
Weiss einer Rat, wie ich das SENDCommand sofort bei jedem Schritt der For-Schleife ausführen kann?
Danke schonmal für die Hilfe

MFG Daniel

Code:
Private Sub Platzieren(ByRef m() As maschine, ByRef k() As komponente, ByVal rz As Integer, ByVal rz2 As Integer)' Platziert die Komponenten von links nach rechts abhängig von ihrer Stationsgrösse mit abhängigkeit ihrer Breite...
' ... und Durchlaufbreite
    Dim einfugPkt(0 To 2) As Double
    Dim blockObj As AcadBlockReference
    Dim dateipfad As String
    Dim i As Integer
    Dim p As Double
    Dim breite As Double
    Dim durchl As Double
    Dim b(0 To 1000) As Double
    Dim z As Integer
    Dim p1(0 To 1) As Double
    Dim p2(0 To 1) As Double
   
    laenge = 0
    breite = 0
    einfugPkt(0) = 0
    einfugPkt(1) = 0
    einfugPkt(2) = 0
    z = 0
    durchl = Val(TextBox2.Text)
    For i = 2 To (rz + 1)
        ProgressBar1.Value = (100 / (rz + 1)) * (i)
        If m(i).sonder = 1 And m(i).sta = 1 Then
            einfugPkt(0) = 0
            einfugPkt(1) = 0
            z = z + 1
            b(z) = m(i).breite
        Else
            Select Case m(i).sonder
                Case Is = 1 'Unterbau
                    einfugPkt(1) = 0
                    z = z + 1
                    b(z) = m(i).breite
                    breite = breite + (b(z - 1) + b(z)) / 2
                Case Is = 3 'Vorschub
                    einfugPkt(1) = -(1 / 2) * durchl
                Case Is = 2 'Kneteinheit
                    einfugPkt(1) = (1 / 2) * durchl
            End Select
        End If
        dateipfad = "C:\daten\Projekt Automatisiertes Layout\EigeneNeueDWGs\" & m(i).bez & ".dwg"
        einfugPkt(0) = breite
        einfugPkt(2) = 0
        Set blockObj = ThisDrawing.ModelSpace.InsertBlock(einfugPkt, dateipfad, 1#, 1#, 1#, 0)
        blockObj.Update
        ThisDrawing.SendCommand "_AMSCREATE" & vbCr & "K" & vbCr & m(i).bez & "N:" & i & vbCr & "DRA" _
          & vbCr & "M" & vbCr & "LETZTES" & vbCr & vbCr & einfugPkt(0) & "," & einfugPkt(1) & vbCr

    Next i
    Call gehaeusezeichnen(m(), rz, breite, durchl)
    Call kabelzeichnen(m(), rz, breite, durchl)
End Sub

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: 06. Mrz. 2008 16:55    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 djs0401 10 Unities + Antwort hilfreich

Hallo Daniel,

hast du während der Laufzeit ein Formular auf. Per default wird ein Formular modal angezeigt. Wenn dieses so ist, ist AutoCAD so lange blockiert wie dein Formular angezeigt wird. Du musst es dann ausblenden.
Siehe auch mal híer

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

djs0401
Mitglied
Studierender


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

Beiträge: 20
Registriert: 18.02.2008

AutoCAD Mechanical 2007

erstellt am: 07. Mrz. 2008 08:37    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

Danke hat geholfen.
Hab jetzt einfach nen Me.Hide reingebastelt beim Zeichnen... und danach wieder nen Me.Show.

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