Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Objekt in Ansicht zentrieren

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
Autor Thema:  Objekt in Ansicht zentrieren (6139 mal gelesen)
BerryBerlin
Mitglied


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

Beiträge: 3
Registriert: 02.06.2013

erstellt am: 02. Jun. 2013 10:25    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

Gibt es eine Möglichkeit, ein Objekt (Handle des Objektes ist bekannt) auf dem Bildschirm zu zentrieren?

Viele Grüße aus Berlin
Berry

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil
Inventor AIP 4-11, 2008 -2022
Win 10

erstellt am: 02. Jun. 2013 11:15    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 BerryBerlin 10 Unities + Antwort hilfreich

Dafür gibt es doch einen AutoCAD Befehl.

Befehl: _ZOOM _Object (handent $handleVar)

Das lässt sich Quick & Dirty auch mit
Sendcommand  kombinieren.

Ansonsten hier für weitere Tipps
http://through-the-interface.typepad.com/through_the_interface/2008/06/zooming-to-a-wi.html

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

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

BerryBerlin
Mitglied


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

Beiträge: 3
Registriert: 02.06.2013

erstellt am: 03. Jun. 2013 10:46    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

Ich arbeite eigentlich nicht mit AutoCAD.
Ich versuche aus einer Access-Datenbank heraus, Attribute in AutoCAD zu "manipulieren"(was soweit schon sehr gut funktioniert).
Dabei kommt es vor, dass ein Block nicht in der Access-DB enthalten ist.
Dann möchte ich diesen Block in AutoCAD auswählen und auf dem Bildschirm zentrieren, damit man ihn nicht suchen muss.

Mir ist auch nicht klar, wie man diesen Befehl anwendet:
Befehl: _ZOOM _Object (handent $handleVar)

MfG
BerryBerlin

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

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



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

Beiträge: 3358
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 03. Jun. 2013 11: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 BerryBerlin 10 Unities + Antwort hilfreich

z.b. (Command "_ZOOM" "_Object" (handent "12024") "")
@CAD-Huebner danke wieder was neues (für mich)

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark  Bernd P. Sport ist Mord
Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX

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

BerryBerlin
Mitglied


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

Beiträge: 3
Registriert: 02.06.2013

erstellt am: 03. Jun. 2013 11:16    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

OK, habe den VBA-Code durch rumprobieren rausgefunden:

ThisDrawing.SendCommand "_ZOOM _Object (handent " & Chr(34) & "47F3" & Chr(34) & ")" & vbCr & vbCr

Chr(34) ersetzt die Anführungszeichen.
vbCr ersetzt die ENTER-Taste.
47F3 ist ein Beispiel-Handle.

MfG
BerryBerlin

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

rexxitall
Mitglied
Dipl. -Ing. Bau


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

Beiträge: 266
Registriert: 07.06.2013

Various: systems, Operating systems, cad systems, cad versions, programming languages.

erstellt am: 24. Jun. 2013 23: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 BerryBerlin 10 Unities + Antwort hilfreich

Hi

geht einfacher
mit VBA bekommst per bekanntem handle direkt das Acad entity
und mit der boundingbox dessen abmessungen
jetzt nur noch das ansichtsfenster ...  


Und mit vba kannst ja acess easy mit acad verheiraten
Bloecke koenne auch durchaus noch in ner dwg unsichtbar in der blockdefinition vorhanden sein.
Man kann auch durch alle blockdefinitionen durchlaufen und diese einzeld als dwg abspeichern.
Endlose Weiten (c) USS Enterprise

Function GET_ENTITY_BY_HANDLE(entity As AcadEntity, handle As String) As Boolean
    GET_ENTITY_BY_HANDLE = False
    On Error Resume Next
    Err.Clear
    Set entity = ThisDrawing.HandleToObject(handle)
    If Not entity Is Nothing Then GET_ENTITY_BY_HANDLE = True
End Function

und nun einfach mit nachfolgenden routine dahin zoomen -
achtung die ist derzeit nur fuer den modelspace ausgelegt

Sub Zoom_to(entity As AcadEntity, Optional FACTOR As Double = 1)
    Dim W1(0 To 2) As Double
    Dim W2(0 To 2) As Double

    Dim Min As Variant
    Dim Max As Variant

    Dim DX, DY, DZ, mx, My, mz As Double
    Call entity.GetBoundingBox(Min, Max)
    DX = Max(0) - Min(0)
    DY = Max(1) - Min(1)
    DY = Max(2) - Min(2)

    mx = 0.5 * (Max(0) + Min(0))
    My = 0.5 * (Max(1) + Min(1))
    mz = 0.5 * (Max(2) + Min(2))

    W1(0) = mx - FACTOR * DX
    W1(1) = My - FACTOR * DY
    W1(2) = mz - FACTOR * DZ

    W2(0) = mx + FACTOR * DX
    W2(1) = My + FACTOR * DY
    W2(2) = mz + FACTOR * DZ

    ZoomWindow W1, W2
End Sub

Die Handles in der Datenbank zu verankern ist auch etwas risky
Besser ist es die Bloecke mit insertationpoint , Blocknamen und allen attributen / Parametern in der datenbank vorzuhalten.
Handles sind zwar in einer Zeichnung unique muessen es aber nicht zwanglaeufig in mehreren sein (wenn dann Zufall)
Ein link eines Attributes zu der ZENTRALEN Datenbank nebst DatensatzID ist da cleverer.
------------------
Wer es nicht versucht, hat schon verlorn   
Bei 3 Typos gibts den vierten gratis !
Definitiv kein ACAD Trainer ...

[Diese Nachricht wurde von rexxitall am 24. Jun. 2013 editiert.]

[Diese Nachricht wurde von rexxitall am 25. Jun. 2013 editiert.]

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)2023 CAD.de | Impressum | Datenschutz