Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Plot-Modus feststellen

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:  Plot-Modus feststellen (1110 mal gelesen)
Josefus
Mitglied
Ingenieur


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

Beiträge: 23
Registriert: 22.03.2006

Windows 10, 64 bit
AUTOCAD 2019
c++ mit objectarx
MS Visual Studio 2017

erstellt am: 25. Aug. 2015 16: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

Wie kann ich feststellen, dass man sich gerade im Plotmodus befindet?

Unter ACAD2010 habe ich z.B. so unterschieden:

Code:
void CMyClass::subViewportDraw(AcGiViewportDraw*  pMode)
{

  AcGiViewport &vPort = pMode->viewport();
  Adesk::LongPtr nVpID = vPort.viewportId();

  if (4294967295 == nVpID)
  {
      // Plotmodus, z.B. Plotvorschau
      ...
  }
}


Unter AutoCAD2014 erhalte ich immer 0.

Oder gibt es einen besseren Weg?

Vielen Dank im Voraus,
Josefus

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

Ingenieur Studio HOLLAUS
Mitglied
CAD / CAFM / GIS Beratung-Programmierung-Schulung


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

Beiträge: 1049
Registriert: 06.11.2008

Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks)
RKV .... CAFM+mehr
HMap ... Vermessung und Verkehr
OoC .... Raumplanung
CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)

erstellt am: 27. Aug. 2015 10:18    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 Josefus 10 Unities + Antwort hilfreich

CommandInProgress prüfen?

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


www.cars4fun.at

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

Josefus
Mitglied
Ingenieur


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

Beiträge: 23
Registriert: 22.03.2006

Windows 10, 64 bit
AUTOCAD 2019
c++ mit objectarx
MS Visual Studio 2017

erstellt am: 28. Aug. 2015 16:10    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

CommandInProgress scheint für .NET zu sein.
Habe jetzt in ObjectArx folgendes versucht:

Code:

struct resbuf buf;
acedGetVar (L"CMDACTIVE", &buf);
short resInt = buf.resval.rint;
if (1 == resInt)
{
  //Plotmodus
}

Ich befürchte allerdings Fehleranfälligkeit, da ja nicht genau das Plot-Kommando identifiziert werden kann
Gibt es noch etwas besseres?

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

Ingenieur Studio HOLLAUS
Mitglied
CAD / CAFM / GIS Beratung-Programmierung-Schulung


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

Beiträge: 1049
Registriert: 06.11.2008

Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks)
RKV .... CAFM+mehr
HMap ... Vermessung und Verkehr
OoC .... Raumplanung
CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)

erstellt am: 28. Aug. 2015 16:52    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 Josefus 10 Unities + Antwort hilfreich

Man kann prüfen, was der laufende Befehl ist. Kann sein PLOT,PUBLISH,PREVIEW (vielleicht noch *EXPORT) oder applikationsspezifische Befehle, die Plotten.
Nur dass ein Befehl aktiv ist, das ist richtig, das ist kein Zeichen dafür, dass gerade Plot oder Plotvoransicht aktiv ist.

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


www.cars4fun.at

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

Josefus
Mitglied
Ingenieur


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

Beiträge: 23
Registriert: 22.03.2006

Windows 10, 64 bit
AUTOCAD 2019
c++ mit objectarx
MS Visual Studio 2017

erstellt am: 03. Sep. 2015 15:08    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 war die richtige Idee:

mit:

Code:
acedGetVar (L"CMDNAMES", &buf);


lässt sich abfragen, welches Kommando aktiv ist.

Danke.

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



Berechnungsingenieur CAE / FEM-Simulation Automotive (m/w/d)

Gemeinsam die Zukunft entwickeln!

Die Zukunft ist digital und wir gestalten sie virtuell! Die Automobilindustrie befindet sich in einer rasanten Transformation und die CDH AG trägt ihren Teil zum Erfolg bei. Mithilfe moderner Simulationsmethoden und eigener Softwarelösungen entwickeln wir die umweltfreundliche, sichere und komfortable Mobilität von morgen. Wenn Sie hierzu ...

Anzeige ansehenVertriebsingenieur
Josefus
Mitglied
Ingenieur


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

Beiträge: 23
Registriert: 22.03.2006

Windows 10, 64 bit
AUTOCAD 2019
c++ mit objectarx
MS Visual Studio 2017

erstellt am: 27. Okt. 2015 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

Jetzt noch eine Anschlussfrage:

während das PLOT-Kommando aktiv ist, konnte ich bisher abfragen, ob die Plotausgabe gegenüber dem Modell gedreht ist (Hoch- Querformat) mittels:

Code:

      AcDbPlotSettings::PlotRotation rot;

      rot = lo->plotRotation() ;


mögliche Rückgabewerte waren (aus dbplotsettings.h):

Code:
enum PlotRotation {
        k0degrees,
        k90degrees,
        k180degrees,
        k270degrees
    };

Ab objektarx_2014 bekomme ich immer 0 zurück.

Ist da ein Bug bekannt oder kann ich das anders abfragen?

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