Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Gruppencode & Handle

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
Autor Thema:   Gruppencode & Handle (142 mal gelesen)
woppi
Mitglied
cnc-programmierung


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

Beiträge: 59
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 14. Jan. 2020 13:27    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,

weiß jemand, ob es die Möglichkeit gibt, wenn man von einem Auocadblock die object.Handle hat die Gruppencodes von dem Objekt abzufragen?

Ich habe in einem Programm ein Schleife, in der von anonyme  Blöcken mit Hilfe der object.Handle Nummer Parameter abgefragt werde, und möchte dabei prüfen ob das Opjekt überhaupt aktuell sichtbar ist (Gruppencode 60 = 0) und nicht verborgen (Gruppencode 60 = 1).

Alternativ würde es mir auch helfen, wenn man überprüfen kann ob die Objekte mit der object.Handle Nummer in einem Auswahlsatz vorhanden sind.

Hat einer eine Idee, und kann mir Tipps geben wie ich dort weiter komme?

Vielen Dank
Gruß Ludger

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 19600
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 14. Jan. 2020 13: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 Nur für woppi 10 Unities + Antwort hilfreich

"Gruppencodes" gibt es in DXF und AutoLisp, mir ist gerade nicht ganz
klar warum du darüber im VBA-Forum sprichst?

Der Gruppencode 60 entspricht der Eigenschaft VISIBLE

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 19600
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 14. Jan. 2020 13:58    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 woppi 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von woppi:
Alternativ würde es mir auch helfen, wenn man überprüfen kann ob die Objekte mit der object.Handle Nummer in einem Auswahlsatz vorhanden sind

Dazu kann ich nichts schreiben, da ich noch nicht "das ganze Szenario" verstehe und
hier nicht klar ist ob mit object.Handle nun ein Objekt in der Blockdefinition gemeint ist, oder die Blockreferenz.
Die Blockreferenz muß auf einem getauten Layer und das Objekt auf einem EINgeschalteten getauten Layer leigen
und 'sichtbar' sein damit es am Bildschirm erscheint. Ist das alles schon berücksichtigt in den Überlegungen?

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 59
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 14. Jan. 2020 14:27    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

Die Layer sind eingeschaltet und getaut, aber es kann sein, dass mit dem _.UNISOLATEOBJECTS Befehl Blöcke verborgen sind.
Ich weiß nur nicht wie ich das in VBA überprüfen kann, und dachte das man über die Eigenschaften des Blocks den Gruppencode 60 nachgucken kann.

Du hast ja geschrieben das ist dasselbe wie Eigenschaft VISIBLE, aber wenn ich damit ein Objekt verberge, kann ich es mit dem .UNISOLATEOBJECTS Befehl auch nicht wieder sichtbar machen, das ist scheinbar doch etwas anderes.

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 19600
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 14. Jan. 2020 14:38    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 woppi 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von woppi: das ist scheinbar doch etwas anderes.

Nein, es ist das Gleiche. Du kannst ja mal bei zwei Objekten Obj1 abfragen dann dann isolateobjects nutzen und Obj2 wählen.
Jetzt fragst du die Eigenschafte "visible" von Obj1 noch mal ab.. und siehst die Änderung.


Zitat:
aber wenn ich damit ein Objekt verberge, kann ich es mit dem .UNISOLATEOBJECTS Befehl auch nicht wieder sichtbar machen

Na klar, weil die Funktion hinter "isolateobjects" überhaupt nichts mit deiner Manipulation zutun hat.
Unisolateobjects schaltet natürlich nur die Objekte um welche zu vor über isplateobjects unsichtbar geschaltet wurden.


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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 19600
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 14. Jan. 2020 14:53    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 woppi 10 Unities + Antwort hilfreich

>"_.UNISOLATEOBJECTS / die Eigenschaften des Blocks"

Beim Thema (un)isolateobjects sind wir bei BlockREFERENZEN, nur um das mal genauer formuliert zu haben.


>"den Gruppencode 60 nachgucken kann"
Richtig, Gruppencode60 ist halt DXF/AutoLisp, VISIBLE wäre es in der VBA/VisualLisp/ActiveX Welt.


Mit der Systemvariable OBJECTISOLATIONMODE stellst du ein ob beim speichern
[edit]
die ISOLATEOBJECTS Manipulationen in der DWG gespeichert werden bleiben sollen.
Falls JA erhält jedes betroffene behalten die betroffenen Objekte die erweiterte Daten der Applikation AEC_ISOLATEDOBJECTS_XDATA.
[/edit]

[Diese Nachricht wurde von cadffm am 14. Jan. 2020 editiert.]

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 59
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 14. Jan. 2020 15: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

Jetzt verstehe ich.  (oder hoffe es zumindest)
Der Gruppencode wird erst beim speichern (als DXF) erzeugt.
Ich dachte der wäre schon vorher vorhanden (den Gruppencode 8 für Layer kann ich ja auch immer verwenden).

Oder ist das jetzt wieder falsch?

Kann ich denn dann über die object.Handle Nummer feststellen ob der Block verborgen (bzw. Visible = False) ist, wenn er vorher mit dem Befehl "AECHIDEOBJECTS" verborgen worden ist?

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 19600
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 14. Jan. 2020 15:36    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 woppi 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von woppi:
Der Gruppencode wird erst beim speichern (als DXF) erzeugt.

Nein, passiert sofort [Ich habe die Antwort oben editiert und besser formuliert]

Die Einstellung über das behalten oder nicht behalten steuert nur wie die Daten
gespeichert werden, also sichtbar, oder nicht sichtbar.


Noch immer verstehe ich nicht warum du überhaupt mit dem Handler herum hantierst,
woher hast du das Handle und warum? SORRY falls ich es überlesen habe.
 

Und wenn du das Handle hast, dann kannst du doch auch die erweiterten Daten abfragen?
Wie oben bereits geschrieben, es geht um Daten der Applikation "AEC_ISOLATEDOBJECTS_XDATA"


http://help.autodesk.com/view/ACD/2020/DEU/?guid=GUID-330FCA31-A2A9-47F0-972D-6915B6B98426


[Diese Nachricht wurde von cadffm am 14. Jan. 2020 editiert.]

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 59
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 14. Jan. 2020 16:48    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

Das hilft mir sicher weiter.

Ich benutze das object.Handle weil es um anonyme Blöcke geht (*U...)
Das Programm ist eigentlich fertig, ich will mit der Abfrage (Gruppencode 60 oder "AEC_ISOLATEDOBJECTS_XDATA") nur prüfen ob der Block auch gerade nicht verborgen ist.
Es werden da sehr viele Blöcke in einer Schleife durchlaufen, und ich suche jetzt so etwas wie:

Ist das Opjekt.Handle sichtbar?  dann ........

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 19600
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 14. Jan. 2020 16:53    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 woppi 10 Unities + Antwort hilfreich

Aus der Erklärung heraus weiß ich zwar immernoch nicht warum du das handle hast
und zudem sind es noch immer blockreferenzen und keine Blöcke
und dazu ist es auch noch egal wie der Name des Blockes ist.

Wie auch immer, wenn es dir geholfen hat ist es ja gut 

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 19600
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 14. Jan. 2020 17: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 woppi 10 Unities + Antwort hilfreich

Vielleicht stolpere ich ja über eine VBA-Geschichte die im DXF/Lisp einfach anders ist,
mir fällt nur nicht ein was&warum das so wäre. Kein VBA ler halt 

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

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



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

Beiträge: 4136
Registriert: 17.05.2001

ACAD20XX, defun-tools

erstellt am: 15. Jan. 2020 07:24    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 woppi 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von woppi:
... weiß jemand, ob es die Möglichkeit gibt, wenn man von einem Auocadblock die object.Handle hat die Gruppencodes von dem Objekt abzufragen? ...

Hallo Ludger,

ich denke, du hast da einen Knoten in deinen Gedanken. Gruppencodes sind doch nur ein Vehikel für die Ausgabe in DXF bzw die nicht objektorientiert Programmierung (Lisp). Wenn du in VBA unterwegs bist, dann musst du die vom Objekt, dem Gruppencode entsprechenden, Eigenschaft abfragen. Visibility oder IsVisible (nur eine Vermutung)

Die Handle lässt sich sicher auch in VBA von einem Entity ermitteln, bzw. die ObjectId Satz ermitteln.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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