Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Kreis löschen

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:  Kreis löschen (1919 mal gelesen)
jobau
Mitglied
Bauingenieur


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

Beiträge: 209
Registriert: 21.01.2003

erstellt am: 24. Jun. 2008 09: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

Hallo Forum,
ich habe leider zu wenig Ahnung von VBA und in der Hilfe
auf Anhieb auch nichts gefunden, deshalb hier meine Frage:
Ich möchte einen Kreis auswählen und seinen Radius sowie
Mittelpunkt + Höhe abfragen. Radius funktioniert, aber wie lautet
die richtige Abfrage für Koordinaten und Höhe?
Nach der Abfrage möchte ich den Kreis löschen (um ihn mit geänderter
Höhe neuzuzeichen). Aber das Löschen so auch nicht. Danke für jede
Hilfe. Hier der Code:

Private Sub CommandButton46_Click()
   
    Dim PtT As Variant
    Dim Elem3 As AcadEntity
    Dim abstand As Double
    Dim xwert As Variant
     
    Unload Me
   
Kreis:
        On Error Resume Next
        ThisDrawing.Utility.GetEntity Elem3, PtT, "Kreis wählen: "
               
        If Err Then Exit Sub
             
        If Elem.EntityType = acCircle Then
           
            Elem3.Highlight True
            abstand = Elem3.radius
            xwert = Elem3.centerPoint(0)
           
            MsgBox ("R= " & abstand)
            MsgBox ("X= " & xwert)
           
           
            circleObj.Delete
           
            GoTo 100:
         
        Else
           
            GoTo Kreis
           
      End If

100:
End Sub

Wo in der Hilfe steht denn was zu VBA bzw. den spezifischen AutoCAD-Befehen,
also z.B. Linie zeichnen usw. (ich finde nur allgemeine Sache z.B. for...next)
Gruß Jörg

------------------
AutoCAD 2008 DEU +SP1

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

Huebi
Mitglied
Vermessungsing.


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

Beiträge: 107
Registriert: 08.01.2004

Intel Core Duo E6750@2.66GHz
NVIDIA GeForce 8600 GT
AutoCAD 2004, 2007, 2008
AcadMAP 2004 und 2007
Civil 3D 2008
ADT 2009

erstellt am: 24. Jun. 2008 18:29    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 jobau 10 Unities + Antwort hilfreich

Hallo Jörg,

zuerst mal zu der Online-Hilfe. Es gibt eine Hilfe für VBA von Microsoft (in der scheinst Du gelandet zu sein) und eine VBA Hilfe von Autodesk. Wenn Du vor einem typischen AutoCAD-Vba Befehl stehst (z.B. GetEntity) und dann F1 drückst, sollte die Autodesk-Hilfe aufgehen und die ist, wie ich finde, sehr ausführlich und umfangreich (zumindest für eine Anfänger wie mich).

Dann zu Deinem Kreis-Problem. Ich verstehe nicht, warum Du den Kreis löschen und neu zeichnen möchtest. Warum verschiebst Du ihn nicht einfach in der Höhe?
Ich hab Dein Beispiel mal kurz umgeschrieben - vielleicht hilft's Dir ja etwas.

Code:

Sub Kreis_versetzen()
Dim PtT As Variant
Dim Elem3 As AcadEntity
Dim CirObj As AcadCircle
Dim abstand As Double

Const NeueHoehe = 123.456
     
On Error Resume Next
ThisDrawing.Utility.GetEntity Elem3, PtT, "Kreis wählen: "
If Elem.EntityType = acCircle Then
  Set CirObj = Elem3
  CirObj.Highlight True
  Dim Punkt As Variant
  Punkt = CirObj.center
  abstand = CirObj.radius
  MsgBox ("R= " & abstand)
  MsgBox ("X= " & Punkt(0))
  MsgBox ("Y= " & Punkt(1))
  MsgBox ("Z= " & Punkt(2))
  'Den Kreis in der Höhe versetzen
  Punkt(2) = NeueHoehe
  CirObj.center = Punkt
  MsgBox ("Neues Z= " & Punkt(2))
End If

End Sub


Ergänzend sollte man noch dazu sagen, dass man mit VBA leider nicht alles mit dem Kreis machen kann. Du hast lediglich Zugriff auf den Mittelpunkt, bzw. die Koordinaten davon.
Wenn Du den Kreis in der Draufsicht gezeichnet hast und ihn dort rauf, runter, links oder rechts verschieben magst, ist das kein Problem. Shwieriger wird's allerdings, wenn der Kreis in irgendeinem "schrägen" BKS erzeugt wurde. Aber das nur so am Rande erwähnt *smile*

Ich hoffe, es bringt Dich etwas weiter!

Gruß, Hübi

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

jobau
Mitglied
Bauingenieur


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

Beiträge: 209
Registriert: 21.01.2003

erstellt am: 25. Jun. 2008 07:23    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 Hübi,
suuuupeeerrr!!! VIELEN DANK :-))) Du hast mir seeehhhrrr geholfen.
10 Units sind eigentlich zu wenig dafür aber natürlich schon
unterwegs.
Gruß Jörg

------------------
AutoCAD 2008 DEU +SP1

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