Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  SCALE FAKTOR

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:  SCALE FAKTOR (877 mal gelesen)
nikibert
Mitglied
entwickler


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

Beiträge: 40
Registriert: 19.05.2008

Windows 7 Pro 64bit
DeLL T5500
NVIDIA Quadro 2000
CATIAV5 V19 SP9

erstellt am: 15. Feb. 2010 17:11    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,

ich würde gerne den scale Factor auf meinem Bildschirm während des Makroablaufs auf 1 setzen. Habe bereits eine Lösung (ZoomFactor) die allerdings abhängig von der Monitorgrösse ist (Also unbrauchbar).

Kennt noch jemand ne andere?

Schönen Dank schon mal

Gruss Niko

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

V5Playaz
Mitglied
Dipl.-Ing (BA)


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

Beiträge: 447
Registriert: 12.07.2005

DELL PRECISION 390
3,25 GB RAM
WIN XP PRO SP2
CATIA V5 R16-19
Delmia V5 R19
VB6, VB2008
Adobe Acrobat 9 Pro Extended

erstellt am: 15. Feb. 2010 20:07    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 nikibert 10 Unities + Antwort hilfreich

Hallo,

hast du mal ein Beispiel?

Über VB2008 ist es relativ einfach möglich die Bildschirm-Auflösung zu ermitteln.

Vielleicht hilft dir das für eine weitere Berechnung.

Grüsse Dominik

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 16. Feb. 2010 08: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 nikibert 10 Unities + Antwort hilfreich

Hallo  ,

ein Beispiel wäre echt nicht schlecht. Aber die Bildschirmauflösung kannst du auch mit einem CATVba ganz einfach auslesen. Hierzu gibt es die API "GetDeviceCaps". Nachfolgend mal ein kleines Beispiel wie mit der API umzugehen ist:

Code:

Private Const HORZRES  As Long = 8&
Private Const VERTRES  As Long = 10&
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long

Sub CATMain()

    Dim intScreenResStr As String

    intScreenResStr = CheckResolutionFnc
    If intScreenResStr <> "" Then
        intScreenResStr = intScreenResStr & " Pixel"
    Else
        MsgBox "Die Bildschirmauflösung konnte nicht gelesen werden!", vbExclamation, "Fehler"
        Exit Sub
    End If
   
    MsgBox "Die Bildschirmaflösung ist:" + vbNewLine + vbNewLine + intScreenResStr, vbInformation, "Bildschirmauflösung"

End Sub

Public Function CheckResolutionFnc() As String

    Dim intHWndMainDeviceLng As Long
    Dim intScreenResWidthLng As Long
    Dim intScreenResHeightLng As Long

    intHWndMainDeviceLng = GetDC(0&)
    intScreenResWidthLng = GetDeviceCaps(intHWndMainDeviceLng, HORZRES)
    intScreenResHeightLng = GetDeviceCaps(intHWndMainDeviceLng, VERTRES)

    If intScreenResWidthLng <> 0 And intScreenResHeightLng <> 0 Then
        CheckResolutionFnc = CStr(intScreenResWidthLng) & " x " & CStr(intScreenResHeightLng)
    Else
        CheckResolutionFnc = ""
    End If
   
  End Function


------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

nikibert
Mitglied
entwickler


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

Beiträge: 40
Registriert: 19.05.2008

Windows 7 Pro 64bit
DeLL T5500
NVIDIA Quadro 2000
CATIAV5 V19 SP9

erstellt am: 16. Feb. 2010 09:23    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


BILD.jpg

 
Hallo,

schönen Dank schon mal für die Antworten.

Die Bildschirm Auflösung auslesen bekomm ich hin, des is nich des Problem. Hätte gerne die Funktion mit der ich den Scale Faktor (Unten Rechts im CATIA Fenster. Siehe BILD) auf 1 setzen kann, da dieser nicht nur von der Bildschirmauflösung abhängt sondern ebenfalls von der Fenstergröße des CATIA Fensters(Wenn dieses nicht im Vollbild betrieben wird).

Gruss Niko

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 16. Feb. 2010 09:29    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 nikibert 10 Unities + Antwort hilfreich

Hallo Niko,

IMHO gibt es hier in VBA keine Schnittstelle. D.h. das ist ein ziemlich großer Programmieraufwand. Du brauchst ja dann nicht nur die Auflösung des Bildschirms sondern auch die Größe des CATIA Fensters. Das geht zwar auch über eine API (bzw. mehrere) aber es ist doch recht aufwendig 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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