Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  VBA und Ansichtsfenster

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
  
NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
Autor Thema:  VBA und Ansichtsfenster (1813 mal gelesen)
Dirk.B
Mitglied
Tischler / Leiter Arbeitsvorbereitung


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

Beiträge: 534
Registriert: 25.11.2003

AutoCAD 2021/2022
CAD+T
HP ZBook 15 G4, 64-bit,
WIN 10 Pro

erstellt am: 12. Jun. 2005 10:09    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!

Da ich sehr viel mit dem Papierbereich arbeite und da mehrere Ansichtsfenster habe, suche ich die Möglichkeit, daß mir der Maßstab
bzw. gewählte Skalierung am linken unteren Ansichtsfensterrand als Text angezeigt wird.

Ferner soll folgendes passieren:
Ist der Maßstab 1:1 (Bemaßungslayer BEM1_1) eingestellt, sollen die anderen Bemaßungslayer wie z.B. BEM1_10, BEM1_20 etc. automatisch im aktuellen Anichtsfenster gefroren werden und der entsprechende Bemstil wie BEM1_1 aktuell bzw. aktiv gesetzt werden.

Hat da jemand einen Ideenansatz für mich?

Vieln Dank im voraus.

Gruß

Dirk

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

BloodyMess
Mitglied
Applicationingenieur


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

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 12. Jun. 2005 13: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 Dirk.B 10 Unities + Antwort hilfreich

Hallo Dirk,

Zitat:
Original erstellt von Dirk.B:
Da ich sehr viel mit dem Papierbereich arbeite und da mehrere Ansichtsfenster habe, suche ich die Möglichkeit, daß mir der Maßstab
bzw. gewählte Skalierung am linken unteren Ansichtsfensterrand als Text angezeigt wird.


... kuck Dir die Methode AddMText, in den Beispielen an. Oder das jeweilige Object des Typs, von dem dein Text sein soll.
Ändere dann nur ThisDrawing.ModelSpace nach ThisDrawing.PaperSpace

Zitat:

Ferner soll folgendes passieren:
Ist der Maßstab 1:1 (Bemaßungslayer BEM1_1) eingestellt, sollen die anderen Bemaßungslayer wie z.B. BEM1_10, BEM1_20 etc. automatisch im aktuellen Anichtsfenster gefroren werden und der entsprechende Bemstil wie BEM1_1 aktuell bzw. aktiv gesetzt werden.


Die Frage, welche sich mir stellt, ist: Kann man überhaupt die Eiegnschaften der Layer in Abhängigkeit des Layouts festsetzen?
Ich glaube nicht!

... setze im ThisDrawing Object im VBA Editor das Event 'AcadDocument_LayoutSwitched' ... jedes Mal, wenn Du nun deine Ansicht wechselst, wird dein nachfolgender Code ausgeführt. Mit 'ThisDrawing.ActiveLayout.Name' bekommst Du den aktuellen LayoutNamen.

... kleiner CodeAnsatz

Code:

Sub test()

Dim oLayer As AcadLayer
Set oLayer = ThisDrawing.Layers.Item("Bemaßungslayer BEM1_1")

oLayer.Freeze = True
oLayer.LayerOn = False
oLayer.Lock = True

End Sub



Damit solltest Du alles haben, was Du brauchst um Dir deine Funktionalität zu programmieren - bis auf den Maßstab, aber da kann Dir sicher jmd anderes weiterhelfen. Oder Du schaust mal selber nach 'Scale'.


Schönen Sonntag und Gruss TP

------------------

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

Lars Geis
Mitglied
Architekt


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

Beiträge: 346
Registriert: 21.03.2003

erstellt am: 13. Jun. 2005 16:06    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 Dirk.B 10 Unities + Antwort hilfreich

Moin Dirk,

du kannst es bestimmt auch mit VBA lösen, auf die "herkömmliche" Art und Weise geht es bestimmt schneller und einfacher.
Erzeuge dir eine Vorlagenzeichnung, in der die Layer aller Bem. Stile schon drin sind und sage einfach jedem Ansichtsfenster, welche Layer in diesem angezeigt werden sollen und welche nicht. Der Vorteil ist folgender: Du kannst mehrere Ansichtsfenster mit verschiedenen Maßstäben nebeneinander haben und in jedem Fenster siehst du genau das was du sehen willst. Schaltest du einen Layer global aus, so ist er überall aus. Auch in dem A.Fenster nebenan, wo er eigentlich sichtbar sein sollte.

Zum Thema Maßstab ins Layout schreiben:
Füge einfach ein Schriftfeld ein, (Kategorie Objekt, Vorgabefaktor) und klicke auf das Ansichtsfenster.

All das kannst du dir in der Vorlagezeichnung fertig einrichten...

Gruß Lars

------------------
Grüße aus Darmstadt

Lars Geis
ABCOM GmbH

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

stolti
Mitglied
technischer zeichner


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

Beiträge: 373
Registriert: 05.09.2007

auto_cad 2008
athena 2008
DELL Precision PWS390
Intel Core2 CPU 6600
2gb RAM
2.40 GHz

erstellt am: 27. Mrz. 2009 15:09    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 Dirk.B 10 Unities + Antwort hilfreich

hej dirk.

mal eine frage:
wie hast du denn das problem jetzt gelöst?
ich suche nämlich gerade für das genau gleiche problem eine lösung.

danke

stolti

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: 27. Mrz. 2009 15:30    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 Dirk.B 10 Unities + Antwort hilfreich

Hallo Stolti,

Lars hat doch schon geschrieben wie es am einfachsten geht.
 

Zitat:
Original erstellt von Lars Geis:
Moin Dirk,

du kannst es bestimmt auch mit VBA lösen, auf die "herkömmliche" Art und Weise geht es bestimmt schneller und einfacher.
Erzeuge dir eine Vorlagenzeichnung, in der die Layer aller Bem. Stile schon drin sind und sage einfach jedem Ansichtsfenster, welche Layer in diesem angezeigt werden sollen und welche nicht. Der Vorteil ist folgender: Du kannst mehrere Ansichtsfenster mit verschiedenen Maßstäben nebeneinander haben und in jedem Fenster siehst du genau das was du sehen willst. Schaltest du einen Layer global aus, so ist er überall aus. Auch in dem A.Fenster nebenan, wo er eigentlich sichtbar sein sollte.

Zum Thema Maßstab ins Layout schreiben:
Füge einfach ein Schriftfeld ein, (Kategorie Objekt, Vorgabefaktor) und klicke auf das Ansichtsfenster.

All das kannst du dir in der Vorlagezeichnung fertig einrichten...

Gruß Lars



Oder hast du noch ein anderes Problem.

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

stolti
Mitglied
technischer zeichner


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

Beiträge: 373
Registriert: 05.09.2007

auto_cad 2008
athena 2008
DELL Precision PWS390
Intel Core2 CPU 6600
2gb RAM
2.40 GHz

erstellt am: 27. Mrz. 2009 16: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 Nur für Dirk.B 10 Unities + Antwort hilfreich

hallo.
das heisst - in meiner vorlagedatei sind schon ansichtsfenster (pro maßstab eines) drin mit voreinstellung?
und die kopier ich dann immer weiter?

wenn ich den text richtig verstehe.


Zitat:
Original erstellt von Stelli1:
du kannst es bestimmt auch mit VBA lösen, auf die "herkömmliche" Art und Weise geht es bestimmt schneller und einfacher.
Erzeuge dir eine Vorlagenzeichnung, in der die Layer aller Bem. Stile schon drin sind und sage einfach jedem Ansichtsfenster, welche Layer in diesem angezeigt werden sollen und welche nicht. Der Vorteil ist folgender: [b]Du kannst mehrere Ansichtsfenster mit verschiedenen Maßstäben nebeneinander haben und in jedem Fenster siehst du genau das was du sehen willst
. Schaltest du einen Layer global aus, so ist er überall aus. Auch in dem A.Fenster nebenan, wo er eigentlich sichtbar sein sollte.
[/B]

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