Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Mittelpunkt eines Blockes ermitteln

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:  Mittelpunkt eines Blockes ermitteln (908 mal gelesen)
Karl01
Mitglied



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

Beiträge: 55
Registriert: 15.06.2004

Win 7; Map2012

erstellt am: 22. Okt. 2009 16:01    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 zusammen

ich habe einen Block (=Rechteck) von dem der Einfügepunkt (=Ecke des Rechteckes), die Drehung und die beiden Seitenlängen bekannt sind.
Wie kann ich nun den Mittelpunkt von diesem Block ermitteln?

Karl

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 22. Okt. 2009 16:22    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 Karl01 10 Unities + Antwort hilfreich

hilft dir
X_mitte = X_einfüge+a/2 * cos w -b/2 *sin w
Y_mitte = Y_einfüge+a/2 * sin w +b/2 *cos w
weiter ?

Vorzeichen sind vom betrachteten bekannten Eckpunkt abhängig

hat aber nix mit vba zu tun , sonderm mit Mathe 

------------------
      - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Karl01
Mitglied



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

Beiträge: 55
Registriert: 15.06.2004

Win 7; Map2012

erstellt am: 22. Okt. 2009 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

Hallo Thomas

Ja das hift mir weiter,

Danke!

Karl

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


Ex-Mitglied

erstellt am: 22. Okt. 2009 17:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

wenn es sich wirklich um ein Rechteck handelt, bist Du schneller, wenn Du die Extents der BlockReferenz nimmst, und aus MinPnt und MaxPnt der retournierten Extents den Mittelpunkt ermittelst.

- alfred -

------------------
www.hollaus.at

Karl01
Mitglied



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

Beiträge: 55
Registriert: 15.06.2004

Win 7; Map2012

erstellt am: 23. Okt. 2009 08: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

Hallo Alfred

Bei dem Block gibt es auch eine Attribut und das wird bei der Extents mit eingerechnet. Kann ich auch die Extents des Rechteckes ohne dem Attribut ermitteln?

Karl

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


Ex-Mitglied

erstellt am: 23. Okt. 2009 09:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

ok, davon (Attribut) stand oben nix. 

Wenn der Basispunkt des Attributs innerhalb des Rechtecks liegt, dann

- den Wert (TagString) zwischenspeichern, auf leer setzen - oder
- die Texthöhe des Attributs zwischenspeichern und auf z.B. 0.000001 setzen

dann Extents abfragen und wieder auf ursprüngliche Werte setzen.

Ich möchte aber dazusagen, dass diese Vorgehensweise nur dann (halbwegs) brauchbar ist, wenn es sich nicht um eine große Anzahl von Elementen handelt, da jede der obigen Aktionen relativ zeitaufwendig ist und auch den Undo-Speicher füllt.

- alfred -

------------------
www.hollaus.at

Karl01
Mitglied



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

Beiträge: 55
Registriert: 15.06.2004

Win 7; Map2012

erstellt am: 23. Okt. 2009 09:40    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 Alfred,

nochmals zu meinem Problem
ich habe in einer Zeichnung um die 1000 Blöcke = Rechteck mit unterschiedlichen x,y Faktoren und der Basispunkt befindet sich an einer Ecke des Rechtecks. Weiters besitzt der Block ein Attribut desen Basispunkt auserhalb vom Rechtecke ist.
Jetzt muß ich diesen Block durch einen Block, ebenfalls ein Rechteck bei dem der Basispunkt = Mittelpunkt des Rechteck ist, ersetzen. Der Block hat auch kein Attribut mehr.

Jetzt war eben meine Überlegung das ich den Mittelpunkt des Block=Rechteck ermittle und einen neuen Block setze. Oder gibt es eine bessere Möglichkeit?

Karl

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


Ex-Mitglied

erstellt am: 23. Okt. 2009 09:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Karl,

>> Der Block hat auch kein Attribut mehr

dann kannst Du ja aus der bestehenden BlockReferenz die AttributReferenz löschen (dann verbleibt nur mehr das Rechteck), dann Extents ermitteln und aus den Extents den Mittelpunkt.

Der schnellere Weg könnte hier auch sein, Du nimmst Dir mit dem Blockeditor die alte Blockdefinition zur Hand ==> löscht in dieser die Attributdefinition raus ==> beendest den Blockeditor (mit speichern) und machst dann '_attsync'. Damit funktioniert dann auch die Mittelpunktermittlung über die Extents.

- alfred -

------------------
www.hollaus.at

Karl01
Mitglied



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

Beiträge: 55
Registriert: 15.06.2004

Win 7; Map2012

erstellt am: 23. Okt. 2009 10:59    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 Alfred

Zitat:

dann kannst Du ja aus der bestehenden BlockReferenz die AttributReferenz löschen (dann verbleibt nur mehr das Rechteck), dann Extents ermitteln und aus den Extents den Mittelpunkt.


funktioniert super!

Vielen Dank und ein schönes Wochenende

Karl

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