Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  toolbar mit selbstdefinierten views machen - wie?

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:  toolbar mit selbstdefinierten views machen - wie? (2838 mal gelesen)
kalanja
Mitglied
Entwicklungsing.


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

Beiträge: 1239
Registriert: 29.10.2001

Dell Precision M3800 Mobile Workstation
i7 2,2GHz - 16GB RAM
Nvidia Quadro K1100
Treiber: 353.62
Windows 10 Pro (x64)
V5 R21 x64 SP6

erstellt am: 12. Nov. 2003 12: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

hi leute!

da in R12 die top view plötzlich um 90° gedreht ist, wollte ich mir eine eigene toolbar machen, wo vorher definierte (named) views abgerufen werden können.

so hab ich's gemacht:

1.) in einem catpart unter named views eine top view definiert so wie ich sie haben will

2.) per macro aufzeichnung diese view aufgerufen und gespeichert.

3.) eigene toolbar "my views" definiert

4.) dem makro ein icon zugewiesen

5.) versucht dieses neue icon auf "my views" toolbar abzulegen.

Fehlermeldung: cannot add a local command on a global toolbar

ich denke das problem ist, das ich die view in einem bestimmten catpart definiert habe. geht sowas auch global.

mein macro:
Language="VBSCRIPT"

Sub CATMain()

Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument

Dim cameras1 As Cameras
Set cameras1 = partDocument1.Cameras

Dim camera3D1 As Camera
Set camera3D1 = cameras1.Item("Bottom View")

Dim viewpoint3D1 As Viewpoint3D
Set viewpoint3D1 = camera3D1.Viewpoint3D

Dim specsAndGeomWindow1 As Window
Set specsAndGeomWindow1 = CATIA.ActiveWindow

Dim viewer3D1 As Viewer
Set viewer3D1 = specsAndGeomWindow1.ActiveViewer

viewer3D1.Viewpoint3D = viewpoint3D1

Set viewpoint3D1 = camera3D1.Viewpoint3D

viewer3D1.Viewpoint3D = viewpoint3D1

End Sub

ich kenn leider den syntax von: camera3D1 nicht, denn sonst könnte ich (möglicherweise) diesen mit den entsprechenden parametern füttern, so dass die view die ich will global definiert ist, und nicht von einer in einem part def. named view abhängt.

oder wie würdet ihr das problem lösen?

mario

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

RonnyS
Mitglied



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

Beiträge: 97
Registriert: 04.09.2003

erstellt am: 12. Nov. 2003 13:26    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 kalanja 10 Unities + Antwort hilfreich

ich weiss es klingt schwachsinnig aber manchmal hilft schon einfasch eine neue toolbar zu erstellen.

diese Fehglermeldung erscheint bei mir auch manchmal, selbst wenn ich nur ein "Part"-Makro in eine "Part-Toolbar" adden möchte.

------------------
gr33t7 Ronny

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

kalanja
Mitglied
Entwicklungsing.


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

Beiträge: 1239
Registriert: 29.10.2001

Dell Precision M3800 Mobile Workstation
i7 2,2GHz - 16GB RAM
Nvidia Quadro K1100
Treiber: 353.62
Windows 10 Pro (x64)
V5 R21 x64 SP6

erstellt am: 12. Nov. 2003 13: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

my toolbar ist eigentlich eine neu generierte toolbar

mario

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

EmilioSanchez
Mitglied



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

Beiträge: 70
Registriert: 02.11.2003

Intel I7 4700MQQ
24GB
Win10 Pro 64-Bit
Catia V5 R19/R26/28/29

erstellt am: 15. Nov. 2003 09:25    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 kalanja 10 Unities + Antwort hilfreich

Hallo Mario,

ich würde es mal mit diesem Beispielmakro von Dassault versuchen.
Mit der Variablen iIndView  kannst du die gewünschte View setzen.
Sollte die Ausrichtung dann noch nicht stimmen einfach die Vektoren von SIGHT und UP mal tauschen.

C4N

Bernd


' COPYRIGHT DASSAULT SYSTEMES 2002
Option Explicit

' ***********************************************************************
'  Purpose    : Change viewpoint to an engineering view defined by a series of parameters.
'                This macro is a sample: the presented engineering view has to be reworked knowing industrial standards.
'  Assumptions : A CATProduct document should be active.
'  Author      :
'  Languages  : VBScript
'  Locales    : English
'  CATIA Level : V5R7
' ***********************************************************************
Sub CATMain()

  ' Parameters
  Const Front  = 0
  Const Back  = 1
  Const Right  = 2
  Const Left  = 3
  Const Bottom = 4
  Const Top    = 5
  Const Iso    = 6
  Const Custom = 7

  Const Sight = 0
  Const Up    = 1

  Const X = 0
  Const Y = 1
  Const Z = 2

  Dim StdDirection(7,1,2)

  StdDirection(Front , Sight, X) =  1.
  StdDirection(Front , Sight, Y) =  0.
  StdDirection(Front , Sight, Z) =  0.
  StdDirection(Front , Up  , X) =  0.
  StdDirection(Front , Up  , Y) =  0.
  StdDirection(Front , Up  , Z) =  1.

  StdDirection(Back  , Sight, X) = -1.
  StdDirection(Back  , Sight, Y) =  0.
  StdDirection(Back  , Sight, Z) =  0.
  StdDirection(Back  , Up  , X) =  0.
  StdDirection(Back  , Up  , Y) =  0.
  StdDirection(Back  , Up  , Z) =  1.

  StdDirection(Right , Sight, X) =  0.
  StdDirection(Right , Sight, Y) =  1.
  StdDirection(Right , Sight, Z) =  0.
  StdDirection(Right , Up  , X) =  0.
  StdDirection(Right , Up  , Y) =  0.
  StdDirection(Right , Up  , Z) =  1.

  StdDirection(Left  , Sight, X) =  0.
  StdDirection(Left  , Sight, Y) = -1.
  StdDirection(Left  , Sight, Z) =  0.
  StdDirection(Left  , Up  , X) =  0.
  StdDirection(Left  , Up  , Y) =  0.
  StdDirection(Left  , Up  , Z) =  1.

  StdDirection(Bottom, Sight, X) =  0.
  StdDirection(Bottom, Sight, Y) =  0.
  StdDirection(Bottom, Sight, Z) =  1.
  StdDirection(Bottom, Up  , X) =  0.
  StdDirection(Bottom, Up  , Y) =  1.
  StdDirection(Bottom, Up  , Z) =  0.

  StdDirection(Top  , Sight, X) =  0.
  StdDirection(Top  , Sight, Y) =  0.
  StdDirection(Top  , Sight, Z) = -1.
  StdDirection(Top  , Up  , X) =  0.
  StdDirection(Top  , Up  , Y) =  1.
  StdDirection(Top  , Up  , Z) =  0.

  StdDirection(Iso  , Sight, X) = -1./ Sqr(3)
  StdDirection(Iso  , Sight, Y) = -1./ Sqr(3)
  StdDirection(Iso  , Sight, Z) = -1./ Sqr(3)
  StdDirection(Iso  , Up  , X) = -1./ Sqr(6)
  StdDirection(Iso  , Up  , Y) = -1./ Sqr(6)
  StdDirection(Iso  , Up  , Z) =  2./ Sqr(6)

  StdDirection(Custom, Sight, X) = -1./ Sqr(2)
  StdDirection(Custom, Sight, Y) = -1./ Sqr(2)
  StdDirection(Custom, Sight, Z) =  0.
  StdDirection(Custom, Up  , X) =  0.
  StdDirection(Custom, Up  , Y) =  0.
  StdDirection(Custom, Up  , Z) =  1.

  ' Engineering view do display
  Dim iIndView As Integer
  iIndView = Custom ' <==== To be changed on the different macros ====

  ' Get the viewer
  Dim oViewer As Viewer
  Set oViewer = CATIA.ActiveWindow.ActiveViewer

  ' Get the viewpoint
  Dim oViewpoint As Viewpoint3D
  Set oViewpoint = oViewer.Viewpoint3D

  ' Get the current parameters
  Dim Origin(2)
  oViewpoint.GetOrigin Origin
  Dim SightDirection(2)
  oViewpoint.GetSightDirection SightDirection
  Dim Focus As Double
  Focus = oViewpoint.FocusDistance

  ' Compute the new parameters
  Dim StdSightDirection(2)
  Dim StdUpDirection(2)
  Dim I As Integer
  For I = 0 to 2
    StdSightDirection(I) = StdDirection(iIndView,Sight,I)
    StdUpDirection(I) = StdDirection(iIndView,Up,I)
    Origin(I) = Origin(I) + Focus*(SightDirection(I) - StdSightDirection(I))
  Next

  ' Change the viewpoint
  oViewpoint.PutOrigin Origin
  oViewpoint.PutSightDirection StdSightDirection
  oViewpoint.PutUpDirection StdUpDirection
  oViewpoint.ProjectionMode = catProjectionCylindric

  ' Update the viewer
  oViewer.Update

  Set oViewpoint = Nothing
  Set oViewer = Nothing

End Sub

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

kalanja
Mitglied
Entwicklungsing.


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

Beiträge: 1239
Registriert: 29.10.2001

erstellt am: 17. Nov. 2003 14: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

hi bernd!

danke für das makro, aber ich krieg's nicht zum laufen.

es kommt immer eine fehlermeldung die besagt:
source: kompilierungsfehler in MS VBScript
description: Anweisungsende erwartet
statement: Dim iIndView As Integer

wenn man das auskommentiert kommt die meldung bei nächsten Dim .. As ..
muss man die wie im pascal ; setzen oder was hat das zu bedeuten.
bin leider ein VB leie.

bei anderen von mir aufgeszeichneten macros stehen die Dim .. As aber genauso wie hier

mario

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

EmilioSanchez
Mitglied



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

Beiträge: 70
Registriert: 02.11.2003

Intel I7 4700MQQ
24GB
Win10 Pro 64-Bit
Catia V5 R19/R26/28/29

erstellt am: 17. Nov. 2003 21:49    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 kalanja 10 Unities + Antwort hilfreich

Hallo Mario,

hatte den Quellcode nur aus der Hilfe kopiert.

Hier eine gekürzte Version die eine Top View erzeugt.

Einfach in ein CATVBS Makro kopieren.


C4N

Bernd

Sub CATMain()


' Get the viewer
  Set oViewer = CATIA.ActiveWindow.ActiveViewer

' Get the viewpoint
  Set oViewpoint = oViewer.Viewpoint3D


' Change the viewpoint
oViewpoint.PutOrigin array(0,0,0)
oViewpoint.PutSightDirection array(0,0,-1)
oViewpoint.PutUpDirection array(0,1,0)
oViewpoint.ProjectionMode = catProjectionCylindric

  ' Update the viewer
oViewer.reframe
oViewer.Update

Set oViewpoint = Nothing
Set oViewer = Nothing

End Sub

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

kalanja
Mitglied
Entwicklungsing.


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

Beiträge: 1239
Registriert: 29.10.2001

erstellt am: 18. Nov. 2003 09: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

hi emilio!

erst mal danke für dieses kleine makro!
das tut genau das was ich will, offensichtlich auch in mehr als einer datei. nur wenn ich versuche es auf einer globale toolbar mit icon abzulegen, dann kommt wie immer: impossible to add local commands to global toolbar.
wieso?
hier hat's doch keinerlei verweise auf ein active document oder sonst was. ich hab's auch nicht mit dem file, sondern auf einem eigenen directory C:\my macros gespeichert. was ist da dran noch lokal?

mario

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

kalanja
Mitglied
Entwicklungsing.


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

Beiträge: 1239
Registriert: 29.10.2001

Dell Precision M3800 Mobile Workstation
i7 2,2GHz - 16GB RAM
Nvidia Quadro K1100
Treiber: 353.62
Windows 10 Pro (x64)
V5 R21 x64 SP6

erstellt am: 18. Nov. 2003 14:57    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

ich hab mir den befehl nun in den diveren workbenches auf jeweils lokale toolbars geschoben. ist zwar nicht so komfortabel wie auf einer neuen globalen, aber wenn V5 sich so sträubt, dann bleibt mir nix über.
würde mich aber trotzdem interessieren was es da hat.

mario

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