Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Skalierung aller Ansichten im Kontext des Layout 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:  Skalierung aller Ansichten im Kontext des Layout ermitteln (470 mal gelesen)
Kricher
Mitglied
Entwickler


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

Beiträge: 270
Registriert: 10.09.2004

Solid Edge (ST6 - SE2019)
SolidWorks (2014 - 2019)
DraftSight 2016 und 2018
Creo Elements Direct Modeling
(SolidDesigner V17, V18, V19, V20)
Inventor 2018
ACAD/Mechanical 2018

erstellt am: 23. Mrz. 2010 15:31    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 Ihr,

ich versuche schon seit einiger Zeit folgende:
- Alle Layouts (Namen) ermitteln (habe ich hinbekommen)
- Ich möchte ferner zu allen Ansichten die Skalierung ermitteln und in einen Kontext zum jeweiligen Layout bringen (gelingt mir einfach nicht)

Ich habe es mit folgenden Code versucht:

Code:

Autodesk.AutoCAD.DatabaseServices.Database db = doc.Database;
        using (Transaction acTrans = db.TransactionManager.StartTransaction())
        {
          BlockTable blockTab = (BlockTable)db.BlockTableId.GetObject(OpenMode.ForRead);
          SymbolTableEnumerator symTabEnum = (SymbolTableEnumerator)blockTab.GetEnumerator();
          Layout nLayout = null;

          BlockTableRecord btr = null;
          while (symTabEnum.MoveNext())
          {
            btr = (BlockTableRecord)symTabEnum.Current.GetObject(OpenMode.ForRead);
            if (btr.IsLayout)
            {
              nLayout = (Layout)btr.LayoutId.GetObject(OpenMode.ForRead);
              foreach (ObjectId tObjID in btr)
              {
                if (tObjID.ObjectClass.DxfName == "VIEWPORT")
                {
                  Viewport tviewp = (Viewport)acTrans.GetObject(tObjID, OpenMode.ForRead, true, true);
                }
              }
            }
          }
        }


Wenn ich so vorgehe, dann bekomme ich immer alle Viewports zu dem jeweiligen Layout und nicht nur die Viewports, die sich auf dem jeweiligen Layout befinden! Gibt es zwischen den beiden keinen Verweis? Wie bekomme ich heraus, auf welchem Layout sich welche Viewports befinden?
Danke Euch schon mal im Voraus 

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


Ex-Mitglied

erstellt am: 23. Mrz. 2010 15:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> Wenn ich so vorgehe, dann bekomme ich immer alle Viewports zu dem jeweiligen Layout
>> und nicht nur die Viewports, die sich auf dem jeweiligen Layout befinden!

Widerspricht sich das nicht? Oder wo ist der Unterschied zwischen:

- alle Viewports zum jeweiligen Layout
- die Viewports, die auf dem Layout liegen

Einzige kleine (bis mittlere) Hürde kann sein, dass das Layout selbst als virtuelles Viewport anzusehen ist, d.h. für EIN Layout mit EINEM sichtbaren Ansichtsfenster bekommst Du ZWEI Viewports retourniert. Wäre gerade gestern >>>da<<< gewesen.

- alfred -

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

Kricher
Mitglied
Entwickler


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

Beiträge: 270
Registriert: 10.09.2004

erstellt am: 23. Mrz. 2010 15:45    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

Sorry,

ich meine ich bekomme immer alle Viewports unabhängig davon, ob diese sich auf einem Layout befinden oder nicht.
Ich möchte aber nur genau die, welche sich beispielsweise auf dem Layout1 befinden.

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

Kricher
Mitglied
Entwickler


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

Beiträge: 270
Registriert: 10.09.2004

Solid Edge (ST6 - SE2019)
SolidWorks (2014 - 2019)
DraftSight 2016 und 2018
Creo Elements Direct Modeling
(SolidDesigner V17, V18, V19, V20)
Inventor 2018
ACAD/Mechanical 2018

erstellt am: 23. Mrz. 2010 15: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

Sorry an alle,

der Beitrag "Wie bekommt man alle ViewportIDs" beschreibt genau mein Problem!

Zitat:

Papierbereich ist selbst auch ein Viewport


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


Ex-Mitglied

erstellt am: 23. Mrz. 2010 16:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

ohne jetzt geprüft zu haben würde ich davon ausgehen (zumindest das als erstes prüfen), dass das erste gefundene Viewport-Objekt je Layout das 'virtuelle Viewport' ist, alle nachfolgenden sollten dann die für den AutoCAD-Anwender greifbaren Ansichtsfenster sein.

- alfred -

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



Leitung Bau- und Gebäudetechnik (m/w/d)

Die Papier- und Kartonfabrik Varel ist ein mittelständisches Familienunternehmen mit ca. 610 Mitarbeiterinnen und Mitarbeitern und produziert auf Altpapierbasis mit modernsten umweltfreundlichen Technologien Karton und Wellpappenpapiere für die deutsche und internationale Verpackungsindustrie.

Mit einer jährlichen Produktionskapazität von über 930.000 Tonnen auf vier modernen Produktionslinien gehören wir zu den größten Produktionsstandorten der europäischen Papierindustrie....

Anzeige ansehenTeamleitung, Gruppenleitung
Kricher
Mitglied
Entwickler


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

Beiträge: 270
Registriert: 10.09.2004

erstellt am: 23. Mrz. 2010 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

Hi Alfred,

scheint mir auch so zu sein.
In allen Fällen kommt das bei mir zumindest auch hin.
Da gebe ich Dir glatt für Deinen gestrigen Support auch noch 10 Ue 

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